51629 lines
2.1 MiB
51629 lines
2.1 MiB
/******/ (function() { // webpackBootstrap
|
||
/******/ var __webpack_modules__ = ({
|
||
|
||
/***/ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js":
|
||
/*!*******************************************************************!*\
|
||
!*** ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js ***!
|
||
\*******************************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ "default": function() { return /* binding */ _classCallCheck; }
|
||
/* harmony export */ });
|
||
function _classCallCheck(instance, Constructor) {
|
||
if (!(instance instanceof Constructor)) {
|
||
throw new TypeError("Cannot call a class as a function");
|
||
}
|
||
}
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@babel/runtime/helpers/esm/createClass.js":
|
||
/*!****************************************************************!*\
|
||
!*** ./node_modules/@babel/runtime/helpers/esm/createClass.js ***!
|
||
\****************************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ "default": function() { return /* binding */ _createClass; }
|
||
/* harmony export */ });
|
||
function _defineProperties(target, props) {
|
||
for (var i = 0; i < props.length; i++) {
|
||
var descriptor = props[i];
|
||
descriptor.enumerable = descriptor.enumerable || false;
|
||
descriptor.configurable = true;
|
||
if ("value" in descriptor) descriptor.writable = true;
|
||
Object.defineProperty(target, descriptor.key, descriptor);
|
||
}
|
||
}
|
||
|
||
function _createClass(Constructor, protoProps, staticProps) {
|
||
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
||
if (staticProps) _defineProperties(Constructor, staticProps);
|
||
return Constructor;
|
||
}
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js":
|
||
/*!*******************************************************************!*\
|
||
!*** ./node_modules/@babel/runtime/helpers/esm/defineProperty.js ***!
|
||
\*******************************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ "default": function() { return /* binding */ _defineProperty; }
|
||
/* harmony export */ });
|
||
function _defineProperty(obj, key, value) {
|
||
if (key in obj) {
|
||
Object.defineProperty(obj, key, {
|
||
value: value,
|
||
enumerable: true,
|
||
configurable: true,
|
||
writable: true
|
||
});
|
||
} else {
|
||
obj[key] = value;
|
||
}
|
||
|
||
return obj;
|
||
}
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@babel/runtime/helpers/esm/typeof.js":
|
||
/*!***********************************************************!*\
|
||
!*** ./node_modules/@babel/runtime/helpers/esm/typeof.js ***!
|
||
\***********************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ "default": function() { return /* binding */ _typeof; }
|
||
/* harmony export */ });
|
||
function _typeof(obj) {
|
||
"@babel/helpers - typeof";
|
||
|
||
if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
|
||
_typeof = function _typeof(obj) {
|
||
return typeof obj;
|
||
};
|
||
} else {
|
||
_typeof = function _typeof(obj) {
|
||
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
|
||
};
|
||
}
|
||
|
||
return _typeof(obj);
|
||
}
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/auth/dist/index.js":
|
||
/*!****************************************************!*\
|
||
!*** ./node_modules/@nextcloud/auth/dist/index.js ***!
|
||
\****************************************************/
|
||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
Object.defineProperty(exports, "__esModule", ({
|
||
value: true
|
||
}));
|
||
Object.defineProperty(exports, "getRequestToken", ({
|
||
enumerable: true,
|
||
get: function get() {
|
||
return _requesttoken.getRequestToken;
|
||
}
|
||
}));
|
||
Object.defineProperty(exports, "onRequestTokenUpdate", ({
|
||
enumerable: true,
|
||
get: function get() {
|
||
return _requesttoken.onRequestTokenUpdate;
|
||
}
|
||
}));
|
||
Object.defineProperty(exports, "getCurrentUser", ({
|
||
enumerable: true,
|
||
get: function get() {
|
||
return _user.getCurrentUser;
|
||
}
|
||
}));
|
||
|
||
var _requesttoken = __webpack_require__(/*! ./requesttoken */ "./node_modules/@nextcloud/auth/dist/requesttoken.js");
|
||
|
||
var _user = __webpack_require__(/*! ./user */ "./node_modules/@nextcloud/auth/dist/user.js");
|
||
//# sourceMappingURL=index.js.map
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/auth/dist/requesttoken.js":
|
||
/*!***********************************************************!*\
|
||
!*** ./node_modules/@nextcloud/auth/dist/requesttoken.js ***!
|
||
\***********************************************************/
|
||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
/* provided dependency */ var console = __webpack_require__(/*! console-browserify */ "./node_modules/console-browserify/index.js");
|
||
|
||
|
||
__webpack_require__(/*! core-js/modules/es.array.for-each */ "./node_modules/core-js/modules/es.array.for-each.js");
|
||
|
||
Object.defineProperty(exports, "__esModule", ({
|
||
value: true
|
||
}));
|
||
exports.getRequestToken = getRequestToken;
|
||
exports.onRequestTokenUpdate = onRequestTokenUpdate;
|
||
|
||
var _eventBus = __webpack_require__(/*! @nextcloud/event-bus */ "./node_modules/@nextcloud/event-bus/dist/index.js");
|
||
|
||
var tokenElement = document.getElementsByTagName('head')[0];
|
||
var token = tokenElement ? tokenElement.getAttribute('data-requesttoken') : null;
|
||
var observers = [];
|
||
|
||
function getRequestToken() {
|
||
return token;
|
||
}
|
||
|
||
function onRequestTokenUpdate(observer) {
|
||
observers.push(observer);
|
||
} // Listen to server event and keep token in sync
|
||
|
||
|
||
(0, _eventBus.subscribe)('csrf-token-update', function (e) {
|
||
token = e.token;
|
||
observers.forEach(function (observer) {
|
||
try {
|
||
observer(e.token);
|
||
} catch (e) {
|
||
console.error('error updating CSRF token observer', e);
|
||
}
|
||
});
|
||
});
|
||
//# sourceMappingURL=requesttoken.js.map
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/auth/dist/user.js":
|
||
/*!***************************************************!*\
|
||
!*** ./node_modules/@nextcloud/auth/dist/user.js ***!
|
||
\***************************************************/
|
||
/***/ (function(__unused_webpack_module, exports) {
|
||
|
||
"use strict";
|
||
|
||
|
||
Object.defineProperty(exports, "__esModule", ({
|
||
value: true
|
||
}));
|
||
exports.getCurrentUser = getCurrentUser;
|
||
/// <reference types="@nextcloud/typings" />
|
||
var uidElement = document.getElementsByTagName('head')[0];
|
||
var uid = uidElement ? uidElement.getAttribute('data-user') : null;
|
||
var displayNameElement = document.getElementsByTagName('head')[0];
|
||
var displayName = displayNameElement ? displayNameElement.getAttribute('data-user-displayname') : null;
|
||
var isAdmin = typeof OC === 'undefined' ? false : OC.isUserAdmin();
|
||
|
||
function getCurrentUser() {
|
||
if (uid === null) {
|
||
return null;
|
||
}
|
||
|
||
return {
|
||
uid: uid,
|
||
displayName: displayName,
|
||
isAdmin: isAdmin
|
||
};
|
||
}
|
||
//# sourceMappingURL=user.js.map
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/axios/dist/index.js":
|
||
/*!*****************************************************!*\
|
||
!*** ./node_modules/@nextcloud/axios/dist/index.js ***!
|
||
\*****************************************************/
|
||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
__webpack_require__(/*! core-js/modules/es.object.assign.js */ "./node_modules/core-js/modules/es.object.assign.js");
|
||
|
||
Object.defineProperty(exports, "__esModule", ({
|
||
value: true
|
||
}));
|
||
exports.default = void 0;
|
||
|
||
var _axios = _interopRequireDefault(__webpack_require__(/*! axios */ "./node_modules/axios/index.js"));
|
||
|
||
var _auth = __webpack_require__(/*! @nextcloud/auth */ "./node_modules/@nextcloud/auth/dist/index.js");
|
||
|
||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||
|
||
var client = _axios.default.create({
|
||
headers: {
|
||
requesttoken: (0, _auth.getRequestToken)()
|
||
}
|
||
});
|
||
|
||
var cancelableClient = Object.assign(client, {
|
||
CancelToken: _axios.default.CancelToken,
|
||
isCancel: _axios.default.isCancel
|
||
});
|
||
(0, _auth.onRequestTokenUpdate)(function (token) {
|
||
return client.defaults.headers.requesttoken = token;
|
||
});
|
||
var _default = cancelableClient;
|
||
exports.default = _default;
|
||
//# sourceMappingURL=index.js.map
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/dist/index.js":
|
||
/*!***************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/dist/index.js ***!
|
||
\***************************************************************/
|
||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
__webpack_require__(/*! core-js/modules/es.array.filter */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.array.filter.js");
|
||
|
||
__webpack_require__(/*! core-js/modules/es.array.map */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.array.map.js");
|
||
|
||
__webpack_require__(/*! core-js/modules/es.object.keys */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.object.keys.js");
|
||
|
||
__webpack_require__(/*! core-js/modules/es.string.starts-with */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.string.starts-with.js");
|
||
|
||
Object.defineProperty(exports, "__esModule", ({
|
||
value: true
|
||
}));
|
||
exports.getBuilder = getBuilder;
|
||
exports.clearAll = clearAll;
|
||
exports.clearNonPersistent = clearNonPersistent;
|
||
|
||
var _storagebuilder = _interopRequireDefault(__webpack_require__(/*! ./storagebuilder */ "./node_modules/@nextcloud/browser-storage/dist/storagebuilder.js"));
|
||
|
||
var _scopedstorage = _interopRequireDefault(__webpack_require__(/*! ./scopedstorage */ "./node_modules/@nextcloud/browser-storage/dist/scopedstorage.js"));
|
||
|
||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||
|
||
function getBuilder(appId) {
|
||
return new _storagebuilder.default(appId);
|
||
}
|
||
|
||
function clearStorage(storage, pred) {
|
||
Object.keys(storage).filter(function (k) {
|
||
return pred ? pred(k) : true;
|
||
}).map(storage.removeItem.bind(storage));
|
||
}
|
||
|
||
function clearAll() {
|
||
var storages = [window.sessionStorage, window.localStorage];
|
||
storages.map(function (s) {
|
||
return clearStorage(s);
|
||
});
|
||
}
|
||
|
||
function clearNonPersistent() {
|
||
var storages = [window.sessionStorage, window.localStorage];
|
||
storages.map(function (s) {
|
||
return clearStorage(s, function (k) {
|
||
return !k.startsWith(_scopedstorage.default.GLOBAL_SCOPE_PERSISTENT);
|
||
});
|
||
});
|
||
}
|
||
//# sourceMappingURL=index.js.map
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/dist/scopedstorage.js":
|
||
/*!***********************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/dist/scopedstorage.js ***!
|
||
\***********************************************************************/
|
||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
__webpack_require__(/*! core-js/modules/es.array.concat */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.array.concat.js");
|
||
|
||
__webpack_require__(/*! core-js/modules/es.array.filter */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.array.filter.js");
|
||
|
||
__webpack_require__(/*! core-js/modules/es.array.map */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.array.map.js");
|
||
|
||
__webpack_require__(/*! core-js/modules/es.object.keys */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.object.keys.js");
|
||
|
||
__webpack_require__(/*! core-js/modules/es.string.starts-with */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.string.starts-with.js");
|
||
|
||
Object.defineProperty(exports, "__esModule", ({
|
||
value: true
|
||
}));
|
||
exports.default = void 0;
|
||
|
||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||
|
||
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
||
|
||
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
||
|
||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
||
|
||
var ScopedStorage =
|
||
/*#__PURE__*/
|
||
function () {
|
||
function ScopedStorage(scope, wrapped, persistent) {
|
||
_classCallCheck(this, ScopedStorage);
|
||
|
||
_defineProperty(this, "scope", void 0);
|
||
|
||
_defineProperty(this, "wrapped", void 0);
|
||
|
||
this.scope = "".concat(persistent ? ScopedStorage.GLOBAL_SCOPE_PERSISTENT : ScopedStorage.GLOBAL_SCOPE_VOLATILE, "_").concat(btoa(scope), "_");
|
||
this.wrapped = wrapped;
|
||
}
|
||
|
||
_createClass(ScopedStorage, [{
|
||
key: "scopeKey",
|
||
value: function scopeKey(key) {
|
||
return "".concat(this.scope).concat(key);
|
||
}
|
||
}, {
|
||
key: "setItem",
|
||
value: function setItem(key, value) {
|
||
this.wrapped.setItem(this.scopeKey(key), value);
|
||
}
|
||
}, {
|
||
key: "getItem",
|
||
value: function getItem(key) {
|
||
return this.wrapped.getItem(this.scopeKey(key));
|
||
}
|
||
}, {
|
||
key: "removeItem",
|
||
value: function removeItem(key) {
|
||
this.wrapped.removeItem(this.scopeKey(key));
|
||
}
|
||
}, {
|
||
key: "clear",
|
||
value: function clear() {
|
||
var _this = this;
|
||
|
||
Object.keys(this.wrapped).filter(function (key) {
|
||
return key.startsWith(_this.scope);
|
||
}).map(this.wrapped.removeItem.bind(this.wrapped));
|
||
}
|
||
}]);
|
||
|
||
return ScopedStorage;
|
||
}();
|
||
|
||
exports.default = ScopedStorage;
|
||
|
||
_defineProperty(ScopedStorage, "GLOBAL_SCOPE_VOLATILE", 'nextcloud_vol');
|
||
|
||
_defineProperty(ScopedStorage, "GLOBAL_SCOPE_PERSISTENT", 'nextcloud_per');
|
||
//# sourceMappingURL=scopedstorage.js.map
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/dist/storagebuilder.js":
|
||
/*!************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/dist/storagebuilder.js ***!
|
||
\************************************************************************/
|
||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
Object.defineProperty(exports, "__esModule", ({
|
||
value: true
|
||
}));
|
||
exports.default = void 0;
|
||
|
||
var _scopedstorage = _interopRequireDefault(__webpack_require__(/*! ./scopedstorage */ "./node_modules/@nextcloud/browser-storage/dist/scopedstorage.js"));
|
||
|
||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||
|
||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||
|
||
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
||
|
||
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
||
|
||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
||
|
||
var StorageBuilder =
|
||
/*#__PURE__*/
|
||
function () {
|
||
function StorageBuilder(appId) {
|
||
_classCallCheck(this, StorageBuilder);
|
||
|
||
_defineProperty(this, "appId", void 0);
|
||
|
||
_defineProperty(this, "persisted", false);
|
||
|
||
_defineProperty(this, "clearedOnLogout", false);
|
||
|
||
this.appId = appId;
|
||
}
|
||
|
||
_createClass(StorageBuilder, [{
|
||
key: "persist",
|
||
value: function persist() {
|
||
var _persist = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
||
|
||
this.persisted = _persist;
|
||
return this;
|
||
}
|
||
}, {
|
||
key: "clearOnLogout",
|
||
value: function clearOnLogout() {
|
||
var clear = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
||
this.clearedOnLogout = clear;
|
||
return this;
|
||
}
|
||
}, {
|
||
key: "build",
|
||
value: function build() {
|
||
return new _scopedstorage.default(this.appId, this.persisted ? window.localStorage : window.sessionStorage, !this.clearedOnLogout);
|
||
}
|
||
}]);
|
||
|
||
return StorageBuilder;
|
||
}();
|
||
|
||
exports.default = StorageBuilder;
|
||
//# sourceMappingURL=storagebuilder.js.map
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/a-function.js":
|
||
/*!**********************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/a-function.js ***!
|
||
\**********************************************************************************************/
|
||
/***/ (function(module) {
|
||
|
||
module.exports = function (it) {
|
||
if (typeof it != 'function') {
|
||
throw TypeError(String(it) + ' is not a function');
|
||
} return it;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/an-object.js":
|
||
/*!*********************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/an-object.js ***!
|
||
\*********************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-object.js");
|
||
|
||
module.exports = function (it) {
|
||
if (!isObject(it)) {
|
||
throw TypeError(String(it) + ' is not an object');
|
||
} return it;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/array-includes.js":
|
||
/*!**************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/array-includes.js ***!
|
||
\**************************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-indexed-object.js");
|
||
var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-length.js");
|
||
var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-absolute-index.js");
|
||
|
||
// `Array.prototype.{ indexOf, includes }` methods implementation
|
||
var createMethod = function (IS_INCLUDES) {
|
||
return function ($this, el, fromIndex) {
|
||
var O = toIndexedObject($this);
|
||
var length = toLength(O.length);
|
||
var index = toAbsoluteIndex(fromIndex, length);
|
||
var value;
|
||
// Array#includes uses SameValueZero equality algorithm
|
||
// eslint-disable-next-line no-self-compare
|
||
if (IS_INCLUDES && el != el) while (length > index) {
|
||
value = O[index++];
|
||
// eslint-disable-next-line no-self-compare
|
||
if (value != value) return true;
|
||
// Array#indexOf ignores holes, Array#includes - not
|
||
} else for (;length > index; index++) {
|
||
if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
|
||
} return !IS_INCLUDES && -1;
|
||
};
|
||
};
|
||
|
||
module.exports = {
|
||
// `Array.prototype.includes` method
|
||
// https://tc39.github.io/ecma262/#sec-array.prototype.includes
|
||
includes: createMethod(true),
|
||
// `Array.prototype.indexOf` method
|
||
// https://tc39.github.io/ecma262/#sec-array.prototype.indexof
|
||
indexOf: createMethod(false)
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/array-iteration.js":
|
||
/*!***************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/array-iteration.js ***!
|
||
\***************************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var bind = __webpack_require__(/*! ../internals/bind-context */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/bind-context.js");
|
||
var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/indexed-object.js");
|
||
var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-object.js");
|
||
var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-length.js");
|
||
var arraySpeciesCreate = __webpack_require__(/*! ../internals/array-species-create */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/array-species-create.js");
|
||
|
||
var push = [].push;
|
||
|
||
// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
|
||
var createMethod = function (TYPE) {
|
||
var IS_MAP = TYPE == 1;
|
||
var IS_FILTER = TYPE == 2;
|
||
var IS_SOME = TYPE == 3;
|
||
var IS_EVERY = TYPE == 4;
|
||
var IS_FIND_INDEX = TYPE == 6;
|
||
var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
|
||
return function ($this, callbackfn, that, specificCreate) {
|
||
var O = toObject($this);
|
||
var self = IndexedObject(O);
|
||
var boundFunction = bind(callbackfn, that, 3);
|
||
var length = toLength(self.length);
|
||
var index = 0;
|
||
var create = specificCreate || arraySpeciesCreate;
|
||
var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
|
||
var value, result;
|
||
for (;length > index; index++) if (NO_HOLES || index in self) {
|
||
value = self[index];
|
||
result = boundFunction(value, index, O);
|
||
if (TYPE) {
|
||
if (IS_MAP) target[index] = result; // map
|
||
else if (result) switch (TYPE) {
|
||
case 3: return true; // some
|
||
case 5: return value; // find
|
||
case 6: return index; // findIndex
|
||
case 2: push.call(target, value); // filter
|
||
} else if (IS_EVERY) return false; // every
|
||
}
|
||
}
|
||
return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
|
||
};
|
||
};
|
||
|
||
module.exports = {
|
||
// `Array.prototype.forEach` method
|
||
// https://tc39.github.io/ecma262/#sec-array.prototype.foreach
|
||
forEach: createMethod(0),
|
||
// `Array.prototype.map` method
|
||
// https://tc39.github.io/ecma262/#sec-array.prototype.map
|
||
map: createMethod(1),
|
||
// `Array.prototype.filter` method
|
||
// https://tc39.github.io/ecma262/#sec-array.prototype.filter
|
||
filter: createMethod(2),
|
||
// `Array.prototype.some` method
|
||
// https://tc39.github.io/ecma262/#sec-array.prototype.some
|
||
some: createMethod(3),
|
||
// `Array.prototype.every` method
|
||
// https://tc39.github.io/ecma262/#sec-array.prototype.every
|
||
every: createMethod(4),
|
||
// `Array.prototype.find` method
|
||
// https://tc39.github.io/ecma262/#sec-array.prototype.find
|
||
find: createMethod(5),
|
||
// `Array.prototype.findIndex` method
|
||
// https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
|
||
findIndex: createMethod(6)
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/array-method-has-species-support.js":
|
||
/*!********************************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/array-method-has-species-support.js ***!
|
||
\********************************************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/fails.js");
|
||
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/well-known-symbol.js");
|
||
var V8_VERSION = __webpack_require__(/*! ../internals/v8-version */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/v8-version.js");
|
||
|
||
var SPECIES = wellKnownSymbol('species');
|
||
|
||
module.exports = function (METHOD_NAME) {
|
||
// We can't use this feature detection in V8 since it causes
|
||
// deoptimization and serious performance degradation
|
||
// https://github.com/zloirock/core-js/issues/677
|
||
return V8_VERSION >= 51 || !fails(function () {
|
||
var array = [];
|
||
var constructor = array.constructor = {};
|
||
constructor[SPECIES] = function () {
|
||
return { foo: 1 };
|
||
};
|
||
return array[METHOD_NAME](Boolean).foo !== 1;
|
||
});
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/array-species-create.js":
|
||
/*!********************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/array-species-create.js ***!
|
||
\********************************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-object.js");
|
||
var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-array.js");
|
||
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/well-known-symbol.js");
|
||
|
||
var SPECIES = wellKnownSymbol('species');
|
||
|
||
// `ArraySpeciesCreate` abstract operation
|
||
// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
|
||
module.exports = function (originalArray, length) {
|
||
var C;
|
||
if (isArray(originalArray)) {
|
||
C = originalArray.constructor;
|
||
// cross-realm fallback
|
||
if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
|
||
else if (isObject(C)) {
|
||
C = C[SPECIES];
|
||
if (C === null) C = undefined;
|
||
}
|
||
} return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/bind-context.js":
|
||
/*!************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/bind-context.js ***!
|
||
\************************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/a-function.js");
|
||
|
||
// optional / simple context binding
|
||
module.exports = function (fn, that, length) {
|
||
aFunction(fn);
|
||
if (that === undefined) return fn;
|
||
switch (length) {
|
||
case 0: return function () {
|
||
return fn.call(that);
|
||
};
|
||
case 1: return function (a) {
|
||
return fn.call(that, a);
|
||
};
|
||
case 2: return function (a, b) {
|
||
return fn.call(that, a, b);
|
||
};
|
||
case 3: return function (a, b, c) {
|
||
return fn.call(that, a, b, c);
|
||
};
|
||
}
|
||
return function (/* ...args */) {
|
||
return fn.apply(that, arguments);
|
||
};
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/classof-raw.js":
|
||
/*!***********************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/classof-raw.js ***!
|
||
\***********************************************************************************************/
|
||
/***/ (function(module) {
|
||
|
||
var toString = {}.toString;
|
||
|
||
module.exports = function (it) {
|
||
return toString.call(it).slice(8, -1);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/copy-constructor-properties.js":
|
||
/*!***************************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/copy-constructor-properties.js ***!
|
||
\***************************************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var has = __webpack_require__(/*! ../internals/has */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/has.js");
|
||
var ownKeys = __webpack_require__(/*! ../internals/own-keys */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/own-keys.js");
|
||
var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-get-own-property-descriptor.js");
|
||
var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-define-property.js");
|
||
|
||
module.exports = function (target, source) {
|
||
var keys = ownKeys(source);
|
||
var defineProperty = definePropertyModule.f;
|
||
var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
|
||
for (var i = 0; i < keys.length; i++) {
|
||
var key = keys[i];
|
||
if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
|
||
}
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/correct-is-regexp-logic.js":
|
||
/*!***********************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/correct-is-regexp-logic.js ***!
|
||
\***********************************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/well-known-symbol.js");
|
||
|
||
var MATCH = wellKnownSymbol('match');
|
||
|
||
module.exports = function (METHOD_NAME) {
|
||
var regexp = /./;
|
||
try {
|
||
'/./'[METHOD_NAME](regexp);
|
||
} catch (e) {
|
||
try {
|
||
regexp[MATCH] = false;
|
||
return '/./'[METHOD_NAME](regexp);
|
||
} catch (f) { /* empty */ }
|
||
} return false;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/create-non-enumerable-property.js":
|
||
/*!******************************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/create-non-enumerable-property.js ***!
|
||
\******************************************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/descriptors.js");
|
||
var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-define-property.js");
|
||
var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/create-property-descriptor.js");
|
||
|
||
module.exports = DESCRIPTORS ? function (object, key, value) {
|
||
return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
|
||
} : function (object, key, value) {
|
||
object[key] = value;
|
||
return object;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/create-property-descriptor.js":
|
||
/*!**************************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/create-property-descriptor.js ***!
|
||
\**************************************************************************************************************/
|
||
/***/ (function(module) {
|
||
|
||
module.exports = function (bitmap, value) {
|
||
return {
|
||
enumerable: !(bitmap & 1),
|
||
configurable: !(bitmap & 2),
|
||
writable: !(bitmap & 4),
|
||
value: value
|
||
};
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/create-property.js":
|
||
/*!***************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/create-property.js ***!
|
||
\***************************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-primitive.js");
|
||
var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-define-property.js");
|
||
var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/create-property-descriptor.js");
|
||
|
||
module.exports = function (object, key, value) {
|
||
var propertyKey = toPrimitive(key);
|
||
if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));
|
||
else object[propertyKey] = value;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/descriptors.js":
|
||
/*!***********************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/descriptors.js ***!
|
||
\***********************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/fails.js");
|
||
|
||
// Thank's IE8 for his funny defineProperty
|
||
module.exports = !fails(function () {
|
||
return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/document-create-element.js":
|
||
/*!***********************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/document-create-element.js ***!
|
||
\***********************************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/global.js");
|
||
var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-object.js");
|
||
|
||
var document = global.document;
|
||
// typeof document.createElement is 'object' in old IE
|
||
var EXISTS = isObject(document) && isObject(document.createElement);
|
||
|
||
module.exports = function (it) {
|
||
return EXISTS ? document.createElement(it) : {};
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/enum-bug-keys.js":
|
||
/*!*************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/enum-bug-keys.js ***!
|
||
\*************************************************************************************************/
|
||
/***/ (function(module) {
|
||
|
||
// IE8- don't enum bug keys
|
||
module.exports = [
|
||
'constructor',
|
||
'hasOwnProperty',
|
||
'isPrototypeOf',
|
||
'propertyIsEnumerable',
|
||
'toLocaleString',
|
||
'toString',
|
||
'valueOf'
|
||
];
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/export.js":
|
||
/*!******************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/export.js ***!
|
||
\******************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/global.js");
|
||
var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-get-own-property-descriptor.js").f;
|
||
var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/create-non-enumerable-property.js");
|
||
var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/redefine.js");
|
||
var setGlobal = __webpack_require__(/*! ../internals/set-global */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/set-global.js");
|
||
var copyConstructorProperties = __webpack_require__(/*! ../internals/copy-constructor-properties */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/copy-constructor-properties.js");
|
||
var isForced = __webpack_require__(/*! ../internals/is-forced */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-forced.js");
|
||
|
||
/*
|
||
options.target - name of the target object
|
||
options.global - target is the global object
|
||
options.stat - export as static methods of target
|
||
options.proto - export as prototype methods of target
|
||
options.real - real prototype method for the `pure` version
|
||
options.forced - export even if the native feature is available
|
||
options.bind - bind methods to the target, required for the `pure` version
|
||
options.wrap - wrap constructors to preventing global pollution, required for the `pure` version
|
||
options.unsafe - use the simple assignment of property instead of delete + defineProperty
|
||
options.sham - add a flag to not completely full polyfills
|
||
options.enumerable - export as enumerable property
|
||
options.noTargetGet - prevent calling a getter on target
|
||
*/
|
||
module.exports = function (options, source) {
|
||
var TARGET = options.target;
|
||
var GLOBAL = options.global;
|
||
var STATIC = options.stat;
|
||
var FORCED, target, key, targetProperty, sourceProperty, descriptor;
|
||
if (GLOBAL) {
|
||
target = global;
|
||
} else if (STATIC) {
|
||
target = global[TARGET] || setGlobal(TARGET, {});
|
||
} else {
|
||
target = (global[TARGET] || {}).prototype;
|
||
}
|
||
if (target) for (key in source) {
|
||
sourceProperty = source[key];
|
||
if (options.noTargetGet) {
|
||
descriptor = getOwnPropertyDescriptor(target, key);
|
||
targetProperty = descriptor && descriptor.value;
|
||
} else targetProperty = target[key];
|
||
FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
|
||
// contained in target
|
||
if (!FORCED && targetProperty !== undefined) {
|
||
if (typeof sourceProperty === typeof targetProperty) continue;
|
||
copyConstructorProperties(sourceProperty, targetProperty);
|
||
}
|
||
// add a flag to not completely full polyfills
|
||
if (options.sham || (targetProperty && targetProperty.sham)) {
|
||
createNonEnumerableProperty(sourceProperty, 'sham', true);
|
||
}
|
||
// extend global
|
||
redefine(target, key, sourceProperty, options);
|
||
}
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/fails.js":
|
||
/*!*****************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/fails.js ***!
|
||
\*****************************************************************************************/
|
||
/***/ (function(module) {
|
||
|
||
module.exports = function (exec) {
|
||
try {
|
||
return !!exec();
|
||
} catch (error) {
|
||
return true;
|
||
}
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/get-built-in.js":
|
||
/*!************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/get-built-in.js ***!
|
||
\************************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var path = __webpack_require__(/*! ../internals/path */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/path.js");
|
||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/global.js");
|
||
|
||
var aFunction = function (variable) {
|
||
return typeof variable == 'function' ? variable : undefined;
|
||
};
|
||
|
||
module.exports = function (namespace, method) {
|
||
return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])
|
||
: path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/global.js":
|
||
/*!******************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/global.js ***!
|
||
\******************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var check = function (it) {
|
||
return it && it.Math == Math && it;
|
||
};
|
||
|
||
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
|
||
module.exports =
|
||
// eslint-disable-next-line no-undef
|
||
check(typeof globalThis == 'object' && globalThis) ||
|
||
check(typeof window == 'object' && window) ||
|
||
check(typeof self == 'object' && self) ||
|
||
check(typeof __webpack_require__.g == 'object' && __webpack_require__.g) ||
|
||
// eslint-disable-next-line no-new-func
|
||
Function('return this')();
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/has.js":
|
||
/*!***************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/has.js ***!
|
||
\***************************************************************************************/
|
||
/***/ (function(module) {
|
||
|
||
var hasOwnProperty = {}.hasOwnProperty;
|
||
|
||
module.exports = function (it, key) {
|
||
return hasOwnProperty.call(it, key);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/hidden-keys.js":
|
||
/*!***********************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/hidden-keys.js ***!
|
||
\***********************************************************************************************/
|
||
/***/ (function(module) {
|
||
|
||
module.exports = {};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/ie8-dom-define.js":
|
||
/*!**************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/ie8-dom-define.js ***!
|
||
\**************************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/descriptors.js");
|
||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/fails.js");
|
||
var createElement = __webpack_require__(/*! ../internals/document-create-element */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/document-create-element.js");
|
||
|
||
// Thank's IE8 for his funny defineProperty
|
||
module.exports = !DESCRIPTORS && !fails(function () {
|
||
return Object.defineProperty(createElement('div'), 'a', {
|
||
get: function () { return 7; }
|
||
}).a != 7;
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/indexed-object.js":
|
||
/*!**************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/indexed-object.js ***!
|
||
\**************************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/fails.js");
|
||
var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/classof-raw.js");
|
||
|
||
var split = ''.split;
|
||
|
||
// fallback for non-array-like ES3 and non-enumerable old V8 strings
|
||
module.exports = fails(function () {
|
||
// throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
|
||
// eslint-disable-next-line no-prototype-builtins
|
||
return !Object('z').propertyIsEnumerable(0);
|
||
}) ? function (it) {
|
||
return classof(it) == 'String' ? split.call(it, '') : Object(it);
|
||
} : Object;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/inspect-source.js":
|
||
/*!**************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/inspect-source.js ***!
|
||
\**************************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var store = __webpack_require__(/*! ../internals/shared-store */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/shared-store.js");
|
||
|
||
var functionToString = Function.toString;
|
||
|
||
// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
|
||
if (typeof store.inspectSource != 'function') {
|
||
store.inspectSource = function (it) {
|
||
return functionToString.call(it);
|
||
};
|
||
}
|
||
|
||
module.exports = store.inspectSource;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/internal-state.js":
|
||
/*!**************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/internal-state.js ***!
|
||
\**************************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var NATIVE_WEAK_MAP = __webpack_require__(/*! ../internals/native-weak-map */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/native-weak-map.js");
|
||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/global.js");
|
||
var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-object.js");
|
||
var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/create-non-enumerable-property.js");
|
||
var objectHas = __webpack_require__(/*! ../internals/has */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/has.js");
|
||
var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/shared-key.js");
|
||
var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/hidden-keys.js");
|
||
|
||
var WeakMap = global.WeakMap;
|
||
var set, get, has;
|
||
|
||
var enforce = function (it) {
|
||
return has(it) ? get(it) : set(it, {});
|
||
};
|
||
|
||
var getterFor = function (TYPE) {
|
||
return function (it) {
|
||
var state;
|
||
if (!isObject(it) || (state = get(it)).type !== TYPE) {
|
||
throw TypeError('Incompatible receiver, ' + TYPE + ' required');
|
||
} return state;
|
||
};
|
||
};
|
||
|
||
if (NATIVE_WEAK_MAP) {
|
||
var store = new WeakMap();
|
||
var wmget = store.get;
|
||
var wmhas = store.has;
|
||
var wmset = store.set;
|
||
set = function (it, metadata) {
|
||
wmset.call(store, it, metadata);
|
||
return metadata;
|
||
};
|
||
get = function (it) {
|
||
return wmget.call(store, it) || {};
|
||
};
|
||
has = function (it) {
|
||
return wmhas.call(store, it);
|
||
};
|
||
} else {
|
||
var STATE = sharedKey('state');
|
||
hiddenKeys[STATE] = true;
|
||
set = function (it, metadata) {
|
||
createNonEnumerableProperty(it, STATE, metadata);
|
||
return metadata;
|
||
};
|
||
get = function (it) {
|
||
return objectHas(it, STATE) ? it[STATE] : {};
|
||
};
|
||
has = function (it) {
|
||
return objectHas(it, STATE);
|
||
};
|
||
}
|
||
|
||
module.exports = {
|
||
set: set,
|
||
get: get,
|
||
has: has,
|
||
enforce: enforce,
|
||
getterFor: getterFor
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-array.js":
|
||
/*!********************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-array.js ***!
|
||
\********************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/classof-raw.js");
|
||
|
||
// `IsArray` abstract operation
|
||
// https://tc39.github.io/ecma262/#sec-isarray
|
||
module.exports = Array.isArray || function isArray(arg) {
|
||
return classof(arg) == 'Array';
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-forced.js":
|
||
/*!*********************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-forced.js ***!
|
||
\*********************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/fails.js");
|
||
|
||
var replacement = /#|\.prototype\./;
|
||
|
||
var isForced = function (feature, detection) {
|
||
var value = data[normalize(feature)];
|
||
return value == POLYFILL ? true
|
||
: value == NATIVE ? false
|
||
: typeof detection == 'function' ? fails(detection)
|
||
: !!detection;
|
||
};
|
||
|
||
var normalize = isForced.normalize = function (string) {
|
||
return String(string).replace(replacement, '.').toLowerCase();
|
||
};
|
||
|
||
var data = isForced.data = {};
|
||
var NATIVE = isForced.NATIVE = 'N';
|
||
var POLYFILL = isForced.POLYFILL = 'P';
|
||
|
||
module.exports = isForced;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-object.js":
|
||
/*!*********************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-object.js ***!
|
||
\*********************************************************************************************/
|
||
/***/ (function(module) {
|
||
|
||
module.exports = function (it) {
|
||
return typeof it === 'object' ? it !== null : typeof it === 'function';
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-pure.js":
|
||
/*!*******************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-pure.js ***!
|
||
\*******************************************************************************************/
|
||
/***/ (function(module) {
|
||
|
||
module.exports = false;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-regexp.js":
|
||
/*!*********************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-regexp.js ***!
|
||
\*********************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-object.js");
|
||
var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/classof-raw.js");
|
||
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/well-known-symbol.js");
|
||
|
||
var MATCH = wellKnownSymbol('match');
|
||
|
||
// `IsRegExp` abstract operation
|
||
// https://tc39.github.io/ecma262/#sec-isregexp
|
||
module.exports = function (it) {
|
||
var isRegExp;
|
||
return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/native-symbol.js":
|
||
/*!*************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/native-symbol.js ***!
|
||
\*************************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/fails.js");
|
||
|
||
module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
|
||
// Chrome 38 Symbol has incorrect toString conversion
|
||
// eslint-disable-next-line no-undef
|
||
return !String(Symbol());
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/native-weak-map.js":
|
||
/*!***************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/native-weak-map.js ***!
|
||
\***************************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/global.js");
|
||
var inspectSource = __webpack_require__(/*! ../internals/inspect-source */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/inspect-source.js");
|
||
|
||
var WeakMap = global.WeakMap;
|
||
|
||
module.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/not-a-regexp.js":
|
||
/*!************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/not-a-regexp.js ***!
|
||
\************************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var isRegExp = __webpack_require__(/*! ../internals/is-regexp */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-regexp.js");
|
||
|
||
module.exports = function (it) {
|
||
if (isRegExp(it)) {
|
||
throw TypeError("The method doesn't accept regular expressions");
|
||
} return it;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-define-property.js":
|
||
/*!**********************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-define-property.js ***!
|
||
\**********************************************************************************************************/
|
||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
||
|
||
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/descriptors.js");
|
||
var IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/ie8-dom-define.js");
|
||
var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/an-object.js");
|
||
var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-primitive.js");
|
||
|
||
var nativeDefineProperty = Object.defineProperty;
|
||
|
||
// `Object.defineProperty` method
|
||
// https://tc39.github.io/ecma262/#sec-object.defineproperty
|
||
exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
|
||
anObject(O);
|
||
P = toPrimitive(P, true);
|
||
anObject(Attributes);
|
||
if (IE8_DOM_DEFINE) try {
|
||
return nativeDefineProperty(O, P, Attributes);
|
||
} catch (error) { /* empty */ }
|
||
if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
|
||
if ('value' in Attributes) O[P] = Attributes.value;
|
||
return O;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-get-own-property-descriptor.js":
|
||
/*!**********************************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-get-own-property-descriptor.js ***!
|
||
\**********************************************************************************************************************/
|
||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
||
|
||
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/descriptors.js");
|
||
var propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-property-is-enumerable.js");
|
||
var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/create-property-descriptor.js");
|
||
var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-indexed-object.js");
|
||
var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-primitive.js");
|
||
var has = __webpack_require__(/*! ../internals/has */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/has.js");
|
||
var IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/ie8-dom-define.js");
|
||
|
||
var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
|
||
|
||
// `Object.getOwnPropertyDescriptor` method
|
||
// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
|
||
exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
|
||
O = toIndexedObject(O);
|
||
P = toPrimitive(P, true);
|
||
if (IE8_DOM_DEFINE) try {
|
||
return nativeGetOwnPropertyDescriptor(O, P);
|
||
} catch (error) { /* empty */ }
|
||
if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-get-own-property-names.js":
|
||
/*!*****************************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-get-own-property-names.js ***!
|
||
\*****************************************************************************************************************/
|
||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
||
|
||
var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-keys-internal.js");
|
||
var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/enum-bug-keys.js");
|
||
|
||
var hiddenKeys = enumBugKeys.concat('length', 'prototype');
|
||
|
||
// `Object.getOwnPropertyNames` method
|
||
// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
|
||
exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
|
||
return internalObjectKeys(O, hiddenKeys);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-get-own-property-symbols.js":
|
||
/*!*******************************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-get-own-property-symbols.js ***!
|
||
\*******************************************************************************************************************/
|
||
/***/ (function(__unused_webpack_module, exports) {
|
||
|
||
exports.f = Object.getOwnPropertySymbols;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-keys-internal.js":
|
||
/*!********************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-keys-internal.js ***!
|
||
\********************************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var has = __webpack_require__(/*! ../internals/has */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/has.js");
|
||
var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-indexed-object.js");
|
||
var indexOf = __webpack_require__(/*! ../internals/array-includes */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/array-includes.js").indexOf;
|
||
var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/hidden-keys.js");
|
||
|
||
module.exports = function (object, names) {
|
||
var O = toIndexedObject(object);
|
||
var i = 0;
|
||
var result = [];
|
||
var key;
|
||
for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
|
||
// Don't enum bug & hidden keys
|
||
while (names.length > i) if (has(O, key = names[i++])) {
|
||
~indexOf(result, key) || result.push(key);
|
||
}
|
||
return result;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-keys.js":
|
||
/*!***********************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-keys.js ***!
|
||
\***********************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-keys-internal.js");
|
||
var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/enum-bug-keys.js");
|
||
|
||
// `Object.keys` method
|
||
// https://tc39.github.io/ecma262/#sec-object.keys
|
||
module.exports = Object.keys || function keys(O) {
|
||
return internalObjectKeys(O, enumBugKeys);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-property-is-enumerable.js":
|
||
/*!*****************************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-property-is-enumerable.js ***!
|
||
\*****************************************************************************************************************/
|
||
/***/ (function(__unused_webpack_module, exports) {
|
||
|
||
"use strict";
|
||
|
||
var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
|
||
var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
|
||
|
||
// Nashorn ~ JDK8 bug
|
||
var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
|
||
|
||
// `Object.prototype.propertyIsEnumerable` method implementation
|
||
// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
|
||
exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
|
||
var descriptor = getOwnPropertyDescriptor(this, V);
|
||
return !!descriptor && descriptor.enumerable;
|
||
} : nativePropertyIsEnumerable;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/own-keys.js":
|
||
/*!********************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/own-keys.js ***!
|
||
\********************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/get-built-in.js");
|
||
var getOwnPropertyNamesModule = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-get-own-property-names.js");
|
||
var getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-get-own-property-symbols.js");
|
||
var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/an-object.js");
|
||
|
||
// all object keys, includes non-enumerable and symbols
|
||
module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
|
||
var keys = getOwnPropertyNamesModule.f(anObject(it));
|
||
var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
|
||
return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/path.js":
|
||
/*!****************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/path.js ***!
|
||
\****************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/global.js");
|
||
|
||
module.exports = global;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/redefine.js":
|
||
/*!********************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/redefine.js ***!
|
||
\********************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/global.js");
|
||
var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/create-non-enumerable-property.js");
|
||
var has = __webpack_require__(/*! ../internals/has */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/has.js");
|
||
var setGlobal = __webpack_require__(/*! ../internals/set-global */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/set-global.js");
|
||
var inspectSource = __webpack_require__(/*! ../internals/inspect-source */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/inspect-source.js");
|
||
var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/internal-state.js");
|
||
|
||
var getInternalState = InternalStateModule.get;
|
||
var enforceInternalState = InternalStateModule.enforce;
|
||
var TEMPLATE = String(String).split('String');
|
||
|
||
(module.exports = function (O, key, value, options) {
|
||
var unsafe = options ? !!options.unsafe : false;
|
||
var simple = options ? !!options.enumerable : false;
|
||
var noTargetGet = options ? !!options.noTargetGet : false;
|
||
if (typeof value == 'function') {
|
||
if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
|
||
enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
|
||
}
|
||
if (O === global) {
|
||
if (simple) O[key] = value;
|
||
else setGlobal(key, value);
|
||
return;
|
||
} else if (!unsafe) {
|
||
delete O[key];
|
||
} else if (!noTargetGet && O[key]) {
|
||
simple = true;
|
||
}
|
||
if (simple) O[key] = value;
|
||
else createNonEnumerableProperty(O, key, value);
|
||
// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
|
||
})(Function.prototype, 'toString', function toString() {
|
||
return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/require-object-coercible.js":
|
||
/*!************************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/require-object-coercible.js ***!
|
||
\************************************************************************************************************/
|
||
/***/ (function(module) {
|
||
|
||
// `RequireObjectCoercible` abstract operation
|
||
// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
|
||
module.exports = function (it) {
|
||
if (it == undefined) throw TypeError("Can't call method on " + it);
|
||
return it;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/set-global.js":
|
||
/*!**********************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/set-global.js ***!
|
||
\**********************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/global.js");
|
||
var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/create-non-enumerable-property.js");
|
||
|
||
module.exports = function (key, value) {
|
||
try {
|
||
createNonEnumerableProperty(global, key, value);
|
||
} catch (error) {
|
||
global[key] = value;
|
||
} return value;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/shared-key.js":
|
||
/*!**********************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/shared-key.js ***!
|
||
\**********************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var shared = __webpack_require__(/*! ../internals/shared */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/shared.js");
|
||
var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/uid.js");
|
||
|
||
var keys = shared('keys');
|
||
|
||
module.exports = function (key) {
|
||
return keys[key] || (keys[key] = uid(key));
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/shared-store.js":
|
||
/*!************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/shared-store.js ***!
|
||
\************************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/global.js");
|
||
var setGlobal = __webpack_require__(/*! ../internals/set-global */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/set-global.js");
|
||
|
||
var SHARED = '__core-js_shared__';
|
||
var store = global[SHARED] || setGlobal(SHARED, {});
|
||
|
||
module.exports = store;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/shared.js":
|
||
/*!******************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/shared.js ***!
|
||
\******************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-pure.js");
|
||
var store = __webpack_require__(/*! ../internals/shared-store */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/shared-store.js");
|
||
|
||
(module.exports = function (key, value) {
|
||
return store[key] || (store[key] = value !== undefined ? value : {});
|
||
})('versions', []).push({
|
||
version: '3.6.1',
|
||
mode: IS_PURE ? 'pure' : 'global',
|
||
copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-absolute-index.js":
|
||
/*!*****************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-absolute-index.js ***!
|
||
\*****************************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-integer.js");
|
||
|
||
var max = Math.max;
|
||
var min = Math.min;
|
||
|
||
// Helper for a popular repeating case of the spec:
|
||
// Let integer be ? ToInteger(index).
|
||
// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
|
||
module.exports = function (index, length) {
|
||
var integer = toInteger(index);
|
||
return integer < 0 ? max(integer + length, 0) : min(integer, length);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-indexed-object.js":
|
||
/*!*****************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-indexed-object.js ***!
|
||
\*****************************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
// toObject with fallback for non-array-like ES3 strings
|
||
var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/indexed-object.js");
|
||
var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/require-object-coercible.js");
|
||
|
||
module.exports = function (it) {
|
||
return IndexedObject(requireObjectCoercible(it));
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-integer.js":
|
||
/*!**********************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-integer.js ***!
|
||
\**********************************************************************************************/
|
||
/***/ (function(module) {
|
||
|
||
var ceil = Math.ceil;
|
||
var floor = Math.floor;
|
||
|
||
// `ToInteger` abstract operation
|
||
// https://tc39.github.io/ecma262/#sec-tointeger
|
||
module.exports = function (argument) {
|
||
return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-length.js":
|
||
/*!*********************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-length.js ***!
|
||
\*********************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-integer.js");
|
||
|
||
var min = Math.min;
|
||
|
||
// `ToLength` abstract operation
|
||
// https://tc39.github.io/ecma262/#sec-tolength
|
||
module.exports = function (argument) {
|
||
return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-object.js":
|
||
/*!*********************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-object.js ***!
|
||
\*********************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/require-object-coercible.js");
|
||
|
||
// `ToObject` abstract operation
|
||
// https://tc39.github.io/ecma262/#sec-toobject
|
||
module.exports = function (argument) {
|
||
return Object(requireObjectCoercible(argument));
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-primitive.js":
|
||
/*!************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-primitive.js ***!
|
||
\************************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-object.js");
|
||
|
||
// `ToPrimitive` abstract operation
|
||
// https://tc39.github.io/ecma262/#sec-toprimitive
|
||
// instead of the ES6 spec version, we didn't implement @@toPrimitive case
|
||
// and the second argument - flag - preferred type is a string
|
||
module.exports = function (input, PREFERRED_STRING) {
|
||
if (!isObject(input)) return input;
|
||
var fn, val;
|
||
if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
|
||
if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
|
||
if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
|
||
throw TypeError("Can't convert object to primitive value");
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/uid.js":
|
||
/*!***************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/uid.js ***!
|
||
\***************************************************************************************/
|
||
/***/ (function(module) {
|
||
|
||
var id = 0;
|
||
var postfix = Math.random();
|
||
|
||
module.exports = function (key) {
|
||
return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/use-symbol-as-uid.js":
|
||
/*!*****************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/use-symbol-as-uid.js ***!
|
||
\*****************************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var NATIVE_SYMBOL = __webpack_require__(/*! ../internals/native-symbol */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/native-symbol.js");
|
||
|
||
module.exports = NATIVE_SYMBOL
|
||
// eslint-disable-next-line no-undef
|
||
&& !Symbol.sham
|
||
// eslint-disable-next-line no-undef
|
||
&& typeof Symbol.iterator == 'symbol';
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/user-agent.js":
|
||
/*!**********************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/user-agent.js ***!
|
||
\**********************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/get-built-in.js");
|
||
|
||
module.exports = getBuiltIn('navigator', 'userAgent') || '';
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/v8-version.js":
|
||
/*!**********************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/v8-version.js ***!
|
||
\**********************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/global.js");
|
||
var userAgent = __webpack_require__(/*! ../internals/user-agent */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/user-agent.js");
|
||
|
||
var process = global.process;
|
||
var versions = process && process.versions;
|
||
var v8 = versions && versions.v8;
|
||
var match, version;
|
||
|
||
if (v8) {
|
||
match = v8.split('.');
|
||
version = match[0] + match[1];
|
||
} else if (userAgent) {
|
||
match = userAgent.match(/Edge\/(\d+)/);
|
||
if (!match || match[1] >= 74) {
|
||
match = userAgent.match(/Chrome\/(\d+)/);
|
||
if (match) version = match[1];
|
||
}
|
||
}
|
||
|
||
module.exports = version && +version;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/well-known-symbol.js":
|
||
/*!*****************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/well-known-symbol.js ***!
|
||
\*****************************************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/global.js");
|
||
var shared = __webpack_require__(/*! ../internals/shared */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/shared.js");
|
||
var has = __webpack_require__(/*! ../internals/has */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/has.js");
|
||
var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/uid.js");
|
||
var NATIVE_SYMBOL = __webpack_require__(/*! ../internals/native-symbol */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/native-symbol.js");
|
||
var USE_SYMBOL_AS_UID = __webpack_require__(/*! ../internals/use-symbol-as-uid */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/use-symbol-as-uid.js");
|
||
|
||
var WellKnownSymbolsStore = shared('wks');
|
||
var Symbol = global.Symbol;
|
||
var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;
|
||
|
||
module.exports = function (name) {
|
||
if (!has(WellKnownSymbolsStore, name)) {
|
||
if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];
|
||
else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
|
||
} return WellKnownSymbolsStore[name];
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.array.concat.js":
|
||
/*!*************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.array.concat.js ***!
|
||
\*************************************************************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/export.js");
|
||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/fails.js");
|
||
var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-array.js");
|
||
var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-object.js");
|
||
var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-object.js");
|
||
var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-length.js");
|
||
var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/create-property.js");
|
||
var arraySpeciesCreate = __webpack_require__(/*! ../internals/array-species-create */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/array-species-create.js");
|
||
var arrayMethodHasSpeciesSupport = __webpack_require__(/*! ../internals/array-method-has-species-support */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/array-method-has-species-support.js");
|
||
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/well-known-symbol.js");
|
||
var V8_VERSION = __webpack_require__(/*! ../internals/v8-version */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/v8-version.js");
|
||
|
||
var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
|
||
var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
|
||
var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
|
||
|
||
// We can't use this feature detection in V8 since it causes
|
||
// deoptimization and serious performance degradation
|
||
// https://github.com/zloirock/core-js/issues/679
|
||
var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {
|
||
var array = [];
|
||
array[IS_CONCAT_SPREADABLE] = false;
|
||
return array.concat()[0] !== array;
|
||
});
|
||
|
||
var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
|
||
|
||
var isConcatSpreadable = function (O) {
|
||
if (!isObject(O)) return false;
|
||
var spreadable = O[IS_CONCAT_SPREADABLE];
|
||
return spreadable !== undefined ? !!spreadable : isArray(O);
|
||
};
|
||
|
||
var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
|
||
|
||
// `Array.prototype.concat` method
|
||
// https://tc39.github.io/ecma262/#sec-array.prototype.concat
|
||
// with adding support of @@isConcatSpreadable and @@species
|
||
$({ target: 'Array', proto: true, forced: FORCED }, {
|
||
concat: function concat(arg) { // eslint-disable-line no-unused-vars
|
||
var O = toObject(this);
|
||
var A = arraySpeciesCreate(O, 0);
|
||
var n = 0;
|
||
var i, k, length, len, E;
|
||
for (i = -1, length = arguments.length; i < length; i++) {
|
||
E = i === -1 ? O : arguments[i];
|
||
if (isConcatSpreadable(E)) {
|
||
len = toLength(E.length);
|
||
if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
|
||
for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
|
||
} else {
|
||
if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
|
||
createProperty(A, n++, E);
|
||
}
|
||
}
|
||
A.length = n;
|
||
return A;
|
||
}
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.array.filter.js":
|
||
/*!*************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.array.filter.js ***!
|
||
\*************************************************************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/export.js");
|
||
var $filter = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/array-iteration.js").filter;
|
||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/fails.js");
|
||
var arrayMethodHasSpeciesSupport = __webpack_require__(/*! ../internals/array-method-has-species-support */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/array-method-has-species-support.js");
|
||
|
||
var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');
|
||
// Edge 14- issue
|
||
var USES_TO_LENGTH = HAS_SPECIES_SUPPORT && !fails(function () {
|
||
[].filter.call({ length: -1, 0: 1 }, function (it) { throw it; });
|
||
});
|
||
|
||
// `Array.prototype.filter` method
|
||
// https://tc39.github.io/ecma262/#sec-array.prototype.filter
|
||
// with adding support of @@species
|
||
$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {
|
||
filter: function filter(callbackfn /* , thisArg */) {
|
||
return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
||
}
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.array.map.js":
|
||
/*!**********************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.array.map.js ***!
|
||
\**********************************************************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/export.js");
|
||
var $map = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/array-iteration.js").map;
|
||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/fails.js");
|
||
var arrayMethodHasSpeciesSupport = __webpack_require__(/*! ../internals/array-method-has-species-support */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/array-method-has-species-support.js");
|
||
|
||
var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');
|
||
// FF49- issue
|
||
var USES_TO_LENGTH = HAS_SPECIES_SUPPORT && !fails(function () {
|
||
[].map.call({ length: -1, 0: 1 }, function (it) { throw it; });
|
||
});
|
||
|
||
// `Array.prototype.map` method
|
||
// https://tc39.github.io/ecma262/#sec-array.prototype.map
|
||
// with adding support of @@species
|
||
$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {
|
||
map: function map(callbackfn /* , thisArg */) {
|
||
return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
||
}
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.object.keys.js":
|
||
/*!************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.object.keys.js ***!
|
||
\************************************************************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/export.js");
|
||
var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-object.js");
|
||
var nativeKeys = __webpack_require__(/*! ../internals/object-keys */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-keys.js");
|
||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/fails.js");
|
||
|
||
var FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });
|
||
|
||
// `Object.keys` method
|
||
// https://tc39.github.io/ecma262/#sec-object.keys
|
||
$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {
|
||
keys: function keys(it) {
|
||
return nativeKeys(toObject(it));
|
||
}
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.string.starts-with.js":
|
||
/*!*******************************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.string.starts-with.js ***!
|
||
\*******************************************************************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/export.js");
|
||
var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-get-own-property-descriptor.js").f;
|
||
var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-length.js");
|
||
var notARegExp = __webpack_require__(/*! ../internals/not-a-regexp */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/not-a-regexp.js");
|
||
var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/require-object-coercible.js");
|
||
var correctIsRegExpLogic = __webpack_require__(/*! ../internals/correct-is-regexp-logic */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/correct-is-regexp-logic.js");
|
||
var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-pure.js");
|
||
|
||
var nativeStartsWith = ''.startsWith;
|
||
var min = Math.min;
|
||
|
||
var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');
|
||
// https://github.com/zloirock/core-js/pull/702
|
||
var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {
|
||
var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');
|
||
return descriptor && !descriptor.writable;
|
||
}();
|
||
|
||
// `String.prototype.startsWith` method
|
||
// https://tc39.github.io/ecma262/#sec-string.prototype.startswith
|
||
$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {
|
||
startsWith: function startsWith(searchString /* , position = 0 */) {
|
||
var that = String(requireObjectCoercible(this));
|
||
notARegExp(searchString);
|
||
var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));
|
||
var search = String(searchString);
|
||
return nativeStartsWith
|
||
? nativeStartsWith.call(that, search, index)
|
||
: that.slice(index, index + search.length) === search;
|
||
}
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/capabilities/dist/index.js":
|
||
/*!************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/capabilities/dist/index.js ***!
|
||
\************************************************************/
|
||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
/* provided dependency */ var console = __webpack_require__(/*! console-browserify */ "./node_modules/console-browserify/index.js");
|
||
|
||
|
||
Object.defineProperty(exports, "__esModule", ({
|
||
value: true
|
||
}));
|
||
exports.getCapabilities = getCapabilities;
|
||
|
||
var _initialState = __webpack_require__(/*! @nextcloud/initial-state */ "./node_modules/@nextcloud/initial-state/dist/index.js");
|
||
|
||
function getCapabilities() {
|
||
try {
|
||
return (0, _initialState.loadState)('core', 'capabilities');
|
||
} catch (error) {
|
||
console.debug('Could not find capabilities initial state fall back to _oc_capabilities');
|
||
|
||
if (!('_oc_capabilities' in window)) {
|
||
return {};
|
||
}
|
||
|
||
return window['_oc_capabilities'];
|
||
}
|
||
}
|
||
//# sourceMappingURL=index.js.map
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/dialogs/dist/index.es.js":
|
||
/*!**********************************************************!*\
|
||
!*** ./node_modules/@nextcloud/dialogs/dist/index.es.js ***!
|
||
\**********************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ "FilePicker": function() { return /* binding */ FilePicker; },
|
||
/* harmony export */ "FilePickerBuilder": function() { return /* binding */ FilePickerBuilder; },
|
||
/* harmony export */ "TOAST_DEFAULT_TIMEOUT": function() { return /* binding */ TOAST_DEFAULT_TIMEOUT; },
|
||
/* harmony export */ "TOAST_PERMANENT_TIMEOUT": function() { return /* binding */ TOAST_PERMANENT_TIMEOUT; },
|
||
/* harmony export */ "TOAST_UNDO_TIMEOUT": function() { return /* binding */ TOAST_UNDO_TIMEOUT; },
|
||
/* harmony export */ "getFilePickerBuilder": function() { return /* binding */ getFilePickerBuilder; },
|
||
/* harmony export */ "showError": function() { return /* binding */ showError; },
|
||
/* harmony export */ "showInfo": function() { return /* binding */ showInfo; },
|
||
/* harmony export */ "showMessage": function() { return /* binding */ showMessage; },
|
||
/* harmony export */ "showSuccess": function() { return /* binding */ showSuccess; },
|
||
/* harmony export */ "showUndo": function() { return /* binding */ showUndo; },
|
||
/* harmony export */ "showWarning": function() { return /* binding */ showWarning; }
|
||
/* harmony export */ });
|
||
/* provided dependency */ var process = __webpack_require__(/*! process/browser */ "./node_modules/process/browser.js");
|
||
/* provided dependency */ var console = __webpack_require__(/*! console-browserify */ "./node_modules/console-browserify/index.js");
|
||
(function() {
|
||
const env = {"TRANSLATIONS":[{"locale":"ar","json":{"charset":"utf-8","headers":{"Last-Translator":"S1 SYSTEMS | BP <info@s1.sa>, 2020","Language-Team":"Arabic (https://www.transifex.com/nextcloud/teams/64236/ar/)","Content-Type":"text/plain; charset=UTF-8","Language":"ar","Plural-Forms":"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\nS1 SYSTEMS | BP <info@s1.sa>, 2020\n"},"msgstr":["Last-Translator: S1 SYSTEMS | BP <info@s1.sa>, 2020\nLanguage-Team: Arabic (https://www.transifex.com/nextcloud/teams/64236/ar/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ar\nPlural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:191"},"msgstr":["تراجع"]}}}}},{"locale":"ast","json":{"charset":"utf-8","headers":{"Last-Translator":"enolp <enolp@softastur.org>, 2020","Language-Team":"Asturian (https://www.transifex.com/nextcloud/teams/64236/ast/)","Content-Type":"text/plain; charset=UTF-8","Language":"ast","Plural-Forms":"nplurals=2; plural=(n != 1);"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\nenolp <enolp@softastur.org>, 2020\n"},"msgstr":["Last-Translator: enolp <enolp@softastur.org>, 2020\nLanguage-Team: Asturian (https://www.transifex.com/nextcloud/teams/64236/ast/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ast\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:187"},"msgstr":["Desfacer"]}}}}},{"locale":"br","json":{"charset":"utf-8","headers":{"Last-Translator":"Kervoas-Le Nabat Ewen <ewenkervoas@free.fr>, 2020","Language-Team":"Breton (https://www.transifex.com/nextcloud/teams/64236/br/)","Content-Type":"text/plain; charset=UTF-8","Language":"br","Plural-Forms":"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\nKervoas-Le Nabat Ewen <ewenkervoas@free.fr>, 2020\n"},"msgstr":["Last-Translator: Kervoas-Le Nabat Ewen <ewenkervoas@free.fr>, 2020\nLanguage-Team: Breton (https://www.transifex.com/nextcloud/teams/64236/br/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: br\nPlural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:187"},"msgstr":["Disober"]}}}}},{"locale":"ca","json":{"charset":"utf-8","headers":{"Last-Translator":"Marc Riera <marcriera@softcatala.org>, 2020","Language-Team":"Catalan (https://www.transifex.com/nextcloud/teams/64236/ca/)","Content-Type":"text/plain; charset=UTF-8","Language":"ca","Plural-Forms":"nplurals=2; plural=(n != 1);"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\nMarc Riera <marcriera@softcatala.org>, 2020\n"},"msgstr":["Last-Translator: Marc Riera <marcriera@softcatala.org>, 2020\nLanguage-Team: Catalan (https://www.transifex.com/nextcloud/teams/64236/ca/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ca\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:187"},"msgstr":["Desfés"]}}}}},{"locale":"cs","json":{"charset":"utf-8","headers":{"Last-Translator":"Pavel Borecki <pavel.borecki@gmail.com>, 2020","Language-Team":"Czech (https://www.transifex.com/nextcloud/teams/64236/cs/)","Content-Type":"text/plain; charset=UTF-8","Language":"cs","Plural-Forms":"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\nPavel Borecki <pavel.borecki@gmail.com>, 2020\n"},"msgstr":["Last-Translator: Pavel Borecki <pavel.borecki@gmail.com>, 2020\nLanguage-Team: Czech (https://www.transifex.com/nextcloud/teams/64236/cs/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: cs\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:187"},"msgstr":["Zpět"]}}}}},{"locale":"cs_CZ","json":{"charset":"utf-8","headers":{"Last-Translator":"Pavel Borecki <pavel.borecki@gmail.com>, 2020","Language-Team":"Czech (Czech Republic) (https://www.transifex.com/nextcloud/teams/64236/cs_CZ/)","Content-Type":"text/plain; charset=UTF-8","Language":"cs_CZ","Plural-Forms":"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\nPavel Borecki <pavel.borecki@gmail.com>, 2020\n"},"msgstr":["Last-Translator: Pavel Borecki <pavel.borecki@gmail.com>, 2020\nLanguage-Team: Czech (Czech Republic) (https://www.transifex.com/nextcloud/teams/64236/cs_CZ/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: cs_CZ\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:187"},"msgstr":["Zpět"]}}}}},{"locale":"da","json":{"charset":"utf-8","headers":{"Last-Translator":"Martin Bonde <Martin@maboni.dk>, 2020","Language-Team":"Danish (https://www.transifex.com/nextcloud/teams/64236/da/)","Content-Type":"text/plain; charset=UTF-8","Language":"da","Plural-Forms":"nplurals=2; plural=(n != 1);"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\nMartin Bonde <Martin@maboni.dk>, 2020\n"},"msgstr":["Last-Translator: Martin Bonde <Martin@maboni.dk>, 2020\nLanguage-Team: Danish (https://www.transifex.com/nextcloud/teams/64236/da/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: da\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:192"},"msgstr":["Fortryd"]}}}}},{"locale":"de","json":{"charset":"utf-8","headers":{"Last-Translator":"Mark Ziegler <mark.ziegler@rakekniven.de>, 2020","Language-Team":"German (https://www.transifex.com/nextcloud/teams/64236/de/)","Content-Type":"text/plain; charset=UTF-8","Language":"de","Plural-Forms":"nplurals=2; plural=(n != 1);"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\nMark Ziegler <mark.ziegler@rakekniven.de>, 2020\n"},"msgstr":["Last-Translator: Mark Ziegler <mark.ziegler@rakekniven.de>, 2020\nLanguage-Team: German (https://www.transifex.com/nextcloud/teams/64236/de/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: de\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:187"},"msgstr":["Rückgängig"]}}}}},{"locale":"de_DE","json":{"charset":"utf-8","headers":{"Last-Translator":"Mark Ziegler <mark.ziegler@rakekniven.de>, 2020","Language-Team":"German (Germany) (https://www.transifex.com/nextcloud/teams/64236/de_DE/)","Content-Type":"text/plain; charset=UTF-8","Language":"de_DE","Plural-Forms":"nplurals=2; plural=(n != 1);"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\nMark Ziegler <mark.ziegler@rakekniven.de>, 2020\n"},"msgstr":["Last-Translator: Mark Ziegler <mark.ziegler@rakekniven.de>, 2020\nLanguage-Team: German (Germany) (https://www.transifex.com/nextcloud/teams/64236/de_DE/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: de_DE\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:187"},"msgstr":["Rückgängig"]}}}}},{"locale":"el","json":{"charset":"utf-8","headers":{"Last-Translator":"ByteGet, 2020","Language-Team":"Greek (https://www.transifex.com/nextcloud/teams/64236/el/)","Content-Type":"text/plain; charset=UTF-8","Language":"el","Plural-Forms":"nplurals=2; plural=(n != 1);"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\nByteGet, 2020\n"},"msgstr":["Last-Translator: ByteGet, 2020\nLanguage-Team: Greek (https://www.transifex.com/nextcloud/teams/64236/el/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: el\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:187"},"msgstr":["Αναίρεση"]}}}}},{"locale":"eo","json":{"charset":"utf-8","headers":{"Last-Translator":"Va Milushnikov <va.milushnikov@gmail.com>, 2020","Language-Team":"Esperanto (https://www.transifex.com/nextcloud/teams/64236/eo/)","Content-Type":"text/plain; charset=UTF-8","Language":"eo","Plural-Forms":"nplurals=2; plural=(n != 1);"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\nVa Milushnikov <va.milushnikov@gmail.com>, 2020\n"},"msgstr":["Last-Translator: Va Milushnikov <va.milushnikov@gmail.com>, 2020\nLanguage-Team: Esperanto (https://www.transifex.com/nextcloud/teams/64236/eo/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: eo\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:191"},"msgstr":["Malfari"]}}}}},{"locale":"es","json":{"charset":"utf-8","headers":{"Last-Translator":"Gabriel Anca <gabrielancacorral@gmail.com>, 2020","Language-Team":"Spanish (https://www.transifex.com/nextcloud/teams/64236/es/)","Content-Type":"text/plain; charset=UTF-8","Language":"es","Plural-Forms":"nplurals=2; plural=(n != 1);"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\nGabriel Anca <gabrielancacorral@gmail.com>, 2020\n"},"msgstr":["Last-Translator: Gabriel Anca <gabrielancacorral@gmail.com>, 2020\nLanguage-Team: Spanish (https://www.transifex.com/nextcloud/teams/64236/es/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:192"},"msgstr":["Deshacer"]}}}}},{"locale":"fa","json":{"charset":"utf-8","headers":{"Last-Translator":"Mostafa Ahangarha <ahangarha@riseup.net>, 2020","Language-Team":"Persian (https://www.transifex.com/nextcloud/teams/64236/fa/)","Content-Type":"text/plain; charset=UTF-8","Language":"fa","Plural-Forms":"nplurals=2; plural=(n > 1);"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\nMostafa Ahangarha <ahangarha@riseup.net>, 2020\n"},"msgstr":["Last-Translator: Mostafa Ahangarha <ahangarha@riseup.net>, 2020\nLanguage-Team: Persian (https://www.transifex.com/nextcloud/teams/64236/fa/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fa\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:192"},"msgstr":["بازگردانی"]}}}}},{"locale":"fi_FI","json":{"charset":"utf-8","headers":{"Last-Translator":"teemue, 2020","Language-Team":"Finnish (Finland) (https://www.transifex.com/nextcloud/teams/64236/fi_FI/)","Content-Type":"text/plain; charset=UTF-8","Language":"fi_FI","Plural-Forms":"nplurals=2; plural=(n != 1);"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\nteemue, 2020\n"},"msgstr":["Last-Translator: teemue, 2020\nLanguage-Team: Finnish (Finland) (https://www.transifex.com/nextcloud/teams/64236/fi_FI/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fi_FI\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:191"},"msgstr":["Kumoa"]}}}}},{"locale":"fr","json":{"charset":"utf-8","headers":{"Last-Translator":"John Molakvoæ <skjnldsv@protonmail.com>, 2020","Language-Team":"French (https://www.transifex.com/nextcloud/teams/64236/fr/)","Content-Type":"text/plain; charset=UTF-8","Language":"fr","Plural-Forms":"nplurals=2; plural=(n > 1);"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2020\n"},"msgstr":["Last-Translator: John Molakvoæ <skjnldsv@protonmail.com>, 2020\nLanguage-Team: French (https://www.transifex.com/nextcloud/teams/64236/fr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fr\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:187"},"msgstr":["Annuler"]}}}}},{"locale":"gl","json":{"charset":"utf-8","headers":{"Last-Translator":"Miguel Anxo Bouzada <mbouzada@gmail.com>, 2020","Language-Team":"Galician (https://www.transifex.com/nextcloud/teams/64236/gl/)","Content-Type":"text/plain; charset=UTF-8","Language":"gl","Plural-Forms":"nplurals=2; plural=(n != 1);"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\nMiguel Anxo Bouzada <mbouzada@gmail.com>, 2020\n"},"msgstr":["Last-Translator: Miguel Anxo Bouzada <mbouzada@gmail.com>, 2020\nLanguage-Team: Galician (https://www.transifex.com/nextcloud/teams/64236/gl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: gl\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:187"},"msgstr":["Desfacer"]}}}}},{"locale":"he","json":{"charset":"utf-8","headers":{"Last-Translator":"Yaron Shahrabani <sh.yaron@gmail.com>, 2020","Language-Team":"Hebrew (https://www.transifex.com/nextcloud/teams/64236/he/)","Content-Type":"text/plain; charset=UTF-8","Language":"he","Plural-Forms":"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\nYaron Shahrabani <sh.yaron@gmail.com>, 2020\n"},"msgstr":["Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>, 2020\nLanguage-Team: Hebrew (https://www.transifex.com/nextcloud/teams/64236/he/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: he\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:187"},"msgstr":["ביטול"]}}}}},{"locale":"hu_HU","json":{"charset":"utf-8","headers":{"Last-Translator":"Balázs Meskó <meskobalazs@mailbox.org>, 2021","Language-Team":"Hungarian (Hungary) (https://www.transifex.com/nextcloud/teams/64236/hu_HU/)","Content-Type":"text/plain; charset=UTF-8","Language":"hu_HU","Plural-Forms":"nplurals=2; plural=(n != 1);"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\nBalázs Meskó <meskobalazs@mailbox.org>, 2021\n"},"msgstr":["Last-Translator: Balázs Meskó <meskobalazs@mailbox.org>, 2021\nLanguage-Team: Hungarian (Hungary) (https://www.transifex.com/nextcloud/teams/64236/hu_HU/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hu_HU\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:191"},"msgstr":["Visszavonás"]}}}}},{"locale":"id","json":{"charset":"utf-8","headers":{"Last-Translator":"agus sutrisno <agussutrisno@smamsa.sch.id>, 2020","Language-Team":"Indonesian (https://www.transifex.com/nextcloud/teams/64236/id/)","Content-Type":"text/plain; charset=UTF-8","Language":"id","Plural-Forms":"nplurals=1; plural=0;"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\nagus sutrisno <agussutrisno@smamsa.sch.id>, 2020\n"},"msgstr":["Last-Translator: agus sutrisno <agussutrisno@smamsa.sch.id>, 2020\nLanguage-Team: Indonesian (https://www.transifex.com/nextcloud/teams/64236/id/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: id\nPlural-Forms: nplurals=1; plural=0;\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:192"},"msgstr":["Tidak jadi"]}}}}},{"locale":"is","json":{"charset":"utf-8","headers":{"Last-Translator":"Sveinn í Felli <sv1@fellsnet.is>, 2020","Language-Team":"Icelandic (https://www.transifex.com/nextcloud/teams/64236/is/)","Content-Type":"text/plain; charset=UTF-8","Language":"is","Plural-Forms":"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\nSveinn í Felli <sv1@fellsnet.is>, 2020\n"},"msgstr":["Last-Translator: Sveinn í Felli <sv1@fellsnet.is>, 2020\nLanguage-Team: Icelandic (https://www.transifex.com/nextcloud/teams/64236/is/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: is\nPlural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:192"},"msgstr":["Afturkalla"]}}}}},{"locale":"it","json":{"charset":"utf-8","headers":{"Last-Translator":"Vincenzo Reale <vinx.reale@gmail.com>, 2020","Language-Team":"Italian (https://www.transifex.com/nextcloud/teams/64236/it/)","Content-Type":"text/plain; charset=UTF-8","Language":"it","Plural-Forms":"nplurals=2; plural=(n != 1);"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\nVincenzo Reale <vinx.reale@gmail.com>, 2020\n"},"msgstr":["Last-Translator: Vincenzo Reale <vinx.reale@gmail.com>, 2020\nLanguage-Team: Italian (https://www.transifex.com/nextcloud/teams/64236/it/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: it\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:187"},"msgstr":["Annulla"]}}}}},{"locale":"ja_JP","json":{"charset":"utf-8","headers":{"Last-Translator":"323484, 2020","Language-Team":"Japanese (Japan) (https://www.transifex.com/nextcloud/teams/64236/ja_JP/)","Content-Type":"text/plain; charset=UTF-8","Language":"ja_JP","Plural-Forms":"nplurals=1; plural=0;"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\n323484, 2020\n"},"msgstr":["Last-Translator: 323484, 2020\nLanguage-Team: Japanese (Japan) (https://www.transifex.com/nextcloud/teams/64236/ja_JP/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ja_JP\nPlural-Forms: nplurals=1; plural=0;\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:187"},"msgstr":["元に戻す"]}}}}},{"locale":"lt_LT","json":{"charset":"utf-8","headers":{"Last-Translator":"Moo, 2020","Language-Team":"Lithuanian (Lithuania) (https://www.transifex.com/nextcloud/teams/64236/lt_LT/)","Content-Type":"text/plain; charset=UTF-8","Language":"lt_LT","Plural-Forms":"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\nMoo, 2020\n"},"msgstr":["Last-Translator: Moo, 2020\nLanguage-Team: Lithuanian (Lithuania) (https://www.transifex.com/nextcloud/teams/64236/lt_LT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lt_LT\nPlural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:187"},"msgstr":["Atšaukti"]}}}}},{"locale":"mk","json":{"charset":"utf-8","headers":{"Last-Translator":"Сашко Тодоров, 2020","Language-Team":"Macedonian (https://www.transifex.com/nextcloud/teams/64236/mk/)","Content-Type":"text/plain; charset=UTF-8","Language":"mk","Plural-Forms":"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\nСашко Тодоров, 2020\n"},"msgstr":["Last-Translator: Сашко Тодоров, 2020\nLanguage-Team: Macedonian (https://www.transifex.com/nextcloud/teams/64236/mk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: mk\nPlural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:187"},"msgstr":["Врати"]}}}}},{"locale":"nb_NO","json":{"charset":"utf-8","headers":{"Last-Translator":"sverre.vikan <sverre.vikan@gmail.com>, 2020","Language-Team":"Norwegian Bokmål (Norway) (https://www.transifex.com/nextcloud/teams/64236/nb_NO/)","Content-Type":"text/plain; charset=UTF-8","Language":"nb_NO","Plural-Forms":"nplurals=2; plural=(n != 1);"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\nsverre.vikan <sverre.vikan@gmail.com>, 2020\n"},"msgstr":["Last-Translator: sverre.vikan <sverre.vikan@gmail.com>, 2020\nLanguage-Team: Norwegian Bokmål (Norway) (https://www.transifex.com/nextcloud/teams/64236/nb_NO/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nb_NO\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:192"},"msgstr":["Angre"]}}}}},{"locale":"nl","json":{"charset":"utf-8","headers":{"Last-Translator":"Robin Slot, 2020","Language-Team":"Dutch (https://www.transifex.com/nextcloud/teams/64236/nl/)","Content-Type":"text/plain; charset=UTF-8","Language":"nl","Plural-Forms":"nplurals=2; plural=(n != 1);"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\nRobin Slot, 2020\n"},"msgstr":["Last-Translator: Robin Slot, 2020\nLanguage-Team: Dutch (https://www.transifex.com/nextcloud/teams/64236/nl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nl\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:191"},"msgstr":["Ongedaan maken"]}}}}},{"locale":"oc","json":{"charset":"utf-8","headers":{"Last-Translator":"Quentin PAGÈS, 2020","Language-Team":"Occitan (post 1500) (https://www.transifex.com/nextcloud/teams/64236/oc/)","Content-Type":"text/plain; charset=UTF-8","Language":"oc","Plural-Forms":"nplurals=2; plural=(n > 1);"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\nQuentin PAGÈS, 2020\n"},"msgstr":["Last-Translator: Quentin PAGÈS, 2020\nLanguage-Team: Occitan (post 1500) (https://www.transifex.com/nextcloud/teams/64236/oc/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: oc\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:187"},"msgstr":["Anullar"]}}}}},{"locale":"pl","json":{"charset":"utf-8","headers":{"Last-Translator":"Robert Szmurło <robert.szmurlo@ee.pw.edu.pl>, 2020","Language-Team":"Polish (https://www.transifex.com/nextcloud/teams/64236/pl/)","Content-Type":"text/plain; charset=UTF-8","Language":"pl","Plural-Forms":"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\nRobert Szmurło <robert.szmurlo@ee.pw.edu.pl>, 2020\n"},"msgstr":["Last-Translator: Robert Szmurło <robert.szmurlo@ee.pw.edu.pl>, 2020\nLanguage-Team: Polish (https://www.transifex.com/nextcloud/teams/64236/pl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: pl\nPlural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:187"},"msgstr":["Cofnij"]}}}}},{"locale":"pt_BR","json":{"charset":"utf-8","headers":{"Last-Translator":"Paulo Schopf, 2020","Language-Team":"Portuguese (Brazil) (https://www.transifex.com/nextcloud/teams/64236/pt_BR/)","Content-Type":"text/plain; charset=UTF-8","Language":"pt_BR","Plural-Forms":"nplurals=2; plural=(n > 1);"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\nPaulo Schopf, 2020\n"},"msgstr":["Last-Translator: Paulo Schopf, 2020\nLanguage-Team: Portuguese (Brazil) (https://www.transifex.com/nextcloud/teams/64236/pt_BR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: pt_BR\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:187"},"msgstr":["Desfazer"]}}}}},{"locale":"ru","json":{"charset":"utf-8","headers":{"Last-Translator":"Andrey Atapin <atab@kirovedu.ru>, 2020","Language-Team":"Russian (https://www.transifex.com/nextcloud/teams/64236/ru/)","Content-Type":"text/plain; charset=UTF-8","Language":"ru","Plural-Forms":"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\nAndrey Atapin <atab@kirovedu.ru>, 2020\n"},"msgstr":["Last-Translator: Andrey Atapin <atab@kirovedu.ru>, 2020\nLanguage-Team: Russian (https://www.transifex.com/nextcloud/teams/64236/ru/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ru\nPlural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:187"},"msgstr":["Отменить"]}}}}},{"locale":"sk_SK","json":{"charset":"utf-8","headers":{"Last-Translator":"vladimirjendrol <vlado@jendrol.sk>, 2020","Language-Team":"Slovak (Slovakia) (https://www.transifex.com/nextcloud/teams/64236/sk_SK/)","Content-Type":"text/plain; charset=UTF-8","Language":"sk_SK","Plural-Forms":"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\nvladimirjendrol <vlado@jendrol.sk>, 2020\n"},"msgstr":["Last-Translator: vladimirjendrol <vlado@jendrol.sk>, 2020\nLanguage-Team: Slovak (Slovakia) (https://www.transifex.com/nextcloud/teams/64236/sk_SK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sk_SK\nPlural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:192"},"msgstr":["Späť"]}}}}},{"locale":"sl","json":{"charset":"utf-8","headers":{"Last-Translator":"Matej Urbančič <>, 2020","Language-Team":"Slovenian (https://www.transifex.com/nextcloud/teams/64236/sl/)","Content-Type":"text/plain; charset=UTF-8","Language":"sl","Plural-Forms":"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\nMatej Urbančič <>, 2020\n"},"msgstr":["Last-Translator: Matej Urbančič <>, 2020\nLanguage-Team: Slovenian (https://www.transifex.com/nextcloud/teams/64236/sl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sl\nPlural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:191"},"msgstr":["Razveljavi"]}}}}},{"locale":"sv","json":{"charset":"utf-8","headers":{"Last-Translator":"Victor Nyberg <v70123@gmail.com>, 2021","Language-Team":"Swedish (https://www.transifex.com/nextcloud/teams/64236/sv/)","Content-Type":"text/plain; charset=UTF-8","Language":"sv","Plural-Forms":"nplurals=2; plural=(n != 1);"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\nVictor Nyberg <v70123@gmail.com>, 2021\n"},"msgstr":["Last-Translator: Victor Nyberg <v70123@gmail.com>, 2021\nLanguage-Team: Swedish (https://www.transifex.com/nextcloud/teams/64236/sv/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sv\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:191"},"msgstr":["Ångra"]}}}}},{"locale":"tr","json":{"charset":"utf-8","headers":{"Last-Translator":"Kaya Zeren <kayazeren@gmail.com>, 2020","Language-Team":"Turkish (https://www.transifex.com/nextcloud/teams/64236/tr/)","Content-Type":"text/plain; charset=UTF-8","Language":"tr","Plural-Forms":"nplurals=2; plural=(n > 1);"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\nKaya Zeren <kayazeren@gmail.com>, 2020\n"},"msgstr":["Last-Translator: Kaya Zeren <kayazeren@gmail.com>, 2020\nLanguage-Team: Turkish (https://www.transifex.com/nextcloud/teams/64236/tr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: tr\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:191"},"msgstr":["Geri al"]}}}}},{"locale":"uk","json":{"charset":"utf-8","headers":{"Last-Translator":"777 Svyatoi 777 <exmashana67@gmail.com>, 2020","Language-Team":"Ukrainian (https://www.transifex.com/nextcloud/teams/64236/uk/)","Content-Type":"text/plain; charset=UTF-8","Language":"uk","Plural-Forms":"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\n777 Svyatoi 777 <exmashana67@gmail.com>, 2020\n"},"msgstr":["Last-Translator: 777 Svyatoi 777 <exmashana67@gmail.com>, 2020\nLanguage-Team: Ukrainian (https://www.transifex.com/nextcloud/teams/64236/uk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: uk\nPlural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:192"},"msgstr":["Undo"]}}}}},{"locale":"zh_CN","json":{"charset":"utf-8","headers":{"Last-Translator":"Toms Project <tom@projectoms.com>, 2020","Language-Team":"Chinese (China) (https://www.transifex.com/nextcloud/teams/64236/zh_CN/)","Content-Type":"text/plain; charset=UTF-8","Language":"zh_CN","Plural-Forms":"nplurals=1; plural=0;"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\nToms Project <tom@projectoms.com>, 2020\n"},"msgstr":["Last-Translator: Toms Project <tom@projectoms.com>, 2020\nLanguage-Team: Chinese (China) (https://www.transifex.com/nextcloud/teams/64236/zh_CN/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: zh_CN\nPlural-Forms: nplurals=1; plural=0;\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:191"},"msgstr":["撤消"]}}}}},{"locale":"zh_HK","json":{"charset":"utf-8","headers":{"Last-Translator":"Cha Wong <cafetango@gmail.com>, 2021","Language-Team":"Chinese (Hong Kong) (https://www.transifex.com/nextcloud/teams/64236/zh_HK/)","Content-Type":"text/plain; charset=UTF-8","Language":"zh_HK","Plural-Forms":"nplurals=1; plural=0;"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\nCha Wong <cafetango@gmail.com>, 2021\n"},"msgstr":["Last-Translator: Cha Wong <cafetango@gmail.com>, 2021\nLanguage-Team: Chinese (Hong Kong) (https://www.transifex.com/nextcloud/teams/64236/zh_HK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: zh_HK\nPlural-Forms: nplurals=1; plural=0;\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:191"},"msgstr":["還原"]}}}}},{"locale":"zh_TW","json":{"charset":"utf-8","headers":{"Last-Translator":"Natashia Maxins <railroad1987@gmail.com>, 2020","Language-Team":"Chinese (Taiwan) (https://www.transifex.com/nextcloud/teams/64236/zh_TW/)","Content-Type":"text/plain; charset=UTF-8","Language":"zh_TW","Plural-Forms":"nplurals=1; plural=0;"},"translations":{"":{"":{"msgid":"","comments":{"translator":"\nTranslators:\nNatashia Maxins <railroad1987@gmail.com>, 2020\n"},"msgstr":["Last-Translator: Natashia Maxins <railroad1987@gmail.com>, 2020\nLanguage-Team: Chinese (Taiwan) (https://www.transifex.com/nextcloud/teams/64236/zh_TW/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: zh_TW\nPlural-Forms: nplurals=1; plural=0;\n"]},"Undo":{"msgid":"Undo","comments":{"reference":"lib/toast.ts:192"},"msgstr":["復原"]}}}}}]};
|
||
try {
|
||
if (process) {
|
||
process.env = Object.assign({}, process.env);
|
||
Object.assign(process.env, env);
|
||
return;
|
||
}
|
||
} catch (e) {} // avoid ReferenceError: process is not defined
|
||
globalThis.process = { env:env };
|
||
})();
|
||
|
||
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof __webpack_require__.g !== 'undefined' ? __webpack_require__.g : typeof self !== 'undefined' ? self : {};
|
||
|
||
function createCommonjsModule(fn) {
|
||
var module = { exports: {} };
|
||
return fn(module, module.exports), module.exports;
|
||
}
|
||
|
||
var check = function (it) {
|
||
return it && it.Math == Math && it;
|
||
};
|
||
|
||
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
|
||
var global$1 =
|
||
/* global globalThis -- safe */
|
||
check(typeof globalThis == 'object' && globalThis) ||
|
||
check(typeof window == 'object' && window) ||
|
||
check(typeof self == 'object' && self) ||
|
||
check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
|
||
// eslint-disable-next-line no-new-func -- fallback
|
||
(function () { return this; })() || Function('return this')();
|
||
|
||
var fails = function (exec) {
|
||
try {
|
||
return !!exec();
|
||
} catch (error) {
|
||
return true;
|
||
}
|
||
};
|
||
|
||
// Detect IE8's incomplete defineProperty implementation
|
||
var descriptors = !fails(function () {
|
||
return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
|
||
});
|
||
|
||
var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
|
||
var getOwnPropertyDescriptor$2 = Object.getOwnPropertyDescriptor;
|
||
|
||
// Nashorn ~ JDK8 bug
|
||
var NASHORN_BUG = getOwnPropertyDescriptor$2 && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
|
||
|
||
// `Object.prototype.propertyIsEnumerable` method implementation
|
||
// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
|
||
var f$5 = NASHORN_BUG ? function propertyIsEnumerable(V) {
|
||
var descriptor = getOwnPropertyDescriptor$2(this, V);
|
||
return !!descriptor && descriptor.enumerable;
|
||
} : nativePropertyIsEnumerable;
|
||
|
||
var objectPropertyIsEnumerable = {
|
||
f: f$5
|
||
};
|
||
|
||
var createPropertyDescriptor = function (bitmap, value) {
|
||
return {
|
||
enumerable: !(bitmap & 1),
|
||
configurable: !(bitmap & 2),
|
||
writable: !(bitmap & 4),
|
||
value: value
|
||
};
|
||
};
|
||
|
||
var toString$1 = {}.toString;
|
||
|
||
var classofRaw = function (it) {
|
||
return toString$1.call(it).slice(8, -1);
|
||
};
|
||
|
||
var split = ''.split;
|
||
|
||
// fallback for non-array-like ES3 and non-enumerable old V8 strings
|
||
var indexedObject = fails(function () {
|
||
// throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
|
||
// eslint-disable-next-line no-prototype-builtins -- safe
|
||
return !Object('z').propertyIsEnumerable(0);
|
||
}) ? function (it) {
|
||
return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
|
||
} : Object;
|
||
|
||
// `RequireObjectCoercible` abstract operation
|
||
// https://tc39.es/ecma262/#sec-requireobjectcoercible
|
||
var requireObjectCoercible = function (it) {
|
||
if (it == undefined) throw TypeError("Can't call method on " + it);
|
||
return it;
|
||
};
|
||
|
||
// toObject with fallback for non-array-like ES3 strings
|
||
|
||
|
||
|
||
var toIndexedObject = function (it) {
|
||
return indexedObject(requireObjectCoercible(it));
|
||
};
|
||
|
||
var isObject$1 = function (it) {
|
||
return typeof it === 'object' ? it !== null : typeof it === 'function';
|
||
};
|
||
|
||
// `ToPrimitive` abstract operation
|
||
// https://tc39.es/ecma262/#sec-toprimitive
|
||
// instead of the ES6 spec version, we didn't implement @@toPrimitive case
|
||
// and the second argument - flag - preferred type is a string
|
||
var toPrimitive = function (input, PREFERRED_STRING) {
|
||
if (!isObject$1(input)) return input;
|
||
var fn, val;
|
||
if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject$1(val = fn.call(input))) return val;
|
||
if (typeof (fn = input.valueOf) == 'function' && !isObject$1(val = fn.call(input))) return val;
|
||
if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject$1(val = fn.call(input))) return val;
|
||
throw TypeError("Can't convert object to primitive value");
|
||
};
|
||
|
||
var hasOwnProperty$1 = {}.hasOwnProperty;
|
||
|
||
var has$1 = function (it, key) {
|
||
return hasOwnProperty$1.call(it, key);
|
||
};
|
||
|
||
var document$3 = global$1.document;
|
||
// typeof document.createElement is 'object' in old IE
|
||
var EXISTS = isObject$1(document$3) && isObject$1(document$3.createElement);
|
||
|
||
var documentCreateElement = function (it) {
|
||
return EXISTS ? document$3.createElement(it) : {};
|
||
};
|
||
|
||
// Thank's IE8 for his funny defineProperty
|
||
var ie8DomDefine = !descriptors && !fails(function () {
|
||
return Object.defineProperty(documentCreateElement('div'), 'a', {
|
||
get: function () { return 7; }
|
||
}).a != 7;
|
||
});
|
||
|
||
var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
|
||
|
||
// `Object.getOwnPropertyDescriptor` method
|
||
// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
|
||
var f$4 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
|
||
O = toIndexedObject(O);
|
||
P = toPrimitive(P, true);
|
||
if (ie8DomDefine) try {
|
||
return nativeGetOwnPropertyDescriptor(O, P);
|
||
} catch (error) { /* empty */ }
|
||
if (has$1(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
|
||
};
|
||
|
||
var objectGetOwnPropertyDescriptor = {
|
||
f: f$4
|
||
};
|
||
|
||
var anObject = function (it) {
|
||
if (!isObject$1(it)) {
|
||
throw TypeError(String(it) + ' is not an object');
|
||
} return it;
|
||
};
|
||
|
||
var nativeDefineProperty = Object.defineProperty;
|
||
|
||
// `Object.defineProperty` method
|
||
// https://tc39.es/ecma262/#sec-object.defineproperty
|
||
var f$3 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
|
||
anObject(O);
|
||
P = toPrimitive(P, true);
|
||
anObject(Attributes);
|
||
if (ie8DomDefine) try {
|
||
return nativeDefineProperty(O, P, Attributes);
|
||
} catch (error) { /* empty */ }
|
||
if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
|
||
if ('value' in Attributes) O[P] = Attributes.value;
|
||
return O;
|
||
};
|
||
|
||
var objectDefineProperty = {
|
||
f: f$3
|
||
};
|
||
|
||
var createNonEnumerableProperty = descriptors ? function (object, key, value) {
|
||
return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
|
||
} : function (object, key, value) {
|
||
object[key] = value;
|
||
return object;
|
||
};
|
||
|
||
var setGlobal = function (key, value) {
|
||
try {
|
||
createNonEnumerableProperty(global$1, key, value);
|
||
} catch (error) {
|
||
global$1[key] = value;
|
||
} return value;
|
||
};
|
||
|
||
var SHARED = '__core-js_shared__';
|
||
var store$1 = global$1[SHARED] || setGlobal(SHARED, {});
|
||
|
||
var sharedStore = store$1;
|
||
|
||
var functionToString = Function.toString;
|
||
|
||
// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
|
||
if (typeof sharedStore.inspectSource != 'function') {
|
||
sharedStore.inspectSource = function (it) {
|
||
return functionToString.call(it);
|
||
};
|
||
}
|
||
|
||
var inspectSource = sharedStore.inspectSource;
|
||
|
||
var WeakMap$1 = global$1.WeakMap;
|
||
|
||
var nativeWeakMap = typeof WeakMap$1 === 'function' && /native code/.test(inspectSource(WeakMap$1));
|
||
|
||
var shared = createCommonjsModule(function (module) {
|
||
(module.exports = function (key, value) {
|
||
return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
|
||
})('versions', []).push({
|
||
version: '3.9.1',
|
||
mode: 'global',
|
||
copyright: '© 2021 Denis Pushkarev (zloirock.ru)'
|
||
});
|
||
});
|
||
|
||
var id = 0;
|
||
var postfix = Math.random();
|
||
|
||
var uid = function (key) {
|
||
return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
|
||
};
|
||
|
||
var keys = shared('keys');
|
||
|
||
var sharedKey = function (key) {
|
||
return keys[key] || (keys[key] = uid(key));
|
||
};
|
||
|
||
var hiddenKeys$1 = {};
|
||
|
||
var WeakMap = global$1.WeakMap;
|
||
var set$1, get$1, has;
|
||
|
||
var enforce = function (it) {
|
||
return has(it) ? get$1(it) : set$1(it, {});
|
||
};
|
||
|
||
var getterFor = function (TYPE) {
|
||
return function (it) {
|
||
var state;
|
||
if (!isObject$1(it) || (state = get$1(it)).type !== TYPE) {
|
||
throw TypeError('Incompatible receiver, ' + TYPE + ' required');
|
||
} return state;
|
||
};
|
||
};
|
||
|
||
if (nativeWeakMap) {
|
||
var store = sharedStore.state || (sharedStore.state = new WeakMap());
|
||
var wmget = store.get;
|
||
var wmhas = store.has;
|
||
var wmset = store.set;
|
||
set$1 = function (it, metadata) {
|
||
metadata.facade = it;
|
||
wmset.call(store, it, metadata);
|
||
return metadata;
|
||
};
|
||
get$1 = function (it) {
|
||
return wmget.call(store, it) || {};
|
||
};
|
||
has = function (it) {
|
||
return wmhas.call(store, it);
|
||
};
|
||
} else {
|
||
var STATE = sharedKey('state');
|
||
hiddenKeys$1[STATE] = true;
|
||
set$1 = function (it, metadata) {
|
||
metadata.facade = it;
|
||
createNonEnumerableProperty(it, STATE, metadata);
|
||
return metadata;
|
||
};
|
||
get$1 = function (it) {
|
||
return has$1(it, STATE) ? it[STATE] : {};
|
||
};
|
||
has = function (it) {
|
||
return has$1(it, STATE);
|
||
};
|
||
}
|
||
|
||
var internalState = {
|
||
set: set$1,
|
||
get: get$1,
|
||
has: has,
|
||
enforce: enforce,
|
||
getterFor: getterFor
|
||
};
|
||
|
||
var redefine = createCommonjsModule(function (module) {
|
||
var getInternalState = internalState.get;
|
||
var enforceInternalState = internalState.enforce;
|
||
var TEMPLATE = String(String).split('String');
|
||
|
||
(module.exports = function (O, key, value, options) {
|
||
var unsafe = options ? !!options.unsafe : false;
|
||
var simple = options ? !!options.enumerable : false;
|
||
var noTargetGet = options ? !!options.noTargetGet : false;
|
||
var state;
|
||
if (typeof value == 'function') {
|
||
if (typeof key == 'string' && !has$1(value, 'name')) {
|
||
createNonEnumerableProperty(value, 'name', key);
|
||
}
|
||
state = enforceInternalState(value);
|
||
if (!state.source) {
|
||
state.source = TEMPLATE.join(typeof key == 'string' ? key : '');
|
||
}
|
||
}
|
||
if (O === global$1) {
|
||
if (simple) O[key] = value;
|
||
else setGlobal(key, value);
|
||
return;
|
||
} else if (!unsafe) {
|
||
delete O[key];
|
||
} else if (!noTargetGet && O[key]) {
|
||
simple = true;
|
||
}
|
||
if (simple) O[key] = value;
|
||
else createNonEnumerableProperty(O, key, value);
|
||
// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
|
||
})(Function.prototype, 'toString', function toString() {
|
||
return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
|
||
});
|
||
});
|
||
|
||
var path = global$1;
|
||
|
||
var aFunction$1 = function (variable) {
|
||
return typeof variable == 'function' ? variable : undefined;
|
||
};
|
||
|
||
var getBuiltIn = function (namespace, method) {
|
||
return arguments.length < 2 ? aFunction$1(path[namespace]) || aFunction$1(global$1[namespace])
|
||
: path[namespace] && path[namespace][method] || global$1[namespace] && global$1[namespace][method];
|
||
};
|
||
|
||
var ceil = Math.ceil;
|
||
var floor$1 = Math.floor;
|
||
|
||
// `ToInteger` abstract operation
|
||
// https://tc39.es/ecma262/#sec-tointeger
|
||
var toInteger = function (argument) {
|
||
return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor$1 : ceil)(argument);
|
||
};
|
||
|
||
var min$3 = Math.min;
|
||
|
||
// `ToLength` abstract operation
|
||
// https://tc39.es/ecma262/#sec-tolength
|
||
var toLength = function (argument) {
|
||
return argument > 0 ? min$3(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
|
||
};
|
||
|
||
var max$1 = Math.max;
|
||
var min$2 = Math.min;
|
||
|
||
// Helper for a popular repeating case of the spec:
|
||
// Let integer be ? ToInteger(index).
|
||
// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
|
||
var toAbsoluteIndex = function (index, length) {
|
||
var integer = toInteger(index);
|
||
return integer < 0 ? max$1(integer + length, 0) : min$2(integer, length);
|
||
};
|
||
|
||
// `Array.prototype.{ indexOf, includes }` methods implementation
|
||
var createMethod$3 = function (IS_INCLUDES) {
|
||
return function ($this, el, fromIndex) {
|
||
var O = toIndexedObject($this);
|
||
var length = toLength(O.length);
|
||
var index = toAbsoluteIndex(fromIndex, length);
|
||
var value;
|
||
// Array#includes uses SameValueZero equality algorithm
|
||
// eslint-disable-next-line no-self-compare -- NaN check
|
||
if (IS_INCLUDES && el != el) while (length > index) {
|
||
value = O[index++];
|
||
// eslint-disable-next-line no-self-compare -- NaN check
|
||
if (value != value) return true;
|
||
// Array#indexOf ignores holes, Array#includes - not
|
||
} else for (;length > index; index++) {
|
||
if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
|
||
} return !IS_INCLUDES && -1;
|
||
};
|
||
};
|
||
|
||
var arrayIncludes = {
|
||
// `Array.prototype.includes` method
|
||
// https://tc39.es/ecma262/#sec-array.prototype.includes
|
||
includes: createMethod$3(true),
|
||
// `Array.prototype.indexOf` method
|
||
// https://tc39.es/ecma262/#sec-array.prototype.indexof
|
||
indexOf: createMethod$3(false)
|
||
};
|
||
|
||
var indexOf = arrayIncludes.indexOf;
|
||
|
||
|
||
var objectKeysInternal = function (object, names) {
|
||
var O = toIndexedObject(object);
|
||
var i = 0;
|
||
var result = [];
|
||
var key;
|
||
for (key in O) !has$1(hiddenKeys$1, key) && has$1(O, key) && result.push(key);
|
||
// Don't enum bug & hidden keys
|
||
while (names.length > i) if (has$1(O, key = names[i++])) {
|
||
~indexOf(result, key) || result.push(key);
|
||
}
|
||
return result;
|
||
};
|
||
|
||
// IE8- don't enum bug keys
|
||
var enumBugKeys = [
|
||
'constructor',
|
||
'hasOwnProperty',
|
||
'isPrototypeOf',
|
||
'propertyIsEnumerable',
|
||
'toLocaleString',
|
||
'toString',
|
||
'valueOf'
|
||
];
|
||
|
||
var hiddenKeys = enumBugKeys.concat('length', 'prototype');
|
||
|
||
// `Object.getOwnPropertyNames` method
|
||
// https://tc39.es/ecma262/#sec-object.getownpropertynames
|
||
var f$2 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
|
||
return objectKeysInternal(O, hiddenKeys);
|
||
};
|
||
|
||
var objectGetOwnPropertyNames = {
|
||
f: f$2
|
||
};
|
||
|
||
var f$1 = Object.getOwnPropertySymbols;
|
||
|
||
var objectGetOwnPropertySymbols = {
|
||
f: f$1
|
||
};
|
||
|
||
// all object keys, includes non-enumerable and symbols
|
||
var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
|
||
var keys = objectGetOwnPropertyNames.f(anObject(it));
|
||
var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
|
||
return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
|
||
};
|
||
|
||
var copyConstructorProperties = function (target, source) {
|
||
var keys = ownKeys(source);
|
||
var defineProperty = objectDefineProperty.f;
|
||
var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
|
||
for (var i = 0; i < keys.length; i++) {
|
||
var key = keys[i];
|
||
if (!has$1(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
|
||
}
|
||
};
|
||
|
||
var replacement = /#|\.prototype\./;
|
||
|
||
var isForced = function (feature, detection) {
|
||
var value = data[normalize(feature)];
|
||
return value == POLYFILL ? true
|
||
: value == NATIVE ? false
|
||
: typeof detection == 'function' ? fails(detection)
|
||
: !!detection;
|
||
};
|
||
|
||
var normalize = isForced.normalize = function (string) {
|
||
return String(string).replace(replacement, '.').toLowerCase();
|
||
};
|
||
|
||
var data = isForced.data = {};
|
||
var NATIVE = isForced.NATIVE = 'N';
|
||
var POLYFILL = isForced.POLYFILL = 'P';
|
||
|
||
var isForced_1 = isForced;
|
||
|
||
var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
|
||
|
||
|
||
|
||
|
||
|
||
|
||
/*
|
||
options.target - name of the target object
|
||
options.global - target is the global object
|
||
options.stat - export as static methods of target
|
||
options.proto - export as prototype methods of target
|
||
options.real - real prototype method for the `pure` version
|
||
options.forced - export even if the native feature is available
|
||
options.bind - bind methods to the target, required for the `pure` version
|
||
options.wrap - wrap constructors to preventing global pollution, required for the `pure` version
|
||
options.unsafe - use the simple assignment of property instead of delete + defineProperty
|
||
options.sham - add a flag to not completely full polyfills
|
||
options.enumerable - export as enumerable property
|
||
options.noTargetGet - prevent calling a getter on target
|
||
*/
|
||
var _export = function (options, source) {
|
||
var TARGET = options.target;
|
||
var GLOBAL = options.global;
|
||
var STATIC = options.stat;
|
||
var FORCED, target, key, targetProperty, sourceProperty, descriptor;
|
||
if (GLOBAL) {
|
||
target = global$1;
|
||
} else if (STATIC) {
|
||
target = global$1[TARGET] || setGlobal(TARGET, {});
|
||
} else {
|
||
target = (global$1[TARGET] || {}).prototype;
|
||
}
|
||
if (target) for (key in source) {
|
||
sourceProperty = source[key];
|
||
if (options.noTargetGet) {
|
||
descriptor = getOwnPropertyDescriptor$1(target, key);
|
||
targetProperty = descriptor && descriptor.value;
|
||
} else targetProperty = target[key];
|
||
FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
|
||
// contained in target
|
||
if (!FORCED && targetProperty !== undefined) {
|
||
if (typeof sourceProperty === typeof targetProperty) continue;
|
||
copyConstructorProperties(sourceProperty, targetProperty);
|
||
}
|
||
// add a flag to not completely full polyfills
|
||
if (options.sham || (targetProperty && targetProperty.sham)) {
|
||
createNonEnumerableProperty(sourceProperty, 'sham', true);
|
||
}
|
||
// extend global
|
||
redefine(target, key, sourceProperty, options);
|
||
}
|
||
};
|
||
|
||
var nativePromiseConstructor = global$1.Promise;
|
||
|
||
var redefineAll = function (target, src, options) {
|
||
for (var key in src) redefine(target, key, src[key], options);
|
||
return target;
|
||
};
|
||
|
||
var engineIsNode = classofRaw(global$1.process) == 'process';
|
||
|
||
var engineUserAgent = getBuiltIn('navigator', 'userAgent') || '';
|
||
|
||
var process$4 = global$1.process;
|
||
var versions = process$4 && process$4.versions;
|
||
var v8 = versions && versions.v8;
|
||
var match, version;
|
||
|
||
if (v8) {
|
||
match = v8.split('.');
|
||
version = match[0] + match[1];
|
||
} else if (engineUserAgent) {
|
||
match = engineUserAgent.match(/Edge\/(\d+)/);
|
||
if (!match || match[1] >= 74) {
|
||
match = engineUserAgent.match(/Chrome\/(\d+)/);
|
||
if (match) version = match[1];
|
||
}
|
||
}
|
||
|
||
var engineV8Version = version && +version;
|
||
|
||
var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
|
||
/* global Symbol -- required for testing */
|
||
return !Symbol.sham &&
|
||
// Chrome 38 Symbol has incorrect toString conversion
|
||
// Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
|
||
(engineIsNode ? engineV8Version === 38 : engineV8Version > 37 && engineV8Version < 41);
|
||
});
|
||
|
||
var useSymbolAsUid = nativeSymbol
|
||
/* global Symbol -- safe */
|
||
&& !Symbol.sham
|
||
&& typeof Symbol.iterator == 'symbol';
|
||
|
||
var WellKnownSymbolsStore = shared('wks');
|
||
var Symbol$2 = global$1.Symbol;
|
||
var createWellKnownSymbol = useSymbolAsUid ? Symbol$2 : Symbol$2 && Symbol$2.withoutSetter || uid;
|
||
|
||
var wellKnownSymbol = function (name) {
|
||
if (!has$1(WellKnownSymbolsStore, name) || !(nativeSymbol || typeof WellKnownSymbolsStore[name] == 'string')) {
|
||
if (nativeSymbol && has$1(Symbol$2, name)) {
|
||
WellKnownSymbolsStore[name] = Symbol$2[name];
|
||
} else {
|
||
WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
|
||
}
|
||
} return WellKnownSymbolsStore[name];
|
||
};
|
||
|
||
var defineProperty$1 = objectDefineProperty.f;
|
||
|
||
|
||
|
||
var TO_STRING_TAG$2 = wellKnownSymbol('toStringTag');
|
||
|
||
var setToStringTag = function (it, TAG, STATIC) {
|
||
if (it && !has$1(it = STATIC ? it : it.prototype, TO_STRING_TAG$2)) {
|
||
defineProperty$1(it, TO_STRING_TAG$2, { configurable: true, value: TAG });
|
||
}
|
||
};
|
||
|
||
var SPECIES$5 = wellKnownSymbol('species');
|
||
|
||
var setSpecies = function (CONSTRUCTOR_NAME) {
|
||
var Constructor = getBuiltIn(CONSTRUCTOR_NAME);
|
||
var defineProperty = objectDefineProperty.f;
|
||
|
||
if (descriptors && Constructor && !Constructor[SPECIES$5]) {
|
||
defineProperty(Constructor, SPECIES$5, {
|
||
configurable: true,
|
||
get: function () { return this; }
|
||
});
|
||
}
|
||
};
|
||
|
||
var aFunction = function (it) {
|
||
if (typeof it != 'function') {
|
||
throw TypeError(String(it) + ' is not a function');
|
||
} return it;
|
||
};
|
||
|
||
var anInstance = function (it, Constructor, name) {
|
||
if (!(it instanceof Constructor)) {
|
||
throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');
|
||
} return it;
|
||
};
|
||
|
||
var iterators = {};
|
||
|
||
var ITERATOR$2 = wellKnownSymbol('iterator');
|
||
var ArrayPrototype = Array.prototype;
|
||
|
||
// check on default Array iterator
|
||
var isArrayIteratorMethod = function (it) {
|
||
return it !== undefined && (iterators.Array === it || ArrayPrototype[ITERATOR$2] === it);
|
||
};
|
||
|
||
// optional / simple context binding
|
||
var functionBindContext = function (fn, that, length) {
|
||
aFunction(fn);
|
||
if (that === undefined) return fn;
|
||
switch (length) {
|
||
case 0: return function () {
|
||
return fn.call(that);
|
||
};
|
||
case 1: return function (a) {
|
||
return fn.call(that, a);
|
||
};
|
||
case 2: return function (a, b) {
|
||
return fn.call(that, a, b);
|
||
};
|
||
case 3: return function (a, b, c) {
|
||
return fn.call(that, a, b, c);
|
||
};
|
||
}
|
||
return function (/* ...args */) {
|
||
return fn.apply(that, arguments);
|
||
};
|
||
};
|
||
|
||
var TO_STRING_TAG$1 = wellKnownSymbol('toStringTag');
|
||
var test = {};
|
||
|
||
test[TO_STRING_TAG$1] = 'z';
|
||
|
||
var toStringTagSupport = String(test) === '[object z]';
|
||
|
||
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
|
||
// ES3 wrong here
|
||
var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
|
||
|
||
// fallback for IE11 Script Access Denied error
|
||
var tryGet = function (it, key) {
|
||
try {
|
||
return it[key];
|
||
} catch (error) { /* empty */ }
|
||
};
|
||
|
||
// getting tag from ES6+ `Object.prototype.toString`
|
||
var classof = toStringTagSupport ? classofRaw : function (it) {
|
||
var O, tag, result;
|
||
return it === undefined ? 'Undefined' : it === null ? 'Null'
|
||
// @@toStringTag case
|
||
: typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag
|
||
// builtinTag case
|
||
: CORRECT_ARGUMENTS ? classofRaw(O)
|
||
// ES3 arguments fallback
|
||
: (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
|
||
};
|
||
|
||
var ITERATOR$1 = wellKnownSymbol('iterator');
|
||
|
||
var getIteratorMethod = function (it) {
|
||
if (it != undefined) return it[ITERATOR$1]
|
||
|| it['@@iterator']
|
||
|| iterators[classof(it)];
|
||
};
|
||
|
||
var iteratorClose = function (iterator) {
|
||
var returnMethod = iterator['return'];
|
||
if (returnMethod !== undefined) {
|
||
return anObject(returnMethod.call(iterator)).value;
|
||
}
|
||
};
|
||
|
||
var Result = function (stopped, result) {
|
||
this.stopped = stopped;
|
||
this.result = result;
|
||
};
|
||
|
||
var iterate = function (iterable, unboundFunction, options) {
|
||
var that = options && options.that;
|
||
var AS_ENTRIES = !!(options && options.AS_ENTRIES);
|
||
var IS_ITERATOR = !!(options && options.IS_ITERATOR);
|
||
var INTERRUPTED = !!(options && options.INTERRUPTED);
|
||
var fn = functionBindContext(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);
|
||
var iterator, iterFn, index, length, result, next, step;
|
||
|
||
var stop = function (condition) {
|
||
if (iterator) iteratorClose(iterator);
|
||
return new Result(true, condition);
|
||
};
|
||
|
||
var callFn = function (value) {
|
||
if (AS_ENTRIES) {
|
||
anObject(value);
|
||
return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);
|
||
} return INTERRUPTED ? fn(value, stop) : fn(value);
|
||
};
|
||
|
||
if (IS_ITERATOR) {
|
||
iterator = iterable;
|
||
} else {
|
||
iterFn = getIteratorMethod(iterable);
|
||
if (typeof iterFn != 'function') throw TypeError('Target is not iterable');
|
||
// optimisation for array iterators
|
||
if (isArrayIteratorMethod(iterFn)) {
|
||
for (index = 0, length = toLength(iterable.length); length > index; index++) {
|
||
result = callFn(iterable[index]);
|
||
if (result && result instanceof Result) return result;
|
||
} return new Result(false);
|
||
}
|
||
iterator = iterFn.call(iterable);
|
||
}
|
||
|
||
next = iterator.next;
|
||
while (!(step = next.call(iterator)).done) {
|
||
try {
|
||
result = callFn(step.value);
|
||
} catch (error) {
|
||
iteratorClose(iterator);
|
||
throw error;
|
||
}
|
||
if (typeof result == 'object' && result && result instanceof Result) return result;
|
||
} return new Result(false);
|
||
};
|
||
|
||
var ITERATOR = wellKnownSymbol('iterator');
|
||
var SAFE_CLOSING = false;
|
||
|
||
try {
|
||
var called = 0;
|
||
var iteratorWithReturn = {
|
||
next: function () {
|
||
return { done: !!called++ };
|
||
},
|
||
'return': function () {
|
||
SAFE_CLOSING = true;
|
||
}
|
||
};
|
||
iteratorWithReturn[ITERATOR] = function () {
|
||
return this;
|
||
};
|
||
// eslint-disable-next-line no-throw-literal -- required for testing
|
||
Array.from(iteratorWithReturn, function () { throw 2; });
|
||
} catch (error) { /* empty */ }
|
||
|
||
var checkCorrectnessOfIteration = function (exec, SKIP_CLOSING) {
|
||
if (!SKIP_CLOSING && !SAFE_CLOSING) return false;
|
||
var ITERATION_SUPPORT = false;
|
||
try {
|
||
var object = {};
|
||
object[ITERATOR] = function () {
|
||
return {
|
||
next: function () {
|
||
return { done: ITERATION_SUPPORT = true };
|
||
}
|
||
};
|
||
};
|
||
exec(object);
|
||
} catch (error) { /* empty */ }
|
||
return ITERATION_SUPPORT;
|
||
};
|
||
|
||
var SPECIES$4 = wellKnownSymbol('species');
|
||
|
||
// `SpeciesConstructor` abstract operation
|
||
// https://tc39.es/ecma262/#sec-speciesconstructor
|
||
var speciesConstructor = function (O, defaultConstructor) {
|
||
var C = anObject(O).constructor;
|
||
var S;
|
||
return C === undefined || (S = anObject(C)[SPECIES$4]) == undefined ? defaultConstructor : aFunction(S);
|
||
};
|
||
|
||
var html = getBuiltIn('document', 'documentElement');
|
||
|
||
var engineIsIos = /(iphone|ipod|ipad).*applewebkit/i.test(engineUserAgent);
|
||
|
||
var location = global$1.location;
|
||
var set = global$1.setImmediate;
|
||
var clear = global$1.clearImmediate;
|
||
var process$3 = global$1.process;
|
||
var MessageChannel = global$1.MessageChannel;
|
||
var Dispatch = global$1.Dispatch;
|
||
var counter = 0;
|
||
var queue = {};
|
||
var ONREADYSTATECHANGE = 'onreadystatechange';
|
||
var defer, channel, port;
|
||
|
||
var run = function (id) {
|
||
// eslint-disable-next-line no-prototype-builtins -- safe
|
||
if (queue.hasOwnProperty(id)) {
|
||
var fn = queue[id];
|
||
delete queue[id];
|
||
fn();
|
||
}
|
||
};
|
||
|
||
var runner = function (id) {
|
||
return function () {
|
||
run(id);
|
||
};
|
||
};
|
||
|
||
var listener = function (event) {
|
||
run(event.data);
|
||
};
|
||
|
||
var post = function (id) {
|
||
// old engines have not location.origin
|
||
global$1.postMessage(id + '', location.protocol + '//' + location.host);
|
||
};
|
||
|
||
// Node.js 0.9+ & IE10+ has setImmediate, otherwise:
|
||
if (!set || !clear) {
|
||
set = function setImmediate(fn) {
|
||
var args = [];
|
||
var i = 1;
|
||
while (arguments.length > i) args.push(arguments[i++]);
|
||
queue[++counter] = function () {
|
||
// eslint-disable-next-line no-new-func -- spec requirement
|
||
(typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);
|
||
};
|
||
defer(counter);
|
||
return counter;
|
||
};
|
||
clear = function clearImmediate(id) {
|
||
delete queue[id];
|
||
};
|
||
// Node.js 0.8-
|
||
if (engineIsNode) {
|
||
defer = function (id) {
|
||
process$3.nextTick(runner(id));
|
||
};
|
||
// Sphere (JS game engine) Dispatch API
|
||
} else if (Dispatch && Dispatch.now) {
|
||
defer = function (id) {
|
||
Dispatch.now(runner(id));
|
||
};
|
||
// Browsers with MessageChannel, includes WebWorkers
|
||
// except iOS - https://github.com/zloirock/core-js/issues/624
|
||
} else if (MessageChannel && !engineIsIos) {
|
||
channel = new MessageChannel();
|
||
port = channel.port2;
|
||
channel.port1.onmessage = listener;
|
||
defer = functionBindContext(port.postMessage, port, 1);
|
||
// Browsers with postMessage, skip WebWorkers
|
||
// IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
|
||
} else if (
|
||
global$1.addEventListener &&
|
||
typeof postMessage == 'function' &&
|
||
!global$1.importScripts &&
|
||
location && location.protocol !== 'file:' &&
|
||
!fails(post)
|
||
) {
|
||
defer = post;
|
||
global$1.addEventListener('message', listener, false);
|
||
// IE8-
|
||
} else if (ONREADYSTATECHANGE in documentCreateElement('script')) {
|
||
defer = function (id) {
|
||
html.appendChild(documentCreateElement('script'))[ONREADYSTATECHANGE] = function () {
|
||
html.removeChild(this);
|
||
run(id);
|
||
};
|
||
};
|
||
// Rest old browsers
|
||
} else {
|
||
defer = function (id) {
|
||
setTimeout(runner(id), 0);
|
||
};
|
||
}
|
||
}
|
||
|
||
var task$1 = {
|
||
set: set,
|
||
clear: clear
|
||
};
|
||
|
||
var engineIsWebosWebkit = /web0s(?!.*chrome)/i.test(engineUserAgent);
|
||
|
||
var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
|
||
var macrotask = task$1.set;
|
||
|
||
|
||
|
||
|
||
var MutationObserver = global$1.MutationObserver || global$1.WebKitMutationObserver;
|
||
var document$2 = global$1.document;
|
||
var process$2 = global$1.process;
|
||
var Promise$1 = global$1.Promise;
|
||
// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`
|
||
var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global$1, 'queueMicrotask');
|
||
var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;
|
||
|
||
var flush, head, last, notify$1, toggle, node, promise, then;
|
||
|
||
// modern engines have queueMicrotask method
|
||
if (!queueMicrotask) {
|
||
flush = function () {
|
||
var parent, fn;
|
||
if (engineIsNode && (parent = process$2.domain)) parent.exit();
|
||
while (head) {
|
||
fn = head.fn;
|
||
head = head.next;
|
||
try {
|
||
fn();
|
||
} catch (error) {
|
||
if (head) notify$1();
|
||
else last = undefined;
|
||
throw error;
|
||
}
|
||
} last = undefined;
|
||
if (parent) parent.enter();
|
||
};
|
||
|
||
// browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339
|
||
// also except WebOS Webkit https://github.com/zloirock/core-js/issues/898
|
||
if (!engineIsIos && !engineIsNode && !engineIsWebosWebkit && MutationObserver && document$2) {
|
||
toggle = true;
|
||
node = document$2.createTextNode('');
|
||
new MutationObserver(flush).observe(node, { characterData: true });
|
||
notify$1 = function () {
|
||
node.data = toggle = !toggle;
|
||
};
|
||
// environments with maybe non-completely correct, but existent Promise
|
||
} else if (Promise$1 && Promise$1.resolve) {
|
||
// Promise.resolve without an argument throws an error in LG WebOS 2
|
||
promise = Promise$1.resolve(undefined);
|
||
then = promise.then;
|
||
notify$1 = function () {
|
||
then.call(promise, flush);
|
||
};
|
||
// Node.js without promises
|
||
} else if (engineIsNode) {
|
||
notify$1 = function () {
|
||
process$2.nextTick(flush);
|
||
};
|
||
// for other environments - macrotask based on:
|
||
// - setImmediate
|
||
// - MessageChannel
|
||
// - window.postMessag
|
||
// - onreadystatechange
|
||
// - setTimeout
|
||
} else {
|
||
notify$1 = function () {
|
||
// strange IE + webpack dev server bug - use .call(global)
|
||
macrotask.call(global$1, flush);
|
||
};
|
||
}
|
||
}
|
||
|
||
var microtask = queueMicrotask || function (fn) {
|
||
var task = { fn: fn, next: undefined };
|
||
if (last) last.next = task;
|
||
if (!head) {
|
||
head = task;
|
||
notify$1();
|
||
} last = task;
|
||
};
|
||
|
||
var PromiseCapability = function (C) {
|
||
var resolve, reject;
|
||
this.promise = new C(function ($$resolve, $$reject) {
|
||
if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');
|
||
resolve = $$resolve;
|
||
reject = $$reject;
|
||
});
|
||
this.resolve = aFunction(resolve);
|
||
this.reject = aFunction(reject);
|
||
};
|
||
|
||
// 25.4.1.5 NewPromiseCapability(C)
|
||
var f = function (C) {
|
||
return new PromiseCapability(C);
|
||
};
|
||
|
||
var newPromiseCapability$1 = {
|
||
f: f
|
||
};
|
||
|
||
var promiseResolve = function (C, x) {
|
||
anObject(C);
|
||
if (isObject$1(x) && x.constructor === C) return x;
|
||
var promiseCapability = newPromiseCapability$1.f(C);
|
||
var resolve = promiseCapability.resolve;
|
||
resolve(x);
|
||
return promiseCapability.promise;
|
||
};
|
||
|
||
var hostReportErrors = function (a, b) {
|
||
var console = global$1.console;
|
||
if (console && console.error) {
|
||
arguments.length === 1 ? console.error(a) : console.error(a, b);
|
||
}
|
||
};
|
||
|
||
var perform = function (exec) {
|
||
try {
|
||
return { error: false, value: exec() };
|
||
} catch (error) {
|
||
return { error: true, value: error };
|
||
}
|
||
};
|
||
|
||
var task = task$1.set;
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
var SPECIES$3 = wellKnownSymbol('species');
|
||
var PROMISE = 'Promise';
|
||
var getInternalState = internalState.get;
|
||
var setInternalState = internalState.set;
|
||
var getInternalPromiseState = internalState.getterFor(PROMISE);
|
||
var PromiseConstructor = nativePromiseConstructor;
|
||
var TypeError$1 = global$1.TypeError;
|
||
var document$1 = global$1.document;
|
||
var process$1 = global$1.process;
|
||
var $fetch = getBuiltIn('fetch');
|
||
var newPromiseCapability = newPromiseCapability$1.f;
|
||
var newGenericPromiseCapability = newPromiseCapability;
|
||
var DISPATCH_EVENT = !!(document$1 && document$1.createEvent && global$1.dispatchEvent);
|
||
var NATIVE_REJECTION_EVENT = typeof PromiseRejectionEvent == 'function';
|
||
var UNHANDLED_REJECTION = 'unhandledrejection';
|
||
var REJECTION_HANDLED = 'rejectionhandled';
|
||
var PENDING = 0;
|
||
var FULFILLED = 1;
|
||
var REJECTED = 2;
|
||
var HANDLED = 1;
|
||
var UNHANDLED = 2;
|
||
var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;
|
||
|
||
var FORCED = isForced_1(PROMISE, function () {
|
||
var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);
|
||
if (!GLOBAL_CORE_JS_PROMISE) {
|
||
// V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables
|
||
// https://bugs.chromium.org/p/chromium/issues/detail?id=830565
|
||
// We can't detect it synchronously, so just check versions
|
||
if (engineV8Version === 66) return true;
|
||
// Unhandled rejections tracking support, NodeJS Promise without it fails @@species test
|
||
if (!engineIsNode && !NATIVE_REJECTION_EVENT) return true;
|
||
}
|
||
// We can't use @@species feature detection in V8 since it causes
|
||
// deoptimization and performance degradation
|
||
// https://github.com/zloirock/core-js/issues/679
|
||
if (engineV8Version >= 51 && /native code/.test(PromiseConstructor)) return false;
|
||
// Detect correctness of subclassing with @@species support
|
||
var promise = PromiseConstructor.resolve(1);
|
||
var FakePromise = function (exec) {
|
||
exec(function () { /* empty */ }, function () { /* empty */ });
|
||
};
|
||
var constructor = promise.constructor = {};
|
||
constructor[SPECIES$3] = FakePromise;
|
||
return !(promise.then(function () { /* empty */ }) instanceof FakePromise);
|
||
});
|
||
|
||
var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {
|
||
PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });
|
||
});
|
||
|
||
// helpers
|
||
var isThenable = function (it) {
|
||
var then;
|
||
return isObject$1(it) && typeof (then = it.then) == 'function' ? then : false;
|
||
};
|
||
|
||
var notify = function (state, isReject) {
|
||
if (state.notified) return;
|
||
state.notified = true;
|
||
var chain = state.reactions;
|
||
microtask(function () {
|
||
var value = state.value;
|
||
var ok = state.state == FULFILLED;
|
||
var index = 0;
|
||
// variable length - can't use forEach
|
||
while (chain.length > index) {
|
||
var reaction = chain[index++];
|
||
var handler = ok ? reaction.ok : reaction.fail;
|
||
var resolve = reaction.resolve;
|
||
var reject = reaction.reject;
|
||
var domain = reaction.domain;
|
||
var result, then, exited;
|
||
try {
|
||
if (handler) {
|
||
if (!ok) {
|
||
if (state.rejection === UNHANDLED) onHandleUnhandled(state);
|
||
state.rejection = HANDLED;
|
||
}
|
||
if (handler === true) result = value;
|
||
else {
|
||
if (domain) domain.enter();
|
||
result = handler(value); // can throw
|
||
if (domain) {
|
||
domain.exit();
|
||
exited = true;
|
||
}
|
||
}
|
||
if (result === reaction.promise) {
|
||
reject(TypeError$1('Promise-chain cycle'));
|
||
} else if (then = isThenable(result)) {
|
||
then.call(result, resolve, reject);
|
||
} else resolve(result);
|
||
} else reject(value);
|
||
} catch (error) {
|
||
if (domain && !exited) domain.exit();
|
||
reject(error);
|
||
}
|
||
}
|
||
state.reactions = [];
|
||
state.notified = false;
|
||
if (isReject && !state.rejection) onUnhandled(state);
|
||
});
|
||
};
|
||
|
||
var dispatchEvent = function (name, promise, reason) {
|
||
var event, handler;
|
||
if (DISPATCH_EVENT) {
|
||
event = document$1.createEvent('Event');
|
||
event.promise = promise;
|
||
event.reason = reason;
|
||
event.initEvent(name, false, true);
|
||
global$1.dispatchEvent(event);
|
||
} else event = { promise: promise, reason: reason };
|
||
if (!NATIVE_REJECTION_EVENT && (handler = global$1['on' + name])) handler(event);
|
||
else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);
|
||
};
|
||
|
||
var onUnhandled = function (state) {
|
||
task.call(global$1, function () {
|
||
var promise = state.facade;
|
||
var value = state.value;
|
||
var IS_UNHANDLED = isUnhandled(state);
|
||
var result;
|
||
if (IS_UNHANDLED) {
|
||
result = perform(function () {
|
||
if (engineIsNode) {
|
||
process$1.emit('unhandledRejection', value, promise);
|
||
} else dispatchEvent(UNHANDLED_REJECTION, promise, value);
|
||
});
|
||
// Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should
|
||
state.rejection = engineIsNode || isUnhandled(state) ? UNHANDLED : HANDLED;
|
||
if (result.error) throw result.value;
|
||
}
|
||
});
|
||
};
|
||
|
||
var isUnhandled = function (state) {
|
||
return state.rejection !== HANDLED && !state.parent;
|
||
};
|
||
|
||
var onHandleUnhandled = function (state) {
|
||
task.call(global$1, function () {
|
||
var promise = state.facade;
|
||
if (engineIsNode) {
|
||
process$1.emit('rejectionHandled', promise);
|
||
} else dispatchEvent(REJECTION_HANDLED, promise, state.value);
|
||
});
|
||
};
|
||
|
||
var bind = function (fn, state, unwrap) {
|
||
return function (value) {
|
||
fn(state, value, unwrap);
|
||
};
|
||
};
|
||
|
||
var internalReject = function (state, value, unwrap) {
|
||
if (state.done) return;
|
||
state.done = true;
|
||
if (unwrap) state = unwrap;
|
||
state.value = value;
|
||
state.state = REJECTED;
|
||
notify(state, true);
|
||
};
|
||
|
||
var internalResolve = function (state, value, unwrap) {
|
||
if (state.done) return;
|
||
state.done = true;
|
||
if (unwrap) state = unwrap;
|
||
try {
|
||
if (state.facade === value) throw TypeError$1("Promise can't be resolved itself");
|
||
var then = isThenable(value);
|
||
if (then) {
|
||
microtask(function () {
|
||
var wrapper = { done: false };
|
||
try {
|
||
then.call(value,
|
||
bind(internalResolve, wrapper, state),
|
||
bind(internalReject, wrapper, state)
|
||
);
|
||
} catch (error) {
|
||
internalReject(wrapper, error, state);
|
||
}
|
||
});
|
||
} else {
|
||
state.value = value;
|
||
state.state = FULFILLED;
|
||
notify(state, false);
|
||
}
|
||
} catch (error) {
|
||
internalReject({ done: false }, error, state);
|
||
}
|
||
};
|
||
|
||
// constructor polyfill
|
||
if (FORCED) {
|
||
// 25.4.3.1 Promise(executor)
|
||
PromiseConstructor = function Promise(executor) {
|
||
anInstance(this, PromiseConstructor, PROMISE);
|
||
aFunction(executor);
|
||
Internal.call(this);
|
||
var state = getInternalState(this);
|
||
try {
|
||
executor(bind(internalResolve, state), bind(internalReject, state));
|
||
} catch (error) {
|
||
internalReject(state, error);
|
||
}
|
||
};
|
||
// eslint-disable-next-line no-unused-vars -- required for `.length`
|
||
Internal = function Promise(executor) {
|
||
setInternalState(this, {
|
||
type: PROMISE,
|
||
done: false,
|
||
notified: false,
|
||
parent: false,
|
||
reactions: [],
|
||
rejection: false,
|
||
state: PENDING,
|
||
value: undefined
|
||
});
|
||
};
|
||
Internal.prototype = redefineAll(PromiseConstructor.prototype, {
|
||
// `Promise.prototype.then` method
|
||
// https://tc39.es/ecma262/#sec-promise.prototype.then
|
||
then: function then(onFulfilled, onRejected) {
|
||
var state = getInternalPromiseState(this);
|
||
var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));
|
||
reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
|
||
reaction.fail = typeof onRejected == 'function' && onRejected;
|
||
reaction.domain = engineIsNode ? process$1.domain : undefined;
|
||
state.parent = true;
|
||
state.reactions.push(reaction);
|
||
if (state.state != PENDING) notify(state, false);
|
||
return reaction.promise;
|
||
},
|
||
// `Promise.prototype.catch` method
|
||
// https://tc39.es/ecma262/#sec-promise.prototype.catch
|
||
'catch': function (onRejected) {
|
||
return this.then(undefined, onRejected);
|
||
}
|
||
});
|
||
OwnPromiseCapability = function () {
|
||
var promise = new Internal();
|
||
var state = getInternalState(promise);
|
||
this.promise = promise;
|
||
this.resolve = bind(internalResolve, state);
|
||
this.reject = bind(internalReject, state);
|
||
};
|
||
newPromiseCapability$1.f = newPromiseCapability = function (C) {
|
||
return C === PromiseConstructor || C === PromiseWrapper
|
||
? new OwnPromiseCapability(C)
|
||
: newGenericPromiseCapability(C);
|
||
};
|
||
|
||
if (typeof nativePromiseConstructor == 'function') {
|
||
nativeThen = nativePromiseConstructor.prototype.then;
|
||
|
||
// wrap native Promise#then for native async functions
|
||
redefine(nativePromiseConstructor.prototype, 'then', function then(onFulfilled, onRejected) {
|
||
var that = this;
|
||
return new PromiseConstructor(function (resolve, reject) {
|
||
nativeThen.call(that, resolve, reject);
|
||
}).then(onFulfilled, onRejected);
|
||
// https://github.com/zloirock/core-js/issues/640
|
||
}, { unsafe: true });
|
||
|
||
// wrap fetch result
|
||
if (typeof $fetch == 'function') _export({ global: true, enumerable: true, forced: true }, {
|
||
// eslint-disable-next-line no-unused-vars -- required for `.length`
|
||
fetch: function fetch(input /* , init */) {
|
||
return promiseResolve(PromiseConstructor, $fetch.apply(global$1, arguments));
|
||
}
|
||
});
|
||
}
|
||
}
|
||
|
||
_export({ global: true, wrap: true, forced: FORCED }, {
|
||
Promise: PromiseConstructor
|
||
});
|
||
|
||
setToStringTag(PromiseConstructor, PROMISE, false);
|
||
setSpecies(PROMISE);
|
||
|
||
PromiseWrapper = getBuiltIn(PROMISE);
|
||
|
||
// statics
|
||
_export({ target: PROMISE, stat: true, forced: FORCED }, {
|
||
// `Promise.reject` method
|
||
// https://tc39.es/ecma262/#sec-promise.reject
|
||
reject: function reject(r) {
|
||
var capability = newPromiseCapability(this);
|
||
capability.reject.call(undefined, r);
|
||
return capability.promise;
|
||
}
|
||
});
|
||
|
||
_export({ target: PROMISE, stat: true, forced: FORCED }, {
|
||
// `Promise.resolve` method
|
||
// https://tc39.es/ecma262/#sec-promise.resolve
|
||
resolve: function resolve(x) {
|
||
return promiseResolve(this, x);
|
||
}
|
||
});
|
||
|
||
_export({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {
|
||
// `Promise.all` method
|
||
// https://tc39.es/ecma262/#sec-promise.all
|
||
all: function all(iterable) {
|
||
var C = this;
|
||
var capability = newPromiseCapability(C);
|
||
var resolve = capability.resolve;
|
||
var reject = capability.reject;
|
||
var result = perform(function () {
|
||
var $promiseResolve = aFunction(C.resolve);
|
||
var values = [];
|
||
var counter = 0;
|
||
var remaining = 1;
|
||
iterate(iterable, function (promise) {
|
||
var index = counter++;
|
||
var alreadyCalled = false;
|
||
values.push(undefined);
|
||
remaining++;
|
||
$promiseResolve.call(C, promise).then(function (value) {
|
||
if (alreadyCalled) return;
|
||
alreadyCalled = true;
|
||
values[index] = value;
|
||
--remaining || resolve(values);
|
||
}, reject);
|
||
});
|
||
--remaining || resolve(values);
|
||
});
|
||
if (result.error) reject(result.value);
|
||
return capability.promise;
|
||
},
|
||
// `Promise.race` method
|
||
// https://tc39.es/ecma262/#sec-promise.race
|
||
race: function race(iterable) {
|
||
var C = this;
|
||
var capability = newPromiseCapability(C);
|
||
var reject = capability.reject;
|
||
var result = perform(function () {
|
||
var $promiseResolve = aFunction(C.resolve);
|
||
iterate(iterable, function (promise) {
|
||
$promiseResolve.call(C, promise).then(capability.resolve, reject);
|
||
});
|
||
});
|
||
if (result.error) reject(result.value);
|
||
return capability.promise;
|
||
}
|
||
});
|
||
|
||
// `Object.prototype.toString` method implementation
|
||
// https://tc39.es/ecma262/#sec-object.prototype.tostring
|
||
var objectToString$1 = toStringTagSupport ? {}.toString : function toString() {
|
||
return '[object ' + classof(this) + ']';
|
||
};
|
||
|
||
// `Object.prototype.toString` method
|
||
// https://tc39.es/ecma262/#sec-object.prototype.tostring
|
||
if (!toStringTagSupport) {
|
||
redefine(Object.prototype, 'toString', objectToString$1, { unsafe: true });
|
||
}
|
||
|
||
var FilePickerType;
|
||
|
||
(function (FilePickerType) {
|
||
FilePickerType[FilePickerType["Choose"] = 1] = "Choose";
|
||
FilePickerType[FilePickerType["Move"] = 2] = "Move";
|
||
FilePickerType[FilePickerType["Copy"] = 3] = "Copy";
|
||
FilePickerType[FilePickerType["CopyMove"] = 4] = "CopyMove";
|
||
})(FilePickerType || (FilePickerType = {}));
|
||
|
||
var FilePicker =
|
||
/** @class */
|
||
function () {
|
||
function FilePicker(title, multiSelect, mimeTypeFilter, modal, type, directoriesAllowed, path) {
|
||
this.title = title;
|
||
this.multiSelect = multiSelect;
|
||
this.mimeTypeFiler = mimeTypeFilter;
|
||
this.modal = modal;
|
||
this.type = type;
|
||
this.directoriesAllowed = directoriesAllowed;
|
||
this.path = path;
|
||
}
|
||
|
||
FilePicker.prototype.pick = function () {
|
||
var _this = this;
|
||
|
||
return new Promise(function (res, rej) {
|
||
OC.dialogs.filepicker(_this.title, res, _this.multiSelect, _this.mimeTypeFiler, _this.modal, _this.type, _this.path, {
|
||
allowDirectoryChooser: _this.directoriesAllowed
|
||
});
|
||
});
|
||
};
|
||
|
||
return FilePicker;
|
||
}();
|
||
|
||
var FilePickerBuilder =
|
||
/** @class */
|
||
function () {
|
||
function FilePickerBuilder(title) {
|
||
this.multiSelect = false;
|
||
this.mimeTypeFiler = [];
|
||
this.modal = true;
|
||
this.type = FilePickerType.Choose;
|
||
this.directoriesAllowed = false;
|
||
this.title = title;
|
||
}
|
||
|
||
FilePickerBuilder.prototype.setMultiSelect = function (ms) {
|
||
this.multiSelect = ms;
|
||
return this;
|
||
};
|
||
|
||
FilePickerBuilder.prototype.addMimeTypeFilter = function (filter) {
|
||
this.mimeTypeFiler.push(filter);
|
||
return this;
|
||
};
|
||
|
||
FilePickerBuilder.prototype.setMimeTypeFilter = function (filter) {
|
||
this.mimeTypeFiler = filter;
|
||
return this;
|
||
};
|
||
|
||
FilePickerBuilder.prototype.setModal = function (modal) {
|
||
this.modal = modal;
|
||
return this;
|
||
};
|
||
|
||
FilePickerBuilder.prototype.setType = function (type) {
|
||
this.type = type;
|
||
return this;
|
||
};
|
||
|
||
FilePickerBuilder.prototype.allowDirectories = function (allow) {
|
||
if (allow === void 0) {
|
||
allow = true;
|
||
}
|
||
|
||
this.directoriesAllowed = allow;
|
||
return this;
|
||
};
|
||
|
||
FilePickerBuilder.prototype.startAt = function (path) {
|
||
this.path = path;
|
||
return this;
|
||
};
|
||
|
||
FilePickerBuilder.prototype.build = function () {
|
||
return new FilePicker(this.title, this.multiSelect, this.mimeTypeFiler, this.modal, this.type, this.directoriesAllowed, this.path);
|
||
};
|
||
|
||
return FilePickerBuilder;
|
||
}();
|
||
function getFilePickerBuilder(title) {
|
||
return new FilePickerBuilder(title);
|
||
}
|
||
|
||
// `Object.keys` method
|
||
// https://tc39.es/ecma262/#sec-object.keys
|
||
var objectKeys = Object.keys || function keys(O) {
|
||
return objectKeysInternal(O, enumBugKeys);
|
||
};
|
||
|
||
// `ToObject` abstract operation
|
||
// https://tc39.es/ecma262/#sec-toobject
|
||
var toObject = function (argument) {
|
||
return Object(requireObjectCoercible(argument));
|
||
};
|
||
|
||
var nativeAssign = Object.assign;
|
||
var defineProperty = Object.defineProperty;
|
||
|
||
// `Object.assign` method
|
||
// https://tc39.es/ecma262/#sec-object.assign
|
||
var objectAssign = !nativeAssign || fails(function () {
|
||
// should have correct order of operations (Edge bug)
|
||
if (descriptors && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {
|
||
enumerable: true,
|
||
get: function () {
|
||
defineProperty(this, 'b', {
|
||
value: 3,
|
||
enumerable: false
|
||
});
|
||
}
|
||
}), { b: 2 })).b !== 1) return true;
|
||
// should work with symbols and should have deterministic property order (V8 bug)
|
||
var A = {};
|
||
var B = {};
|
||
/* global Symbol -- required for testing */
|
||
var symbol = Symbol();
|
||
var alphabet = 'abcdefghijklmnopqrst';
|
||
A[symbol] = 7;
|
||
alphabet.split('').forEach(function (chr) { B[chr] = chr; });
|
||
return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;
|
||
}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`
|
||
var T = toObject(target);
|
||
var argumentsLength = arguments.length;
|
||
var index = 1;
|
||
var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
|
||
var propertyIsEnumerable = objectPropertyIsEnumerable.f;
|
||
while (argumentsLength > index) {
|
||
var S = indexedObject(arguments[index++]);
|
||
var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);
|
||
var length = keys.length;
|
||
var j = 0;
|
||
var key;
|
||
while (length > j) {
|
||
key = keys[j++];
|
||
if (!descriptors || propertyIsEnumerable.call(S, key)) T[key] = S[key];
|
||
}
|
||
} return T;
|
||
} : nativeAssign;
|
||
|
||
// `Object.assign` method
|
||
// https://tc39.es/ecma262/#sec-object.assign
|
||
_export({ target: 'Object', stat: true, forced: Object.assign !== objectAssign }, {
|
||
assign: objectAssign
|
||
});
|
||
|
||
var __assign = function() {
|
||
__assign = Object.assign || function __assign(t) {
|
||
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
||
s = arguments[i];
|
||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
||
}
|
||
return t;
|
||
};
|
||
return __assign.apply(this, arguments);
|
||
};
|
||
|
||
function _typeof(obj) {
|
||
"@babel/helpers - typeof";
|
||
|
||
if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
|
||
_typeof = function (obj) {
|
||
return typeof obj;
|
||
};
|
||
} else {
|
||
_typeof = function (obj) {
|
||
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
|
||
};
|
||
}
|
||
|
||
return _typeof(obj);
|
||
}
|
||
|
||
// `RegExp.prototype.flags` getter implementation
|
||
// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
|
||
var regexpFlags = function () {
|
||
var that = anObject(this);
|
||
var result = '';
|
||
if (that.global) result += 'g';
|
||
if (that.ignoreCase) result += 'i';
|
||
if (that.multiline) result += 'm';
|
||
if (that.dotAll) result += 's';
|
||
if (that.unicode) result += 'u';
|
||
if (that.sticky) result += 'y';
|
||
return result;
|
||
};
|
||
|
||
// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,
|
||
// so we use an intermediate function.
|
||
function RE(s, f) {
|
||
return RegExp(s, f);
|
||
}
|
||
|
||
var UNSUPPORTED_Y$1 = fails(function () {
|
||
// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
|
||
var re = RE('a', 'y');
|
||
re.lastIndex = 2;
|
||
return re.exec('abcd') != null;
|
||
});
|
||
|
||
var BROKEN_CARET = fails(function () {
|
||
// https://bugzilla.mozilla.org/show_bug.cgi?id=773687
|
||
var re = RE('^r', 'gy');
|
||
re.lastIndex = 2;
|
||
return re.exec('str') != null;
|
||
});
|
||
|
||
var regexpStickyHelpers = {
|
||
UNSUPPORTED_Y: UNSUPPORTED_Y$1,
|
||
BROKEN_CARET: BROKEN_CARET
|
||
};
|
||
|
||
var nativeExec = RegExp.prototype.exec;
|
||
// This always refers to the native implementation, because the
|
||
// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
|
||
// which loads this file before patching the method.
|
||
var nativeReplace = String.prototype.replace;
|
||
|
||
var patchedExec = nativeExec;
|
||
|
||
var UPDATES_LAST_INDEX_WRONG = (function () {
|
||
var re1 = /a/;
|
||
var re2 = /b*/g;
|
||
nativeExec.call(re1, 'a');
|
||
nativeExec.call(re2, 'a');
|
||
return re1.lastIndex !== 0 || re2.lastIndex !== 0;
|
||
})();
|
||
|
||
var UNSUPPORTED_Y = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET;
|
||
|
||
// nonparticipating capturing group, copied from es5-shim's String#split patch.
|
||
// eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing
|
||
var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
|
||
|
||
var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;
|
||
|
||
if (PATCH) {
|
||
patchedExec = function exec(str) {
|
||
var re = this;
|
||
var lastIndex, reCopy, match, i;
|
||
var sticky = UNSUPPORTED_Y && re.sticky;
|
||
var flags = regexpFlags.call(re);
|
||
var source = re.source;
|
||
var charsAdded = 0;
|
||
var strCopy = str;
|
||
|
||
if (sticky) {
|
||
flags = flags.replace('y', '');
|
||
if (flags.indexOf('g') === -1) {
|
||
flags += 'g';
|
||
}
|
||
|
||
strCopy = String(str).slice(re.lastIndex);
|
||
// Support anchored sticky behavior.
|
||
if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) {
|
||
source = '(?: ' + source + ')';
|
||
strCopy = ' ' + strCopy;
|
||
charsAdded++;
|
||
}
|
||
// ^(? + rx + ) is needed, in combination with some str slicing, to
|
||
// simulate the 'y' flag.
|
||
reCopy = new RegExp('^(?:' + source + ')', flags);
|
||
}
|
||
|
||
if (NPCG_INCLUDED) {
|
||
reCopy = new RegExp('^' + source + '$(?!\\s)', flags);
|
||
}
|
||
if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
|
||
|
||
match = nativeExec.call(sticky ? reCopy : re, strCopy);
|
||
|
||
if (sticky) {
|
||
if (match) {
|
||
match.input = match.input.slice(charsAdded);
|
||
match[0] = match[0].slice(charsAdded);
|
||
match.index = re.lastIndex;
|
||
re.lastIndex += match[0].length;
|
||
} else re.lastIndex = 0;
|
||
} else if (UPDATES_LAST_INDEX_WRONG && match) {
|
||
re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
|
||
}
|
||
if (NPCG_INCLUDED && match && match.length > 1) {
|
||
// Fix browsers whose `exec` methods don't consistently return `undefined`
|
||
// for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
|
||
nativeReplace.call(match[0], reCopy, function () {
|
||
for (i = 1; i < arguments.length - 2; i++) {
|
||
if (arguments[i] === undefined) match[i] = undefined;
|
||
}
|
||
});
|
||
}
|
||
|
||
return match;
|
||
};
|
||
}
|
||
|
||
var regexpExec = patchedExec;
|
||
|
||
// `RegExp.prototype.exec` method
|
||
// https://tc39.es/ecma262/#sec-regexp.prototype.exec
|
||
_export({ target: 'RegExp', proto: true, forced: /./.exec !== regexpExec }, {
|
||
exec: regexpExec
|
||
});
|
||
|
||
// TODO: Remove from `core-js@4` since it's moved to entry points
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
var SPECIES$2 = wellKnownSymbol('species');
|
||
|
||
var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
|
||
// #replace needs built-in support for named groups.
|
||
// #match works fine because it just return the exec results, even if it has
|
||
// a "grops" property.
|
||
var re = /./;
|
||
re.exec = function () {
|
||
var result = [];
|
||
result.groups = { a: '7' };
|
||
return result;
|
||
};
|
||
return ''.replace(re, '$<a>') !== '7';
|
||
});
|
||
|
||
// IE <= 11 replaces $0 with the whole match, as if it was $&
|
||
// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
|
||
var REPLACE_KEEPS_$0 = (function () {
|
||
return 'a'.replace(/./, '$0') === '$0';
|
||
})();
|
||
|
||
var REPLACE = wellKnownSymbol('replace');
|
||
// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string
|
||
var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {
|
||
if (/./[REPLACE]) {
|
||
return /./[REPLACE]('a', '$0') === '';
|
||
}
|
||
return false;
|
||
})();
|
||
|
||
// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
|
||
// Weex JS has frozen built-in prototypes, so use try / catch wrapper
|
||
var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
|
||
// eslint-disable-next-line regexp/no-empty-group -- required for testing
|
||
var re = /(?:)/;
|
||
var originalExec = re.exec;
|
||
re.exec = function () { return originalExec.apply(this, arguments); };
|
||
var result = 'ab'.split(re);
|
||
return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
|
||
});
|
||
|
||
var fixRegexpWellKnownSymbolLogic = function (KEY, length, exec, sham) {
|
||
var SYMBOL = wellKnownSymbol(KEY);
|
||
|
||
var DELEGATES_TO_SYMBOL = !fails(function () {
|
||
// String methods call symbol-named RegEp methods
|
||
var O = {};
|
||
O[SYMBOL] = function () { return 7; };
|
||
return ''[KEY](O) != 7;
|
||
});
|
||
|
||
var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {
|
||
// Symbol-named RegExp methods call .exec
|
||
var execCalled = false;
|
||
var re = /a/;
|
||
|
||
if (KEY === 'split') {
|
||
// We can't use real regex here since it causes deoptimization
|
||
// and serious performance degradation in V8
|
||
// https://github.com/zloirock/core-js/issues/306
|
||
re = {};
|
||
// RegExp[@@split] doesn't call the regex's exec method, but first creates
|
||
// a new one. We need to return the patched regex when creating the new one.
|
||
re.constructor = {};
|
||
re.constructor[SPECIES$2] = function () { return re; };
|
||
re.flags = '';
|
||
re[SYMBOL] = /./[SYMBOL];
|
||
}
|
||
|
||
re.exec = function () { execCalled = true; return null; };
|
||
|
||
re[SYMBOL]('');
|
||
return !execCalled;
|
||
});
|
||
|
||
if (
|
||
!DELEGATES_TO_SYMBOL ||
|
||
!DELEGATES_TO_EXEC ||
|
||
(KEY === 'replace' && !(
|
||
REPLACE_SUPPORTS_NAMED_GROUPS &&
|
||
REPLACE_KEEPS_$0 &&
|
||
!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE
|
||
)) ||
|
||
(KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
|
||
) {
|
||
var nativeRegExpMethod = /./[SYMBOL];
|
||
var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
|
||
if (regexp.exec === regexpExec) {
|
||
if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
|
||
// The native String method already delegates to @@method (this
|
||
// polyfilled function), leasing to infinite recursion.
|
||
// We avoid it by directly calling the native @@method method.
|
||
return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
|
||
}
|
||
return { done: true, value: nativeMethod.call(str, regexp, arg2) };
|
||
}
|
||
return { done: false };
|
||
}, {
|
||
REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,
|
||
REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE
|
||
});
|
||
var stringMethod = methods[0];
|
||
var regexMethod = methods[1];
|
||
|
||
redefine(String.prototype, KEY, stringMethod);
|
||
redefine(RegExp.prototype, SYMBOL, length == 2
|
||
// 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
|
||
// 21.2.5.11 RegExp.prototype[@@split](string, limit)
|
||
? function (string, arg) { return regexMethod.call(string, this, arg); }
|
||
// 21.2.5.6 RegExp.prototype[@@match](string)
|
||
// 21.2.5.9 RegExp.prototype[@@search](string)
|
||
: function (string) { return regexMethod.call(string, this); }
|
||
);
|
||
}
|
||
|
||
if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);
|
||
};
|
||
|
||
// `String.prototype.{ codePointAt, at }` methods implementation
|
||
var createMethod$2 = function (CONVERT_TO_STRING) {
|
||
return function ($this, pos) {
|
||
var S = String(requireObjectCoercible($this));
|
||
var position = toInteger(pos);
|
||
var size = S.length;
|
||
var first, second;
|
||
if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
|
||
first = S.charCodeAt(position);
|
||
return first < 0xD800 || first > 0xDBFF || position + 1 === size
|
||
|| (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
|
||
? CONVERT_TO_STRING ? S.charAt(position) : first
|
||
: CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
|
||
};
|
||
};
|
||
|
||
var stringMultibyte = {
|
||
// `String.prototype.codePointAt` method
|
||
// https://tc39.es/ecma262/#sec-string.prototype.codepointat
|
||
codeAt: createMethod$2(false),
|
||
// `String.prototype.at` method
|
||
// https://github.com/mathiasbynens/String.prototype.at
|
||
charAt: createMethod$2(true)
|
||
};
|
||
|
||
var charAt = stringMultibyte.charAt;
|
||
|
||
// `AdvanceStringIndex` abstract operation
|
||
// https://tc39.es/ecma262/#sec-advancestringindex
|
||
var advanceStringIndex = function (S, index, unicode) {
|
||
return index + (unicode ? charAt(S, index).length : 1);
|
||
};
|
||
|
||
var floor = Math.floor;
|
||
var replace = ''.replace;
|
||
var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d{1,2}|<[^>]*>)/g;
|
||
var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d{1,2})/g;
|
||
|
||
// https://tc39.es/ecma262/#sec-getsubstitution
|
||
var getSubstitution = function (matched, str, position, captures, namedCaptures, replacement) {
|
||
var tailPos = position + matched.length;
|
||
var m = captures.length;
|
||
var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
|
||
if (namedCaptures !== undefined) {
|
||
namedCaptures = toObject(namedCaptures);
|
||
symbols = SUBSTITUTION_SYMBOLS;
|
||
}
|
||
return replace.call(replacement, symbols, function (match, ch) {
|
||
var capture;
|
||
switch (ch.charAt(0)) {
|
||
case '$': return '$';
|
||
case '&': return matched;
|
||
case '`': return str.slice(0, position);
|
||
case "'": return str.slice(tailPos);
|
||
case '<':
|
||
capture = namedCaptures[ch.slice(1, -1)];
|
||
break;
|
||
default: // \d\d?
|
||
var n = +ch;
|
||
if (n === 0) return match;
|
||
if (n > m) {
|
||
var f = floor(n / 10);
|
||
if (f === 0) return match;
|
||
if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
|
||
return match;
|
||
}
|
||
capture = captures[n - 1];
|
||
}
|
||
return capture === undefined ? '' : capture;
|
||
});
|
||
};
|
||
|
||
// `RegExpExec` abstract operation
|
||
// https://tc39.es/ecma262/#sec-regexpexec
|
||
var regexpExecAbstract = function (R, S) {
|
||
var exec = R.exec;
|
||
if (typeof exec === 'function') {
|
||
var result = exec.call(R, S);
|
||
if (typeof result !== 'object') {
|
||
throw TypeError('RegExp exec method returned something other than an Object or null');
|
||
}
|
||
return result;
|
||
}
|
||
|
||
if (classofRaw(R) !== 'RegExp') {
|
||
throw TypeError('RegExp#exec called on incompatible receiver');
|
||
}
|
||
|
||
return regexpExec.call(R, S);
|
||
};
|
||
|
||
var max = Math.max;
|
||
var min$1 = Math.min;
|
||
|
||
var maybeToString = function (it) {
|
||
return it === undefined ? it : String(it);
|
||
};
|
||
|
||
// @@replace logic
|
||
fixRegexpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {
|
||
var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;
|
||
var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;
|
||
var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';
|
||
|
||
return [
|
||
// `String.prototype.replace` method
|
||
// https://tc39.es/ecma262/#sec-string.prototype.replace
|
||
function replace(searchValue, replaceValue) {
|
||
var O = requireObjectCoercible(this);
|
||
var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];
|
||
return replacer !== undefined
|
||
? replacer.call(searchValue, O, replaceValue)
|
||
: nativeReplace.call(String(O), searchValue, replaceValue);
|
||
},
|
||
// `RegExp.prototype[@@replace]` method
|
||
// https://tc39.es/ecma262/#sec-regexp.prototype-@@replace
|
||
function (regexp, replaceValue) {
|
||
if (
|
||
(!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||
|
||
(typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)
|
||
) {
|
||
var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);
|
||
if (res.done) return res.value;
|
||
}
|
||
|
||
var rx = anObject(regexp);
|
||
var S = String(this);
|
||
|
||
var functionalReplace = typeof replaceValue === 'function';
|
||
if (!functionalReplace) replaceValue = String(replaceValue);
|
||
|
||
var global = rx.global;
|
||
if (global) {
|
||
var fullUnicode = rx.unicode;
|
||
rx.lastIndex = 0;
|
||
}
|
||
var results = [];
|
||
while (true) {
|
||
var result = regexpExecAbstract(rx, S);
|
||
if (result === null) break;
|
||
|
||
results.push(result);
|
||
if (!global) break;
|
||
|
||
var matchStr = String(result[0]);
|
||
if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
|
||
}
|
||
|
||
var accumulatedResult = '';
|
||
var nextSourcePosition = 0;
|
||
for (var i = 0; i < results.length; i++) {
|
||
result = results[i];
|
||
|
||
var matched = String(result[0]);
|
||
var position = max(min$1(toInteger(result.index), S.length), 0);
|
||
var captures = [];
|
||
// NOTE: This is equivalent to
|
||
// captures = result.slice(1).map(maybeToString)
|
||
// but for some reason `nativeSlice.call(result, 1, result.length)` (called in
|
||
// the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
|
||
// causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
|
||
for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));
|
||
var namedCaptures = result.groups;
|
||
if (functionalReplace) {
|
||
var replacerArgs = [matched].concat(captures, position, S);
|
||
if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
|
||
var replacement = String(replaceValue.apply(undefined, replacerArgs));
|
||
} else {
|
||
replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
|
||
}
|
||
if (position >= nextSourcePosition) {
|
||
accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
|
||
nextSourcePosition = position + matched.length;
|
||
}
|
||
}
|
||
return accumulatedResult + S.slice(nextSourcePosition);
|
||
}
|
||
];
|
||
});
|
||
|
||
var MATCH = wellKnownSymbol('match');
|
||
|
||
// `IsRegExp` abstract operation
|
||
// https://tc39.es/ecma262/#sec-isregexp
|
||
var isRegexp = function (it) {
|
||
var isRegExp;
|
||
return isObject$1(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classofRaw(it) == 'RegExp');
|
||
};
|
||
|
||
var arrayPush = [].push;
|
||
var min = Math.min;
|
||
var MAX_UINT32 = 0xFFFFFFFF;
|
||
|
||
// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError
|
||
var SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });
|
||
|
||
// @@split logic
|
||
fixRegexpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {
|
||
var internalSplit;
|
||
if (
|
||
'abbc'.split(/(b)*/)[1] == 'c' ||
|
||
// eslint-disable-next-line regexp/no-empty-group -- required for testing
|
||
'test'.split(/(?:)/, -1).length != 4 ||
|
||
'ab'.split(/(?:ab)*/).length != 2 ||
|
||
'.'.split(/(.?)(.?)/).length != 4 ||
|
||
// eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing
|
||
'.'.split(/()()/).length > 1 ||
|
||
''.split(/.?/).length
|
||
) {
|
||
// based on es5-shim implementation, need to rework it
|
||
internalSplit = function (separator, limit) {
|
||
var string = String(requireObjectCoercible(this));
|
||
var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
|
||
if (lim === 0) return [];
|
||
if (separator === undefined) return [string];
|
||
// If `separator` is not a regex, use native split
|
||
if (!isRegexp(separator)) {
|
||
return nativeSplit.call(string, separator, lim);
|
||
}
|
||
var output = [];
|
||
var flags = (separator.ignoreCase ? 'i' : '') +
|
||
(separator.multiline ? 'm' : '') +
|
||
(separator.unicode ? 'u' : '') +
|
||
(separator.sticky ? 'y' : '');
|
||
var lastLastIndex = 0;
|
||
// Make `global` and avoid `lastIndex` issues by working with a copy
|
||
var separatorCopy = new RegExp(separator.source, flags + 'g');
|
||
var match, lastIndex, lastLength;
|
||
while (match = regexpExec.call(separatorCopy, string)) {
|
||
lastIndex = separatorCopy.lastIndex;
|
||
if (lastIndex > lastLastIndex) {
|
||
output.push(string.slice(lastLastIndex, match.index));
|
||
if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));
|
||
lastLength = match[0].length;
|
||
lastLastIndex = lastIndex;
|
||
if (output.length >= lim) break;
|
||
}
|
||
if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop
|
||
}
|
||
if (lastLastIndex === string.length) {
|
||
if (lastLength || !separatorCopy.test('')) output.push('');
|
||
} else output.push(string.slice(lastLastIndex));
|
||
return output.length > lim ? output.slice(0, lim) : output;
|
||
};
|
||
// Chakra, V8
|
||
} else if ('0'.split(undefined, 0).length) {
|
||
internalSplit = function (separator, limit) {
|
||
return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);
|
||
};
|
||
} else internalSplit = nativeSplit;
|
||
|
||
return [
|
||
// `String.prototype.split` method
|
||
// https://tc39.es/ecma262/#sec-string.prototype.split
|
||
function split(separator, limit) {
|
||
var O = requireObjectCoercible(this);
|
||
var splitter = separator == undefined ? undefined : separator[SPLIT];
|
||
return splitter !== undefined
|
||
? splitter.call(separator, O, limit)
|
||
: internalSplit.call(String(O), separator, limit);
|
||
},
|
||
// `RegExp.prototype[@@split]` method
|
||
// https://tc39.es/ecma262/#sec-regexp.prototype-@@split
|
||
//
|
||
// NOTE: This cannot be properly polyfilled in engines that don't support
|
||
// the 'y' flag.
|
||
function (regexp, limit) {
|
||
var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);
|
||
if (res.done) return res.value;
|
||
|
||
var rx = anObject(regexp);
|
||
var S = String(this);
|
||
var C = speciesConstructor(rx, RegExp);
|
||
|
||
var unicodeMatching = rx.unicode;
|
||
var flags = (rx.ignoreCase ? 'i' : '') +
|
||
(rx.multiline ? 'm' : '') +
|
||
(rx.unicode ? 'u' : '') +
|
||
(SUPPORTS_Y ? 'y' : 'g');
|
||
|
||
// ^(? + rx + ) is needed, in combination with some S slicing, to
|
||
// simulate the 'y' flag.
|
||
var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);
|
||
var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
|
||
if (lim === 0) return [];
|
||
if (S.length === 0) return regexpExecAbstract(splitter, S) === null ? [S] : [];
|
||
var p = 0;
|
||
var q = 0;
|
||
var A = [];
|
||
while (q < S.length) {
|
||
splitter.lastIndex = SUPPORTS_Y ? q : 0;
|
||
var z = regexpExecAbstract(splitter, SUPPORTS_Y ? S : S.slice(q));
|
||
var e;
|
||
if (
|
||
z === null ||
|
||
(e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p
|
||
) {
|
||
q = advanceStringIndex(S, q, unicodeMatching);
|
||
} else {
|
||
A.push(S.slice(p, q));
|
||
if (A.length === lim) return A;
|
||
for (var i = 1; i <= z.length - 1; i++) {
|
||
A.push(z[i]);
|
||
if (A.length === lim) return A;
|
||
}
|
||
q = p = e;
|
||
}
|
||
}
|
||
A.push(S.slice(p));
|
||
return A;
|
||
}
|
||
];
|
||
}, !SUPPORTS_Y);
|
||
|
||
// a string of all valid unicode whitespaces
|
||
var whitespaces = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' +
|
||
'\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
|
||
|
||
var whitespace = '[' + whitespaces + ']';
|
||
var ltrim = RegExp('^' + whitespace + whitespace + '*');
|
||
var rtrim = RegExp(whitespace + whitespace + '*$');
|
||
|
||
// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
|
||
var createMethod$1 = function (TYPE) {
|
||
return function ($this) {
|
||
var string = String(requireObjectCoercible($this));
|
||
if (TYPE & 1) string = string.replace(ltrim, '');
|
||
if (TYPE & 2) string = string.replace(rtrim, '');
|
||
return string;
|
||
};
|
||
};
|
||
|
||
var stringTrim = {
|
||
// `String.prototype.{ trimLeft, trimStart }` methods
|
||
// https://tc39.es/ecma262/#sec-string.prototype.trimstart
|
||
start: createMethod$1(1),
|
||
// `String.prototype.{ trimRight, trimEnd }` methods
|
||
// https://tc39.es/ecma262/#sec-string.prototype.trimend
|
||
end: createMethod$1(2),
|
||
// `String.prototype.trim` method
|
||
// https://tc39.es/ecma262/#sec-string.prototype.trim
|
||
trim: createMethod$1(3)
|
||
};
|
||
|
||
var non = '\u200B\u0085\u180E';
|
||
|
||
// check that a method works with the correct list
|
||
// of whitespaces and has a correct name
|
||
var stringTrimForced = function (METHOD_NAME) {
|
||
return fails(function () {
|
||
return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;
|
||
});
|
||
};
|
||
|
||
var $trim = stringTrim.trim;
|
||
|
||
|
||
// `String.prototype.trim` method
|
||
// https://tc39.es/ecma262/#sec-string.prototype.trim
|
||
_export({ target: 'String', proto: true, forced: stringTrimForced('trim') }, {
|
||
trim: function trim() {
|
||
return $trim(this);
|
||
}
|
||
});
|
||
|
||
var toastify = createCommonjsModule(function (module) {
|
||
(function (root, factory) {
|
||
if (module.exports) {
|
||
module.exports = factory();
|
||
} else {
|
||
root.Toastify = factory();
|
||
}
|
||
})(commonjsGlobal, function (global) {
|
||
// Object initialization
|
||
var Toastify = function Toastify(options) {
|
||
// Returning a new init object
|
||
return new Toastify.lib.init(options);
|
||
},
|
||
// Library version
|
||
version = "1.10.0"; // Defining the prototype of the object
|
||
|
||
|
||
Toastify.lib = Toastify.prototype = {
|
||
toastify: version,
|
||
constructor: Toastify,
|
||
// Initializing the object with required parameters
|
||
init: function init(options) {
|
||
// Verifying and validating the input object
|
||
if (!options) {
|
||
options = {};
|
||
} // Creating the options object
|
||
|
||
|
||
this.options = {};
|
||
this.toastElement = null; // Validating the options
|
||
|
||
this.options.text = options.text || "Hi there!"; // Display message
|
||
|
||
this.options.node = options.node; // Display content as node
|
||
|
||
this.options.duration = options.duration === 0 ? 0 : options.duration || 3000; // Display duration
|
||
|
||
this.options.selector = options.selector; // Parent selector
|
||
|
||
this.options.callback = options.callback || function () {}; // Callback after display
|
||
|
||
|
||
this.options.destination = options.destination; // On-click destination
|
||
|
||
this.options.newWindow = options.newWindow || false; // Open destination in new window
|
||
|
||
this.options.close = options.close || false; // Show toast close icon
|
||
|
||
this.options.gravity = options.gravity === "bottom" ? "toastify-bottom" : "toastify-top"; // toast position - top or bottom
|
||
|
||
this.options.positionLeft = options.positionLeft || false; // toast position - left or right
|
||
|
||
this.options.position = options.position || ''; // toast position - left or right
|
||
|
||
this.options.backgroundColor = options.backgroundColor; // toast background color
|
||
|
||
this.options.avatar = options.avatar || ""; // img element src - url or a path
|
||
|
||
this.options.className = options.className || ""; // additional class names for the toast
|
||
|
||
this.options.stopOnFocus = options.stopOnFocus === undefined ? true : options.stopOnFocus; // stop timeout on focus
|
||
|
||
this.options.onClick = options.onClick; // Callback after click
|
||
|
||
this.options.offset = options.offset || {
|
||
x: 0,
|
||
y: 0
|
||
}; // toast offset
|
||
|
||
this.options.escapeMarkup = options.escapeMarkup !== undefined ? options.escapeMarkup : true;
|
||
this.options.style = options.style || {};
|
||
this.options.style.background = this.options.style.background || options.backgroundColor; // Returning the current object for chaining functions
|
||
|
||
return this;
|
||
},
|
||
// Building the DOM element
|
||
buildToast: function buildToast() {
|
||
// Validating if the options are defined
|
||
if (!this.options) {
|
||
throw "Toastify is not initialized";
|
||
} // Creating the DOM object
|
||
|
||
|
||
var divElement = document.createElement("div");
|
||
divElement.className = "toastify on " + this.options.className; // Positioning toast to left or right or center
|
||
|
||
if (!!this.options.position) {
|
||
divElement.className += " toastify-" + this.options.position;
|
||
} else {
|
||
// To be depreciated in further versions
|
||
if (this.options.positionLeft === true) {
|
||
divElement.className += " toastify-left";
|
||
console.warn('Property `positionLeft` will be depreciated in further versions. Please use `position` instead.');
|
||
} else {
|
||
// Default position
|
||
divElement.className += " toastify-right";
|
||
}
|
||
} // Assigning gravity of element
|
||
|
||
|
||
divElement.className += " " + this.options.gravity;
|
||
|
||
if (this.options.backgroundColor) {
|
||
// This is being deprecated in favor of using the style HTML DOM property
|
||
console.warn('DEPRECATION NOTICE: "backgroundColor" is being deprecated. Please use the "style.background" property.');
|
||
} // Loop through our style object and apply styles to divElement
|
||
|
||
|
||
for (var property in this.options.style) {
|
||
divElement.style[property] = this.options.style[property];
|
||
} // Adding the toast message/node
|
||
|
||
|
||
if (this.options.node && this.options.node.nodeType === Node.ELEMENT_NODE) {
|
||
// If we have a valid node, we insert it
|
||
divElement.appendChild(this.options.node);
|
||
} else {
|
||
if (this.options.escapeMarkup) {
|
||
divElement.innerText = this.options.text;
|
||
} else {
|
||
divElement.innerHTML = this.options.text;
|
||
}
|
||
|
||
if (this.options.avatar !== "") {
|
||
var avatarElement = document.createElement("img");
|
||
avatarElement.src = this.options.avatar;
|
||
avatarElement.className = "toastify-avatar";
|
||
|
||
if (this.options.position == "left" || this.options.positionLeft === true) {
|
||
// Adding close icon on the left of content
|
||
divElement.appendChild(avatarElement);
|
||
} else {
|
||
// Adding close icon on the right of content
|
||
divElement.insertAdjacentElement("afterbegin", avatarElement);
|
||
}
|
||
}
|
||
} // Adding a close icon to the toast
|
||
|
||
|
||
if (this.options.close === true) {
|
||
// Create a span for close element
|
||
var closeElement = document.createElement("span");
|
||
closeElement.innerHTML = "✖";
|
||
closeElement.className = "toast-close"; // Triggering the removal of toast from DOM on close click
|
||
|
||
closeElement.addEventListener("click", function (event) {
|
||
event.stopPropagation();
|
||
this.removeElement(this.toastElement);
|
||
window.clearTimeout(this.toastElement.timeOutValue);
|
||
}.bind(this)); //Calculating screen width
|
||
|
||
var width = window.innerWidth > 0 ? window.innerWidth : screen.width; // Adding the close icon to the toast element
|
||
// Display on the right if screen width is less than or equal to 360px
|
||
|
||
if ((this.options.position == "left" || this.options.positionLeft === true) && width > 360) {
|
||
// Adding close icon on the left of content
|
||
divElement.insertAdjacentElement("afterbegin", closeElement);
|
||
} else {
|
||
// Adding close icon on the right of content
|
||
divElement.appendChild(closeElement);
|
||
}
|
||
} // Clear timeout while toast is focused
|
||
|
||
|
||
if (this.options.stopOnFocus && this.options.duration > 0) {
|
||
var self = this; // stop countdown
|
||
|
||
divElement.addEventListener("mouseover", function (event) {
|
||
window.clearTimeout(divElement.timeOutValue);
|
||
}); // add back the timeout
|
||
|
||
divElement.addEventListener("mouseleave", function () {
|
||
divElement.timeOutValue = window.setTimeout(function () {
|
||
// Remove the toast from DOM
|
||
self.removeElement(divElement);
|
||
}, self.options.duration);
|
||
});
|
||
} // Adding an on-click destination path
|
||
|
||
|
||
if (typeof this.options.destination !== "undefined") {
|
||
divElement.addEventListener("click", function (event) {
|
||
event.stopPropagation();
|
||
|
||
if (this.options.newWindow === true) {
|
||
window.open(this.options.destination, "_blank");
|
||
} else {
|
||
window.location = this.options.destination;
|
||
}
|
||
}.bind(this));
|
||
}
|
||
|
||
if (typeof this.options.onClick === "function" && typeof this.options.destination === "undefined") {
|
||
divElement.addEventListener("click", function (event) {
|
||
event.stopPropagation();
|
||
this.options.onClick();
|
||
}.bind(this));
|
||
} // Adding offset
|
||
|
||
|
||
if (_typeof(this.options.offset) === "object") {
|
||
var x = getAxisOffsetAValue("x", this.options);
|
||
var y = getAxisOffsetAValue("y", this.options);
|
||
var xOffset = this.options.position == "left" ? x : "-" + x;
|
||
var yOffset = this.options.gravity == "toastify-top" ? y : "-" + y;
|
||
divElement.style.transform = "translate(" + xOffset + "," + yOffset + ")";
|
||
} // Returning the generated element
|
||
|
||
|
||
return divElement;
|
||
},
|
||
// Displaying the toast
|
||
showToast: function showToast() {
|
||
// Creating the DOM object for the toast
|
||
this.toastElement = this.buildToast(); // Getting the root element to with the toast needs to be added
|
||
|
||
var rootElement;
|
||
|
||
if (typeof this.options.selector === "string") {
|
||
rootElement = document.getElementById(this.options.selector);
|
||
} else if (this.options.selector instanceof HTMLElement || this.options.selector instanceof ShadowRoot) {
|
||
rootElement = this.options.selector;
|
||
} else {
|
||
rootElement = document.body;
|
||
} // Validating if root element is present in DOM
|
||
|
||
|
||
if (!rootElement) {
|
||
throw "Root element is not defined";
|
||
} // Adding the DOM element
|
||
|
||
|
||
rootElement.insertBefore(this.toastElement, rootElement.firstChild); // Repositioning the toasts in case multiple toasts are present
|
||
|
||
Toastify.reposition();
|
||
|
||
if (this.options.duration > 0) {
|
||
this.toastElement.timeOutValue = window.setTimeout(function () {
|
||
// Remove the toast from DOM
|
||
this.removeElement(this.toastElement);
|
||
}.bind(this), this.options.duration); // Binding `this` for function invocation
|
||
} // Supporting function chaining
|
||
|
||
|
||
return this;
|
||
},
|
||
hideToast: function hideToast() {
|
||
if (this.toastElement.timeOutValue) {
|
||
clearTimeout(this.toastElement.timeOutValue);
|
||
}
|
||
|
||
this.removeElement(this.toastElement);
|
||
},
|
||
// Removing the element from the DOM
|
||
removeElement: function removeElement(toastElement) {
|
||
// Hiding the element
|
||
// toastElement.classList.remove("on");
|
||
toastElement.className = toastElement.className.replace(" on", ""); // Removing the element from DOM after transition end
|
||
|
||
window.setTimeout(function () {
|
||
// remove options node if any
|
||
if (this.options.node && this.options.node.parentNode) {
|
||
this.options.node.parentNode.removeChild(this.options.node);
|
||
} // Remove the elemenf from the DOM, only when the parent node was not removed before.
|
||
|
||
|
||
if (toastElement.parentNode) {
|
||
toastElement.parentNode.removeChild(toastElement);
|
||
} // Calling the callback function
|
||
|
||
|
||
this.options.callback.call(toastElement); // Repositioning the toasts again
|
||
|
||
Toastify.reposition();
|
||
}.bind(this), 400); // Binding `this` for function invocation
|
||
}
|
||
}; // Positioning the toasts on the DOM
|
||
|
||
Toastify.reposition = function () {
|
||
// Top margins with gravity
|
||
var topLeftOffsetSize = {
|
||
top: 15,
|
||
bottom: 15
|
||
};
|
||
var topRightOffsetSize = {
|
||
top: 15,
|
||
bottom: 15
|
||
};
|
||
var offsetSize = {
|
||
top: 15,
|
||
bottom: 15
|
||
}; // Get all toast messages on the DOM
|
||
|
||
var allToasts = document.getElementsByClassName("toastify");
|
||
var classUsed; // Modifying the position of each toast element
|
||
|
||
for (var i = 0; i < allToasts.length; i++) {
|
||
// Getting the applied gravity
|
||
if (containsClass(allToasts[i], "toastify-top") === true) {
|
||
classUsed = "toastify-top";
|
||
} else {
|
||
classUsed = "toastify-bottom";
|
||
}
|
||
|
||
var height = allToasts[i].offsetHeight;
|
||
classUsed = classUsed.substr(9, classUsed.length - 1); // Spacing between toasts
|
||
|
||
var offset = 15;
|
||
var width = window.innerWidth > 0 ? window.innerWidth : screen.width; // Show toast in center if screen with less than or qual to 360px
|
||
|
||
if (width <= 360) {
|
||
// Setting the position
|
||
allToasts[i].style[classUsed] = offsetSize[classUsed] + "px";
|
||
offsetSize[classUsed] += height + offset;
|
||
} else {
|
||
if (containsClass(allToasts[i], "toastify-left") === true) {
|
||
// Setting the position
|
||
allToasts[i].style[classUsed] = topLeftOffsetSize[classUsed] + "px";
|
||
topLeftOffsetSize[classUsed] += height + offset;
|
||
} else {
|
||
// Setting the position
|
||
allToasts[i].style[classUsed] = topRightOffsetSize[classUsed] + "px";
|
||
topRightOffsetSize[classUsed] += height + offset;
|
||
}
|
||
}
|
||
} // Supporting function chaining
|
||
|
||
|
||
return this;
|
||
}; // Helper function to get offset.
|
||
|
||
|
||
function getAxisOffsetAValue(axis, options) {
|
||
if (options.offset[axis]) {
|
||
if (isNaN(options.offset[axis])) {
|
||
return options.offset[axis];
|
||
} else {
|
||
return options.offset[axis] + 'px';
|
||
}
|
||
}
|
||
|
||
return '0px';
|
||
}
|
||
|
||
function containsClass(elem, yourClass) {
|
||
if (!elem || typeof yourClass !== "string") {
|
||
return false;
|
||
} else if (elem.className && elem.className.trim().split(/\s+/gi).indexOf(yourClass) > -1) {
|
||
return true;
|
||
} else {
|
||
return false;
|
||
}
|
||
} // Setting up the prototype for the init object
|
||
|
||
|
||
Toastify.lib.init.prototype = Toastify.lib; // Returning the Toastify function to be assigned to the window object/module
|
||
|
||
return Toastify;
|
||
});
|
||
});
|
||
|
||
// `IsArray` abstract operation
|
||
// https://tc39.es/ecma262/#sec-isarray
|
||
var isArray$1 = Array.isArray || function isArray(arg) {
|
||
return classofRaw(arg) == 'Array';
|
||
};
|
||
|
||
var SPECIES$1 = wellKnownSymbol('species');
|
||
|
||
// `ArraySpeciesCreate` abstract operation
|
||
// https://tc39.es/ecma262/#sec-arrayspeciescreate
|
||
var arraySpeciesCreate = function (originalArray, length) {
|
||
var C;
|
||
if (isArray$1(originalArray)) {
|
||
C = originalArray.constructor;
|
||
// cross-realm fallback
|
||
if (typeof C == 'function' && (C === Array || isArray$1(C.prototype))) C = undefined;
|
||
else if (isObject$1(C)) {
|
||
C = C[SPECIES$1];
|
||
if (C === null) C = undefined;
|
||
}
|
||
} return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
|
||
};
|
||
|
||
var push = [].push;
|
||
|
||
// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation
|
||
var createMethod = function (TYPE) {
|
||
var IS_MAP = TYPE == 1;
|
||
var IS_FILTER = TYPE == 2;
|
||
var IS_SOME = TYPE == 3;
|
||
var IS_EVERY = TYPE == 4;
|
||
var IS_FIND_INDEX = TYPE == 6;
|
||
var IS_FILTER_OUT = TYPE == 7;
|
||
var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
|
||
return function ($this, callbackfn, that, specificCreate) {
|
||
var O = toObject($this);
|
||
var self = indexedObject(O);
|
||
var boundFunction = functionBindContext(callbackfn, that, 3);
|
||
var length = toLength(self.length);
|
||
var index = 0;
|
||
var create = specificCreate || arraySpeciesCreate;
|
||
var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined;
|
||
var value, result;
|
||
for (;length > index; index++) if (NO_HOLES || index in self) {
|
||
value = self[index];
|
||
result = boundFunction(value, index, O);
|
||
if (TYPE) {
|
||
if (IS_MAP) target[index] = result; // map
|
||
else if (result) switch (TYPE) {
|
||
case 3: return true; // some
|
||
case 5: return value; // find
|
||
case 6: return index; // findIndex
|
||
case 2: push.call(target, value); // filter
|
||
} else switch (TYPE) {
|
||
case 4: return false; // every
|
||
case 7: push.call(target, value); // filterOut
|
||
}
|
||
}
|
||
}
|
||
return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
|
||
};
|
||
};
|
||
|
||
var arrayIteration = {
|
||
// `Array.prototype.forEach` method
|
||
// https://tc39.es/ecma262/#sec-array.prototype.foreach
|
||
forEach: createMethod(0),
|
||
// `Array.prototype.map` method
|
||
// https://tc39.es/ecma262/#sec-array.prototype.map
|
||
map: createMethod(1),
|
||
// `Array.prototype.filter` method
|
||
// https://tc39.es/ecma262/#sec-array.prototype.filter
|
||
filter: createMethod(2),
|
||
// `Array.prototype.some` method
|
||
// https://tc39.es/ecma262/#sec-array.prototype.some
|
||
some: createMethod(3),
|
||
// `Array.prototype.every` method
|
||
// https://tc39.es/ecma262/#sec-array.prototype.every
|
||
every: createMethod(4),
|
||
// `Array.prototype.find` method
|
||
// https://tc39.es/ecma262/#sec-array.prototype.find
|
||
find: createMethod(5),
|
||
// `Array.prototype.findIndex` method
|
||
// https://tc39.es/ecma262/#sec-array.prototype.findIndex
|
||
findIndex: createMethod(6),
|
||
// `Array.prototype.filterOut` method
|
||
// https://github.com/tc39/proposal-array-filtering
|
||
filterOut: createMethod(7)
|
||
};
|
||
|
||
var SPECIES = wellKnownSymbol('species');
|
||
|
||
var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
|
||
// We can't use this feature detection in V8 since it causes
|
||
// deoptimization and serious performance degradation
|
||
// https://github.com/zloirock/core-js/issues/677
|
||
return engineV8Version >= 51 || !fails(function () {
|
||
var array = [];
|
||
var constructor = array.constructor = {};
|
||
constructor[SPECIES] = function () {
|
||
return { foo: 1 };
|
||
};
|
||
return array[METHOD_NAME](Boolean).foo !== 1;
|
||
});
|
||
};
|
||
|
||
var $map = arrayIteration.map;
|
||
|
||
|
||
var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');
|
||
|
||
// `Array.prototype.map` method
|
||
// https://tc39.es/ecma262/#sec-array.prototype.map
|
||
// with adding support of @@species
|
||
_export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
|
||
map: function map(callbackfn /* , thisArg */) {
|
||
return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
||
}
|
||
});
|
||
|
||
var TO_STRING = 'toString';
|
||
var RegExpPrototype = RegExp.prototype;
|
||
var nativeToString = RegExpPrototype[TO_STRING];
|
||
|
||
var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });
|
||
// FF44- RegExp#toString has a wrong name
|
||
var INCORRECT_NAME = nativeToString.name != TO_STRING;
|
||
|
||
// `RegExp.prototype.toString` method
|
||
// https://tc39.es/ecma262/#sec-regexp.prototype.tostring
|
||
if (NOT_GENERIC || INCORRECT_NAME) {
|
||
redefine(RegExp.prototype, TO_STRING, function toString() {
|
||
var R = anObject(this);
|
||
var p = String(R.source);
|
||
var rf = R.flags;
|
||
var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? regexpFlags.call(R) : rf);
|
||
return '/' + p + '/' + f;
|
||
}, { unsafe: true });
|
||
}
|
||
|
||
/** Used as the `TypeError` message for "Functions" methods. */
|
||
var FUNC_ERROR_TEXT = 'Expected a function';
|
||
|
||
/** Used to stand-in for `undefined` hash values. */
|
||
var HASH_UNDEFINED = '__lodash_hash_undefined__';
|
||
|
||
/** Used as references for various `Number` constants. */
|
||
var INFINITY = 1 / 0;
|
||
|
||
/** `Object#toString` result references. */
|
||
var funcTag = '[object Function]',
|
||
genTag = '[object GeneratorFunction]',
|
||
symbolTag = '[object Symbol]';
|
||
|
||
/** Used to match property names within property paths. */
|
||
var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
|
||
reIsPlainProp = /^\w*$/,
|
||
reLeadingDot = /^\./,
|
||
rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
|
||
|
||
/**
|
||
* Used to match `RegExp`
|
||
* [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
|
||
*/
|
||
var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
|
||
|
||
/** Used to match backslashes in property paths. */
|
||
var reEscapeChar = /\\(\\)?/g;
|
||
|
||
/** Used to detect host constructors (Safari). */
|
||
var reIsHostCtor = /^\[object .+?Constructor\]$/;
|
||
|
||
/** Detect free variable `global` from Node.js. */
|
||
var freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;
|
||
|
||
/** Detect free variable `self`. */
|
||
var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
|
||
|
||
/** Used as a reference to the global object. */
|
||
var root = freeGlobal || freeSelf || Function('return this')();
|
||
|
||
/**
|
||
* Gets the value at `key` of `object`.
|
||
*
|
||
* @private
|
||
* @param {Object} [object] The object to query.
|
||
* @param {string} key The key of the property to get.
|
||
* @returns {*} Returns the property value.
|
||
*/
|
||
function getValue(object, key) {
|
||
return object == null ? undefined : object[key];
|
||
}
|
||
|
||
/**
|
||
* Checks if `value` is a host object in IE < 9.
|
||
*
|
||
* @private
|
||
* @param {*} value The value to check.
|
||
* @returns {boolean} Returns `true` if `value` is a host object, else `false`.
|
||
*/
|
||
function isHostObject(value) {
|
||
// Many host objects are `Object` objects that can coerce to strings
|
||
// despite having improperly defined `toString` methods.
|
||
var result = false;
|
||
if (value != null && typeof value.toString != 'function') {
|
||
try {
|
||
result = !!(value + '');
|
||
} catch (e) {}
|
||
}
|
||
return result;
|
||
}
|
||
|
||
/** Used for built-in method references. */
|
||
var arrayProto = Array.prototype,
|
||
funcProto = Function.prototype,
|
||
objectProto = Object.prototype;
|
||
|
||
/** Used to detect overreaching core-js shims. */
|
||
var coreJsData = root['__core-js_shared__'];
|
||
|
||
/** Used to detect methods masquerading as native. */
|
||
var maskSrcKey = (function() {
|
||
var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');
|
||
return uid ? ('Symbol(src)_1.' + uid) : '';
|
||
}());
|
||
|
||
/** Used to resolve the decompiled source of functions. */
|
||
var funcToString = funcProto.toString;
|
||
|
||
/** Used to check objects for own properties. */
|
||
var hasOwnProperty = objectProto.hasOwnProperty;
|
||
|
||
/**
|
||
* Used to resolve the
|
||
* [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
|
||
* of values.
|
||
*/
|
||
var objectToString = objectProto.toString;
|
||
|
||
/** Used to detect if a method is native. */
|
||
var reIsNative = RegExp('^' +
|
||
funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&')
|
||
.replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
|
||
);
|
||
|
||
/** Built-in value references. */
|
||
var Symbol$1 = root.Symbol,
|
||
splice = arrayProto.splice;
|
||
|
||
/* Built-in method references that are verified to be native. */
|
||
var Map = getNative(root, 'Map'),
|
||
nativeCreate = getNative(Object, 'create');
|
||
|
||
/** Used to convert symbols to primitives and strings. */
|
||
var symbolProto = Symbol$1 ? Symbol$1.prototype : undefined,
|
||
symbolToString = symbolProto ? symbolProto.toString : undefined;
|
||
|
||
/**
|
||
* Creates a hash object.
|
||
*
|
||
* @private
|
||
* @constructor
|
||
* @param {Array} [entries] The key-value pairs to cache.
|
||
*/
|
||
function Hash(entries) {
|
||
var index = -1,
|
||
length = entries ? entries.length : 0;
|
||
|
||
this.clear();
|
||
while (++index < length) {
|
||
var entry = entries[index];
|
||
this.set(entry[0], entry[1]);
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Removes all key-value entries from the hash.
|
||
*
|
||
* @private
|
||
* @name clear
|
||
* @memberOf Hash
|
||
*/
|
||
function hashClear() {
|
||
this.__data__ = nativeCreate ? nativeCreate(null) : {};
|
||
}
|
||
|
||
/**
|
||
* Removes `key` and its value from the hash.
|
||
*
|
||
* @private
|
||
* @name delete
|
||
* @memberOf Hash
|
||
* @param {Object} hash The hash to modify.
|
||
* @param {string} key The key of the value to remove.
|
||
* @returns {boolean} Returns `true` if the entry was removed, else `false`.
|
||
*/
|
||
function hashDelete(key) {
|
||
return this.has(key) && delete this.__data__[key];
|
||
}
|
||
|
||
/**
|
||
* Gets the hash value for `key`.
|
||
*
|
||
* @private
|
||
* @name get
|
||
* @memberOf Hash
|
||
* @param {string} key The key of the value to get.
|
||
* @returns {*} Returns the entry value.
|
||
*/
|
||
function hashGet(key) {
|
||
var data = this.__data__;
|
||
if (nativeCreate) {
|
||
var result = data[key];
|
||
return result === HASH_UNDEFINED ? undefined : result;
|
||
}
|
||
return hasOwnProperty.call(data, key) ? data[key] : undefined;
|
||
}
|
||
|
||
/**
|
||
* Checks if a hash value for `key` exists.
|
||
*
|
||
* @private
|
||
* @name has
|
||
* @memberOf Hash
|
||
* @param {string} key The key of the entry to check.
|
||
* @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
|
||
*/
|
||
function hashHas(key) {
|
||
var data = this.__data__;
|
||
return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);
|
||
}
|
||
|
||
/**
|
||
* Sets the hash `key` to `value`.
|
||
*
|
||
* @private
|
||
* @name set
|
||
* @memberOf Hash
|
||
* @param {string} key The key of the value to set.
|
||
* @param {*} value The value to set.
|
||
* @returns {Object} Returns the hash instance.
|
||
*/
|
||
function hashSet(key, value) {
|
||
var data = this.__data__;
|
||
data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;
|
||
return this;
|
||
}
|
||
|
||
// Add methods to `Hash`.
|
||
Hash.prototype.clear = hashClear;
|
||
Hash.prototype['delete'] = hashDelete;
|
||
Hash.prototype.get = hashGet;
|
||
Hash.prototype.has = hashHas;
|
||
Hash.prototype.set = hashSet;
|
||
|
||
/**
|
||
* Creates an list cache object.
|
||
*
|
||
* @private
|
||
* @constructor
|
||
* @param {Array} [entries] The key-value pairs to cache.
|
||
*/
|
||
function ListCache(entries) {
|
||
var index = -1,
|
||
length = entries ? entries.length : 0;
|
||
|
||
this.clear();
|
||
while (++index < length) {
|
||
var entry = entries[index];
|
||
this.set(entry[0], entry[1]);
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Removes all key-value entries from the list cache.
|
||
*
|
||
* @private
|
||
* @name clear
|
||
* @memberOf ListCache
|
||
*/
|
||
function listCacheClear() {
|
||
this.__data__ = [];
|
||
}
|
||
|
||
/**
|
||
* Removes `key` and its value from the list cache.
|
||
*
|
||
* @private
|
||
* @name delete
|
||
* @memberOf ListCache
|
||
* @param {string} key The key of the value to remove.
|
||
* @returns {boolean} Returns `true` if the entry was removed, else `false`.
|
||
*/
|
||
function listCacheDelete(key) {
|
||
var data = this.__data__,
|
||
index = assocIndexOf(data, key);
|
||
|
||
if (index < 0) {
|
||
return false;
|
||
}
|
||
var lastIndex = data.length - 1;
|
||
if (index == lastIndex) {
|
||
data.pop();
|
||
} else {
|
||
splice.call(data, index, 1);
|
||
}
|
||
return true;
|
||
}
|
||
|
||
/**
|
||
* Gets the list cache value for `key`.
|
||
*
|
||
* @private
|
||
* @name get
|
||
* @memberOf ListCache
|
||
* @param {string} key The key of the value to get.
|
||
* @returns {*} Returns the entry value.
|
||
*/
|
||
function listCacheGet(key) {
|
||
var data = this.__data__,
|
||
index = assocIndexOf(data, key);
|
||
|
||
return index < 0 ? undefined : data[index][1];
|
||
}
|
||
|
||
/**
|
||
* Checks if a list cache value for `key` exists.
|
||
*
|
||
* @private
|
||
* @name has
|
||
* @memberOf ListCache
|
||
* @param {string} key The key of the entry to check.
|
||
* @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
|
||
*/
|
||
function listCacheHas(key) {
|
||
return assocIndexOf(this.__data__, key) > -1;
|
||
}
|
||
|
||
/**
|
||
* Sets the list cache `key` to `value`.
|
||
*
|
||
* @private
|
||
* @name set
|
||
* @memberOf ListCache
|
||
* @param {string} key The key of the value to set.
|
||
* @param {*} value The value to set.
|
||
* @returns {Object} Returns the list cache instance.
|
||
*/
|
||
function listCacheSet(key, value) {
|
||
var data = this.__data__,
|
||
index = assocIndexOf(data, key);
|
||
|
||
if (index < 0) {
|
||
data.push([key, value]);
|
||
} else {
|
||
data[index][1] = value;
|
||
}
|
||
return this;
|
||
}
|
||
|
||
// Add methods to `ListCache`.
|
||
ListCache.prototype.clear = listCacheClear;
|
||
ListCache.prototype['delete'] = listCacheDelete;
|
||
ListCache.prototype.get = listCacheGet;
|
||
ListCache.prototype.has = listCacheHas;
|
||
ListCache.prototype.set = listCacheSet;
|
||
|
||
/**
|
||
* Creates a map cache object to store key-value pairs.
|
||
*
|
||
* @private
|
||
* @constructor
|
||
* @param {Array} [entries] The key-value pairs to cache.
|
||
*/
|
||
function MapCache(entries) {
|
||
var index = -1,
|
||
length = entries ? entries.length : 0;
|
||
|
||
this.clear();
|
||
while (++index < length) {
|
||
var entry = entries[index];
|
||
this.set(entry[0], entry[1]);
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Removes all key-value entries from the map.
|
||
*
|
||
* @private
|
||
* @name clear
|
||
* @memberOf MapCache
|
||
*/
|
||
function mapCacheClear() {
|
||
this.__data__ = {
|
||
'hash': new Hash,
|
||
'map': new (Map || ListCache),
|
||
'string': new Hash
|
||
};
|
||
}
|
||
|
||
/**
|
||
* Removes `key` and its value from the map.
|
||
*
|
||
* @private
|
||
* @name delete
|
||
* @memberOf MapCache
|
||
* @param {string} key The key of the value to remove.
|
||
* @returns {boolean} Returns `true` if the entry was removed, else `false`.
|
||
*/
|
||
function mapCacheDelete(key) {
|
||
return getMapData(this, key)['delete'](key);
|
||
}
|
||
|
||
/**
|
||
* Gets the map value for `key`.
|
||
*
|
||
* @private
|
||
* @name get
|
||
* @memberOf MapCache
|
||
* @param {string} key The key of the value to get.
|
||
* @returns {*} Returns the entry value.
|
||
*/
|
||
function mapCacheGet(key) {
|
||
return getMapData(this, key).get(key);
|
||
}
|
||
|
||
/**
|
||
* Checks if a map value for `key` exists.
|
||
*
|
||
* @private
|
||
* @name has
|
||
* @memberOf MapCache
|
||
* @param {string} key The key of the entry to check.
|
||
* @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
|
||
*/
|
||
function mapCacheHas(key) {
|
||
return getMapData(this, key).has(key);
|
||
}
|
||
|
||
/**
|
||
* Sets the map `key` to `value`.
|
||
*
|
||
* @private
|
||
* @name set
|
||
* @memberOf MapCache
|
||
* @param {string} key The key of the value to set.
|
||
* @param {*} value The value to set.
|
||
* @returns {Object} Returns the map cache instance.
|
||
*/
|
||
function mapCacheSet(key, value) {
|
||
getMapData(this, key).set(key, value);
|
||
return this;
|
||
}
|
||
|
||
// Add methods to `MapCache`.
|
||
MapCache.prototype.clear = mapCacheClear;
|
||
MapCache.prototype['delete'] = mapCacheDelete;
|
||
MapCache.prototype.get = mapCacheGet;
|
||
MapCache.prototype.has = mapCacheHas;
|
||
MapCache.prototype.set = mapCacheSet;
|
||
|
||
/**
|
||
* Gets the index at which the `key` is found in `array` of key-value pairs.
|
||
*
|
||
* @private
|
||
* @param {Array} array The array to inspect.
|
||
* @param {*} key The key to search for.
|
||
* @returns {number} Returns the index of the matched value, else `-1`.
|
||
*/
|
||
function assocIndexOf(array, key) {
|
||
var length = array.length;
|
||
while (length--) {
|
||
if (eq(array[length][0], key)) {
|
||
return length;
|
||
}
|
||
}
|
||
return -1;
|
||
}
|
||
|
||
/**
|
||
* The base implementation of `_.get` without support for default values.
|
||
*
|
||
* @private
|
||
* @param {Object} object The object to query.
|
||
* @param {Array|string} path The path of the property to get.
|
||
* @returns {*} Returns the resolved value.
|
||
*/
|
||
function baseGet(object, path) {
|
||
path = isKey(path, object) ? [path] : castPath(path);
|
||
|
||
var index = 0,
|
||
length = path.length;
|
||
|
||
while (object != null && index < length) {
|
||
object = object[toKey(path[index++])];
|
||
}
|
||
return (index && index == length) ? object : undefined;
|
||
}
|
||
|
||
/**
|
||
* The base implementation of `_.isNative` without bad shim checks.
|
||
*
|
||
* @private
|
||
* @param {*} value The value to check.
|
||
* @returns {boolean} Returns `true` if `value` is a native function,
|
||
* else `false`.
|
||
*/
|
||
function baseIsNative(value) {
|
||
if (!isObject(value) || isMasked(value)) {
|
||
return false;
|
||
}
|
||
var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;
|
||
return pattern.test(toSource(value));
|
||
}
|
||
|
||
/**
|
||
* The base implementation of `_.toString` which doesn't convert nullish
|
||
* values to empty strings.
|
||
*
|
||
* @private
|
||
* @param {*} value The value to process.
|
||
* @returns {string} Returns the string.
|
||
*/
|
||
function baseToString(value) {
|
||
// Exit early for strings to avoid a performance hit in some environments.
|
||
if (typeof value == 'string') {
|
||
return value;
|
||
}
|
||
if (isSymbol(value)) {
|
||
return symbolToString ? symbolToString.call(value) : '';
|
||
}
|
||
var result = (value + '');
|
||
return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
|
||
}
|
||
|
||
/**
|
||
* Casts `value` to a path array if it's not one.
|
||
*
|
||
* @private
|
||
* @param {*} value The value to inspect.
|
||
* @returns {Array} Returns the cast property path array.
|
||
*/
|
||
function castPath(value) {
|
||
return isArray(value) ? value : stringToPath(value);
|
||
}
|
||
|
||
/**
|
||
* Gets the data for `map`.
|
||
*
|
||
* @private
|
||
* @param {Object} map The map to query.
|
||
* @param {string} key The reference key.
|
||
* @returns {*} Returns the map data.
|
||
*/
|
||
function getMapData(map, key) {
|
||
var data = map.__data__;
|
||
return isKeyable(key)
|
||
? data[typeof key == 'string' ? 'string' : 'hash']
|
||
: data.map;
|
||
}
|
||
|
||
/**
|
||
* Gets the native function at `key` of `object`.
|
||
*
|
||
* @private
|
||
* @param {Object} object The object to query.
|
||
* @param {string} key The key of the method to get.
|
||
* @returns {*} Returns the function if it's native, else `undefined`.
|
||
*/
|
||
function getNative(object, key) {
|
||
var value = getValue(object, key);
|
||
return baseIsNative(value) ? value : undefined;
|
||
}
|
||
|
||
/**
|
||
* Checks if `value` is a property name and not a property path.
|
||
*
|
||
* @private
|
||
* @param {*} value The value to check.
|
||
* @param {Object} [object] The object to query keys on.
|
||
* @returns {boolean} Returns `true` if `value` is a property name, else `false`.
|
||
*/
|
||
function isKey(value, object) {
|
||
if (isArray(value)) {
|
||
return false;
|
||
}
|
||
var type = typeof value;
|
||
if (type == 'number' || type == 'symbol' || type == 'boolean' ||
|
||
value == null || isSymbol(value)) {
|
||
return true;
|
||
}
|
||
return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||
|
||
(object != null && value in Object(object));
|
||
}
|
||
|
||
/**
|
||
* Checks if `value` is suitable for use as unique object key.
|
||
*
|
||
* @private
|
||
* @param {*} value The value to check.
|
||
* @returns {boolean} Returns `true` if `value` is suitable, else `false`.
|
||
*/
|
||
function isKeyable(value) {
|
||
var type = typeof value;
|
||
return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')
|
||
? (value !== '__proto__')
|
||
: (value === null);
|
||
}
|
||
|
||
/**
|
||
* Checks if `func` has its source masked.
|
||
*
|
||
* @private
|
||
* @param {Function} func The function to check.
|
||
* @returns {boolean} Returns `true` if `func` is masked, else `false`.
|
||
*/
|
||
function isMasked(func) {
|
||
return !!maskSrcKey && (maskSrcKey in func);
|
||
}
|
||
|
||
/**
|
||
* Converts `string` to a property path array.
|
||
*
|
||
* @private
|
||
* @param {string} string The string to convert.
|
||
* @returns {Array} Returns the property path array.
|
||
*/
|
||
var stringToPath = memoize(function(string) {
|
||
string = toString(string);
|
||
|
||
var result = [];
|
||
if (reLeadingDot.test(string)) {
|
||
result.push('');
|
||
}
|
||
string.replace(rePropName, function(match, number, quote, string) {
|
||
result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));
|
||
});
|
||
return result;
|
||
});
|
||
|
||
/**
|
||
* Converts `value` to a string key if it's not a string or symbol.
|
||
*
|
||
* @private
|
||
* @param {*} value The value to inspect.
|
||
* @returns {string|symbol} Returns the key.
|
||
*/
|
||
function toKey(value) {
|
||
if (typeof value == 'string' || isSymbol(value)) {
|
||
return value;
|
||
}
|
||
var result = (value + '');
|
||
return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
|
||
}
|
||
|
||
/**
|
||
* Converts `func` to its source code.
|
||
*
|
||
* @private
|
||
* @param {Function} func The function to process.
|
||
* @returns {string} Returns the source code.
|
||
*/
|
||
function toSource(func) {
|
||
if (func != null) {
|
||
try {
|
||
return funcToString.call(func);
|
||
} catch (e) {}
|
||
try {
|
||
return (func + '');
|
||
} catch (e) {}
|
||
}
|
||
return '';
|
||
}
|
||
|
||
/**
|
||
* Creates a function that memoizes the result of `func`. If `resolver` is
|
||
* provided, it determines the cache key for storing the result based on the
|
||
* arguments provided to the memoized function. By default, the first argument
|
||
* provided to the memoized function is used as the map cache key. The `func`
|
||
* is invoked with the `this` binding of the memoized function.
|
||
*
|
||
* **Note:** The cache is exposed as the `cache` property on the memoized
|
||
* function. Its creation may be customized by replacing the `_.memoize.Cache`
|
||
* constructor with one whose instances implement the
|
||
* [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)
|
||
* method interface of `delete`, `get`, `has`, and `set`.
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 0.1.0
|
||
* @category Function
|
||
* @param {Function} func The function to have its output memoized.
|
||
* @param {Function} [resolver] The function to resolve the cache key.
|
||
* @returns {Function} Returns the new memoized function.
|
||
* @example
|
||
*
|
||
* var object = { 'a': 1, 'b': 2 };
|
||
* var other = { 'c': 3, 'd': 4 };
|
||
*
|
||
* var values = _.memoize(_.values);
|
||
* values(object);
|
||
* // => [1, 2]
|
||
*
|
||
* values(other);
|
||
* // => [3, 4]
|
||
*
|
||
* object.a = 2;
|
||
* values(object);
|
||
* // => [1, 2]
|
||
*
|
||
* // Modify the result cache.
|
||
* values.cache.set(object, ['a', 'b']);
|
||
* values(object);
|
||
* // => ['a', 'b']
|
||
*
|
||
* // Replace `_.memoize.Cache`.
|
||
* _.memoize.Cache = WeakMap;
|
||
*/
|
||
function memoize(func, resolver) {
|
||
if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {
|
||
throw new TypeError(FUNC_ERROR_TEXT);
|
||
}
|
||
var memoized = function() {
|
||
var args = arguments,
|
||
key = resolver ? resolver.apply(this, args) : args[0],
|
||
cache = memoized.cache;
|
||
|
||
if (cache.has(key)) {
|
||
return cache.get(key);
|
||
}
|
||
var result = func.apply(this, args);
|
||
memoized.cache = cache.set(key, result);
|
||
return result;
|
||
};
|
||
memoized.cache = new (memoize.Cache || MapCache);
|
||
return memoized;
|
||
}
|
||
|
||
// Assign cache to `_.memoize`.
|
||
memoize.Cache = MapCache;
|
||
|
||
/**
|
||
* Performs a
|
||
* [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
|
||
* comparison between two values to determine if they are equivalent.
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 4.0.0
|
||
* @category Lang
|
||
* @param {*} value The value to compare.
|
||
* @param {*} other The other value to compare.
|
||
* @returns {boolean} Returns `true` if the values are equivalent, else `false`.
|
||
* @example
|
||
*
|
||
* var object = { 'a': 1 };
|
||
* var other = { 'a': 1 };
|
||
*
|
||
* _.eq(object, object);
|
||
* // => true
|
||
*
|
||
* _.eq(object, other);
|
||
* // => false
|
||
*
|
||
* _.eq('a', 'a');
|
||
* // => true
|
||
*
|
||
* _.eq('a', Object('a'));
|
||
* // => false
|
||
*
|
||
* _.eq(NaN, NaN);
|
||
* // => true
|
||
*/
|
||
function eq(value, other) {
|
||
return value === other || (value !== value && other !== other);
|
||
}
|
||
|
||
/**
|
||
* Checks if `value` is classified as an `Array` object.
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 0.1.0
|
||
* @category Lang
|
||
* @param {*} value The value to check.
|
||
* @returns {boolean} Returns `true` if `value` is an array, else `false`.
|
||
* @example
|
||
*
|
||
* _.isArray([1, 2, 3]);
|
||
* // => true
|
||
*
|
||
* _.isArray(document.body.children);
|
||
* // => false
|
||
*
|
||
* _.isArray('abc');
|
||
* // => false
|
||
*
|
||
* _.isArray(_.noop);
|
||
* // => false
|
||
*/
|
||
var isArray = Array.isArray;
|
||
|
||
/**
|
||
* Checks if `value` is classified as a `Function` object.
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 0.1.0
|
||
* @category Lang
|
||
* @param {*} value The value to check.
|
||
* @returns {boolean} Returns `true` if `value` is a function, else `false`.
|
||
* @example
|
||
*
|
||
* _.isFunction(_);
|
||
* // => true
|
||
*
|
||
* _.isFunction(/abc/);
|
||
* // => false
|
||
*/
|
||
function isFunction(value) {
|
||
// The use of `Object#toString` avoids issues with the `typeof` operator
|
||
// in Safari 8-9 which returns 'object' for typed array and other constructors.
|
||
var tag = isObject(value) ? objectToString.call(value) : '';
|
||
return tag == funcTag || tag == genTag;
|
||
}
|
||
|
||
/**
|
||
* Checks if `value` is the
|
||
* [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
|
||
* of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 0.1.0
|
||
* @category Lang
|
||
* @param {*} value The value to check.
|
||
* @returns {boolean} Returns `true` if `value` is an object, else `false`.
|
||
* @example
|
||
*
|
||
* _.isObject({});
|
||
* // => true
|
||
*
|
||
* _.isObject([1, 2, 3]);
|
||
* // => true
|
||
*
|
||
* _.isObject(_.noop);
|
||
* // => true
|
||
*
|
||
* _.isObject(null);
|
||
* // => false
|
||
*/
|
||
function isObject(value) {
|
||
var type = typeof value;
|
||
return !!value && (type == 'object' || type == 'function');
|
||
}
|
||
|
||
/**
|
||
* Checks if `value` is object-like. A value is object-like if it's not `null`
|
||
* and has a `typeof` result of "object".
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 4.0.0
|
||
* @category Lang
|
||
* @param {*} value The value to check.
|
||
* @returns {boolean} Returns `true` if `value` is object-like, else `false`.
|
||
* @example
|
||
*
|
||
* _.isObjectLike({});
|
||
* // => true
|
||
*
|
||
* _.isObjectLike([1, 2, 3]);
|
||
* // => true
|
||
*
|
||
* _.isObjectLike(_.noop);
|
||
* // => false
|
||
*
|
||
* _.isObjectLike(null);
|
||
* // => false
|
||
*/
|
||
function isObjectLike(value) {
|
||
return !!value && typeof value == 'object';
|
||
}
|
||
|
||
/**
|
||
* Checks if `value` is classified as a `Symbol` primitive or object.
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 4.0.0
|
||
* @category Lang
|
||
* @param {*} value The value to check.
|
||
* @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
|
||
* @example
|
||
*
|
||
* _.isSymbol(Symbol.iterator);
|
||
* // => true
|
||
*
|
||
* _.isSymbol('abc');
|
||
* // => false
|
||
*/
|
||
function isSymbol(value) {
|
||
return typeof value == 'symbol' ||
|
||
(isObjectLike(value) && objectToString.call(value) == symbolTag);
|
||
}
|
||
|
||
/**
|
||
* Converts `value` to a string. An empty string is returned for `null`
|
||
* and `undefined` values. The sign of `-0` is preserved.
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 4.0.0
|
||
* @category Lang
|
||
* @param {*} value The value to process.
|
||
* @returns {string} Returns the string.
|
||
* @example
|
||
*
|
||
* _.toString(null);
|
||
* // => ''
|
||
*
|
||
* _.toString(-0);
|
||
* // => '-0'
|
||
*
|
||
* _.toString([1, 2, 3]);
|
||
* // => '1,2,3'
|
||
*/
|
||
function toString(value) {
|
||
return value == null ? '' : baseToString(value);
|
||
}
|
||
|
||
/**
|
||
* Gets the value at `path` of `object`. If the resolved value is
|
||
* `undefined`, the `defaultValue` is returned in its place.
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 3.7.0
|
||
* @category Object
|
||
* @param {Object} object The object to query.
|
||
* @param {Array|string} path The path of the property to get.
|
||
* @param {*} [defaultValue] The value returned for `undefined` resolved values.
|
||
* @returns {*} Returns the resolved value.
|
||
* @example
|
||
*
|
||
* var object = { 'a': [{ 'b': { 'c': 3 } }] };
|
||
*
|
||
* _.get(object, 'a[0].b.c');
|
||
* // => 3
|
||
*
|
||
* _.get(object, ['a', '0', 'b', 'c']);
|
||
* // => 3
|
||
*
|
||
* _.get(object, 'a.b.c', 'default');
|
||
* // => 'default'
|
||
*/
|
||
function get(object, path, defaultValue) {
|
||
var result = object == null ? undefined : baseGet(object, path);
|
||
return result === undefined ? defaultValue : result;
|
||
}
|
||
|
||
var lodash_get = get;
|
||
|
||
var plurals = {
|
||
ach: {
|
||
name: 'Acholi',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n > 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n > 1);
|
||
}
|
||
},
|
||
af: {
|
||
name: 'Afrikaans',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
ak: {
|
||
name: 'Akan',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n > 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n > 1);
|
||
}
|
||
},
|
||
am: {
|
||
name: 'Amharic',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n > 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n > 1);
|
||
}
|
||
},
|
||
an: {
|
||
name: 'Aragonese',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
ar: {
|
||
name: 'Arabic',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 0
|
||
}, {
|
||
plural: 1,
|
||
sample: 1
|
||
}, {
|
||
plural: 2,
|
||
sample: 2
|
||
}, {
|
||
plural: 3,
|
||
sample: 3
|
||
}, {
|
||
plural: 4,
|
||
sample: 11
|
||
}, {
|
||
plural: 5,
|
||
sample: 100
|
||
}],
|
||
nplurals: 6,
|
||
pluralsText: 'nplurals = 6; plural = (n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5)',
|
||
pluralsFunc: function(n) {
|
||
return (n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);
|
||
}
|
||
},
|
||
arn: {
|
||
name: 'Mapudungun',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n > 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n > 1);
|
||
}
|
||
},
|
||
ast: {
|
||
name: 'Asturian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
ay: {
|
||
name: 'Aymará',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
az: {
|
||
name: 'Azerbaijani',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
be: {
|
||
name: 'Belarusian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}, {
|
||
plural: 2,
|
||
sample: 5
|
||
}],
|
||
nplurals: 3,
|
||
pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',
|
||
pluralsFunc: function(n) {
|
||
return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);
|
||
}
|
||
},
|
||
bg: {
|
||
name: 'Bulgarian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
bn: {
|
||
name: 'Bengali',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
bo: {
|
||
name: 'Tibetan',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
br: {
|
||
name: 'Breton',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n > 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n > 1);
|
||
}
|
||
},
|
||
brx: {
|
||
name: 'Bodo',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
bs: {
|
||
name: 'Bosnian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}, {
|
||
plural: 2,
|
||
sample: 5
|
||
}],
|
||
nplurals: 3,
|
||
pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',
|
||
pluralsFunc: function(n) {
|
||
return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);
|
||
}
|
||
},
|
||
ca: {
|
||
name: 'Catalan',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
cgg: {
|
||
name: 'Chiga',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
cs: {
|
||
name: 'Czech',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}, {
|
||
plural: 2,
|
||
sample: 5
|
||
}],
|
||
nplurals: 3,
|
||
pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2)',
|
||
pluralsFunc: function(n) {
|
||
return (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2);
|
||
}
|
||
},
|
||
csb: {
|
||
name: 'Kashubian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}, {
|
||
plural: 2,
|
||
sample: 5
|
||
}],
|
||
nplurals: 3,
|
||
pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',
|
||
pluralsFunc: function(n) {
|
||
return (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);
|
||
}
|
||
},
|
||
cy: {
|
||
name: 'Welsh',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}, {
|
||
plural: 2,
|
||
sample: 3
|
||
}, {
|
||
plural: 3,
|
||
sample: 8
|
||
}],
|
||
nplurals: 4,
|
||
pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 2 ? 1 : (n !== 8 && n !== 11) ? 2 : 3)',
|
||
pluralsFunc: function(n) {
|
||
return (n === 1 ? 0 : n === 2 ? 1 : (n !== 8 && n !== 11) ? 2 : 3);
|
||
}
|
||
},
|
||
da: {
|
||
name: 'Danish',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
de: {
|
||
name: 'German',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
doi: {
|
||
name: 'Dogri',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
dz: {
|
||
name: 'Dzongkha',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
el: {
|
||
name: 'Greek',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
en: {
|
||
name: 'English',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
eo: {
|
||
name: 'Esperanto',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
es: {
|
||
name: 'Spanish',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
et: {
|
||
name: 'Estonian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
eu: {
|
||
name: 'Basque',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
fa: {
|
||
name: 'Persian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
ff: {
|
||
name: 'Fulah',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
fi: {
|
||
name: 'Finnish',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
fil: {
|
||
name: 'Filipino',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n > 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n > 1);
|
||
}
|
||
},
|
||
fo: {
|
||
name: 'Faroese',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
fr: {
|
||
name: 'French',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n > 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n > 1);
|
||
}
|
||
},
|
||
fur: {
|
||
name: 'Friulian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
fy: {
|
||
name: 'Frisian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
ga: {
|
||
name: 'Irish',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}, {
|
||
plural: 2,
|
||
sample: 3
|
||
}, {
|
||
plural: 3,
|
||
sample: 7
|
||
}, {
|
||
plural: 4,
|
||
sample: 11
|
||
}],
|
||
nplurals: 5,
|
||
pluralsText: 'nplurals = 5; plural = (n === 1 ? 0 : n === 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4)',
|
||
pluralsFunc: function(n) {
|
||
return (n === 1 ? 0 : n === 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);
|
||
}
|
||
},
|
||
gd: {
|
||
name: 'Scottish Gaelic',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}, {
|
||
plural: 2,
|
||
sample: 3
|
||
}, {
|
||
plural: 3,
|
||
sample: 20
|
||
}],
|
||
nplurals: 4,
|
||
pluralsText: 'nplurals = 4; plural = ((n === 1 || n === 11) ? 0 : (n === 2 || n === 12) ? 1 : (n > 2 && n < 20) ? 2 : 3)',
|
||
pluralsFunc: function(n) {
|
||
return ((n === 1 || n === 11) ? 0 : (n === 2 || n === 12) ? 1 : (n > 2 && n < 20) ? 2 : 3);
|
||
}
|
||
},
|
||
gl: {
|
||
name: 'Galician',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
gu: {
|
||
name: 'Gujarati',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
gun: {
|
||
name: 'Gun',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n > 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n > 1);
|
||
}
|
||
},
|
||
ha: {
|
||
name: 'Hausa',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
he: {
|
||
name: 'Hebrew',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
hi: {
|
||
name: 'Hindi',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
hne: {
|
||
name: 'Chhattisgarhi',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
hr: {
|
||
name: 'Croatian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}, {
|
||
plural: 2,
|
||
sample: 5
|
||
}],
|
||
nplurals: 3,
|
||
pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',
|
||
pluralsFunc: function(n) {
|
||
return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);
|
||
}
|
||
},
|
||
hu: {
|
||
name: 'Hungarian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
hy: {
|
||
name: 'Armenian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
id: {
|
||
name: 'Indonesian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
is: {
|
||
name: 'Icelandic',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n % 10 !== 1 || n % 100 === 11)',
|
||
pluralsFunc: function(n) {
|
||
return (n % 10 !== 1 || n % 100 === 11);
|
||
}
|
||
},
|
||
it: {
|
||
name: 'Italian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
ja: {
|
||
name: 'Japanese',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
jbo: {
|
||
name: 'Lojban',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
jv: {
|
||
name: 'Javanese',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 0
|
||
}, {
|
||
plural: 1,
|
||
sample: 1
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 0)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 0);
|
||
}
|
||
},
|
||
ka: {
|
||
name: 'Georgian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
kk: {
|
||
name: 'Kazakh',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
km: {
|
||
name: 'Khmer',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
kn: {
|
||
name: 'Kannada',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
ko: {
|
||
name: 'Korean',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
ku: {
|
||
name: 'Kurdish',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
kw: {
|
||
name: 'Cornish',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}, {
|
||
plural: 2,
|
||
sample: 3
|
||
}, {
|
||
plural: 3,
|
||
sample: 4
|
||
}],
|
||
nplurals: 4,
|
||
pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 2 ? 1 : n === 3 ? 2 : 3)',
|
||
pluralsFunc: function(n) {
|
||
return (n === 1 ? 0 : n === 2 ? 1 : n === 3 ? 2 : 3);
|
||
}
|
||
},
|
||
ky: {
|
||
name: 'Kyrgyz',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
lb: {
|
||
name: 'Letzeburgesch',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
ln: {
|
||
name: 'Lingala',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n > 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n > 1);
|
||
}
|
||
},
|
||
lo: {
|
||
name: 'Lao',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
lt: {
|
||
name: 'Lithuanian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}, {
|
||
plural: 2,
|
||
sample: 10
|
||
}],
|
||
nplurals: 3,
|
||
pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',
|
||
pluralsFunc: function(n) {
|
||
return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);
|
||
}
|
||
},
|
||
lv: {
|
||
name: 'Latvian',
|
||
examples: [{
|
||
plural: 2,
|
||
sample: 0
|
||
}, {
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 3,
|
||
pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n !== 0 ? 1 : 2)',
|
||
pluralsFunc: function(n) {
|
||
return (n % 10 === 1 && n % 100 !== 11 ? 0 : n !== 0 ? 1 : 2);
|
||
}
|
||
},
|
||
mai: {
|
||
name: 'Maithili',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
mfe: {
|
||
name: 'Mauritian Creole',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n > 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n > 1);
|
||
}
|
||
},
|
||
mg: {
|
||
name: 'Malagasy',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n > 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n > 1);
|
||
}
|
||
},
|
||
mi: {
|
||
name: 'Maori',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n > 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n > 1);
|
||
}
|
||
},
|
||
mk: {
|
||
name: 'Macedonian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n === 1 || n % 10 === 1 ? 0 : 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n === 1 || n % 10 === 1 ? 0 : 1);
|
||
}
|
||
},
|
||
ml: {
|
||
name: 'Malayalam',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
mn: {
|
||
name: 'Mongolian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
mni: {
|
||
name: 'Manipuri',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
mnk: {
|
||
name: 'Mandinka',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 0
|
||
}, {
|
||
plural: 1,
|
||
sample: 1
|
||
}, {
|
||
plural: 2,
|
||
sample: 2
|
||
}],
|
||
nplurals: 3,
|
||
pluralsText: 'nplurals = 3; plural = (n === 0 ? 0 : n === 1 ? 1 : 2)',
|
||
pluralsFunc: function(n) {
|
||
return (n === 0 ? 0 : n === 1 ? 1 : 2);
|
||
}
|
||
},
|
||
mr: {
|
||
name: 'Marathi',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
ms: {
|
||
name: 'Malay',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
mt: {
|
||
name: 'Maltese',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}, {
|
||
plural: 2,
|
||
sample: 11
|
||
}, {
|
||
plural: 3,
|
||
sample: 20
|
||
}],
|
||
nplurals: 4,
|
||
pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 0 || ( n % 100 > 1 && n % 100 < 11) ? 1 : (n % 100 > 10 && n % 100 < 20 ) ? 2 : 3)',
|
||
pluralsFunc: function(n) {
|
||
return (n === 1 ? 0 : n === 0 || (n % 100 > 1 && n % 100 < 11) ? 1 : (n % 100 > 10 && n % 100 < 20) ? 2 : 3);
|
||
}
|
||
},
|
||
my: {
|
||
name: 'Burmese',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
nah: {
|
||
name: 'Nahuatl',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
nap: {
|
||
name: 'Neapolitan',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
nb: {
|
||
name: 'Norwegian Bokmal',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
ne: {
|
||
name: 'Nepali',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
nl: {
|
||
name: 'Dutch',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
nn: {
|
||
name: 'Norwegian Nynorsk',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
no: {
|
||
name: 'Norwegian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
nso: {
|
||
name: 'Northern Sotho',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
oc: {
|
||
name: 'Occitan',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n > 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n > 1);
|
||
}
|
||
},
|
||
or: {
|
||
name: 'Oriya',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
pa: {
|
||
name: 'Punjabi',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
pap: {
|
||
name: 'Papiamento',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
pl: {
|
||
name: 'Polish',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}, {
|
||
plural: 2,
|
||
sample: 5
|
||
}],
|
||
nplurals: 3,
|
||
pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',
|
||
pluralsFunc: function(n) {
|
||
return (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);
|
||
}
|
||
},
|
||
pms: {
|
||
name: 'Piemontese',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
ps: {
|
||
name: 'Pashto',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
pt: {
|
||
name: 'Portuguese',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
rm: {
|
||
name: 'Romansh',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
ro: {
|
||
name: 'Romanian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}, {
|
||
plural: 2,
|
||
sample: 20
|
||
}],
|
||
nplurals: 3,
|
||
pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n === 0 || (n % 100 > 0 && n % 100 < 20)) ? 1 : 2)',
|
||
pluralsFunc: function(n) {
|
||
return (n === 1 ? 0 : (n === 0 || (n % 100 > 0 && n % 100 < 20)) ? 1 : 2);
|
||
}
|
||
},
|
||
ru: {
|
||
name: 'Russian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}, {
|
||
plural: 2,
|
||
sample: 5
|
||
}],
|
||
nplurals: 3,
|
||
pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',
|
||
pluralsFunc: function(n) {
|
||
return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);
|
||
}
|
||
},
|
||
rw: {
|
||
name: 'Kinyarwanda',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
sah: {
|
||
name: 'Yakut',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
sat: {
|
||
name: 'Santali',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
sco: {
|
||
name: 'Scots',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
sd: {
|
||
name: 'Sindhi',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
se: {
|
||
name: 'Northern Sami',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
si: {
|
||
name: 'Sinhala',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
sk: {
|
||
name: 'Slovak',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}, {
|
||
plural: 2,
|
||
sample: 5
|
||
}],
|
||
nplurals: 3,
|
||
pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2)',
|
||
pluralsFunc: function(n) {
|
||
return (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2);
|
||
}
|
||
},
|
||
sl: {
|
||
name: 'Slovenian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}, {
|
||
plural: 2,
|
||
sample: 3
|
||
}, {
|
||
plural: 3,
|
||
sample: 5
|
||
}],
|
||
nplurals: 4,
|
||
pluralsText: 'nplurals = 4; plural = (n % 100 === 1 ? 0 : n % 100 === 2 ? 1 : n % 100 === 3 || n % 100 === 4 ? 2 : 3)',
|
||
pluralsFunc: function(n) {
|
||
return (n % 100 === 1 ? 0 : n % 100 === 2 ? 1 : n % 100 === 3 || n % 100 === 4 ? 2 : 3);
|
||
}
|
||
},
|
||
so: {
|
||
name: 'Somali',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
son: {
|
||
name: 'Songhay',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
sq: {
|
||
name: 'Albanian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
sr: {
|
||
name: 'Serbian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}, {
|
||
plural: 2,
|
||
sample: 5
|
||
}],
|
||
nplurals: 3,
|
||
pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',
|
||
pluralsFunc: function(n) {
|
||
return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);
|
||
}
|
||
},
|
||
su: {
|
||
name: 'Sundanese',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
sv: {
|
||
name: 'Swedish',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
sw: {
|
||
name: 'Swahili',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
ta: {
|
||
name: 'Tamil',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
te: {
|
||
name: 'Telugu',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
tg: {
|
||
name: 'Tajik',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n > 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n > 1);
|
||
}
|
||
},
|
||
th: {
|
||
name: 'Thai',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
ti: {
|
||
name: 'Tigrinya',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n > 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n > 1);
|
||
}
|
||
},
|
||
tk: {
|
||
name: 'Turkmen',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
tr: {
|
||
name: 'Turkish',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n > 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n > 1);
|
||
}
|
||
},
|
||
tt: {
|
||
name: 'Tatar',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
ug: {
|
||
name: 'Uyghur',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
uk: {
|
||
name: 'Ukrainian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}, {
|
||
plural: 2,
|
||
sample: 5
|
||
}],
|
||
nplurals: 3,
|
||
pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',
|
||
pluralsFunc: function(n) {
|
||
return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);
|
||
}
|
||
},
|
||
ur: {
|
||
name: 'Urdu',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
uz: {
|
||
name: 'Uzbek',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n > 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n > 1);
|
||
}
|
||
},
|
||
vi: {
|
||
name: 'Vietnamese',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
wa: {
|
||
name: 'Walloon',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n > 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n > 1);
|
||
}
|
||
},
|
||
wo: {
|
||
name: 'Wolof',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
yo: {
|
||
name: 'Yoruba',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
zh: {
|
||
name: 'Chinese',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
}
|
||
};
|
||
|
||
var gettext = Gettext;
|
||
|
||
/**
|
||
* Creates and returns a new Gettext instance.
|
||
*
|
||
* @constructor
|
||
* @param {Object} [options] A set of options
|
||
* @param {String} options.sourceLocale The locale that the source code and its
|
||
* texts are written in. Translations for
|
||
* this locale is not necessary.
|
||
* @param {Boolean} options.debug Whether to output debug info into the
|
||
* console.
|
||
* @return {Object} A Gettext instance
|
||
*/
|
||
function Gettext(options) {
|
||
options = options || {};
|
||
|
||
this.catalogs = {};
|
||
this.locale = '';
|
||
this.domain = 'messages';
|
||
|
||
this.listeners = [];
|
||
|
||
// Set source locale
|
||
this.sourceLocale = '';
|
||
if (options.sourceLocale) {
|
||
if (typeof options.sourceLocale === 'string') {
|
||
this.sourceLocale = options.sourceLocale;
|
||
}
|
||
else {
|
||
this.warn('The `sourceLocale` option should be a string');
|
||
}
|
||
}
|
||
|
||
// Set debug flag
|
||
this.debug = 'debug' in options && options.debug === true;
|
||
}
|
||
|
||
/**
|
||
* Adds an event listener.
|
||
*
|
||
* @param {String} eventName An event name
|
||
* @param {Function} callback An event handler function
|
||
*/
|
||
Gettext.prototype.on = function(eventName, callback) {
|
||
this.listeners.push({
|
||
eventName: eventName,
|
||
callback: callback
|
||
});
|
||
};
|
||
|
||
/**
|
||
* Removes an event listener.
|
||
*
|
||
* @param {String} eventName An event name
|
||
* @param {Function} callback A previously registered event handler function
|
||
*/
|
||
Gettext.prototype.off = function(eventName, callback) {
|
||
this.listeners = this.listeners.filter(function(listener) {
|
||
return (
|
||
listener.eventName === eventName &&
|
||
listener.callback === callback
|
||
) === false;
|
||
});
|
||
};
|
||
|
||
/**
|
||
* Emits an event to all registered event listener.
|
||
*
|
||
* @private
|
||
* @param {String} eventName An event name
|
||
* @param {any} eventData Data to pass to event listeners
|
||
*/
|
||
Gettext.prototype.emit = function(eventName, eventData) {
|
||
for (var i = 0; i < this.listeners.length; i++) {
|
||
var listener = this.listeners[i];
|
||
if (listener.eventName === eventName) {
|
||
listener.callback(eventData);
|
||
}
|
||
}
|
||
};
|
||
|
||
/**
|
||
* Logs a warning to the console if debug mode is enabled.
|
||
*
|
||
* @ignore
|
||
* @param {String} message A warning message
|
||
*/
|
||
Gettext.prototype.warn = function(message) {
|
||
if (this.debug) {
|
||
console.warn(message);
|
||
}
|
||
|
||
this.emit('error', new Error(message));
|
||
};
|
||
|
||
/**
|
||
* Stores a set of translations in the set of gettext
|
||
* catalogs.
|
||
*
|
||
* @example
|
||
* gt.addTranslations('sv-SE', 'messages', translationsObject)
|
||
*
|
||
* @param {String} locale A locale string
|
||
* @param {String} domain A domain name
|
||
* @param {Object} translations An object of gettext-parser JSON shape
|
||
*/
|
||
Gettext.prototype.addTranslations = function(locale, domain, translations) {
|
||
if (!this.catalogs[locale]) {
|
||
this.catalogs[locale] = {};
|
||
}
|
||
|
||
this.catalogs[locale][domain] = translations;
|
||
};
|
||
|
||
/**
|
||
* Sets the locale to get translated messages for.
|
||
*
|
||
* @example
|
||
* gt.setLocale('sv-SE')
|
||
*
|
||
* @param {String} locale A locale
|
||
*/
|
||
Gettext.prototype.setLocale = function(locale) {
|
||
if (typeof locale !== 'string') {
|
||
this.warn(
|
||
'You called setLocale() with an argument of type ' + (typeof locale) + '. ' +
|
||
'The locale must be a string.'
|
||
);
|
||
return;
|
||
}
|
||
|
||
if (locale.trim() === '') {
|
||
this.warn('You called setLocale() with an empty value, which makes little sense.');
|
||
}
|
||
|
||
if (locale !== this.sourceLocale && !this.catalogs[locale]) {
|
||
this.warn('You called setLocale() with "' + locale + '", but no translations for that locale has been added.');
|
||
}
|
||
|
||
this.locale = locale;
|
||
};
|
||
|
||
/**
|
||
* Sets the default gettext domain.
|
||
*
|
||
* @example
|
||
* gt.setTextDomain('domainname')
|
||
*
|
||
* @param {String} domain A gettext domain name
|
||
*/
|
||
Gettext.prototype.setTextDomain = function(domain) {
|
||
if (typeof domain !== 'string') {
|
||
this.warn(
|
||
'You called setTextDomain() with an argument of type ' + (typeof domain) + '. ' +
|
||
'The domain must be a string.'
|
||
);
|
||
return;
|
||
}
|
||
|
||
if (domain.trim() === '') {
|
||
this.warn('You called setTextDomain() with an empty `domain` value.');
|
||
}
|
||
|
||
this.domain = domain;
|
||
};
|
||
|
||
/**
|
||
* Translates a string using the default textdomain
|
||
*
|
||
* @example
|
||
* gt.gettext('Some text')
|
||
*
|
||
* @param {String} msgid String to be translated
|
||
* @return {String} Translation or the original string if no translation was found
|
||
*/
|
||
Gettext.prototype.gettext = function(msgid) {
|
||
return this.dnpgettext(this.domain, '', msgid);
|
||
};
|
||
|
||
/**
|
||
* Translates a string using a specific domain
|
||
*
|
||
* @example
|
||
* gt.dgettext('domainname', 'Some text')
|
||
*
|
||
* @param {String} domain A gettext domain name
|
||
* @param {String} msgid String to be translated
|
||
* @return {String} Translation or the original string if no translation was found
|
||
*/
|
||
Gettext.prototype.dgettext = function(domain, msgid) {
|
||
return this.dnpgettext(domain, '', msgid);
|
||
};
|
||
|
||
/**
|
||
* Translates a plural string using the default textdomain
|
||
*
|
||
* @example
|
||
* gt.ngettext('One thing', 'Many things', numberOfThings)
|
||
*
|
||
* @param {String} msgid String to be translated when count is not plural
|
||
* @param {String} msgidPlural String to be translated when count is plural
|
||
* @param {Number} count Number count for the plural
|
||
* @return {String} Translation or the original string if no translation was found
|
||
*/
|
||
Gettext.prototype.ngettext = function(msgid, msgidPlural, count) {
|
||
return this.dnpgettext(this.domain, '', msgid, msgidPlural, count);
|
||
};
|
||
|
||
/**
|
||
* Translates a plural string using a specific textdomain
|
||
*
|
||
* @example
|
||
* gt.dngettext('domainname', 'One thing', 'Many things', numberOfThings)
|
||
*
|
||
* @param {String} domain A gettext domain name
|
||
* @param {String} msgid String to be translated when count is not plural
|
||
* @param {String} msgidPlural String to be translated when count is plural
|
||
* @param {Number} count Number count for the plural
|
||
* @return {String} Translation or the original string if no translation was found
|
||
*/
|
||
Gettext.prototype.dngettext = function(domain, msgid, msgidPlural, count) {
|
||
return this.dnpgettext(domain, '', msgid, msgidPlural, count);
|
||
};
|
||
|
||
/**
|
||
* Translates a string from a specific context using the default textdomain
|
||
*
|
||
* @example
|
||
* gt.pgettext('sports', 'Back')
|
||
*
|
||
* @param {String} msgctxt Translation context
|
||
* @param {String} msgid String to be translated
|
||
* @return {String} Translation or the original string if no translation was found
|
||
*/
|
||
Gettext.prototype.pgettext = function(msgctxt, msgid) {
|
||
return this.dnpgettext(this.domain, msgctxt, msgid);
|
||
};
|
||
|
||
/**
|
||
* Translates a string from a specific context using s specific textdomain
|
||
*
|
||
* @example
|
||
* gt.dpgettext('domainname', 'sports', 'Back')
|
||
*
|
||
* @param {String} domain A gettext domain name
|
||
* @param {String} msgctxt Translation context
|
||
* @param {String} msgid String to be translated
|
||
* @return {String} Translation or the original string if no translation was found
|
||
*/
|
||
Gettext.prototype.dpgettext = function(domain, msgctxt, msgid) {
|
||
return this.dnpgettext(domain, msgctxt, msgid);
|
||
};
|
||
|
||
/**
|
||
* Translates a plural string from a specific context using the default textdomain
|
||
*
|
||
* @example
|
||
* gt.npgettext('sports', 'Back', '%d backs', numberOfBacks)
|
||
*
|
||
* @param {String} msgctxt Translation context
|
||
* @param {String} msgid String to be translated when count is not plural
|
||
* @param {String} msgidPlural String to be translated when count is plural
|
||
* @param {Number} count Number count for the plural
|
||
* @return {String} Translation or the original string if no translation was found
|
||
*/
|
||
Gettext.prototype.npgettext = function(msgctxt, msgid, msgidPlural, count) {
|
||
return this.dnpgettext(this.domain, msgctxt, msgid, msgidPlural, count);
|
||
};
|
||
|
||
/**
|
||
* Translates a plural string from a specifi context using a specific textdomain
|
||
*
|
||
* @example
|
||
* gt.dnpgettext('domainname', 'sports', 'Back', '%d backs', numberOfBacks)
|
||
*
|
||
* @param {String} domain A gettext domain name
|
||
* @param {String} msgctxt Translation context
|
||
* @param {String} msgid String to be translated
|
||
* @param {String} msgidPlural If no translation was found, return this on count!=1
|
||
* @param {Number} count Number count for the plural
|
||
* @return {String} Translation or the original string if no translation was found
|
||
*/
|
||
Gettext.prototype.dnpgettext = function(domain, msgctxt, msgid, msgidPlural, count) {
|
||
var defaultTranslation = msgid;
|
||
var translation;
|
||
var index;
|
||
|
||
msgctxt = msgctxt || '';
|
||
|
||
if (!isNaN(count) && count !== 1) {
|
||
defaultTranslation = msgidPlural || msgid;
|
||
}
|
||
|
||
translation = this._getTranslation(domain, msgctxt, msgid);
|
||
|
||
if (translation) {
|
||
if (typeof count === 'number') {
|
||
var pluralsFunc = plurals[Gettext.getLanguageCode(this.locale)].pluralsFunc;
|
||
index = pluralsFunc(count);
|
||
if (typeof index === 'boolean') {
|
||
index = index ? 1 : 0;
|
||
}
|
||
} else {
|
||
index = 0;
|
||
}
|
||
|
||
return translation.msgstr[index] || defaultTranslation;
|
||
}
|
||
else if (!this.sourceLocale || this.locale !== this.sourceLocale) {
|
||
this.warn('No translation was found for msgid "' + msgid + '" in msgctxt "' + msgctxt + '" and domain "' + domain + '"');
|
||
}
|
||
|
||
return defaultTranslation;
|
||
};
|
||
|
||
/**
|
||
* Retrieves comments object for a translation. The comments object
|
||
* has the shape `{ translator, extracted, reference, flag, previous }`.
|
||
*
|
||
* @example
|
||
* const comment = gt.getComment('domainname', 'sports', 'Backs')
|
||
*
|
||
* @private
|
||
* @param {String} domain A gettext domain name
|
||
* @param {String} msgctxt Translation context
|
||
* @param {String} msgid String to be translated
|
||
* @return {Object} Comments object or false if not found
|
||
*/
|
||
Gettext.prototype.getComment = function(domain, msgctxt, msgid) {
|
||
var translation;
|
||
|
||
translation = this._getTranslation(domain, msgctxt, msgid);
|
||
if (translation) {
|
||
return translation.comments || {};
|
||
}
|
||
|
||
return {};
|
||
};
|
||
|
||
/**
|
||
* Retrieves translation object from the domain and context
|
||
*
|
||
* @private
|
||
* @param {String} domain A gettext domain name
|
||
* @param {String} msgctxt Translation context
|
||
* @param {String} msgid String to be translated
|
||
* @return {Object} Translation object or false if not found
|
||
*/
|
||
Gettext.prototype._getTranslation = function(domain, msgctxt, msgid) {
|
||
msgctxt = msgctxt || '';
|
||
|
||
return lodash_get(this.catalogs, [this.locale, domain, 'translations', msgctxt, msgid]);
|
||
};
|
||
|
||
/**
|
||
* Returns the language code part of a locale
|
||
*
|
||
* @example
|
||
* Gettext.getLanguageCode('sv-SE')
|
||
* // -> "sv"
|
||
*
|
||
* @private
|
||
* @param {String} locale A case-insensitive locale string
|
||
* @returns {String} A language code
|
||
*/
|
||
Gettext.getLanguageCode = function(locale) {
|
||
return locale.split(/[\-_]/)[0].toLowerCase();
|
||
};
|
||
|
||
/* C-style aliases */
|
||
|
||
/**
|
||
* C-style alias for [setTextDomain](#gettextsettextdomaindomain)
|
||
*
|
||
* @see Gettext#setTextDomain
|
||
*/
|
||
Gettext.prototype.textdomain = function(domain) {
|
||
if (this.debug) {
|
||
console.warn('textdomain(domain) was used to set locales in node-gettext v1. ' +
|
||
'Make sure you are using it for domains, and switch to setLocale(locale) if you are not.\n\n ' +
|
||
'To read more about the migration from node-gettext v1 to v2, ' +
|
||
'see https://github.com/alexanderwallin/node-gettext/#migrating-from-1x-to-2x\n\n' +
|
||
'This warning will be removed in the final 2.0.0');
|
||
}
|
||
|
||
this.setTextDomain(domain);
|
||
};
|
||
|
||
/**
|
||
* C-style alias for [setLocale](#gettextsetlocalelocale)
|
||
*
|
||
* @see Gettext#setLocale
|
||
*/
|
||
Gettext.prototype.setlocale = function(locale) {
|
||
this.setLocale(locale);
|
||
};
|
||
|
||
/* Deprecated functions */
|
||
|
||
/**
|
||
* This function will be removed in the final 2.0.0 release.
|
||
*
|
||
* @deprecated
|
||
*/
|
||
Gettext.prototype.addTextdomain = function() {
|
||
console.error('addTextdomain() is deprecated.\n\n' +
|
||
'* To add translations, use addTranslations()\n' +
|
||
'* To set the default domain, use setTextDomain() (or its alias textdomain())\n' +
|
||
'\n' +
|
||
'To read more about the migration from node-gettext v1 to v2, ' +
|
||
'see https://github.com/alexanderwallin/node-gettext/#migrating-from-1x-to-2x');
|
||
};
|
||
|
||
var getLocale_1 = getLocale;
|
||
var getCanonicalLocale_1 = getCanonicalLocale;
|
||
var getLanguage_1 = getLanguage;
|
||
var translate_1 = translate;
|
||
var translatePlural_1 = translatePlural;
|
||
var getFirstDay_1 = getFirstDay;
|
||
var getDayNames_1 = getDayNames;
|
||
var getDayNamesShort_1 = getDayNamesShort;
|
||
var getDayNamesMin_1 = getDayNamesMin;
|
||
var getMonthNames_1 = getMonthNames;
|
||
var getMonthNamesShort_1 = getMonthNamesShort;
|
||
|
||
/// <reference types="@nextcloud/typings" />
|
||
|
||
/**
|
||
* Returns the user's locale
|
||
*/
|
||
function getLocale() {
|
||
if (typeof OC === 'undefined') {
|
||
console.warn('No OC found');
|
||
return 'en';
|
||
}
|
||
|
||
return OC.getLocale();
|
||
}
|
||
|
||
function getCanonicalLocale() {
|
||
return getLocale().replace(/_/g, '-');
|
||
}
|
||
/**
|
||
* Returns the user's language
|
||
*/
|
||
|
||
|
||
function getLanguage() {
|
||
if (typeof OC === 'undefined') {
|
||
console.warn('No OC found');
|
||
return 'en';
|
||
}
|
||
|
||
return OC.getLanguage();
|
||
}
|
||
|
||
/**
|
||
* Translate a string
|
||
*
|
||
* @param {string} app the id of the app for which to translate the string
|
||
* @param {string} text the string to translate
|
||
* @param {object} vars map of placeholder key to value
|
||
* @param {number} number to replace %n with
|
||
* @param {object} [options] options object
|
||
* @return {string}
|
||
*/
|
||
function translate(app, text, vars, count, options) {
|
||
if (typeof OC === 'undefined') {
|
||
console.warn('No OC found');
|
||
return text;
|
||
}
|
||
|
||
return OC.L10N.translate(app, text, vars, count, options);
|
||
}
|
||
/**
|
||
* Translate a plural string
|
||
*
|
||
* @param {string} app the id of the app for which to translate the string
|
||
* @param {string} textSingular the string to translate for exactly one object
|
||
* @param {string} textPlural the string to translate for n objects
|
||
* @param {number} count number to determine whether to use singular or plural
|
||
* @param {Object} vars of placeholder key to value
|
||
* @param {object} options options object
|
||
* @return {string}
|
||
*/
|
||
|
||
|
||
function translatePlural(app, textSingular, textPlural, count, vars, options) {
|
||
if (typeof OC === 'undefined') {
|
||
console.warn('No OC found');
|
||
return textSingular;
|
||
}
|
||
|
||
return OC.L10N.translatePlural(app, textSingular, textPlural, count, vars, options);
|
||
}
|
||
/**
|
||
* Get the first day of the week
|
||
*
|
||
* @return {number}
|
||
*/
|
||
|
||
|
||
function getFirstDay() {
|
||
if (typeof window.firstDay === 'undefined') {
|
||
console.warn('No firstDay found');
|
||
return 1;
|
||
}
|
||
|
||
return window.firstDay;
|
||
}
|
||
/**
|
||
* Get a list of day names (full names)
|
||
*
|
||
* @return {string[]}
|
||
*/
|
||
|
||
|
||
function getDayNames() {
|
||
if (typeof window.dayNames === 'undefined') {
|
||
console.warn('No dayNames found');
|
||
return ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
|
||
}
|
||
|
||
return window.dayNames;
|
||
}
|
||
/**
|
||
* Get a list of day names (short names)
|
||
*
|
||
* @return {string[]}
|
||
*/
|
||
|
||
|
||
function getDayNamesShort() {
|
||
if (typeof window.dayNamesShort === 'undefined') {
|
||
console.warn('No dayNamesShort found');
|
||
return ['Sun.', 'Mon.', 'Tue.', 'Wed.', 'Thu.', 'Fri.', 'Sat.'];
|
||
}
|
||
|
||
return window.dayNamesShort;
|
||
}
|
||
/**
|
||
* Get a list of day names (minified names)
|
||
*
|
||
* @return {string[]}
|
||
*/
|
||
|
||
|
||
function getDayNamesMin() {
|
||
if (typeof window.dayNamesMin === 'undefined') {
|
||
console.warn('No dayNamesMin found');
|
||
return ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];
|
||
}
|
||
|
||
return window.dayNamesMin;
|
||
}
|
||
/**
|
||
* Get a list of month names (full names)
|
||
*
|
||
* @return {string[]}
|
||
*/
|
||
|
||
|
||
function getMonthNames() {
|
||
if (typeof window.monthNames === 'undefined') {
|
||
console.warn('No monthNames found');
|
||
return ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
|
||
}
|
||
|
||
return window.monthNames;
|
||
}
|
||
/**
|
||
* Get a list of month names (short names)
|
||
*
|
||
* @return {string[]}
|
||
*/
|
||
|
||
|
||
function getMonthNamesShort() {
|
||
if (typeof window.monthNamesShort === 'undefined') {
|
||
console.warn('No monthNamesShort found');
|
||
return ['Jan.', 'Feb.', 'Mar.', 'Apr.', 'May.', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Oct.', 'Nov.', 'Dec.'];
|
||
}
|
||
|
||
return window.monthNamesShort;
|
||
}
|
||
|
||
|
||
var dist = /*#__PURE__*/Object.defineProperty({
|
||
getLocale: getLocale_1,
|
||
getCanonicalLocale: getCanonicalLocale_1,
|
||
getLanguage: getLanguage_1,
|
||
translate: translate_1,
|
||
translatePlural: translatePlural_1,
|
||
getFirstDay: getFirstDay_1,
|
||
getDayNames: getDayNames_1,
|
||
getDayNamesShort: getDayNamesShort_1,
|
||
getDayNamesMin: getDayNamesMin_1,
|
||
getMonthNames: getMonthNames_1,
|
||
getMonthNamesShort: getMonthNamesShort_1
|
||
}, '__esModule', {value: true});
|
||
|
||
var getGettextBuilder_1 = getGettextBuilder;
|
||
|
||
var _nodeGettext = _interopRequireDefault(gettext);
|
||
|
||
|
||
|
||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||
|
||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||
|
||
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
||
|
||
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
||
|
||
var GettextBuilder = /*#__PURE__*/function () {
|
||
function GettextBuilder() {
|
||
_classCallCheck(this, GettextBuilder);
|
||
|
||
this.translations = {};
|
||
this.debug = false;
|
||
}
|
||
|
||
_createClass(GettextBuilder, [{
|
||
key: "setLanguage",
|
||
value: function setLanguage(language) {
|
||
this.locale = language;
|
||
return this;
|
||
}
|
||
}, {
|
||
key: "detectLocale",
|
||
value: function detectLocale() {
|
||
return this.setLanguage((0, dist.getLanguage)().replace('-', '_'));
|
||
}
|
||
}, {
|
||
key: "addTranslation",
|
||
value: function addTranslation(language, data) {
|
||
this.translations[language] = data;
|
||
return this;
|
||
}
|
||
}, {
|
||
key: "enableDebugMode",
|
||
value: function enableDebugMode() {
|
||
this.debug = true;
|
||
return this;
|
||
}
|
||
}, {
|
||
key: "build",
|
||
value: function build() {
|
||
return new GettextWrapper(this.locale || 'en', this.translations, this.debug);
|
||
}
|
||
}]);
|
||
|
||
return GettextBuilder;
|
||
}();
|
||
|
||
var GettextWrapper = /*#__PURE__*/function () {
|
||
function GettextWrapper(locale, data, debug) {
|
||
_classCallCheck(this, GettextWrapper);
|
||
|
||
this.gt = new _nodeGettext.default({
|
||
debug: debug,
|
||
sourceLocale: 'en'
|
||
});
|
||
|
||
for (var key in data) {
|
||
this.gt.addTranslations(key, 'messages', data[key]);
|
||
}
|
||
|
||
this.gt.setLocale(locale);
|
||
}
|
||
|
||
_createClass(GettextWrapper, [{
|
||
key: "subtitudePlaceholders",
|
||
value: function subtitudePlaceholders(translated, vars) {
|
||
return translated.replace(/{([^{}]*)}/g, function (a, b) {
|
||
var r = vars[b];
|
||
|
||
if (typeof r === 'string' || typeof r === 'number') {
|
||
return r.toString();
|
||
} else {
|
||
return a;
|
||
}
|
||
});
|
||
}
|
||
}, {
|
||
key: "gettext",
|
||
value: function gettext(original) {
|
||
var placeholders = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
||
return this.subtitudePlaceholders(this.gt.gettext(original), placeholders);
|
||
}
|
||
}, {
|
||
key: "ngettext",
|
||
value: function ngettext(singular, plural, count) {
|
||
var placeholders = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
||
return this.subtitudePlaceholders(this.gt.ngettext(singular, plural, count).replace(/%n/g, count.toString()), placeholders);
|
||
}
|
||
}]);
|
||
|
||
return GettextWrapper;
|
||
}();
|
||
|
||
function getGettextBuilder() {
|
||
return new GettextBuilder();
|
||
}
|
||
|
||
var gtBuilder = getGettextBuilder_1().detectLocale();
|
||
process.env.TRANSLATIONS.map(function (data) {
|
||
return gtBuilder.addTranslation(data.locale, data.json);
|
||
});
|
||
var gt = gtBuilder.build();
|
||
gt.ngettext.bind(gt);
|
||
var t = gt.gettext.bind(gt);
|
||
|
||
var ToastType =
|
||
/** @class */
|
||
function () {
|
||
function ToastType() {}
|
||
|
||
ToastType.ERROR = 'toast-error';
|
||
ToastType.WARNING = 'toast-warning';
|
||
ToastType.INFO = 'toast-info';
|
||
ToastType.SUCCESS = 'toast-success';
|
||
ToastType.PERMANENT = 'toast-error';
|
||
ToastType.UNDO = 'toast-undo';
|
||
return ToastType;
|
||
}();
|
||
|
||
var TOAST_UNDO_TIMEOUT = 10000;
|
||
var TOAST_DEFAULT_TIMEOUT = 7000;
|
||
var TOAST_PERMANENT_TIMEOUT = -1;
|
||
/**
|
||
* Show a toast message
|
||
*
|
||
* @param text Message to be shown in the toast, any HTML is removed by default
|
||
* @param options
|
||
*/
|
||
|
||
function showMessage(data, options) {
|
||
var _a;
|
||
|
||
var _b;
|
||
|
||
options = Object.assign({
|
||
timeout: TOAST_DEFAULT_TIMEOUT,
|
||
isHTML: false,
|
||
type: undefined,
|
||
// An undefined selector defaults to the body element
|
||
selector: undefined,
|
||
onRemove: function onRemove() {},
|
||
onClick: undefined,
|
||
close: true
|
||
}, options);
|
||
|
||
if (typeof data === 'string' && !options.isHTML) {
|
||
// fime mae sure that text is extracted
|
||
var element = document.createElement('div');
|
||
element.innerHTML = data;
|
||
data = element.innerText;
|
||
}
|
||
|
||
var classes = (_b = options.type) !== null && _b !== void 0 ? _b : '';
|
||
|
||
if (typeof options.onClick === 'function') {
|
||
classes += ' toast-with-click ';
|
||
}
|
||
|
||
var isNode = data instanceof Node;
|
||
var toast = toastify((_a = {}, _a[!isNode ? 'text' : 'node'] = data, _a.duration = options.timeout, _a.callback = options.onRemove, _a.onClick = options.onClick, _a.close = options.close, _a.gravity = 'top', _a.selector = options.selector, _a.position = 'right', _a.backgroundColor = '', _a.className = 'dialogs ' + classes, _a.escapeMarkup = !options.isHTML, _a));
|
||
toast.showToast();
|
||
return toast;
|
||
}
|
||
/**
|
||
* Show a toast message with error styling
|
||
*
|
||
* @param text Message to be shown in the toast, any HTML is removed by default
|
||
* @param options
|
||
*/
|
||
|
||
function showError(text, options) {
|
||
return showMessage(text, __assign(__assign({}, options), {
|
||
type: ToastType.ERROR
|
||
}));
|
||
}
|
||
/**
|
||
* Show a toast message with warning styling
|
||
*
|
||
* @param text Message to be shown in the toast, any HTML is removed by default
|
||
* @param options
|
||
*/
|
||
|
||
function showWarning(text, options) {
|
||
return showMessage(text, __assign(__assign({}, options), {
|
||
type: ToastType.WARNING
|
||
}));
|
||
}
|
||
/**
|
||
* Show a toast message with info styling
|
||
*
|
||
* @param text Message to be shown in the toast, any HTML is removed by default
|
||
* @param options
|
||
*/
|
||
|
||
function showInfo(text, options) {
|
||
return showMessage(text, __assign(__assign({}, options), {
|
||
type: ToastType.INFO
|
||
}));
|
||
}
|
||
/**
|
||
* Show a toast message with success styling
|
||
*
|
||
* @param text Message to be shown in the toast, any HTML is removed by default
|
||
* @param options
|
||
*/
|
||
|
||
function showSuccess(text, options) {
|
||
return showMessage(text, __assign(__assign({}, options), {
|
||
type: ToastType.SUCCESS
|
||
}));
|
||
}
|
||
/**
|
||
* Show a toast message with undo styling
|
||
*
|
||
* @param text Message to be shown in the toast, any HTML is removed by default
|
||
* @param onUndo Function that is called when the undo button is clicked
|
||
* @param options
|
||
*/
|
||
|
||
function showUndo(text, onUndo, options) {
|
||
// onUndo callback is mandatory
|
||
if (!(onUndo instanceof Function)) {
|
||
throw new Error('Please provide a valid onUndo method');
|
||
}
|
||
|
||
var toast;
|
||
options = Object.assign(options || {}, {
|
||
// force 10 seconds of timeout
|
||
timeout: TOAST_UNDO_TIMEOUT,
|
||
// remove close button
|
||
close: false
|
||
}); // Generate undo layout
|
||
|
||
var undoContent = document.createElement('span');
|
||
var undoButton = document.createElement('button');
|
||
undoButton.classList.add('toast-undo-button');
|
||
undoButton.innerText = t('Undo');
|
||
undoContent.innerText = text;
|
||
undoContent.appendChild(undoButton);
|
||
undoButton.addEventListener('click', function (event) {
|
||
event.stopPropagation();
|
||
onUndo(event); // Hide toast
|
||
|
||
if ((toast === null || toast === void 0 ? void 0 : toast.hideToast) instanceof Function) {
|
||
toast.hideToast();
|
||
}
|
||
});
|
||
toast = showMessage(undoContent, __assign(__assign({}, options), {
|
||
type: ToastType.UNDO
|
||
}));
|
||
return toast;
|
||
}
|
||
|
||
|
||
//# sourceMappingURL=index.es.js.map
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/event-bus/dist/ProxyBus.js":
|
||
/*!************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/event-bus/dist/ProxyBus.js ***!
|
||
\************************************************************/
|
||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
/* provided dependency */ var console = __webpack_require__(/*! console-browserify */ "./node_modules/console-browserify/index.js");
|
||
|
||
|
||
Object.defineProperty(exports, "__esModule", ({
|
||
value: true
|
||
}));
|
||
exports.ProxyBus = void 0;
|
||
|
||
var _valid = _interopRequireDefault(__webpack_require__(/*! semver/functions/valid */ "./node_modules/@nextcloud/event-bus/node_modules/semver/functions/valid.js"));
|
||
|
||
var _major = _interopRequireDefault(__webpack_require__(/*! semver/functions/major */ "./node_modules/@nextcloud/event-bus/node_modules/semver/functions/major.js"));
|
||
|
||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||
|
||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||
|
||
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
||
|
||
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
||
|
||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
||
|
||
var packageJson = {
|
||
name: "@nextcloud/event-bus",
|
||
version: "1.2.0",
|
||
description: "",
|
||
main: "dist/index.js",
|
||
types: "dist/index.d.ts",
|
||
scripts: {
|
||
build: "babel ./lib --out-dir dist --extensions '.ts,.tsx' --source-maps && tsc --emitDeclarationOnly",
|
||
"build:doc": "typedoc --excludeNotExported --mode file --out dist/doc lib/index.ts && touch dist/doc/.nojekyll",
|
||
"check-types": "tsc",
|
||
dev: "babel ./lib --out-dir dist --extensions '.ts,.tsx' --watch",
|
||
test: "jest",
|
||
"test:watch": "jest --watchAll"
|
||
},
|
||
keywords: ["nextcloud"],
|
||
homepage: "https://github.com/nextcloud/nextcloud-event-bus#readme",
|
||
author: "Christoph Wurst",
|
||
license: "GPL-3.0-or-later",
|
||
repository: {
|
||
type: "git",
|
||
url: "https://github.com/nextcloud/nextcloud-event-bus"
|
||
},
|
||
dependencies: {
|
||
"@types/semver": "^7.1.0",
|
||
"core-js": "^3.6.2",
|
||
semver: "^7.3.2"
|
||
},
|
||
devDependencies: {
|
||
"@babel/cli": "^7.6.0",
|
||
"@babel/core": "^7.6.0",
|
||
"@babel/plugin-proposal-class-properties": "^7.5.5",
|
||
"@babel/preset-env": "^7.6.0",
|
||
"@babel/preset-typescript": "^7.6.0",
|
||
"@nextcloud/browserslist-config": "^1.0.0",
|
||
"babel-jest": "^26.0.1",
|
||
"babel-plugin-inline-json-import": "^0.3.2",
|
||
jest: "^26.0.1",
|
||
typedoc: "^0.17.2",
|
||
typescript: "^3.6.3"
|
||
},
|
||
browserslist: ["extends @nextcloud/browserslist-config"]
|
||
};
|
||
|
||
var ProxyBus = /*#__PURE__*/function () {
|
||
function ProxyBus(bus) {
|
||
_classCallCheck(this, ProxyBus);
|
||
|
||
_defineProperty(this, "bus", void 0);
|
||
|
||
if (typeof bus.getVersion !== 'function' || !(0, _valid.default)(bus.getVersion())) {
|
||
console.warn('Proxying an event bus with an unknown or invalid version');
|
||
} else if ((0, _major.default)(bus.getVersion()) !== (0, _major.default)(this.getVersion())) {
|
||
console.warn('Proxying an event bus of version ' + bus.getVersion() + ' with ' + this.getVersion());
|
||
}
|
||
|
||
this.bus = bus;
|
||
}
|
||
|
||
_createClass(ProxyBus, [{
|
||
key: "getVersion",
|
||
value: function getVersion() {
|
||
return packageJson.version;
|
||
}
|
||
}, {
|
||
key: "subscribe",
|
||
value: function subscribe(name, handler) {
|
||
this.bus.subscribe(name, handler);
|
||
}
|
||
}, {
|
||
key: "unsubscribe",
|
||
value: function unsubscribe(name, handler) {
|
||
this.bus.unsubscribe(name, handler);
|
||
}
|
||
}, {
|
||
key: "emit",
|
||
value: function emit(name, event) {
|
||
this.bus.emit(name, event);
|
||
}
|
||
}]);
|
||
|
||
return ProxyBus;
|
||
}();
|
||
|
||
exports.ProxyBus = ProxyBus;
|
||
//# sourceMappingURL=ProxyBus.js.map
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/event-bus/dist/SimpleBus.js":
|
||
/*!*************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/event-bus/dist/SimpleBus.js ***!
|
||
\*************************************************************/
|
||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
/* provided dependency */ var console = __webpack_require__(/*! console-browserify */ "./node_modules/console-browserify/index.js");
|
||
|
||
|
||
__webpack_require__(/*! core-js/modules/es.array.concat */ "./node_modules/core-js/modules/es.array.concat.js");
|
||
|
||
__webpack_require__(/*! core-js/modules/es.array.filter */ "./node_modules/core-js/modules/es.array.filter.js");
|
||
|
||
__webpack_require__(/*! core-js/modules/es.array.for-each */ "./node_modules/core-js/modules/es.array.for-each.js");
|
||
|
||
__webpack_require__(/*! core-js/modules/es.array.iterator */ "./node_modules/core-js/modules/es.array.iterator.js");
|
||
|
||
__webpack_require__(/*! core-js/modules/es.map */ "./node_modules/core-js/modules/es.map.js");
|
||
|
||
__webpack_require__(/*! core-js/modules/es.object.to-string */ "./node_modules/core-js/modules/es.object.to-string.js");
|
||
|
||
__webpack_require__(/*! core-js/modules/es.string.iterator */ "./node_modules/core-js/modules/es.string.iterator.js");
|
||
|
||
__webpack_require__(/*! core-js/modules/web.dom-collections.for-each */ "./node_modules/core-js/modules/web.dom-collections.for-each.js");
|
||
|
||
__webpack_require__(/*! core-js/modules/web.dom-collections.iterator */ "./node_modules/core-js/modules/web.dom-collections.iterator.js");
|
||
|
||
Object.defineProperty(exports, "__esModule", ({
|
||
value: true
|
||
}));
|
||
exports.SimpleBus = void 0;
|
||
|
||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||
|
||
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
||
|
||
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
||
|
||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
||
|
||
var packageJson = {
|
||
name: "@nextcloud/event-bus",
|
||
version: "1.2.0",
|
||
description: "",
|
||
main: "dist/index.js",
|
||
types: "dist/index.d.ts",
|
||
scripts: {
|
||
build: "babel ./lib --out-dir dist --extensions '.ts,.tsx' --source-maps && tsc --emitDeclarationOnly",
|
||
"build:doc": "typedoc --excludeNotExported --mode file --out dist/doc lib/index.ts && touch dist/doc/.nojekyll",
|
||
"check-types": "tsc",
|
||
dev: "babel ./lib --out-dir dist --extensions '.ts,.tsx' --watch",
|
||
test: "jest",
|
||
"test:watch": "jest --watchAll"
|
||
},
|
||
keywords: ["nextcloud"],
|
||
homepage: "https://github.com/nextcloud/nextcloud-event-bus#readme",
|
||
author: "Christoph Wurst",
|
||
license: "GPL-3.0-or-later",
|
||
repository: {
|
||
type: "git",
|
||
url: "https://github.com/nextcloud/nextcloud-event-bus"
|
||
},
|
||
dependencies: {
|
||
"@types/semver": "^7.1.0",
|
||
"core-js": "^3.6.2",
|
||
semver: "^7.3.2"
|
||
},
|
||
devDependencies: {
|
||
"@babel/cli": "^7.6.0",
|
||
"@babel/core": "^7.6.0",
|
||
"@babel/plugin-proposal-class-properties": "^7.5.5",
|
||
"@babel/preset-env": "^7.6.0",
|
||
"@babel/preset-typescript": "^7.6.0",
|
||
"@nextcloud/browserslist-config": "^1.0.0",
|
||
"babel-jest": "^26.0.1",
|
||
"babel-plugin-inline-json-import": "^0.3.2",
|
||
jest: "^26.0.1",
|
||
typedoc: "^0.17.2",
|
||
typescript: "^3.6.3"
|
||
},
|
||
browserslist: ["extends @nextcloud/browserslist-config"]
|
||
};
|
||
|
||
var SimpleBus = /*#__PURE__*/function () {
|
||
function SimpleBus() {
|
||
_classCallCheck(this, SimpleBus);
|
||
|
||
_defineProperty(this, "handlers", new Map());
|
||
}
|
||
|
||
_createClass(SimpleBus, [{
|
||
key: "getVersion",
|
||
value: function getVersion() {
|
||
return packageJson.version;
|
||
}
|
||
}, {
|
||
key: "subscribe",
|
||
value: function subscribe(name, handler) {
|
||
this.handlers.set(name, (this.handlers.get(name) || []).concat(handler));
|
||
}
|
||
}, {
|
||
key: "unsubscribe",
|
||
value: function unsubscribe(name, handler) {
|
||
this.handlers.set(name, (this.handlers.get(name) || []).filter(function (h) {
|
||
return h != handler;
|
||
}));
|
||
}
|
||
}, {
|
||
key: "emit",
|
||
value: function emit(name, event) {
|
||
(this.handlers.get(name) || []).forEach(function (h) {
|
||
try {
|
||
h(event);
|
||
} catch (e) {
|
||
console.error('could not invoke event listener', e);
|
||
}
|
||
});
|
||
}
|
||
}]);
|
||
|
||
return SimpleBus;
|
||
}();
|
||
|
||
exports.SimpleBus = SimpleBus;
|
||
//# sourceMappingURL=SimpleBus.js.map
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/event-bus/dist/index.js":
|
||
/*!*********************************************************!*\
|
||
!*** ./node_modules/@nextcloud/event-bus/dist/index.js ***!
|
||
\*********************************************************/
|
||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
/* provided dependency */ var console = __webpack_require__(/*! console-browserify */ "./node_modules/console-browserify/index.js");
|
||
|
||
|
||
Object.defineProperty(exports, "__esModule", ({
|
||
value: true
|
||
}));
|
||
exports.subscribe = subscribe;
|
||
exports.unsubscribe = unsubscribe;
|
||
exports.emit = emit;
|
||
|
||
var _ProxyBus = __webpack_require__(/*! ./ProxyBus */ "./node_modules/@nextcloud/event-bus/dist/ProxyBus.js");
|
||
|
||
var _SimpleBus = __webpack_require__(/*! ./SimpleBus */ "./node_modules/@nextcloud/event-bus/dist/SimpleBus.js");
|
||
|
||
function getBus() {
|
||
if (typeof window.OC !== 'undefined' && window.OC._eventBus && typeof window._nc_event_bus === 'undefined') {
|
||
console.warn('found old event bus instance at OC._eventBus. Update your version!');
|
||
window._nc_event_bus = window.OC._eventBus;
|
||
} // Either use an existing event bus instance or create one
|
||
|
||
|
||
if (typeof window._nc_event_bus !== 'undefined') {
|
||
return new _ProxyBus.ProxyBus(window._nc_event_bus);
|
||
} else {
|
||
return window._nc_event_bus = new _SimpleBus.SimpleBus();
|
||
}
|
||
}
|
||
|
||
var bus = getBus();
|
||
/**
|
||
* Register an event listener
|
||
*
|
||
* @param name name of the event
|
||
* @param handler callback invoked for every matching event emitted on the bus
|
||
*/
|
||
|
||
function subscribe(name, handler) {
|
||
bus.subscribe(name, handler);
|
||
}
|
||
/**
|
||
* Unregister a previously registered event listener
|
||
*
|
||
* Note: doesn't work with anonymous functions (closures). Use method of an object or store listener function in variable.
|
||
*
|
||
* @param name name of the event
|
||
* @param handler callback passed to `subscribed`
|
||
*/
|
||
|
||
|
||
function unsubscribe(name, handler) {
|
||
bus.unsubscribe(name, handler);
|
||
}
|
||
/**
|
||
* Emit an event
|
||
*
|
||
* @param name name of the event
|
||
* @param event event payload
|
||
*/
|
||
|
||
|
||
function emit(name, event) {
|
||
bus.emit(name, event);
|
||
}
|
||
//# sourceMappingURL=index.js.map
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/event-bus/node_modules/semver/classes/semver.js":
|
||
/*!*********************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/event-bus/node_modules/semver/classes/semver.js ***!
|
||
\*********************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
const debug = __webpack_require__(/*! ../internal/debug */ "./node_modules/@nextcloud/event-bus/node_modules/semver/internal/debug.js")
|
||
const { MAX_LENGTH, MAX_SAFE_INTEGER } = __webpack_require__(/*! ../internal/constants */ "./node_modules/@nextcloud/event-bus/node_modules/semver/internal/constants.js")
|
||
const { re, t } = __webpack_require__(/*! ../internal/re */ "./node_modules/@nextcloud/event-bus/node_modules/semver/internal/re.js")
|
||
|
||
const parseOptions = __webpack_require__(/*! ../internal/parse-options */ "./node_modules/@nextcloud/event-bus/node_modules/semver/internal/parse-options.js")
|
||
const { compareIdentifiers } = __webpack_require__(/*! ../internal/identifiers */ "./node_modules/@nextcloud/event-bus/node_modules/semver/internal/identifiers.js")
|
||
class SemVer {
|
||
constructor (version, options) {
|
||
options = parseOptions(options)
|
||
|
||
if (version instanceof SemVer) {
|
||
if (version.loose === !!options.loose &&
|
||
version.includePrerelease === !!options.includePrerelease) {
|
||
return version
|
||
} else {
|
||
version = version.version
|
||
}
|
||
} else if (typeof version !== 'string') {
|
||
throw new TypeError(`Invalid Version: ${version}`)
|
||
}
|
||
|
||
if (version.length > MAX_LENGTH) {
|
||
throw new TypeError(
|
||
`version is longer than ${MAX_LENGTH} characters`
|
||
)
|
||
}
|
||
|
||
debug('SemVer', version, options)
|
||
this.options = options
|
||
this.loose = !!options.loose
|
||
// this isn't actually relevant for versions, but keep it so that we
|
||
// don't run into trouble passing this.options around.
|
||
this.includePrerelease = !!options.includePrerelease
|
||
|
||
const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])
|
||
|
||
if (!m) {
|
||
throw new TypeError(`Invalid Version: ${version}`)
|
||
}
|
||
|
||
this.raw = version
|
||
|
||
// these are actually numbers
|
||
this.major = +m[1]
|
||
this.minor = +m[2]
|
||
this.patch = +m[3]
|
||
|
||
if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
|
||
throw new TypeError('Invalid major version')
|
||
}
|
||
|
||
if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
|
||
throw new TypeError('Invalid minor version')
|
||
}
|
||
|
||
if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
|
||
throw new TypeError('Invalid patch version')
|
||
}
|
||
|
||
// numberify any prerelease numeric ids
|
||
if (!m[4]) {
|
||
this.prerelease = []
|
||
} else {
|
||
this.prerelease = m[4].split('.').map((id) => {
|
||
if (/^[0-9]+$/.test(id)) {
|
||
const num = +id
|
||
if (num >= 0 && num < MAX_SAFE_INTEGER) {
|
||
return num
|
||
}
|
||
}
|
||
return id
|
||
})
|
||
}
|
||
|
||
this.build = m[5] ? m[5].split('.') : []
|
||
this.format()
|
||
}
|
||
|
||
format () {
|
||
this.version = `${this.major}.${this.minor}.${this.patch}`
|
||
if (this.prerelease.length) {
|
||
this.version += `-${this.prerelease.join('.')}`
|
||
}
|
||
return this.version
|
||
}
|
||
|
||
toString () {
|
||
return this.version
|
||
}
|
||
|
||
compare (other) {
|
||
debug('SemVer.compare', this.version, this.options, other)
|
||
if (!(other instanceof SemVer)) {
|
||
if (typeof other === 'string' && other === this.version) {
|
||
return 0
|
||
}
|
||
other = new SemVer(other, this.options)
|
||
}
|
||
|
||
if (other.version === this.version) {
|
||
return 0
|
||
}
|
||
|
||
return this.compareMain(other) || this.comparePre(other)
|
||
}
|
||
|
||
compareMain (other) {
|
||
if (!(other instanceof SemVer)) {
|
||
other = new SemVer(other, this.options)
|
||
}
|
||
|
||
return (
|
||
compareIdentifiers(this.major, other.major) ||
|
||
compareIdentifiers(this.minor, other.minor) ||
|
||
compareIdentifiers(this.patch, other.patch)
|
||
)
|
||
}
|
||
|
||
comparePre (other) {
|
||
if (!(other instanceof SemVer)) {
|
||
other = new SemVer(other, this.options)
|
||
}
|
||
|
||
// NOT having a prerelease is > having one
|
||
if (this.prerelease.length && !other.prerelease.length) {
|
||
return -1
|
||
} else if (!this.prerelease.length && other.prerelease.length) {
|
||
return 1
|
||
} else if (!this.prerelease.length && !other.prerelease.length) {
|
||
return 0
|
||
}
|
||
|
||
let i = 0
|
||
do {
|
||
const a = this.prerelease[i]
|
||
const b = other.prerelease[i]
|
||
debug('prerelease compare', i, a, b)
|
||
if (a === undefined && b === undefined) {
|
||
return 0
|
||
} else if (b === undefined) {
|
||
return 1
|
||
} else if (a === undefined) {
|
||
return -1
|
||
} else if (a === b) {
|
||
continue
|
||
} else {
|
||
return compareIdentifiers(a, b)
|
||
}
|
||
} while (++i)
|
||
}
|
||
|
||
compareBuild (other) {
|
||
if (!(other instanceof SemVer)) {
|
||
other = new SemVer(other, this.options)
|
||
}
|
||
|
||
let i = 0
|
||
do {
|
||
const a = this.build[i]
|
||
const b = other.build[i]
|
||
debug('prerelease compare', i, a, b)
|
||
if (a === undefined && b === undefined) {
|
||
return 0
|
||
} else if (b === undefined) {
|
||
return 1
|
||
} else if (a === undefined) {
|
||
return -1
|
||
} else if (a === b) {
|
||
continue
|
||
} else {
|
||
return compareIdentifiers(a, b)
|
||
}
|
||
} while (++i)
|
||
}
|
||
|
||
// preminor will bump the version up to the next minor release, and immediately
|
||
// down to pre-release. premajor and prepatch work the same way.
|
||
inc (release, identifier) {
|
||
switch (release) {
|
||
case 'premajor':
|
||
this.prerelease.length = 0
|
||
this.patch = 0
|
||
this.minor = 0
|
||
this.major++
|
||
this.inc('pre', identifier)
|
||
break
|
||
case 'preminor':
|
||
this.prerelease.length = 0
|
||
this.patch = 0
|
||
this.minor++
|
||
this.inc('pre', identifier)
|
||
break
|
||
case 'prepatch':
|
||
// If this is already a prerelease, it will bump to the next version
|
||
// drop any prereleases that might already exist, since they are not
|
||
// relevant at this point.
|
||
this.prerelease.length = 0
|
||
this.inc('patch', identifier)
|
||
this.inc('pre', identifier)
|
||
break
|
||
// If the input is a non-prerelease version, this acts the same as
|
||
// prepatch.
|
||
case 'prerelease':
|
||
if (this.prerelease.length === 0) {
|
||
this.inc('patch', identifier)
|
||
}
|
||
this.inc('pre', identifier)
|
||
break
|
||
|
||
case 'major':
|
||
// If this is a pre-major version, bump up to the same major version.
|
||
// Otherwise increment major.
|
||
// 1.0.0-5 bumps to 1.0.0
|
||
// 1.1.0 bumps to 2.0.0
|
||
if (
|
||
this.minor !== 0 ||
|
||
this.patch !== 0 ||
|
||
this.prerelease.length === 0
|
||
) {
|
||
this.major++
|
||
}
|
||
this.minor = 0
|
||
this.patch = 0
|
||
this.prerelease = []
|
||
break
|
||
case 'minor':
|
||
// If this is a pre-minor version, bump up to the same minor version.
|
||
// Otherwise increment minor.
|
||
// 1.2.0-5 bumps to 1.2.0
|
||
// 1.2.1 bumps to 1.3.0
|
||
if (this.patch !== 0 || this.prerelease.length === 0) {
|
||
this.minor++
|
||
}
|
||
this.patch = 0
|
||
this.prerelease = []
|
||
break
|
||
case 'patch':
|
||
// If this is not a pre-release version, it will increment the patch.
|
||
// If it is a pre-release it will bump up to the same patch version.
|
||
// 1.2.0-5 patches to 1.2.0
|
||
// 1.2.0 patches to 1.2.1
|
||
if (this.prerelease.length === 0) {
|
||
this.patch++
|
||
}
|
||
this.prerelease = []
|
||
break
|
||
// This probably shouldn't be used publicly.
|
||
// 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.
|
||
case 'pre':
|
||
if (this.prerelease.length === 0) {
|
||
this.prerelease = [0]
|
||
} else {
|
||
let i = this.prerelease.length
|
||
while (--i >= 0) {
|
||
if (typeof this.prerelease[i] === 'number') {
|
||
this.prerelease[i]++
|
||
i = -2
|
||
}
|
||
}
|
||
if (i === -1) {
|
||
// didn't increment anything
|
||
this.prerelease.push(0)
|
||
}
|
||
}
|
||
if (identifier) {
|
||
// 1.2.0-beta.1 bumps to 1.2.0-beta.2,
|
||
// 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0
|
||
if (this.prerelease[0] === identifier) {
|
||
if (isNaN(this.prerelease[1])) {
|
||
this.prerelease = [identifier, 0]
|
||
}
|
||
} else {
|
||
this.prerelease = [identifier, 0]
|
||
}
|
||
}
|
||
break
|
||
|
||
default:
|
||
throw new Error(`invalid increment argument: ${release}`)
|
||
}
|
||
this.format()
|
||
this.raw = this.version
|
||
return this
|
||
}
|
||
}
|
||
|
||
module.exports = SemVer
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/event-bus/node_modules/semver/functions/major.js":
|
||
/*!**********************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/event-bus/node_modules/semver/functions/major.js ***!
|
||
\**********************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
const SemVer = __webpack_require__(/*! ../classes/semver */ "./node_modules/@nextcloud/event-bus/node_modules/semver/classes/semver.js")
|
||
const major = (a, loose) => new SemVer(a, loose).major
|
||
module.exports = major
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/event-bus/node_modules/semver/functions/parse.js":
|
||
/*!**********************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/event-bus/node_modules/semver/functions/parse.js ***!
|
||
\**********************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
const {MAX_LENGTH} = __webpack_require__(/*! ../internal/constants */ "./node_modules/@nextcloud/event-bus/node_modules/semver/internal/constants.js")
|
||
const { re, t } = __webpack_require__(/*! ../internal/re */ "./node_modules/@nextcloud/event-bus/node_modules/semver/internal/re.js")
|
||
const SemVer = __webpack_require__(/*! ../classes/semver */ "./node_modules/@nextcloud/event-bus/node_modules/semver/classes/semver.js")
|
||
|
||
const parseOptions = __webpack_require__(/*! ../internal/parse-options */ "./node_modules/@nextcloud/event-bus/node_modules/semver/internal/parse-options.js")
|
||
const parse = (version, options) => {
|
||
options = parseOptions(options)
|
||
|
||
if (version instanceof SemVer) {
|
||
return version
|
||
}
|
||
|
||
if (typeof version !== 'string') {
|
||
return null
|
||
}
|
||
|
||
if (version.length > MAX_LENGTH) {
|
||
return null
|
||
}
|
||
|
||
const r = options.loose ? re[t.LOOSE] : re[t.FULL]
|
||
if (!r.test(version)) {
|
||
return null
|
||
}
|
||
|
||
try {
|
||
return new SemVer(version, options)
|
||
} catch (er) {
|
||
return null
|
||
}
|
||
}
|
||
|
||
module.exports = parse
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/event-bus/node_modules/semver/functions/valid.js":
|
||
/*!**********************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/event-bus/node_modules/semver/functions/valid.js ***!
|
||
\**********************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
const parse = __webpack_require__(/*! ./parse */ "./node_modules/@nextcloud/event-bus/node_modules/semver/functions/parse.js")
|
||
const valid = (version, options) => {
|
||
const v = parse(version, options)
|
||
return v ? v.version : null
|
||
}
|
||
module.exports = valid
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/event-bus/node_modules/semver/internal/constants.js":
|
||
/*!*************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/event-bus/node_modules/semver/internal/constants.js ***!
|
||
\*************************************************************************************/
|
||
/***/ (function(module) {
|
||
|
||
// Note: this is the semver.org version of the spec that it implements
|
||
// Not necessarily the package version of this code.
|
||
const SEMVER_SPEC_VERSION = '2.0.0'
|
||
|
||
const MAX_LENGTH = 256
|
||
const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||
|
||
/* istanbul ignore next */ 9007199254740991
|
||
|
||
// Max safe segment length for coercion.
|
||
const MAX_SAFE_COMPONENT_LENGTH = 16
|
||
|
||
module.exports = {
|
||
SEMVER_SPEC_VERSION,
|
||
MAX_LENGTH,
|
||
MAX_SAFE_INTEGER,
|
||
MAX_SAFE_COMPONENT_LENGTH
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/event-bus/node_modules/semver/internal/debug.js":
|
||
/*!*********************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/event-bus/node_modules/semver/internal/debug.js ***!
|
||
\*********************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
/* provided dependency */ var process = __webpack_require__(/*! process/browser */ "./node_modules/process/browser.js");
|
||
/* provided dependency */ var console = __webpack_require__(/*! console-browserify */ "./node_modules/console-browserify/index.js");
|
||
const debug = (
|
||
typeof process === 'object' &&
|
||
process.env &&
|
||
process.env.NODE_DEBUG &&
|
||
/\bsemver\b/i.test(process.env.NODE_DEBUG)
|
||
) ? (...args) => console.error('SEMVER', ...args)
|
||
: () => {}
|
||
|
||
module.exports = debug
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/event-bus/node_modules/semver/internal/identifiers.js":
|
||
/*!***************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/event-bus/node_modules/semver/internal/identifiers.js ***!
|
||
\***************************************************************************************/
|
||
/***/ (function(module) {
|
||
|
||
const numeric = /^[0-9]+$/
|
||
const compareIdentifiers = (a, b) => {
|
||
const anum = numeric.test(a)
|
||
const bnum = numeric.test(b)
|
||
|
||
if (anum && bnum) {
|
||
a = +a
|
||
b = +b
|
||
}
|
||
|
||
return a === b ? 0
|
||
: (anum && !bnum) ? -1
|
||
: (bnum && !anum) ? 1
|
||
: a < b ? -1
|
||
: 1
|
||
}
|
||
|
||
const rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)
|
||
|
||
module.exports = {
|
||
compareIdentifiers,
|
||
rcompareIdentifiers
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/event-bus/node_modules/semver/internal/parse-options.js":
|
||
/*!*****************************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/event-bus/node_modules/semver/internal/parse-options.js ***!
|
||
\*****************************************************************************************/
|
||
/***/ (function(module) {
|
||
|
||
// parse out just the options we care about so we always get a consistent
|
||
// obj with keys in a consistent order.
|
||
const opts = ['includePrerelease', 'loose', 'rtl']
|
||
const parseOptions = options =>
|
||
!options ? {}
|
||
: typeof options !== 'object' ? { loose: true }
|
||
: opts.filter(k => options[k]).reduce((options, k) => {
|
||
options[k] = true
|
||
return options
|
||
}, {})
|
||
module.exports = parseOptions
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/event-bus/node_modules/semver/internal/re.js":
|
||
/*!******************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/event-bus/node_modules/semver/internal/re.js ***!
|
||
\******************************************************************************/
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
const { MAX_SAFE_COMPONENT_LENGTH } = __webpack_require__(/*! ./constants */ "./node_modules/@nextcloud/event-bus/node_modules/semver/internal/constants.js")
|
||
const debug = __webpack_require__(/*! ./debug */ "./node_modules/@nextcloud/event-bus/node_modules/semver/internal/debug.js")
|
||
exports = module.exports = {}
|
||
|
||
// The actual regexps go on exports.re
|
||
const re = exports.re = []
|
||
const src = exports.src = []
|
||
const t = exports.t = {}
|
||
let R = 0
|
||
|
||
const createToken = (name, value, isGlobal) => {
|
||
const index = R++
|
||
debug(index, value)
|
||
t[name] = index
|
||
src[index] = value
|
||
re[index] = new RegExp(value, isGlobal ? 'g' : undefined)
|
||
}
|
||
|
||
// The following Regular Expressions can be used for tokenizing,
|
||
// validating, and parsing SemVer version strings.
|
||
|
||
// ## Numeric Identifier
|
||
// A single `0`, or a non-zero digit followed by zero or more digits.
|
||
|
||
createToken('NUMERICIDENTIFIER', '0|[1-9]\\d*')
|
||
createToken('NUMERICIDENTIFIERLOOSE', '[0-9]+')
|
||
|
||
// ## Non-numeric Identifier
|
||
// Zero or more digits, followed by a letter or hyphen, and then zero or
|
||
// more letters, digits, or hyphens.
|
||
|
||
createToken('NONNUMERICIDENTIFIER', '\\d*[a-zA-Z-][a-zA-Z0-9-]*')
|
||
|
||
// ## Main Version
|
||
// Three dot-separated numeric identifiers.
|
||
|
||
createToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\.` +
|
||
`(${src[t.NUMERICIDENTIFIER]})\\.` +
|
||
`(${src[t.NUMERICIDENTIFIER]})`)
|
||
|
||
createToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` +
|
||
`(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` +
|
||
`(${src[t.NUMERICIDENTIFIERLOOSE]})`)
|
||
|
||
// ## Pre-release Version Identifier
|
||
// A numeric identifier, or a non-numeric identifier.
|
||
|
||
createToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]
|
||
}|${src[t.NONNUMERICIDENTIFIER]})`)
|
||
|
||
createToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]
|
||
}|${src[t.NONNUMERICIDENTIFIER]})`)
|
||
|
||
// ## Pre-release Version
|
||
// Hyphen, followed by one or more dot-separated pre-release version
|
||
// identifiers.
|
||
|
||
createToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]
|
||
}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`)
|
||
|
||
createToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]
|
||
}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)
|
||
|
||
// ## Build Metadata Identifier
|
||
// Any combination of digits, letters, or hyphens.
|
||
|
||
createToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+')
|
||
|
||
// ## Build Metadata
|
||
// Plus sign, followed by one or more period-separated build metadata
|
||
// identifiers.
|
||
|
||
createToken('BUILD', `(?:\\+(${src[t.BUILDIDENTIFIER]
|
||
}(?:\\.${src[t.BUILDIDENTIFIER]})*))`)
|
||
|
||
// ## Full Version String
|
||
// A main version, followed optionally by a pre-release version and
|
||
// build metadata.
|
||
|
||
// Note that the only major, minor, patch, and pre-release sections of
|
||
// the version string are capturing groups. The build metadata is not a
|
||
// capturing group, because it should not ever be used in version
|
||
// comparison.
|
||
|
||
createToken('FULLPLAIN', `v?${src[t.MAINVERSION]
|
||
}${src[t.PRERELEASE]}?${
|
||
src[t.BUILD]}?`)
|
||
|
||
createToken('FULL', `^${src[t.FULLPLAIN]}$`)
|
||
|
||
// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.
|
||
// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty
|
||
// common in the npm registry.
|
||
createToken('LOOSEPLAIN', `[v=\\s]*${src[t.MAINVERSIONLOOSE]
|
||
}${src[t.PRERELEASELOOSE]}?${
|
||
src[t.BUILD]}?`)
|
||
|
||
createToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)
|
||
|
||
createToken('GTLT', '((?:<|>)?=?)')
|
||
|
||
// Something like "2.*" or "1.2.x".
|
||
// Note that "x.x" is a valid xRange identifer, meaning "any version"
|
||
// Only the first item is strictly required.
|
||
createToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`)
|
||
createToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`)
|
||
|
||
createToken('XRANGEPLAIN', `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})` +
|
||
`(?:\\.(${src[t.XRANGEIDENTIFIER]})` +
|
||
`(?:\\.(${src[t.XRANGEIDENTIFIER]})` +
|
||
`(?:${src[t.PRERELEASE]})?${
|
||
src[t.BUILD]}?` +
|
||
`)?)?`)
|
||
|
||
createToken('XRANGEPLAINLOOSE', `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +
|
||
`(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +
|
||
`(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +
|
||
`(?:${src[t.PRERELEASELOOSE]})?${
|
||
src[t.BUILD]}?` +
|
||
`)?)?`)
|
||
|
||
createToken('XRANGE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`)
|
||
createToken('XRANGELOOSE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`)
|
||
|
||
// Coercion.
|
||
// Extract anything that could conceivably be a part of a valid semver
|
||
createToken('COERCE', `${'(^|[^\\d])' +
|
||
'(\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +
|
||
`(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +
|
||
`(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +
|
||
`(?:$|[^\\d])`)
|
||
createToken('COERCERTL', src[t.COERCE], true)
|
||
|
||
// Tilde ranges.
|
||
// Meaning is "reasonably at or greater than"
|
||
createToken('LONETILDE', '(?:~>?)')
|
||
|
||
createToken('TILDETRIM', `(\\s*)${src[t.LONETILDE]}\\s+`, true)
|
||
exports.tildeTrimReplace = '$1~'
|
||
|
||
createToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)
|
||
createToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)
|
||
|
||
// Caret ranges.
|
||
// Meaning is "at least and backwards compatible with"
|
||
createToken('LONECARET', '(?:\\^)')
|
||
|
||
createToken('CARETTRIM', `(\\s*)${src[t.LONECARET]}\\s+`, true)
|
||
exports.caretTrimReplace = '$1^'
|
||
|
||
createToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)
|
||
createToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)
|
||
|
||
// A simple gt/lt/eq thing, or just "" to indicate "any version"
|
||
createToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`)
|
||
createToken('COMPARATOR', `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`)
|
||
|
||
// An expression to strip any whitespace between the gtlt and the thing
|
||
// it modifies, so that `> 1.2.3` ==> `>1.2.3`
|
||
createToken('COMPARATORTRIM', `(\\s*)${src[t.GTLT]
|
||
}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)
|
||
exports.comparatorTrimReplace = '$1$2$3'
|
||
|
||
// Something like `1.2.3 - 1.2.4`
|
||
// Note that these all use the loose form, because they'll be
|
||
// checked against either the strict or loose comparator form
|
||
// later.
|
||
createToken('HYPHENRANGE', `^\\s*(${src[t.XRANGEPLAIN]})` +
|
||
`\\s+-\\s+` +
|
||
`(${src[t.XRANGEPLAIN]})` +
|
||
`\\s*$`)
|
||
|
||
createToken('HYPHENRANGELOOSE', `^\\s*(${src[t.XRANGEPLAINLOOSE]})` +
|
||
`\\s+-\\s+` +
|
||
`(${src[t.XRANGEPLAINLOOSE]})` +
|
||
`\\s*$`)
|
||
|
||
// Star ranges basically just allow anything at all.
|
||
createToken('STAR', '(<|>)?=?\\s*\\*')
|
||
// >=0.0.0 is like a star
|
||
createToken('GTE0', '^\\s*>=\\s*0\.0\.0\\s*$')
|
||
createToken('GTE0PRE', '^\\s*>=\\s*0\.0\.0-0\\s*$')
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/initial-state/dist/index.js":
|
||
/*!*************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/initial-state/dist/index.js ***!
|
||
\*************************************************************/
|
||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
__webpack_require__(/*! core-js/modules/es.array.concat */ "./node_modules/core-js/modules/es.array.concat.js");
|
||
|
||
Object.defineProperty(exports, "__esModule", ({
|
||
value: true
|
||
}));
|
||
exports.loadState = loadState;
|
||
|
||
/**
|
||
* @param app app ID, e.g. "mail"
|
||
* @param key name of the property
|
||
* @param fallback optional parameter to use as default value
|
||
* @throws if the key can't be found
|
||
*/
|
||
function loadState(app, key, fallback) {
|
||
var elem = document.querySelector("#initial-state-".concat(app, "-").concat(key));
|
||
|
||
if (elem === null) {
|
||
if (fallback !== undefined) {
|
||
return fallback;
|
||
}
|
||
|
||
throw new Error("Could not find initial state ".concat(key, " of ").concat(app));
|
||
}
|
||
|
||
try {
|
||
return JSON.parse(atob(elem.value));
|
||
} catch (e) {
|
||
throw new Error("Could not parse initial state ".concat(key, " of ").concat(app));
|
||
}
|
||
}
|
||
//# sourceMappingURL=index.js.map
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/l10n/dist/gettext.js":
|
||
/*!******************************************************!*\
|
||
!*** ./node_modules/@nextcloud/l10n/dist/gettext.js ***!
|
||
\******************************************************/
|
||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
__webpack_require__(/*! core-js/modules/es.object.to-string */ "./node_modules/core-js/modules/es.object.to-string.js");
|
||
|
||
__webpack_require__(/*! core-js/modules/es.regexp.exec */ "./node_modules/core-js/modules/es.regexp.exec.js");
|
||
|
||
__webpack_require__(/*! core-js/modules/es.regexp.to-string */ "./node_modules/core-js/modules/es.regexp.to-string.js");
|
||
|
||
__webpack_require__(/*! core-js/modules/es.string.replace */ "./node_modules/core-js/modules/es.string.replace.js");
|
||
|
||
Object.defineProperty(exports, "__esModule", ({
|
||
value: true
|
||
}));
|
||
exports.getGettextBuilder = getGettextBuilder;
|
||
|
||
var _nodeGettext = _interopRequireDefault(__webpack_require__(/*! node-gettext */ "./node_modules/node-gettext/lib/gettext.js"));
|
||
|
||
var _ = __webpack_require__(/*! . */ "./node_modules/@nextcloud/l10n/dist/index.js");
|
||
|
||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||
|
||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||
|
||
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
||
|
||
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
||
|
||
var GettextBuilder = /*#__PURE__*/function () {
|
||
function GettextBuilder() {
|
||
_classCallCheck(this, GettextBuilder);
|
||
|
||
this.translations = {};
|
||
this.debug = false;
|
||
}
|
||
|
||
_createClass(GettextBuilder, [{
|
||
key: "setLanguage",
|
||
value: function setLanguage(language) {
|
||
this.locale = language;
|
||
return this;
|
||
}
|
||
}, {
|
||
key: "detectLocale",
|
||
value: function detectLocale() {
|
||
return this.setLanguage((0, _.getLanguage)().replace('-', '_'));
|
||
}
|
||
}, {
|
||
key: "addTranslation",
|
||
value: function addTranslation(language, data) {
|
||
this.translations[language] = data;
|
||
return this;
|
||
}
|
||
}, {
|
||
key: "enableDebugMode",
|
||
value: function enableDebugMode() {
|
||
this.debug = true;
|
||
return this;
|
||
}
|
||
}, {
|
||
key: "build",
|
||
value: function build() {
|
||
return new GettextWrapper(this.locale || 'en', this.translations, this.debug);
|
||
}
|
||
}]);
|
||
|
||
return GettextBuilder;
|
||
}();
|
||
|
||
var GettextWrapper = /*#__PURE__*/function () {
|
||
function GettextWrapper(locale, data, debug) {
|
||
_classCallCheck(this, GettextWrapper);
|
||
|
||
this.gt = new _nodeGettext.default({
|
||
debug: debug,
|
||
sourceLocale: 'en'
|
||
});
|
||
|
||
for (var key in data) {
|
||
this.gt.addTranslations(key, 'messages', data[key]);
|
||
}
|
||
|
||
this.gt.setLocale(locale);
|
||
}
|
||
|
||
_createClass(GettextWrapper, [{
|
||
key: "subtitudePlaceholders",
|
||
value: function subtitudePlaceholders(translated, vars) {
|
||
return translated.replace(/{([^{}]*)}/g, function (a, b) {
|
||
var r = vars[b];
|
||
|
||
if (typeof r === 'string' || typeof r === 'number') {
|
||
return r.toString();
|
||
} else {
|
||
return a;
|
||
}
|
||
});
|
||
}
|
||
}, {
|
||
key: "gettext",
|
||
value: function gettext(original) {
|
||
var placeholders = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
||
return this.subtitudePlaceholders(this.gt.gettext(original), placeholders);
|
||
}
|
||
}, {
|
||
key: "ngettext",
|
||
value: function ngettext(singular, plural, count) {
|
||
var placeholders = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
||
return this.subtitudePlaceholders(this.gt.ngettext(singular, plural, count).replace(/%n/g, count.toString()), placeholders);
|
||
}
|
||
}]);
|
||
|
||
return GettextWrapper;
|
||
}();
|
||
|
||
function getGettextBuilder() {
|
||
return new GettextBuilder();
|
||
}
|
||
//# sourceMappingURL=gettext.js.map
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/l10n/dist/index.js":
|
||
/*!****************************************************!*\
|
||
!*** ./node_modules/@nextcloud/l10n/dist/index.js ***!
|
||
\****************************************************/
|
||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
/* provided dependency */ var console = __webpack_require__(/*! console-browserify */ "./node_modules/console-browserify/index.js");
|
||
|
||
|
||
__webpack_require__(/*! core-js/modules/es.regexp.exec */ "./node_modules/core-js/modules/es.regexp.exec.js");
|
||
|
||
__webpack_require__(/*! core-js/modules/es.string.replace */ "./node_modules/core-js/modules/es.string.replace.js");
|
||
|
||
Object.defineProperty(exports, "__esModule", ({
|
||
value: true
|
||
}));
|
||
exports.getLocale = getLocale;
|
||
exports.getCanonicalLocale = getCanonicalLocale;
|
||
exports.getLanguage = getLanguage;
|
||
exports.translate = translate;
|
||
exports.translatePlural = translatePlural;
|
||
exports.getFirstDay = getFirstDay;
|
||
exports.getDayNames = getDayNames;
|
||
exports.getDayNamesShort = getDayNamesShort;
|
||
exports.getDayNamesMin = getDayNamesMin;
|
||
exports.getMonthNames = getMonthNames;
|
||
exports.getMonthNamesShort = getMonthNamesShort;
|
||
|
||
/// <reference types="@nextcloud/typings" />
|
||
|
||
/**
|
||
* Returns the user's locale
|
||
*/
|
||
function getLocale() {
|
||
if (typeof OC === 'undefined') {
|
||
console.warn('No OC found');
|
||
return 'en';
|
||
}
|
||
|
||
return OC.getLocale();
|
||
}
|
||
|
||
function getCanonicalLocale() {
|
||
return getLocale().replace(/_/g, '-');
|
||
}
|
||
/**
|
||
* Returns the user's language
|
||
*/
|
||
|
||
|
||
function getLanguage() {
|
||
if (typeof OC === 'undefined') {
|
||
console.warn('No OC found');
|
||
return 'en';
|
||
}
|
||
|
||
return OC.getLanguage();
|
||
}
|
||
|
||
/**
|
||
* Translate a string
|
||
*
|
||
* @param {string} app the id of the app for which to translate the string
|
||
* @param {string} text the string to translate
|
||
* @param {object} vars map of placeholder key to value
|
||
* @param {number} number to replace %n with
|
||
* @param {object} [options] options object
|
||
* @return {string}
|
||
*/
|
||
function translate(app, text, vars, count, options) {
|
||
if (typeof OC === 'undefined') {
|
||
console.warn('No OC found');
|
||
return text;
|
||
}
|
||
|
||
return OC.L10N.translate(app, text, vars, count, options);
|
||
}
|
||
/**
|
||
* Translate a plural string
|
||
*
|
||
* @param {string} app the id of the app for which to translate the string
|
||
* @param {string} textSingular the string to translate for exactly one object
|
||
* @param {string} textPlural the string to translate for n objects
|
||
* @param {number} count number to determine whether to use singular or plural
|
||
* @param {Object} vars of placeholder key to value
|
||
* @param {object} options options object
|
||
* @return {string}
|
||
*/
|
||
|
||
|
||
function translatePlural(app, textSingular, textPlural, count, vars, options) {
|
||
if (typeof OC === 'undefined') {
|
||
console.warn('No OC found');
|
||
return textSingular;
|
||
}
|
||
|
||
return OC.L10N.translatePlural(app, textSingular, textPlural, count, vars, options);
|
||
}
|
||
/**
|
||
* Get the first day of the week
|
||
*
|
||
* @return {number}
|
||
*/
|
||
|
||
|
||
function getFirstDay() {
|
||
if (typeof window.firstDay === 'undefined') {
|
||
console.warn('No firstDay found');
|
||
return 1;
|
||
}
|
||
|
||
return window.firstDay;
|
||
}
|
||
/**
|
||
* Get a list of day names (full names)
|
||
*
|
||
* @return {string[]}
|
||
*/
|
||
|
||
|
||
function getDayNames() {
|
||
if (typeof window.dayNames === 'undefined') {
|
||
console.warn('No dayNames found');
|
||
return ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
|
||
}
|
||
|
||
return window.dayNames;
|
||
}
|
||
/**
|
||
* Get a list of day names (short names)
|
||
*
|
||
* @return {string[]}
|
||
*/
|
||
|
||
|
||
function getDayNamesShort() {
|
||
if (typeof window.dayNamesShort === 'undefined') {
|
||
console.warn('No dayNamesShort found');
|
||
return ['Sun.', 'Mon.', 'Tue.', 'Wed.', 'Thu.', 'Fri.', 'Sat.'];
|
||
}
|
||
|
||
return window.dayNamesShort;
|
||
}
|
||
/**
|
||
* Get a list of day names (minified names)
|
||
*
|
||
* @return {string[]}
|
||
*/
|
||
|
||
|
||
function getDayNamesMin() {
|
||
if (typeof window.dayNamesMin === 'undefined') {
|
||
console.warn('No dayNamesMin found');
|
||
return ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];
|
||
}
|
||
|
||
return window.dayNamesMin;
|
||
}
|
||
/**
|
||
* Get a list of month names (full names)
|
||
*
|
||
* @return {string[]}
|
||
*/
|
||
|
||
|
||
function getMonthNames() {
|
||
if (typeof window.monthNames === 'undefined') {
|
||
console.warn('No monthNames found');
|
||
return ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
|
||
}
|
||
|
||
return window.monthNames;
|
||
}
|
||
/**
|
||
* Get a list of month names (short names)
|
||
*
|
||
* @return {string[]}
|
||
*/
|
||
|
||
|
||
function getMonthNamesShort() {
|
||
if (typeof window.monthNamesShort === 'undefined') {
|
||
console.warn('No monthNamesShort found');
|
||
return ['Jan.', 'Feb.', 'Mar.', 'Apr.', 'May.', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Oct.', 'Nov.', 'Dec.'];
|
||
}
|
||
|
||
return window.monthNamesShort;
|
||
}
|
||
//# sourceMappingURL=index.js.map
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/router/dist/index.js":
|
||
/*!******************************************************!*\
|
||
!*** ./node_modules/@nextcloud/router/dist/index.js ***!
|
||
\******************************************************/
|
||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
__webpack_require__(/*! core-js/modules/es.array.index-of */ "./node_modules/core-js/modules/es.array.index-of.js");
|
||
|
||
__webpack_require__(/*! core-js/modules/es.object.assign */ "./node_modules/core-js/modules/es.object.assign.js");
|
||
|
||
__webpack_require__(/*! core-js/modules/es.object.to-string */ "./node_modules/core-js/modules/es.object.to-string.js");
|
||
|
||
__webpack_require__(/*! core-js/modules/es.regexp.exec */ "./node_modules/core-js/modules/es.regexp.exec.js");
|
||
|
||
__webpack_require__(/*! core-js/modules/es.regexp.to-string */ "./node_modules/core-js/modules/es.regexp.to-string.js");
|
||
|
||
__webpack_require__(/*! core-js/modules/es.string.replace */ "./node_modules/core-js/modules/es.string.replace.js");
|
||
|
||
Object.defineProperty(exports, "__esModule", ({
|
||
value: true
|
||
}));
|
||
exports.getRootUrl = exports.generateFilePath = exports.imagePath = exports.generateUrl = exports.generateOcsUrl = exports.generateRemoteUrl = exports.linkTo = void 0;
|
||
|
||
/// <reference types="@nextcloud/typings" />
|
||
|
||
/**
|
||
* Get an absolute url to a file in an app
|
||
*
|
||
* @param {string} app the id of the app the file belongs to
|
||
* @param {string} file the file path relative to the app folder
|
||
* @return {string} Absolute URL to a file
|
||
*/
|
||
var linkTo = function linkTo(app, file) {
|
||
return generateFilePath(app, '', file);
|
||
};
|
||
/**
|
||
* Creates a relative url for remote use
|
||
*
|
||
* @param {string} service id
|
||
* @return {string} the url
|
||
*/
|
||
|
||
|
||
exports.linkTo = linkTo;
|
||
|
||
var linkToRemoteBase = function linkToRemoteBase(service) {
|
||
return getRootUrl() + '/remote.php/' + service;
|
||
};
|
||
/**
|
||
* @brief Creates an absolute url for remote use
|
||
* @param {string} service id
|
||
* @return {string} the url
|
||
*/
|
||
|
||
|
||
var generateRemoteUrl = function generateRemoteUrl(service) {
|
||
return window.location.protocol + '//' + window.location.host + linkToRemoteBase(service);
|
||
};
|
||
/**
|
||
* Get the base path for the given OCS API service
|
||
*
|
||
* @param {string} service name
|
||
* @param {int} version OCS API version
|
||
* @return {string} OCS API base path
|
||
*/
|
||
|
||
|
||
exports.generateRemoteUrl = generateRemoteUrl;
|
||
|
||
var generateOcsUrl = function generateOcsUrl(service, version) {
|
||
version = version !== 2 ? 1 : 2;
|
||
return window.location.protocol + '//' + window.location.host + getRootUrl() + '/ocs/v' + version + '.php/' + service + '/';
|
||
};
|
||
|
||
exports.generateOcsUrl = generateOcsUrl;
|
||
|
||
/**
|
||
* Generate the absolute url for the given relative url, which can contain parameters
|
||
*
|
||
* Parameters will be URL encoded automatically
|
||
*
|
||
* @return {string} Absolute URL for the given relative URL
|
||
*/
|
||
var generateUrl = function generateUrl(url, params, options) {
|
||
var allOptions = Object.assign({
|
||
escape: true,
|
||
noRewrite: false
|
||
}, options || {});
|
||
|
||
var _build = function _build(text, vars) {
|
||
vars = vars || {};
|
||
return text.replace(/{([^{}]*)}/g, function (a, b) {
|
||
var r = vars[b];
|
||
|
||
if (allOptions.escape) {
|
||
return typeof r === 'string' || typeof r === 'number' ? encodeURIComponent(r.toString()) : encodeURIComponent(a);
|
||
} else {
|
||
return typeof r === 'string' || typeof r === 'number' ? r.toString() : a;
|
||
}
|
||
});
|
||
};
|
||
|
||
if (url.charAt(0) !== '/') {
|
||
url = '/' + url;
|
||
}
|
||
|
||
if (OC.config.modRewriteWorking === true && !allOptions.noRewrite) {
|
||
return getRootUrl() + _build(url, params || {});
|
||
}
|
||
|
||
return getRootUrl() + '/index.php' + _build(url, params || {});
|
||
};
|
||
/**
|
||
* Get the absolute path to an image file
|
||
* if no extension is given for the image, it will automatically decide
|
||
* between .png and .svg based on what the browser supports
|
||
*
|
||
* @param {string} app the app id to which the image belongs
|
||
* @param {string} file the name of the image file
|
||
* @return {string}
|
||
*/
|
||
|
||
|
||
exports.generateUrl = generateUrl;
|
||
|
||
var imagePath = function imagePath(app, file) {
|
||
if (file.indexOf('.') === -1) {
|
||
//if no extension is given, use svg
|
||
return generateFilePath(app, 'img', file + '.svg');
|
||
}
|
||
|
||
return generateFilePath(app, 'img', file);
|
||
};
|
||
/**
|
||
* Get the absolute url for a file in an app
|
||
*
|
||
* @param {string} app the id of the app
|
||
* @param {string} type the type of the file to link to (e.g. css,img,ajax.template)
|
||
* @param {string} file the filename
|
||
* @return {string} Absolute URL for a file in an app
|
||
*/
|
||
|
||
|
||
exports.imagePath = imagePath;
|
||
|
||
var generateFilePath = function generateFilePath(app, type, file) {
|
||
var isCore = OC.coreApps.indexOf(app) !== -1;
|
||
var link = getRootUrl();
|
||
|
||
if (file.substring(file.length - 3) === 'php' && !isCore) {
|
||
link += '/index.php/apps/' + app;
|
||
|
||
if (file !== 'index.php') {
|
||
link += '/';
|
||
|
||
if (type) {
|
||
link += encodeURI(type + '/');
|
||
}
|
||
|
||
link += file;
|
||
}
|
||
} else if (file.substring(file.length - 3) !== 'php' && !isCore) {
|
||
link = OC.appswebroots[app];
|
||
|
||
if (type) {
|
||
link += '/' + type + '/';
|
||
}
|
||
|
||
if (link.substring(link.length - 1) !== '/') {
|
||
link += '/';
|
||
}
|
||
|
||
link += file;
|
||
} else {
|
||
if ((app === 'settings' || app === 'core' || app === 'search') && type === 'ajax') {
|
||
link += '/index.php/';
|
||
} else {
|
||
link += '/';
|
||
}
|
||
|
||
if (!isCore) {
|
||
link += 'apps/';
|
||
}
|
||
|
||
if (app !== '') {
|
||
app += '/';
|
||
link += app;
|
||
}
|
||
|
||
if (type) {
|
||
link += type + '/';
|
||
}
|
||
|
||
link += file;
|
||
}
|
||
|
||
return link;
|
||
};
|
||
/**
|
||
* Return the web root path where this Nextcloud instance
|
||
* is accessible, with a leading slash.
|
||
* For example "/nextcloud".
|
||
*
|
||
* @return {string} web root path
|
||
*/
|
||
|
||
|
||
exports.generateFilePath = generateFilePath;
|
||
|
||
var getRootUrl = function getRootUrl() {
|
||
return OC.webroot;
|
||
};
|
||
|
||
exports.getRootUrl = getRootUrl;
|
||
//# sourceMappingURL=index.js.map
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/vue/dist/Components/Multiselect.js":
|
||
/*!********************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/vue/dist/Components/Multiselect.js ***!
|
||
\********************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
/* provided dependency */ var console = __webpack_require__(/*! console-browserify */ "./node_modules/console-browserify/index.js");
|
||
!function(e,t){ true?module.exports=t():0}(window,(function(){return function(e){var t={};function n(s){if(t[s])return t[s].exports;var o=t[s]={i:s,l:!1,exports:{}};return e[s].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,s){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:s})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var s=Object.create(null);if(n.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(s,o,function(t){return e[t]}.bind(null,o));return s},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/dist/",n(n.s=107)}([function(e,t,n){"use strict";function s(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],s=!0,o=!1,i=void 0;try{for(var r,a=e[Symbol.iterator]();!(s=(r=a.next()).done)&&(n.push(r.value),!t||n.length!==t);s=!0);}catch(e){o=!0,i=e}finally{try{s||null==a.return||a.return()}finally{if(o)throw i}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return o(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,s=new Array(t);n<t;n++)s[n]=e[n];return s}e.exports=function(e){var t=s(e,4),n=t[1],o=t[3];if("function"==typeof btoa){var i=btoa(unescape(encodeURIComponent(JSON.stringify(o)))),r="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(i),a="/*# ".concat(r," */"),c=o.sources.map((function(e){return"/*# sourceURL=".concat(o.sourceRoot||"").concat(e," */")}));return[n].concat(c).concat([a]).join("\n")}return[n].join("\n")}},function(e,t,n){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=e(t);return t[2]?"@media ".concat(t[2]," {").concat(n,"}"):n})).join("")},t.i=function(e,n,s){"string"==typeof e&&(e=[[null,e,""]]);var o={};if(s)for(var i=0;i<this.length;i++){var r=this[i][0];null!=r&&(o[r]=!0)}for(var a=0;a<e.length;a++){var c=[].concat(e[a]);s&&o[c[0]]||(n&&(c[2]?c[2]="".concat(n," and ").concat(c[2]):c[2]=n),t.push(c))}},t}},function(e,t,n){"use strict";var s,o=function(){return void 0===s&&(s=Boolean(window&&document&&document.all&&!window.atob)),s},i=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),r=[];function a(e){for(var t=-1,n=0;n<r.length;n++)if(r[n].identifier===e){t=n;break}return t}function c(e,t){for(var n={},s=[],o=0;o<e.length;o++){var i=e[o],c=t.base?i[0]+t.base:i[0],m=n[c]||0,A="".concat(c," ").concat(m);n[c]=m+1;var l=a(A),g={css:i[1],media:i[2],sourceMap:i[3]};-1!==l?(r[l].references++,r[l].updater(g)):r.push({identifier:A,updater:v(g,t),references:1}),s.push(A)}return s}function m(e){var t=document.createElement("style"),s=e.attributes||{};if(void 0===s.nonce){var o=n.nc;o&&(s.nonce=o)}if(Object.keys(s).forEach((function(e){t.setAttribute(e,s[e])})),"function"==typeof e.insert)e.insert(t);else{var r=i(e.insert||"head");if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(t)}return t}var A,l=(A=[],function(e,t){return A[e]=t,A.filter(Boolean).join("\n")});function g(e,t,n,s){var o=n?"":s.media?"@media ".concat(s.media," {").concat(s.css,"}"):s.css;if(e.styleSheet)e.styleSheet.cssText=l(t,o);else{var i=document.createTextNode(o),r=e.childNodes;r[t]&&e.removeChild(r[t]),r.length?e.insertBefore(i,r[t]):e.appendChild(i)}}function u(e,t,n){var s=n.css,o=n.media,i=n.sourceMap;if(o?e.setAttribute("media",o):e.removeAttribute("media"),i&&"undefined"!=typeof btoa&&(s+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),e.styleSheet)e.styleSheet.cssText=s;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(s))}}var d=null,p=0;function v(e,t){var n,s,o;if(t.singleton){var i=p++;n=d||(d=m(t)),s=g.bind(null,n,i,!1),o=g.bind(null,n,i,!0)}else n=m(t),s=u.bind(null,n,t),o=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)};return s(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;s(e=t)}else o()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=o());var n=c(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var s=0;s<n.length;s++){var o=a(n[s]);r[o].references--}for(var i=c(e,t),m=0;m<n.length;m++){var A=a(n[m]);0===r[A].references&&(r[A].updater(),r.splice(A,1))}n=i}}}},function(e,t,n){"use strict";function s(e,t,n,s,o,i,r,a){var c,m="function"==typeof e?e.options:e;if(t&&(m.render=t,m.staticRenderFns=n,m._compiled=!0),s&&(m.functional=!0),i&&(m._scopeId="data-v-"+i),r?(c=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),o&&o.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(r)},m._ssrRegister=c):o&&(c=a?function(){o.call(this,(m.functional?this.parent:this).$root.$options.shadowRoot)}:o),c)if(m.functional){m._injectStyles=c;var A=m.render;m.render=function(e,t){return c.call(t),A(e,t)}}else{var l=m.beforeCreate;m.beforeCreate=l?[].concat(l,c):[c]}return{exports:e,options:m}}n.d(t,"a",(function(){return s}))},function(e,t,n){"use strict";e.exports=function(e,t){return t||(t={}),"string"!=typeof(e=e&&e.__esModule?e.default:e)?e:(/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),t.hash&&(e+=t.hash),/["'() \t\n]/.test(e)||t.needQuotes?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e)}},function(e,t){e.exports=__webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.runtime.esm.js")},function(e,t){e.exports=__webpack_require__(/*! core-js/modules/es.object.to-string.js */ "./node_modules/core-js/modules/es.object.to-string.js")},function(e,t){e.exports=__webpack_require__(/*! v-tooltip */ "./node_modules/v-tooltip/dist/v-tooltip.esm.js")},function(e,t,n){"use strict";t.a="data:application/vnd.ms-fontobject;base64,rg8AAOQOAAABAAIAAAAAAAIABQMAAAAAAAABQJABAAAAAExQAAAAABAAAAAAAAAAAAAAAAAAAAEAAAAAc7mhmgAAAAAAAAAAAAAAAAAAAAAAACgAAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AYwA5ADcANAAxAGEAYQAAAAAAABYAAFYAZQByAHMAaQBvAG4AIAAxAC4AMAAAKAAAaQBjAG8AbgBmAG8AbgB0AC0AdgB1AGUALQBjADkANwA0ADEAYQBhAAAAAAABAAAACgCAAAMAIE9TLzJ044/RAAAArAAAAGBjbWFwAA3ruAAAAQwAAAFCZ2x5ZsdHOUwAAAJQAAAH/GhlYWQrRzeoAAAKTAAAADZoaGVhJv0ThQAACoQAAAAkaG10eGe+//8AAAqoAAAANGxvY2ENvA9mAAAK3AAAAChtYXhwASAAVwAACwQAAAAgbmFtZUEOewcAAAskAAACpnBvc3Q/VL7XAAANzAAAARYABBLKAZAABQAADGUNrAAAArwMZQ2sAAAJYAD1BQoAAAIABQMAAAAAAAAAAAAAEAAAAAAAAAAAAAAAUGZFZABA6gHqEhOIAAABwhOIAAAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQAAAAAAPAADAAEAAAAcAAQAIAAAAAQABAABAADqEv//AADqAf//FgAAAQAAAAAAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAOpg9DAAUACwAACQIRCQQRCQEOpvqCBX77ugRG+oL6ggV++7oERg9C+oL6ggE4BEYERgE4+oL6ggE4BEYERgABAAAAAA1uElAABQAACQERCQERBhsHU/d0CIwJxPit/sgIiwiM/scAAgAAAAAP3w9DAAUACwAACQIRCQQRCQEE4gV++oIERvu6BX4Ff/qBBEb7ugRGBX4Ffv7I+7r7uv7IBX4Ffv7I+7r7ugABAAAAAA6mElAABQAACQERCQERDW74rQiL93UJxAdTATn3dPd1ATgAAQAAAAAGNxOIAAUAABMHCQEXAZSUBXL6jpQFoxOIVfaR9pFVCcQAAAEAAAAAEYcPgwAFAAAJBQ/N9/P7+/5GBb8Jxw+D9/MEBf5H+kEJxgABAAAAABEXERcACwAACQsRF/3t+sD6wP3tBUD6wAITBUAFQAIT+sAEhP3tBUD6wAITBUAFQAIT+sAFQP3t+sAAAf//AAATkxLsADMAAAEiBw4BFxYXASEmBwYHBgcGFBcWFxYXFjchAQYHBhcWFx4BFxYXFjc2NwE2NzYnJicBLgEKYGVPSkYQEkgF1/HgTT46KScUFBQUJyk6Pk0OIPopNxoYAwMbGVY1Nzs+Oj81B+07FRUUFTz4Eyx0Euw5NKxZYEf6KgEbGC4sOTh4ODksLhgbAvopNT87Pjo3NlYZGgMDGBk4B+w8UVBPUjwH7C0yAAAAAgAAAAAOphJQABgARgAAASIHDgEHBhQXHgEXFjI3PgE3NjQnLgEnJgEiBwYHBhQXFhcWMyERISIHBgcGFBcWFxY3ITI3Njc2NCcmJyYjIRE0JyYnJiMJdm9mYpgpKyspmGJm3mZilyorKyqXYmb8NlZIRykrKylHSFYCcf2PVkhHKSsrKUdIVgdTVUhHKSsrKUdIVf2PKylHSVUSUCsql2Nl32VimCkrKymYYmXfZWOXKiv55SspR0irSEcpK/nmKylHSapJRykrASopR0mqSUcpKwdTVUhHKSsAAAMAAAAAERcRFwADAAcACwAAAREhEQERIREBESERAnEOpvFaDqbxWg6mERf9jwJx+eb9jwJx+eX9jwJxAAMAAAAAEp4L5wAYADEASgAAATIXHgEXFhQHDgEHBiInLgEnJjQ3PgE3NiEyFx4BFxYUBw4BBwYiJy4BJyY0Nz4BNzYhMhceARcWFAcOAQcGIicuAScmNDc+ATc2Aw1wZWKYKSsrKZhiZd9mYpcqKysql2JmByZvZmKXKisrKpdiZt5mYpcqKysql2JmByZvZmKXKisrKpdiZt9lYpgpKyspmGJlC+crKpdiZt5mYpcqKysql2Jm3mZilyorKyqXYmbeZmKXKisrKpdiZt5mYpcqKysql2Jm3mZilyorKyqXYmbeZmKXKisAAAAAAgAAAAAP3w/fAAMABwAAAREhESERIREDqgTiAnEE4g/f88sMNfPLDDUAAAABAAAAABEXERcAAgAACQICcQ6m8VoRF/it+K0AAQAAAAAOpgw1AAIAAAkCBOIE4gTiDDX7HgTgAAH/4AAAE2kTaQAxAAABBAUEBQQDAgMCERATEhMSBQQFBCEgJSQlJBMSExITBgAFBCEgJSQnJicmAwIREBMSAAhs/pj+sf66/u3+7sbKa26Ae+nlATkBPAFyAX4BlgFxAWEBVgEuASrr7JmcOLz+Kf75/vP+6v6+/s7+2f37uLtjZ1BOAScTaS6Xk+nn/tf+0/6r/p/+j/5q/oL+jv7E/sfl6HyAa2jFwgENAQ4BQwFLAWnM/tpOUGdju7j7/QEnATIBQgElARMBDQHLAAIAAAAAE4gTiAAkAEAAAAEgBQQFBAMCAwIQExITEgUEBQQgJSQlJBMSExIQAwIDAiUkJSQBITIXHgEXFhQHDgEHBiMhIicuAScmNDc+ATc2CcT+av6C/o7+xP7H5eh8gIB86OUBOQE8AXIBfgMsAX4BcgE8ATnl6HyAgHzo5f7H/sT+jv6C+sEHU1tXVIQkJiYkhFRXW/itXFdUhCQmJiSEVFcTiIB86OX+x/7E/o7+gvzU/oL+jv7E/sfl6HyAgHzo5QE5ATwBcgF+AywBfgFyATwBOeXofID4ESYlhFNXuFdThCUmJiWEU1e4V1OEJSYAAAACAAAAABOIE4gAJAA9AAABIAUEBQQDAgMCEBMSExIFBAUEICUkJSQTEhMSEAMCAwIlJCUkASAFBAATEhADAgAFBCAlJAADAhATEgAlJAnE/mr+gv6O/sT+x+XofICAfOjlATkBPAFyAX4DLAF+AXIBPAE55eh8gIB86OX+x/7E/o7+gv5qATcBFwEPAZtwdHRw/mX+8f7p/ZL+6f7x/mVwdHRwAZsBDwEXE4iAfOjl/sf+xP6O/oL81P6C/o7+xP7H5eh8gIB86OUBOQE8AXIBfgMsAX4BcgE8ATnl6HyA/Bh0cP5l/vH+6f2S/un+8f5lcHR0cAGbAQ8BFwJuARcBDwGbcHQAAAACAAAAABOIE4gAAwAoAAABIREhASAFBAUEAwIDAhATEhMSBQQFBCAlJCUkExITEhADAgMCJSQlJAXcB9D4MAPo/mr+gv6O/sT+x+XofICAfOjlATkBPAFyAX4DLAF+AXIBPAE55eh8gIB86OX+x/7E/o7+ggXcB9AF3IB86OX+x/7E/o7+gvzU/oL+jv7E/sfl6HyAgHzo5QE5ATwBcgF+AywBfgFyATwBOeXofIAAAAEAAAABAACaoblzXw889QALE4gAAAAA3INXzQAAAADcMnvO/+AAABOTE4gAAAAIAAIAAAAAAAAAAQAAE4gAAAAAE4j/4P/1E5MAAQAAAAAAAAAAAAAAAAAAAAcAAAAAE4gAABOIAAATiAAAE4gAAAY2AAATiAAAAAD//wAAAAAAAAAAAAAAAP/gAAAAAAAAAAAAAAAiADYAWABsAIAAlAC0AQ4BfAGaAhACJgI0AkICqAMiA6YD/gABAAAAEwBLAAMAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAAAEADGAAEAAAAAAAEAFAAAAAEAAAAAAAIABwAUAAEAAAAAAAMAFAAbAAEAAAAAAAQAFAAvAAEAAAAAAAUACwBDAAEAAAAAAAYAFABOAAEAAAAAAAoAKwBiAAEAAAAAAAsAEwCNAAMAAQQJAAEAKACgAAMAAQQJAAIADgDIAAMAAQQJAAMAKADWAAMAAQQJAAQAKAD+AAMAAQQJAAUAFgEmAAMAAQQJAAYAKAE8AAMAAQQJAAoAVgFkAAMAAQQJAAsAJgG6aWNvbmZvbnQtdnVlLWM5NzQxYWFSZWd1bGFyaWNvbmZvbnQtdnVlLWM5NzQxYWFpY29uZm9udC12dWUtYzk3NDFhYVZlcnNpb24gMS4waWNvbmZvbnQtdnVlLWM5NzQxYWFHZW5lcmF0ZWQgYnkgc3ZnMnR0ZiBmcm9tIEZvbnRlbGxvIHByb2plY3QuaHR0cDovL2ZvbnRlbGxvLmNvbQBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtAGMAOQA3ADQAMQBhAGEAUgBlAGcAdQBsAGEAcgBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtAGMAOQA3ADQAMQBhAGEAaQBjAG8AbgBmAG8AbgB0AC0AdgB1AGUALQBjADkANwA0ADEAYQBhAFYAZQByAHMAaQBvAG4AIAAxAC4AMABpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtAGMAOQA3ADQAMQBhAGEARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAgAAAAAAAAAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwATAAABAgEDAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMRYXJyb3ctbGVmdC1kb3VibGUKYXJyb3ctbGVmdBJhcnJvdy1yaWdodC1kb3VibGULYXJyb3ctcmlnaHQKYnJlYWRjcnVtYgljaGVja21hcmsFY2xvc2UHY29uZmlybQRpbmZvBG1lbnUEbW9yZQVwYXVzZQRwbGF5CnRyaWFuZ2xlLXMQdXNlci1zdGF0dXMtYXdheQ91c2VyLXN0YXR1cy1kbmQVdXNlci1zdGF0dXMtaW52aXNpYmxlEnVzZXItc3RhdHVzLW9ubGluZQAA"},function(e,t,n){"use strict";t.a="data:font/woff;base64,d09GRgABAAAAAA8sAAoAAAAADuQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAAA9AAAAGAAAABgdOOP0WNtYXAAAAFUAAABQgAAAUIADeu4Z2x5ZgAAApgAAAf8AAAH/MdHOUxoZWFkAAAKlAAAADYAAAA2K0c3qGhoZWEAAArMAAAAJAAAACQm/ROFaG10eAAACvAAAAA0AAAANGe+//9sb2NhAAALJAAAACgAAAAoDbwPZm1heHAAAAtMAAAAIAAAACABIABXbmFtZQAAC2wAAAKmAAACpkEOewdwb3N0AAAOFAAAARYAAAEWP1S+1wAEEsoBkAAFAAAMZQ2sAAACvAxlDawAAAlgAPUFCgAAAgAFAwAAAAAAAAAAAAAQAAAAAAAAAAAAAABQZkVkAEDqAeoSE4gAAAHCE4gAAAAAAAEAAAAAAAAAAAAAACAAAAAAAAMAAAADAAAAHAABAAAAAAA8AAMAAQAAABwABAAgAAAABAAEAAEAAOoS//8AAOoB//8WAAABAAAAAAAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAA6mD0MABQALAAAJAhEJBBEJAQ6m+oIFfvu6BEb6gvqCBX77ugRGD0L6gvqCATgERgRGATj6gvqCATgERgRGAAEAAAAADW4SUAAFAAAJAREJAREGGwdT93QIjAnE+K3+yAiLCIz+xwACAAAAAA/fD0MABQALAAAJAhEJBBEJAQTiBX76ggRG+7oFfgV/+oEERvu6BEYFfgV+/sj7uvu6/sgFfgV+/sj7uvu6AAEAAAAADqYSUAAFAAAJAREJARENbvitCIv3dQnEB1MBOfd093UBOAABAAAAAAY3E4gABQAAEwcJARcBlJQFcvqOlAWjE4hV9pH2kVUJxAAAAQAAAAARhw+DAAUAAAkFD8338/v7/kYFvwnHD4P38wQF/kf6QQnGAAEAAAAAERcRFwALAAAJCxEX/e36wPrA/e0FQPrAAhMFQAVAAhP6wASE/e0FQPrAAhMFQAVAAhP6wAVA/e36wAAB//8AABOTEuwAMwAAASIHDgEXFhcBISYHBgcGBwYUFxYXFhcWNyEBBgcGFxYXHgEXFhcWNzY3ATY3NicmJwEuAQpgZU9KRhASSAXX8eBNPjopJxQUFBQnKTo+TQ4g+ik3GhgDAxsZVjU3Oz46PzUH7TsVFRQVPPgTLHQS7Dk0rFlgR/oqARsYLiw5OHg4OSwuGBsC+ik1Pzs+Ojc2VhkaAwMYGTgH7DxRUE9SPAfsLTIAAAACAAAAAA6mElAAGABGAAABIgcOAQcGFBceARcWMjc+ATc2NCcuAScmASIHBgcGFBcWFxYzIREhIgcGBwYUFxYXFjchMjc2NzY0JyYnJiMhETQnJicmIwl2b2ZimCkrKymYYmbeZmKXKisrKpdiZvw2VkhHKSsrKUdIVgJx/Y9WSEcpKyspR0hWB1NVSEcpKyspR0hV/Y8rKUdJVRJQKyqXY2XfZWKYKSsrKZhiZd9lY5cqK/nlKylHSKtIRykr+eYrKUdJqklHKSsBKilHSapJRykrB1NVSEcpKwAAAwAAAAARFxEXAAMABwALAAABESERAREhEQERIRECcQ6m8VoOpvFaDqYRF/2PAnH55v2PAnH55f2PAnEAAwAAAAASngvnABgAMQBKAAABMhceARcWFAcOAQcGIicuAScmNDc+ATc2ITIXHgEXFhQHDgEHBiInLgEnJjQ3PgE3NiEyFx4BFxYUBw4BBwYiJy4BJyY0Nz4BNzYDDXBlYpgpKyspmGJl32ZilyorKyqXYmYHJm9mYpcqKysql2Jm3mZilyorKyqXYmYHJm9mYpcqKysql2Jm32VimCkrKymYYmUL5ysql2Jm3mZilyorKyqXYmbeZmKXKisrKpdiZt5mYpcqKysql2Jm3mZilyorKyqXYmbeZmKXKisrKpdiZt5mYpcqKwAAAAACAAAAAA/fD98AAwAHAAABESERIREhEQOqBOICcQTiD9/zyww188sMNQAAAAEAAAAAERcRFwACAAAJAgJxDqbxWhEX+K34rQABAAAAAA6mDDUAAgAACQIE4gTiBOIMNfseBOAAAf/gAAATaRNpADEAAAEEBQQFBAMCAwIREBMSExIFBAUEISAlJCUkExITEhMGAAUEISAlJCcmJyYDAhEQExIACGz+mP6x/rr+7f7uxsprboB76eUBOQE8AXIBfgGWAXEBYQFWAS4BKuvsmZw4vP4p/vn+8/7q/r7+zv7Z/fu4u2NnUE4BJxNpLpeT6ef+1/7T/qv+n/6P/mr+gv6O/sT+x+XofIBraMXCAQ0BDgFDAUsBacz+2k5QZ2O7uPv9AScBMgFCASUBEwENAcsAAgAAAAATiBOIACQAQAAAASAFBAUEAwIDAhATEhMSBQQFBCAlJCUkExITEhADAgMCJSQlJAEhMhceARcWFAcOAQcGIyEiJy4BJyY0Nz4BNzYJxP5q/oL+jv7E/sfl6HyAgHzo5QE5ATwBcgF+AywBfgFyATwBOeXofICAfOjl/sf+xP6O/oL6wQdTW1dUhCQmJiSEVFdb+K1cV1SEJCYmJIRUVxOIgHzo5f7H/sT+jv6C/NT+gv6O/sT+x+XofICAfOjlATkBPAFyAX4DLAF+AXIBPAE55eh8gPgRJiWEU1e4V1OEJSYmJYRTV7hXU4QlJgAAAAIAAAAAE4gTiAAkAD0AAAEgBQQFBAMCAwIQExITEgUEBQQgJSQlJBMSExIQAwIDAiUkJSQBIAUEABMSEAMCAAUEICUkAAMCEBMSACUkCcT+av6C/o7+xP7H5eh8gIB86OUBOQE8AXIBfgMsAX4BcgE8ATnl6HyAgHzo5f7H/sT+jv6C/moBNwEXAQ8Bm3B0dHD+Zf7x/un9kv7p/vH+ZXB0dHABmwEPARcTiIB86OX+x/7E/o7+gvzU/oL+jv7E/sfl6HyAgHzo5QE5ATwBcgF+AywBfgFyATwBOeXofID8GHRw/mX+8f7p/ZL+6f7x/mVwdHRwAZsBDwEXAm4BFwEPAZtwdAAAAAIAAAAAE4gTiAADACgAAAEhESEBIAUEBQQDAgMCEBMSExIFBAUEICUkJSQTEhMSEAMCAwIlJCUkBdwH0PgwA+j+av6C/o7+xP7H5eh8gIB86OUBOQE8AXIBfgMsAX4BcgE8ATnl6HyAgHzo5f7H/sT+jv6CBdwH0AXcgHzo5f7H/sT+jv6C/NT+gv6O/sT+x+XofICAfOjlATkBPAFyAX4DLAF+AXIBPAE55eh8gAAAAQAAAAEAAJqhuXNfDzz1AAsTiAAAAADcg1fNAAAAANwye87/4AAAE5MTiAAAAAgAAgAAAAAAAAABAAATiAAAAAATiP/g//UTkwABAAAAAAAAAAAAAAAAAAAABwAAAAATiAAAE4gAABOIAAATiAAABjYAABOIAAAAAP//AAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAAACIANgBYAGwAgACUALQBDgF8AZoCEAImAjQCQgKoAyIDpgP+AAEAAAATAEsAAwAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAAAQAMYAAQAAAAAAAQAUAAAAAQAAAAAAAgAHABQAAQAAAAAAAwAUABsAAQAAAAAABAAUAC8AAQAAAAAABQALAEMAAQAAAAAABgAUAE4AAQAAAAAACgArAGIAAQAAAAAACwATAI0AAwABBAkAAQAoAKAAAwABBAkAAgAOAMgAAwABBAkAAwAoANYAAwABBAkABAAoAP4AAwABBAkABQAWASYAAwABBAkABgAoATwAAwABBAkACgBWAWQAAwABBAkACwAmAbppY29uZm9udC12dWUtYzk3NDFhYVJlZ3VsYXJpY29uZm9udC12dWUtYzk3NDFhYWljb25mb250LXZ1ZS1jOTc0MWFhVmVyc2lvbiAxLjBpY29uZm9udC12dWUtYzk3NDFhYUdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AYwA5ADcANAAxAGEAYQBSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AYwA5ADcANAAxAGEAYQBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtAGMAOQA3ADQAMQBhAGEAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AYwA5ADcANAAxAGEAYQBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAATABMAAAECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBExFhcnJvdy1sZWZ0LWRvdWJsZQphcnJvdy1sZWZ0EmFycm93LXJpZ2h0LWRvdWJsZQthcnJvdy1yaWdodApicmVhZGNydW1iCWNoZWNrbWFyawVjbG9zZQdjb25maXJtBGluZm8EbWVudQRtb3JlBXBhdXNlBHBsYXkKdHJpYW5nbGUtcxB1c2VyLXN0YXR1cy1hd2F5D3VzZXItc3RhdHVzLWRuZBV1c2VyLXN0YXR1cy1pbnZpc2libGUSdXNlci1zdGF0dXMtb25saW5lAAA="},function(e,t,n){"use strict";t.a="data:font/ttf;base64,AAEAAAAKAIAAAwAgT1MvMnTjj9EAAACsAAAAYGNtYXAADeu4AAABDAAAAUJnbHlmx0c5TAAAAlAAAAf8aGVhZCtHN6gAAApMAAAANmhoZWEm/ROFAAAKhAAAACRobXR4Z77//wAACqgAAAA0bG9jYQ28D2YAAArcAAAAKG1heHABIABXAAALBAAAACBuYW1lQQ57BwAACyQAAAKmcG9zdD9UvtcAAA3MAAABFgAEEsoBkAAFAAAMZQ2sAAACvAxlDawAAAlgAPUFCgAAAgAFAwAAAAAAAAAAAAAQAAAAAAAAAAAAAABQZkVkAEDqAeoSE4gAAAHCE4gAAAAAAAEAAAAAAAAAAAAAACAAAAAAAAMAAAADAAAAHAABAAAAAAA8AAMAAQAAABwABAAgAAAABAAEAAEAAOoS//8AAOoB//8WAAABAAAAAAAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAA6mD0MABQALAAAJAhEJBBEJAQ6m+oIFfvu6BEb6gvqCBX77ugRGD0L6gvqCATgERgRGATj6gvqCATgERgRGAAEAAAAADW4SUAAFAAAJAREJAREGGwdT93QIjAnE+K3+yAiLCIz+xwACAAAAAA/fD0MABQALAAAJAhEJBBEJAQTiBX76ggRG+7oFfgV/+oEERvu6BEYFfgV+/sj7uvu6/sgFfgV+/sj7uvu6AAEAAAAADqYSUAAFAAAJAREJARENbvitCIv3dQnEB1MBOfd093UBOAABAAAAAAY3E4gABQAAEwcJARcBlJQFcvqOlAWjE4hV9pH2kVUJxAAAAQAAAAARhw+DAAUAAAkFD8338/v7/kYFvwnHD4P38wQF/kf6QQnGAAEAAAAAERcRFwALAAAJCxEX/e36wPrA/e0FQPrAAhMFQAVAAhP6wASE/e0FQPrAAhMFQAVAAhP6wAVA/e36wAAB//8AABOTEuwAMwAAASIHDgEXFhcBISYHBgcGBwYUFxYXFhcWNyEBBgcGFxYXHgEXFhcWNzY3ATY3NicmJwEuAQpgZU9KRhASSAXX8eBNPjopJxQUFBQnKTo+TQ4g+ik3GhgDAxsZVjU3Oz46PzUH7TsVFRQVPPgTLHQS7Dk0rFlgR/oqARsYLiw5OHg4OSwuGBsC+ik1Pzs+Ojc2VhkaAwMYGTgH7DxRUE9SPAfsLTIAAAACAAAAAA6mElAAGABGAAABIgcOAQcGFBceARcWMjc+ATc2NCcuAScmASIHBgcGFBcWFxYzIREhIgcGBwYUFxYXFjchMjc2NzY0JyYnJiMhETQnJicmIwl2b2ZimCkrKymYYmbeZmKXKisrKpdiZvw2VkhHKSsrKUdIVgJx/Y9WSEcpKyspR0hWB1NVSEcpKyspR0hV/Y8rKUdJVRJQKyqXY2XfZWKYKSsrKZhiZd9lY5cqK/nlKylHSKtIRykr+eYrKUdJqklHKSsBKilHSapJRykrB1NVSEcpKwAAAwAAAAARFxEXAAMABwALAAABESERAREhEQERIRECcQ6m8VoOpvFaDqYRF/2PAnH55v2PAnH55f2PAnEAAwAAAAASngvnABgAMQBKAAABMhceARcWFAcOAQcGIicuAScmNDc+ATc2ITIXHgEXFhQHDgEHBiInLgEnJjQ3PgE3NiEyFx4BFxYUBw4BBwYiJy4BJyY0Nz4BNzYDDXBlYpgpKyspmGJl32ZilyorKyqXYmYHJm9mYpcqKysql2Jm3mZilyorKyqXYmYHJm9mYpcqKysql2Jm32VimCkrKymYYmUL5ysql2Jm3mZilyorKyqXYmbeZmKXKisrKpdiZt5mYpcqKysql2Jm3mZilyorKyqXYmbeZmKXKisrKpdiZt5mYpcqKwAAAAACAAAAAA/fD98AAwAHAAABESERIREhEQOqBOICcQTiD9/zyww188sMNQAAAAEAAAAAERcRFwACAAAJAgJxDqbxWhEX+K34rQABAAAAAA6mDDUAAgAACQIE4gTiBOIMNfseBOAAAf/gAAATaRNpADEAAAEEBQQFBAMCAwIREBMSExIFBAUEISAlJCUkExITEhMGAAUEISAlJCcmJyYDAhEQExIACGz+mP6x/rr+7f7uxsprboB76eUBOQE8AXIBfgGWAXEBYQFWAS4BKuvsmZw4vP4p/vn+8/7q/r7+zv7Z/fu4u2NnUE4BJxNpLpeT6ef+1/7T/qv+n/6P/mr+gv6O/sT+x+XofIBraMXCAQ0BDgFDAUsBacz+2k5QZ2O7uPv9AScBMgFCASUBEwENAcsAAgAAAAATiBOIACQAQAAAASAFBAUEAwIDAhATEhMSBQQFBCAlJCUkExITEhADAgMCJSQlJAEhMhceARcWFAcOAQcGIyEiJy4BJyY0Nz4BNzYJxP5q/oL+jv7E/sfl6HyAgHzo5QE5ATwBcgF+AywBfgFyATwBOeXofICAfOjl/sf+xP6O/oL6wQdTW1dUhCQmJiSEVFdb+K1cV1SEJCYmJIRUVxOIgHzo5f7H/sT+jv6C/NT+gv6O/sT+x+XofICAfOjlATkBPAFyAX4DLAF+AXIBPAE55eh8gPgRJiWEU1e4V1OEJSYmJYRTV7hXU4QlJgAAAAIAAAAAE4gTiAAkAD0AAAEgBQQFBAMCAwIQExITEgUEBQQgJSQlJBMSExIQAwIDAiUkJSQBIAUEABMSEAMCAAUEICUkAAMCEBMSACUkCcT+av6C/o7+xP7H5eh8gIB86OUBOQE8AXIBfgMsAX4BcgE8ATnl6HyAgHzo5f7H/sT+jv6C/moBNwEXAQ8Bm3B0dHD+Zf7x/un9kv7p/vH+ZXB0dHABmwEPARcTiIB86OX+x/7E/o7+gvzU/oL+jv7E/sfl6HyAgHzo5QE5ATwBcgF+AywBfgFyATwBOeXofID8GHRw/mX+8f7p/ZL+6f7x/mVwdHRwAZsBDwEXAm4BFwEPAZtwdAAAAAIAAAAAE4gTiAADACgAAAEhESEBIAUEBQQDAgMCEBMSExIFBAUEICUkJSQTEhMSEAMCAwIlJCUkBdwH0PgwA+j+av6C/o7+xP7H5eh8gIB86OUBOQE8AXIBfgMsAX4BcgE8ATnl6HyAgHzo5f7H/sT+jv6CBdwH0AXcgHzo5f7H/sT+jv6C/NT+gv6O/sT+x+XofICAfOjlATkBPAFyAX4DLAF+AXIBPAE55eh8gAAAAQAAAAEAAJqhuXNfDzz1AAsTiAAAAADcg1fNAAAAANwye87/4AAAE5MTiAAAAAgAAgAAAAAAAAABAAATiAAAAAATiP/g//UTkwABAAAAAAAAAAAAAAAAAAAABwAAAAATiAAAE4gAABOIAAATiAAABjYAABOIAAAAAP//AAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAAACIANgBYAGwAgACUALQBDgF8AZoCEAImAjQCQgKoAyIDpgP+AAEAAAATAEsAAwAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAAAQAMYAAQAAAAAAAQAUAAAAAQAAAAAAAgAHABQAAQAAAAAAAwAUABsAAQAAAAAABAAUAC8AAQAAAAAABQALAEMAAQAAAAAABgAUAE4AAQAAAAAACgArAGIAAQAAAAAACwATAI0AAwABBAkAAQAoAKAAAwABBAkAAgAOAMgAAwABBAkAAwAoANYAAwABBAkABAAoAP4AAwABBAkABQAWASYAAwABBAkABgAoATwAAwABBAkACgBWAWQAAwABBAkACwAmAbppY29uZm9udC12dWUtYzk3NDFhYVJlZ3VsYXJpY29uZm9udC12dWUtYzk3NDFhYWljb25mb250LXZ1ZS1jOTc0MWFhVmVyc2lvbiAxLjBpY29uZm9udC12dWUtYzk3NDFhYUdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AYwA5ADcANAAxAGEAYQBSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AYwA5ADcANAAxAGEAYQBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtAGMAOQA3ADQAMQBhAGEAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AYwA5ADcANAAxAGEAYQBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAATABMAAAECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBExFhcnJvdy1sZWZ0LWRvdWJsZQphcnJvdy1sZWZ0EmFycm93LXJpZ2h0LWRvdWJsZQthcnJvdy1yaWdodApicmVhZGNydW1iCWNoZWNrbWFyawVjbG9zZQdjb25maXJtBGluZm8EbWVudQRtb3JlBXBhdXNlBHBsYXkKdHJpYW5nbGUtcxB1c2VyLXN0YXR1cy1hd2F5D3VzZXItc3RhdHVzLWRuZBV1c2VyLXN0YXR1cy1pbnZpc2libGUSdXNlci1zdGF0dXMtb25saW5lAAA="},function(e,t,n){"use strict";t.a="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCIgPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48bWV0YWRhdGE+PC9tZXRhZGF0YT48ZGVmcz48Zm9udCBpZD0iaWNvbmZvbnQtdnVlLWM5NzQxYWEiIGhvcml6LWFkdi14PSI1MDAwIj48Zm9udC1mYWNlIGZvbnQtZmFtaWx5PSJpY29uZm9udC12dWUtYzk3NDFhYSIgZm9udC13ZWlnaHQ9IjQwMCIgZm9udC1zdHJldGNoPSJub3JtYWwiIHVuaXRzLXBlci1lbT0iNTAwMCIgcGFub3NlLTE9IjIgMCA1IDMgMCAwIDAgMCAwIDAiIGFzY2VudD0iNTAwMCIgZGVzY2VudD0iMCIgeC1oZWlnaHQ9IjAiIGJib3g9Ii0zMiAwIDUwMTEgNTAwMCIgdW5kZXJsaW5lLXRoaWNrbmVzcz0iMCIgdW5kZXJsaW5lLXBvc2l0aW9uPSI1MCIgdW5pY29kZS1yYW5nZT0iVStlYTAxLWVhMTIiIC8+PG1pc3NpbmctZ2x5cGggaG9yaXotYWR2LXg9IjAiICAvPjxnbHlwaCBnbHlwaC1uYW1lPSJhcnJvdy1sZWZ0LWRvdWJsZSIgdW5pY29kZT0iJiN4ZWEwMTsiIGQ9Ik0zNzUwIDM5MDYgbC0xNDA2IC0xNDA2IGwxNDA2IC0xNDA2IGwwIDMxMiBsLTEwOTQgMTA5NCBsMTA5NCAxMDk0IGwwIDMxMiBaTTIzNDQgMzkwNiBsLTE0MDYgLTE0MDYgbDE0MDYgLTE0MDYgbDAgMzEyIGwtMTA5NCAxMDk0IGwxMDk0IDEwOTQgbDAgMzEyIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9ImFycm93LWxlZnQiIHVuaWNvZGU9IiYjeGVhMDI7IiBkPSJNMTU2MyAyNTAwIGwxODc1IC0xODc1IGwwIC0zMTIgbC0yMTg4IDIxODcgbDIxODggMjE4OCBsMCAtMzEzIGwtMTg3NSAtMTg3NSBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJhcnJvdy1yaWdodC1kb3VibGUiIHVuaWNvZGU9IiYjeGVhMDM7IiBkPSJNMTI1MCAxMDk0IGwxNDA2IDE0MDYgbC0xNDA2IDE0MDYgbDAgLTMxMiBsMTA5NCAtMTA5NCBsLTEwOTQgLTEwOTQgbDAgLTMxMiBaTTI2NTYgMTA5NCBsMTQwNyAxNDA2IGwtMTQwNyAxNDA2IGwwIC0zMTIgbDEwOTQgLTEwOTQgbC0xMDk0IC0xMDk0IGwwIC0zMTIgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iYXJyb3ctcmlnaHQiIHVuaWNvZGU9IiYjeGVhMDQ7IiBkPSJNMzQzOCAyNTAwIGwtMTg3NSAxODc1IGwwIDMxMyBsMjE4NyAtMjE4OCBsLTIxODcgLTIxODcgbDAgMzEyIGwxODc1IDE4NzUgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iYnJlYWRjcnVtYiIgdW5pY29kZT0iJiN4ZWEwNTsiIGQ9Ik0xNDggNTAwMCBsLTE0OCAtODUgbDEzOTQgLTI0MTUgbC0xMzk0IC0yNDE1IGwxNDggLTg1IGwxNDQzIDI1MDAgbC0xNDQzIDI1MDAgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iY2hlY2ttYXJrIiB1bmljb2RlPSImI3hlYTA2OyIgZD0iTTQwNDUgMzk3MSBsLTIwNjEgLTIwNjEgbC0xMDI5IDEwMjkgbC00NDIgLTQ0MSBsMTQ3MSAtMTQ3MSBsMjUwMyAyNTAyIGwtNDQyIDQ0MiBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJjbG9zZSIgdW5pY29kZT0iJiN4ZWEwNzsiIGQ9Ik00Mzc1IDExNTYgbC01MzEgLTUzMSBsLTEzNDQgMTM0NCBsLTEzNDQgLTEzNDQgbC01MzEgNTMxIGwxMzQ0IDEzNDQgbC0xMzQ0IDEzNDQgbDUzMSA1MzEgbDEzNDQgLTEzNDQgbDEzNDQgMTM0NCBsNTMxIC01MzEgbC0xMzQ0IC0xMzQ0IGwxMzQ0IC0xMzQ0IFoiIC8+PGdseXBoIGdseXBoLW5hbWU9ImNvbmZpcm0iIHVuaWNvZGU9IiYjeGVhMDg7IiBkPSJNMjY1NiA0ODQ0IHEtMTAxIDAgLTE4MCAtNTcgcS03NCAtNTIgLTEwOSAtMTM4IHEtMzUgLTg2IC0xOSAtMTc1IHExOCAtOTYgOTAgLTE2NyBsMTQ5NSAtMTQ5NCBsLTM2MTYgMCBxLTc3IDEgLTEzOSAtMjYgcS01OCAtMjQgLTk5IC03MCBxLTM5IC00NCAtNTkgLTEwMSBxLTIwIC01NiAtMjAgLTExNiBxMCAtNjAgMjAgLTExNiBxMjAgLTU3IDU5IC0xMDEgcTQxIC00NiA5OSAtNzAgcTYyIC0yNyAxMzkgLTI1IGwzNjE2IDAgbC0xNDk1IC0xNDk1IHEtNTUgLTUzIC04MSAtMTE2IHEtMjQgLTU5IC0yMSAtMTIxIHEzIC01OCAzMCAtMTEzIHEyNSAtNTQgNjggLTk3IHE0MyAtNDMgOTYgLTY4IHE1NSAtMjYgMTE0IC0yOSBxNjIgLTMgMTIwIDIxIHE2MyAyNSAxMTYgODEgbDIwMjkgMjAyOCBxNTkgNjAgODAgMTQxIHEyMSA4MCAxIDE1OSBxLTIxIDgyIC04MSAxNDIgbC0yMDI5IDIwMjggcS00NCA0NSAtMTAyIDcwIHEtNTggMjUgLTEyMiAyNSBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJpbmZvIiB1bmljb2RlPSImI3hlYTA5OyIgZD0iTTI0MjIgNDY4OCBxLTExMSAwIC0yMTMgLTQzIHEtOTggLTQyIC0xNzQgLTExNy41IHEtNzYgLTc1LjUgLTExNyAtMTc0LjUgcS00MyAtMTAxIC00MyAtMjEyLjUgcTAgLTExMS41IDQzIC0yMTIuNSBxNDEgLTk4IDExNyAtMTc0IHE3NiAtNzYgMTc0IC0xMTcgcTEwMiAtNDMgMjEzIC00MyBxMTExIDAgMjEzIDQzIHE5OCA0MSAxNzMuNSAxMTcgcTc1LjUgNzYgMTE3LjUgMTc0IHE0MyAxMDEgNDMgMjEyLjUgcTAgMTExLjUgLTQzIDIxMi41IHEtNDIgOTkgLTExNy41IDE3NC41IHEtNzUuNSA3NS41IC0xNzMuNSAxMTcuNSBxLTEwMiA0MyAtMjEzIDQzIFpNMTU2MyAzMTI1IHEtODYgMCAtMTU4IC00MyBxLTcxIC00MSAtMTEyIC0xMTIgcS00MyAtNzIgLTQzIC0xNTcuNSBxMCAtODUuNSA0MyAtMTU3LjUgcTQxIC03MSAxMTIgLTExMiBxNzIgLTQzIDE1OCAtNDMgbDYyNSAwIGwwIC0xNTYyIGwtNjI1IDAgcS04NiAwIC0xNTggLTQzIHEtNzEgLTQxIC0xMTIgLTExMiBxLTQzIC03MyAtNDMgLTE1OCBxMCAtODUgNDMgLTE1OCBxNDEgLTcxIDExMiAtMTEyIHE3MiAtNDMgMTU4IC00MiBsMTg3NSAwIHE4NSAwIDE1NyA0MiBxNzEgNDEgMTEyIDExMiBxNDMgNzMgNDMgMTU4IHEwIDg1IC00MyAxNTggcS00MSA3MSAtMTEyIDExMiBxLTcyIDQzIC0xNTcgNDMgbC02MjUgMCBsMCAxODc1IHEwIDg1IC00MyAxNTcgcS00MSA3MSAtMTEyIDExMiBxLTczIDQzIC0xNTggNDMgbC05MzcgMCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJtZW51IiB1bmljb2RlPSImI3hlYTBhOyIgZD0iTTYyNSA0Mzc1IGwwIC02MjUgbDM3NTAgMCBsMCA2MjUgbC0zNzUwIDAgWk02MjUgMjgxMyBsMCAtNjI1IGwzNzUwIDAgbDAgNjI1IGwtMzc1MCAwIFpNNjI1IDEyNTAgbDAgLTYyNSBsMzc1MCAwIGwwIDYyNSBsLTM3NTAgMCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJtb3JlIiB1bmljb2RlPSImI3hlYTBiOyIgZD0iTTc4MSAzMDQ3IHExMTIgMCAyMTMgLTQzIHE5OCAtNDIgMTc0IC0xMTcuNSBxNzYgLTc1LjUgMTE3IC0xNzMuNSBxNDMgLTEwMiA0MyAtMjEzIHEwIC0xMTEgLTQzIC0yMTMgcS00MSAtOTggLTExNyAtMTczLjUgcS03NiAtNzUuNSAtMTc0IC0xMTcuNSBxLTEwMSAtNDMgLTIxMi41IC00MyBxLTExMS41IDAgLTIxMy41IDQzIHEtOTggNDIgLTE3My41IDExNy41IHEtNzUuNSA3NS41IC0xMTcuNSAxNzMuNSBxLTQzIDEwMiAtNDMgMjEzIHEwIDExMSA0MyAyMTMgcTQyIDk4IDExNy41IDE3My41IHE3NS41IDc1LjUgMTczLjUgMTE3LjUgcTEwMiA0MyAyMTMgNDMgWk0yNTAwIDMwNDcgcTExMSAwIDIxMyAtNDMgcTk4IC00MiAxNzMuNSAtMTE3LjUgcTc1LjUgLTc1LjUgMTE3LjUgLTE3My41IHE0MyAtMTAyIDQzIC0yMTMgcTAgLTExMSAtNDMgLTIxMyBxLTQyIC05OCAtMTE3LjUgLTE3My41IHEtNzUuNSAtNzUuNSAtMTczLjUgLTExNy41IHEtMTAyIC00MyAtMjEzIC00MyBxLTExMSAwIC0yMTMgNDMgcS05OCA0MiAtMTczLjUgMTE3LjUgcS03NS41IDc1LjUgLTExNy41IDE3My41IHEtNDMgMTAyIC00MyAyMTMgcTAgMTExIDQzIDIxMyBxNDIgOTggMTE3LjUgMTczLjUgcTc1LjUgNzUuNSAxNzMuNSAxMTcuNSBxMTAyIDQzIDIxMyA0MyBaTTQyMTkgMzA0NyBxMTExIDAgMjEzIC00MyBxOTggLTQyIDE3My41IC0xMTcuNSBxNzUuNSAtNzUuNSAxMTcuNSAtMTczLjUgcTQzIC0xMDIgNDMgLTIxMyBxMCAtMTExIC00MyAtMjEzIHEtNDIgLTk4IC0xMTcuNSAtMTczLjUgcS03NS41IC03NS41IC0xNzMuNSAtMTE3LjUgcS0xMDIgLTQzIC0yMTMuNSAtNDMgcS0xMTEuNSAwIC0yMTIuNSA0MyBxLTk4IDQyIC0xNzQgMTE3LjUgcS03NiA3NS41IC0xMTcgMTczLjUgcS00MyAxMDIgLTQzIDIxMyBxMCAxMTEgNDMgMjEzIHE0MSA5OCAxMTcgMTczLjUgcTc2IDc1LjUgMTc0IDExNy41IHExMDEgNDMgMjEzIDQzIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InBhdXNlIiB1bmljb2RlPSImI3hlYTBjOyIgZD0iTTkzOCA0MDYzIGwwIC0zMTI1IGwxMjUwIDAgbDAgMzEyNSBsLTEyNTAgMCBaTTI4MTMgNDA2MyBsMCAtMzEyNSBsMTI1MCAwIGwwIDMxMjUgbC0xMjUwIDAgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0icGxheSIgdW5pY29kZT0iJiN4ZWEwZDsiIGQ9Ik02MjUgNDM3NSBsMzc1MCAtMTg3NSBsLTM3NTAgLTE4NzUgbDAgMzc1MCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJ0cmlhbmdsZS1zIiB1bmljb2RlPSImI3hlYTBlOyIgZD0iTTEyNTAgMzEyNSBsMTI1MCAtMTI1MCBsMTI1MCAxMjQ4IGwtMjUwMCAyIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InVzZXItc3RhdHVzLWF3YXkiIHVuaWNvZGU9IiYjeGVhMGY7IiBkPSJNMjE1NiA0OTY5IHEtMzYwIC00NiAtNjk1IC0xOTcgcS0zMjYgLTE0NyAtNjAxIC0zODAgcS0yNzQgLTIzMSAtNDcyIC01MjggcS0yMDIgLTMwMSAtMzA5IC02NDIgcS0xMTAgLTM1MyAtMTEwIC03MjIgcTAgLTQwNiAxMjggLTc4OCBxMTIzIC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTM2OSAwIDcyMiAxMDcgcTM0MiAxMDQgNjQ0IDMwMSBxMjk4IDE5NCA1MzMgNDYzIHEyMzYgMjcwIDM4OSA1OTMgcTE1NiAzMzEgMjEyIDY5MiBxLTE4OCAtMjA0IC00MjMuNSAtMzUxIHEtMjM1LjUgLTE0NyAtNDk4LjUgLTIyNSBxLTI2OSAtODAgLTU0NyAtODAgcS0zMjIgMCAtNjI4IDEwMyBxLTI5NSA5OSAtNTQ4IDI4NiBxLTI1MSAxODQgLTQzNSA0MzUgcS0xODcgMjUzIC0yODYgNTQ4IHEtMTAzIDMwNiAtMTAzIDYyOCBxMCAyOTMgODAgNTY4IHE3OCAyNjkgMjI1LjUgNDk4LjUgcTE0Ny41IDIyOS41IDM1MC41IDQwMi41IFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InVzZXItc3RhdHVzLWRuZCIgdW5pY29kZT0iJiN4ZWExMDsiIGQ9Ik0yNTAwIDUwMDAgcS00MDYgMCAtNzg4IC0xMjggcS0zNzAgLTEyNCAtNjg2IC0zNTYgcS0zMTMgLTIyOSAtNTQyIC01NDIgcS0yMzIgLTMxNiAtMzU2IC02ODYgcS0xMjggLTM4MiAtMTI4IC03ODggcTAgLTQwNiAxMjggLTc4OCBxMTI0IC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTQwNiAwIDc4OCAxMjggcTM3MCAxMjQgNjg2IDM1NiBxMzEzIDIyOSA1NDIgNTQyIHEyMzIgMzE2IDM1NiA2ODYgcTEyOCAzODIgMTI4IDc4OCBxMCA0MDYgLTEyOCA3ODggcS0xMjQgMzcwIC0zNTYgNjg2IHEtMjI5IDMxMyAtNTQyIDU0MiBxLTMxNiAyMzIgLTY4NiAzNTYgcS0zODIgMTI4IC03ODggMTI4IFpNMTU2MyAyOTY5IGwxODc1IDAgcTkxIDAgMTc4IC0zOCBxODQgLTM3IDE1MCAtMTAzIHE2NiAtNjYgMTAyIC0xNDkgcTM4IC04NyAzOCAtMTc5IHEwIC05MiAtMzggLTE3OSBxLTM2IC04MyAtMTAyIC0xNDkgcS02NiAtNjYgLTE1MCAtMTAzIHEtODcgLTM4IC0xNzggLTM4IGwtMTg3NSAwIHEtOTIgMCAtMTc5IDM4IHEtODQgMzcgLTE1MCAxMDMgcS02NiA2NiAtMTAyIDE0OSBxLTM4IDg3IC0zOCAxNzkgcTAgOTIgMzggMTc5IHEzNiA4MyAxMDIgMTQ5IHE2NiA2NiAxNTAgMTAzIHE4NyAzOCAxNzkgMzggWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0idXNlci1zdGF0dXMtaW52aXNpYmxlIiB1bmljb2RlPSImI3hlYTExOyIgZD0iTTI1MDAgNTAwMCBxLTQwNiAwIC03ODggLTEyOCBxLTM3MCAtMTI0IC02ODYgLTM1NiBxLTMxMyAtMjI5IC01NDIgLTU0MiBxLTIzMiAtMzE2IC0zNTYgLTY4NiBxLTEyOCAtMzgyIC0xMjggLTc4OCBxMCAtNDA2IDEyOCAtNzg4IHExMjQgLTM3MCAzNTYgLTY4NiBxMjI5IC0zMTMgNTQyIC01NDIgcTMxNiAtMjMyIDY4NiAtMzU2IHEzODIgLTEyOCA3ODggLTEyOCBxNDA2IDAgNzg4IDEyOCBxMzcwIDEyNCA2ODYgMzU2IHEzMTMgMjI5IDU0MiA1NDIgcTIzMiAzMTYgMzU2IDY4NiBxMTI4IDM4MiAxMjggNzg4IHEwIDQwNiAtMTI4IDc4OCBxLTEyNCAzNzAgLTM1NiA2ODYgcS0yMjkgMzEzIC01NDIgNTQyIHEtMzE2IDIzMiAtNjg2IDM1NiBxLTM4MiAxMjggLTc4OCAxMjggWk0yNTAwIDQwMDAgcTMxMSAwIDU5MCAtMTE2IHEyNzEgLTExMiA0NzYuNSAtMzE3LjUgcTIwNS41IC0yMDUuNSAzMTcuNSAtNDc2LjUgcTExNiAtMjc5IDExNiAtNTkwIHEwIC0zMTEgLTExNiAtNTkwIHEtMTEyIC0yNzEgLTMxNy41IC00NzYuNSBxLTIwNS41IC0yMDUuNSAtNDc2LjUgLTMxNy41IHEtMjc5IC0xMTYgLTU5MCAtMTE2IHEtMzExIDAgLTU5MCAxMTYgcS0yNzEgMTEyIC00NzYuNSAzMTcuNSBxLTIwNS41IDIwNS41IC0zMTcuNSA0NzYuNSBxLTExNiAyNzkgLTExNiA1OTAgcTAgMzExIDExNiA1OTAgcTExMiAyNzEgMzE3LjUgNDc2LjUgcTIwNS41IDIwNS41IDQ3Ni41IDMxNy41IHEyNzkgMTE2IDU5MCAxMTYgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0idXNlci1zdGF0dXMtb25saW5lIiB1bmljb2RlPSImI3hlYTEyOyIgZD0iTTE1MDAgMTUwMCBsMjAwMCAwIGwwIDIwMDAgbC0yMDAwIDAgbDAgLTIwMDAgWk0yNTAwIDUwMDAgcS00MDYgMCAtNzg4IC0xMjggcS0zNzAgLTEyNCAtNjg2IC0zNTYgcS0zMTMgLTIyOSAtNTQyIC01NDIgcS0yMzIgLTMxNiAtMzU2IC02ODYgcS0xMjggLTM4MiAtMTI4IC03ODggcTAgLTQwNiAxMjggLTc4OCBxMTI0IC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTQwNiAwIDc4OCAxMjggcTM3MCAxMjQgNjg2IDM1NiBxMzEzIDIyOSA1NDIgNTQyIHEyMzIgMzE2IDM1NiA2ODYgcTEyOCAzODIgMTI4IDc4OCBxMCA0MDYgLTEyOCA3ODggcS0xMjQgMzcwIC0zNTYgNjg2IHEtMjI5IDMxMyAtNTQyIDU0MiBxLTMxNiAyMzIgLTY4NiAzNTYgcS0zODIgMTI4IC03ODggMTI4IFoiIC8+PC9mb250PjwvZGVmcz48L3N2Zz4="},function(e,t,n){"use strict";n.d(t,"b",(function(){return a})),n.d(t,"a",(function(){return r}));n(13);var s=n(32),o=Object(s.getGettextBuilder)().detectLocale();[{locale:"br",json:{charset:"utf-8",headers:{"Last-Translator":"Kervoas-Le Nabat Ewen <ewenkervoas@free.fr>, 2020","Language-Team":"Breton (https://www.transifex.com/nextcloud/teams/64236/br/)","Content-Type":"text/plain; charset=UTF-8",Language:"br","Plural-Forms":"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nKervoas-Le Nabat Ewen <ewenkervoas@free.fr>, 2020\n"},msgstr:["Last-Translator: Kervoas-Le Nabat Ewen <ewenkervoas@free.fr>, 2020\nLanguage-Team: Breton (https://www.transifex.com/nextcloud/teams/64236/br/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: br\nPlural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (diwelus)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (bevennet)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:249"},msgstr:["Oberioù"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["Oberiantizoù"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["Loened & Natur"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Dibab"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Serriñ"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["Personelañ"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["Bannieloù"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["Boued & Evajoù"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["Implijet alies"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Da heul"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["Emoji ebet kavet"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Disoc'h ebet"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["Traoù"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Arsav an diaporama"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["Tud & Korf"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["Choaz un emoji"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["A-raok"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["Klask"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["Disoc'hoù an enklask"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Choaz ur c'hlav"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:57"},msgstr:["Arventennoù"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["Smileyioù & Fromoù"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Kregiñ an diaporama"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["Arouezioù"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["Beaj & Lec'hioù"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["Dibosupl eo klask ar strollad"]}}}}},{locale:"ca",json:{charset:"utf-8",headers:{"Last-Translator":"David Jacovkis <david@freeknowledge.eu>, 2020","Language-Team":"Catalan (https://www.transifex.com/nextcloud/teams/64236/ca/)","Content-Type":"text/plain; charset=UTF-8",Language:"ca","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nCarles Ferrando Garcia <carles.ferrando@gnuescultura.eu>, 2020\nMarc Riera <marcriera@softcatala.org>, 2020\nToni Hermoso Pulido <toniher@softcatala.cat>, 2020\nDavid Jacovkis <david@freeknowledge.eu>, 2020\n"},msgstr:["Last-Translator: David Jacovkis <david@freeknowledge.eu>, 2020\nLanguage-Team: Catalan (https://www.transifex.com/nextcloud/teams/64236/ca/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ca\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (invisible)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (restringit)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:254"},msgstr:["Accions"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["Activitats"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["Animals i natura"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Tria"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Tanca"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["Personalitzat"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["Marques"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["Menjar i begudes"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["Utilitzats recentment"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:255"},msgstr:["S'ha arribat al límit de {count} caràcters per missatge"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Següent"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["No s'ha trobat cap emoji"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Sense resultats"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["Objectes"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Atura la presentació"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["Persones i cos"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["Trieu un emoji"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Anterior"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["Cerca"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["Resultats de cerca"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Selecciona una etiqueta"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:57"},msgstr:["Paràmetres"]},"Settings navigation":{msgid:"Settings navigation",comments:{reference:"src/components/AppSettingsDialog/AppSettingsDialog.vue:106"},msgstr:["Navegació d'opcions"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["Cares i emocions"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Inicia la presentació"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["Símbols"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["Viatges i llocs"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["No es pot cercar el grup"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:152"},msgstr:["Escriu un missatge, @ per mencionar algú..."]}}}}},{locale:"cs_CZ",json:{charset:"utf-8",headers:{"Last-Translator":"Pavel Borecki <pavel.borecki@gmail.com>, 2020","Language-Team":"Czech (Czech Republic) (https://www.transifex.com/nextcloud/teams/64236/cs_CZ/)","Content-Type":"text/plain; charset=UTF-8",Language:"cs_CZ","Plural-Forms":"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nPavel Borecki <pavel.borecki@gmail.com>, 2020\n"},msgstr:["Last-Translator: Pavel Borecki <pavel.borecki@gmail.com>, 2020\nLanguage-Team: Czech (Czech Republic) (https://www.transifex.com/nextcloud/teams/64236/cs_CZ/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: cs_CZ\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (neviditelný)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (omezený)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:254"},msgstr:["Akce"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["Aktivity"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["Zvířata a příroda"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Zvolit"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Zavřít"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["Uživatelsky určené"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["Příznaky"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["Jídlo a pití"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["Často používané"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:254"},msgstr:["Dosaženo limitu počtu znaků {count}"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Následující"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["Nenalezeno žádné emoji"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Žádné výsledky"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["Objekty"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Pozastavit prezentaci"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["Lidé a tělo"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["Vyberte emoji"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Předchozí"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["Hledat"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["Výsledky hledání"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Vybrat štítek"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:57"},msgstr:["Nastavení"]},"Settings navigation":{msgid:"Settings navigation",comments:{reference:"src/components/AppSettingsDialog/AppSettingsDialog.vue:106"},msgstr:["Pohyb po nastavení"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["Úsměvy a emoce"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Spustit prezentaci"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["Symboly"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["Cestování a místa"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["Nedaří se hledat skupinu"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:151"},msgstr:["Pište zprávu, pokud chcete někoho zmínit, použijte @ …"]}}}}},{locale:"da",json:{charset:"utf-8",headers:{"Last-Translator":"Peter Jespersen <flywheel@illogical.dk>, 2020","Language-Team":"Danish (https://www.transifex.com/nextcloud/teams/64236/da/)","Content-Type":"text/plain; charset=UTF-8",Language:"da","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nThomas Nielsen <thsnielsen@gmail.com>, 2020\nPeter Jespersen <flywheel@illogical.dk>, 2020\n"},msgstr:["Last-Translator: Peter Jespersen <flywheel@illogical.dk>, 2020\nLanguage-Team: Danish (https://www.transifex.com/nextcloud/teams/64236/da/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: da\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (usynlig)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (begrænset)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:254"},msgstr:["Handlinger"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["Aktiviteter"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["Dyr & Natur"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Vælg"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Luk"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["Brugerdefineret"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["Flag"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["Mad & Drikke"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["Ofte brugt"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:255"},msgstr:["Begrænsning på {count} tegn er nået"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Videre"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["Ingen emoji fundet"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Ingen resultater"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["Objekter"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Suspender fremvisning"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["Mennesker & Menneskekroppen"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["Vælg en emoji"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Forrige"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["Søg"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["Søgeresultater"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Vælg et mærke"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:57"},msgstr:["Indstillinger"]},"Settings navigation":{msgid:"Settings navigation",comments:{reference:"src/components/AppSettingsDialog/AppSettingsDialog.vue:106"},msgstr:["Naviger i indstillinger"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["Smileys & Emotion"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Start fremvisning"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["Symboler"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["Rejser & Rejsemål"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["Kan ikke søge på denne gruppe"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:152"},msgstr:["Skriv i meddelelse, @ for at nævne nogen …"]}}}}},{locale:"de",json:{charset:"utf-8",headers:{"Last-Translator":"Markus Eckstein, 2020","Language-Team":"German (https://www.transifex.com/nextcloud/teams/64236/de/)","Content-Type":"text/plain; charset=UTF-8",Language:"de","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nPhilipp Fischbeck <pfischbeck@googlemail.com>, 2020\nAndreas Eitel <github-aneitel@online.de>, 2020\nJoachim Sokolowski, 2020\nMark Ziegler <mark.ziegler@rakekniven.de>, 2020\nMario Siegmann <mario_siegmann@web.de>, 2020\nMarkus Eckstein, 2020\n"},msgstr:["Last-Translator: Markus Eckstein, 2020\nLanguage-Team: German (https://www.transifex.com/nextcloud/teams/64236/de/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: de\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",msgstr:["{tag} (unsichtbar)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",msgstr:["{tag} (eingeschränkt)"]},Actions:{msgid:"Actions",msgstr:["Aktionen"]},Activities:{msgid:"Activities",msgstr:["Aktivitäten"]},"Animals & Nature":{msgid:"Animals & Nature",msgstr:["Tiere & Natur"]},Choose:{msgid:"Choose",msgstr:["Auswählen"]},Close:{msgid:"Close",msgstr:["Schließen"]},Custom:{msgid:"Custom",msgstr:["Benutzerdefiniert"]},Flags:{msgid:"Flags",msgstr:["Flaggen"]},"Food & Drink":{msgid:"Food & Drink",msgstr:["Essen & Trinken"]},"Frequently used":{msgid:"Frequently used",msgstr:["Häufig verwendet"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",msgstr:["Nachrichtenlimit von {count} Zeichen erreicht"]},Next:{msgid:"Next",msgstr:["Weiter"]},"No emoji found":{msgid:"No emoji found",msgstr:["Kein Emoji gefunden"]},"No results":{msgid:"No results",msgstr:["Keine Ergebnisse"]},Objects:{msgid:"Objects",msgstr:["Gegenstände"]},"Pause slideshow":{msgid:"Pause slideshow",msgstr:["Diashow pausieren"]},"People & Body":{msgid:"People & Body",msgstr:["Menschen & Körper"]},"Pick an emoji":{msgid:"Pick an emoji",msgstr:["Ein Emoji auswählen"]},Previous:{msgid:"Previous",msgstr:["Vorherige"]},Search:{msgid:"Search",msgstr:["Suche"]},"Search results":{msgid:"Search results",msgstr:["Suchergebnisse"]},"Select a tag":{msgid:"Select a tag",msgstr:["Schlagwort auswählen"]},Settings:{msgid:"Settings",msgstr:["Einstellungen"]},"Settings navigation":{msgid:"Settings navigation",msgstr:["Einstellungen-Navigation"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",msgstr:["Smileys & Emotionen"]},"Start slideshow":{msgid:"Start slideshow",msgstr:["Diashow starten"]},Symbols:{msgid:"Symbols",msgstr:["Symbole"]},"Travel & Places":{msgid:"Travel & Places",msgstr:["Reisen & Orte"]},"Unable to search the group":{msgid:"Unable to search the group",msgstr:["Die Gruppe konnte nicht durchsucht werden"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",msgstr:["Nachricht schreiben, @ um jemanden zu erwähnen ..."]}}}}},{locale:"de_DE",json:{charset:"utf-8",headers:{"Last-Translator":"Mario Siegmann <mario_siegmann@web.de>, 2020","Language-Team":"German (Germany) (https://www.transifex.com/nextcloud/teams/64236/de_DE/)","Content-Type":"text/plain; charset=UTF-8",Language:"de_DE","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nPhilipp Fischbeck <pfischbeck@googlemail.com>, 2020\nProfDrJones <jones@fs.cs.hm.edu>, 2020\nMark Ziegler <mark.ziegler@rakekniven.de>, 2020\nMario Siegmann <mario_siegmann@web.de>, 2020\n"},msgstr:["Last-Translator: Mario Siegmann <mario_siegmann@web.de>, 2020\nLanguage-Team: German (Germany) (https://www.transifex.com/nextcloud/teams/64236/de_DE/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: de_DE\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (unsichtbar)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (eingeschränkt)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:254"},msgstr:["Aktionen"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["Aktivitäten"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["Tiere & Natur"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Auswählen"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Schließen"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["Benutzerdefiniert"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["Flaggen"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["Essen & Trinken"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["Häufig verwendet"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:254"},msgstr:["Nachrichtenlimit von {count} Zeichen erreicht"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Weiter"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["Kein Emoji gefunden"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Keine Ergebnisse"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["Gegenstände"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Diashow pausieren"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["Menschen & Körper"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["Ein Emoji auswählen"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Vorherige"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["Suche"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["Suchergebnisse"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Schlagwort auswählen"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:57"},msgstr:["Einstellungen"]},"Settings navigation":{msgid:"Settings navigation",comments:{reference:"src/components/AppSettingsDialog/AppSettingsDialog.vue:106"},msgstr:["Einstellungen-Navigation"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["Smileys & Emotionen"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Diashow starten"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["Symbole"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["Reisen & Orte"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["Die Gruppe kann nicht durchsucht werden"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:151"},msgstr:["Nachricht schreiben, @ um jemanden zu erwähnen ..."]}}}}},{locale:"el",json:{charset:"utf-8",headers:{"Last-Translator":"Efstathios Iosifidis <iefstathios@gmail.com>, 2020","Language-Team":"Greek (https://www.transifex.com/nextcloud/teams/64236/el/)","Content-Type":"text/plain; charset=UTF-8",Language:"el","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\ngeorge k <norhorn@gmail.com>, 2020\nEfstathios Iosifidis <iefstathios@gmail.com>, 2020\n"},msgstr:["Last-Translator: Efstathios Iosifidis <iefstathios@gmail.com>, 2020\nLanguage-Team: Greek (https://www.transifex.com/nextcloud/teams/64236/el/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: el\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (αόρατο)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (περιορισμένο)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:249"},msgstr:["Ενέργειες"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["Δραστηριότητες"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["Ζώα & Φύση"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Επιλογή"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Κλείσιμο"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["Προσαρμογή"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["Σημαίες"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["Φαγητό & Ποτό"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["Συχνά χρησιμοποιούμενο"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Επόμενο"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["Δεν βρέθηκε emoji"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Κανένα αποτέλεσμα"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["Αντικείμενα"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Παύση προβολής διαφανειών"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["Άνθρωποι & Σώμα"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["Επιλέξτε ένα emoji"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Προηγούμενο"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["Αναζήτηση"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["Αποτελέσματα αναζήτησης"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Επιλογή ετικέτας"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:53"},msgstr:["Ρυθμίσεις"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["Φατσούλες & Συναίσθημα"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Έναρξη προβολής διαφανειών"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["Σύμβολα"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["Ταξίδια & Τοποθεσίες"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["Δεν είναι δυνατή η αναζήτηση της ομάδας"]}}}}},{locale:"eo",json:{charset:"utf-8",headers:{"Last-Translator":"Va Milushnikov <va.milushnikov@gmail.com>, 2020","Language-Team":"Esperanto (https://www.transifex.com/nextcloud/teams/64236/eo/)","Content-Type":"text/plain; charset=UTF-8",Language:"eo","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nVa Milushnikov <va.milushnikov@gmail.com>, 2020\n"},msgstr:["Last-Translator: Va Milushnikov <va.milushnikov@gmail.com>, 2020\nLanguage-Team: Esperanto (https://www.transifex.com/nextcloud/teams/64236/eo/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: eo\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",msgstr:["{tag} (kaŝita)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",msgstr:["{tag} (limigita)"]},Actions:{msgid:"Actions",msgstr:["Agoj"]},Activities:{msgid:"Activities",msgstr:["Aktiveco"]},"Animals & Nature":{msgid:"Animals & Nature",msgstr:["Bestoj & Naturo"]},Choose:{msgid:"Choose",msgstr:["Elektu"]},Close:{msgid:"Close",msgstr:["Fermu"]},Custom:{msgid:"Custom",msgstr:["Propra"]},Flags:{msgid:"Flags",msgstr:["Flagoj"]},"Food & Drink":{msgid:"Food & Drink",msgstr:["Manĝaĵo & Trinkaĵo"]},"Frequently used":{msgid:"Frequently used",msgstr:["Ofte uzataj"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",msgstr:["La limo je {count} da literoj atingita"]},Next:{msgid:"Next",msgstr:["Sekva"]},"No emoji found":{msgid:"No emoji found",msgstr:["La emoĝio forestas"]},"No results":{msgid:"No results",msgstr:["La rezulto forestas"]},Objects:{msgid:"Objects",msgstr:["Objektoj"]},"Pause slideshow":{msgid:"Pause slideshow",msgstr:["Payzi bildprezenton"]},"People & Body":{msgid:"People & Body",msgstr:["Homoj & Korpo"]},"Pick an emoji":{msgid:"Pick an emoji",msgstr:["Elekti emoĝion "]},Previous:{msgid:"Previous",msgstr:["Antaŭa"]},Search:{msgid:"Search",msgstr:["Serĉi"]},"Search results":{msgid:"Search results",msgstr:["Serĉrezultoj"]},"Select a tag":{msgid:"Select a tag",msgstr:["Elektu etikedon"]},Settings:{msgid:"Settings",msgstr:["Agordo"]},"Settings navigation":{msgid:"Settings navigation",msgstr:["Agorda navigado"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",msgstr:["Ridoj kaj Emocioj"]},"Start slideshow":{msgid:"Start slideshow",msgstr:["Komenci bildprezenton"]},Symbols:{msgid:"Symbols",msgstr:["Signoj"]},"Travel & Places":{msgid:"Travel & Places",msgstr:["Vojaĵoj & Lokoj"]},"Unable to search the group":{msgid:"Unable to search the group",msgstr:["Ne eblas serĉi en la grupo"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",msgstr:["Mesaĝi, uzu @ por mencii iun ..."]}}}}},{locale:"es",json:{charset:"utf-8",headers:{"Last-Translator":"Maira Belmonte <mairabelmonte@gmail.com>, 2020","Language-Team":"Spanish (https://www.transifex.com/nextcloud/teams/64236/es/)","Content-Type":"text/plain; charset=UTF-8",Language:"es","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\njavier san felipe <jsanfe@gmail.com>, 2020\nMaira Belmonte <mairabelmonte@gmail.com>, 2020\n"},msgstr:["Last-Translator: Maira Belmonte <mairabelmonte@gmail.com>, 2020\nLanguage-Team: Spanish (https://www.transifex.com/nextcloud/teams/64236/es/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",msgstr:["{tag} (invisible)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",msgstr:["{tag} (restringido)"]},Actions:{msgid:"Actions",msgstr:["Acciones"]},Activities:{msgid:"Activities",msgstr:["Actividades"]},"Animals & Nature":{msgid:"Animals & Nature",msgstr:["Animales y naturaleza"]},Choose:{msgid:"Choose",msgstr:["Elegir"]},Close:{msgid:"Close",msgstr:["Cerrar"]},Custom:{msgid:"Custom",msgstr:["Personalizado"]},Flags:{msgid:"Flags",msgstr:["Banderas"]},"Food & Drink":{msgid:"Food & Drink",msgstr:["Comida y bebida"]},"Frequently used":{msgid:"Frequently used",msgstr:["Usado con frecuenca"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",msgstr:["El mensaje ha alcanzado el límite de {count} caracteres"]},Next:{msgid:"Next",msgstr:["Siguiente"]},"No emoji found":{msgid:"No emoji found",msgstr:["No hay ningún emoji"]},"No results":{msgid:"No results",msgstr:[" Ningún resultado"]},Objects:{msgid:"Objects",msgstr:["Objetos"]},"Pause slideshow":{msgid:"Pause slideshow",msgstr:["Pausar la presentación "]},"People & Body":{msgid:"People & Body",msgstr:["Personas y cuerpos"]},"Pick an emoji":{msgid:"Pick an emoji",msgstr:["Elegir un emoji"]},Previous:{msgid:"Previous",msgstr:["Anterior"]},Search:{msgid:"Search",msgstr:["Buscar"]},"Search results":{msgid:"Search results",msgstr:["Resultados de la búsqueda"]},"Select a tag":{msgid:"Select a tag",msgstr:["Seleccione una etiqueta"]},Settings:{msgid:"Settings",msgstr:["Ajustes"]},"Settings navigation":{msgid:"Settings navigation",msgstr:["Navegación por ajustes"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",msgstr:["Smileys y emoticonos"]},"Start slideshow":{msgid:"Start slideshow",msgstr:["Iniciar la presentación"]},Symbols:{msgid:"Symbols",msgstr:["Símbolos"]},"Travel & Places":{msgid:"Travel & Places",msgstr:["Viajes y lugares"]},"Unable to search the group":{msgid:"Unable to search the group",msgstr:["No es posible buscar en el grupo"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",msgstr:["Escriba un mensaje, @ para mencionar a alguien..."]}}}}},{locale:"eu",json:{charset:"utf-8",headers:{"Last-Translator":"Asier Iturralde Sarasola <asier.iturralde@gmail.com>, 2020","Language-Team":"Basque (https://www.transifex.com/nextcloud/teams/64236/eu/)","Content-Type":"text/plain; charset=UTF-8",Language:"eu","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"Translators:\nAsier Iturralde Sarasola <asier.iturralde@gmail.com>, 2020\n"},msgstr:["Last-Translator: Asier Iturralde Sarasola <asier.iturralde@gmail.com>, 2020\nLanguage-Team: Basque (https://www.transifex.com/nextcloud/teams/64236/eu/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: eu\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:169"},msgstr:["{tag} (ikusezina)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:172"},msgstr:["{tag} (mugatua)"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Aukeratu"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:109"},msgstr:["Itxi"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:154"},msgstr:["Hurrengoa"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:169\nsrc/components/MultiselectTags/MultiselectTags.vue:78"},msgstr:["Emaitzarik ez"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:290"},msgstr:["Pausatu diaporama"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:134"},msgstr:["Aurrekoa"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Hautatu etiketa bat"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:53"},msgstr:["Ezarpenak"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:290"},msgstr:["Hasi diaporama"]}}}}},{locale:"fi_FI",json:{charset:"utf-8",headers:{"Last-Translator":"teemue, 2020","Language-Team":"Finnish (Finland) (https://www.transifex.com/nextcloud/teams/64236/fi_FI/)","Content-Type":"text/plain; charset=UTF-8",Language:"fi_FI","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nRobin Lahtinen <robin.lahtinen@gmail.com>, 2020\nteemue, 2020\n"},msgstr:["Last-Translator: teemue, 2020\nLanguage-Team: Finnish (Finland) (https://www.transifex.com/nextcloud/teams/64236/fi_FI/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fi_FI\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (näkymätön)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (rajoitettu)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:254"},msgstr:["Toiminnot"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["Aktiviteetit"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["Eläimet & luonto"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Valitse"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Sulje"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["Mukautettu"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["Liput"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["Ruoka & juoma"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["Usein käytetyt"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:255"},msgstr:["Viestin maksimimerkkimäärä {count} täynnä "]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Seuraava"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["Emojia ei löytynyt"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Ei tuloksia"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["Esineet & asiat"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Keskeytä diaesitys"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["Ihmiset & keho"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["Valitse emoji"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Edellinen"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["Etsi"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["Hakutulokset"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Valitse tagi"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:57"},msgstr:["Asetukset"]},"Settings navigation":{msgid:"Settings navigation",comments:{reference:"src/components/AppSettingsDialog/AppSettingsDialog.vue:106"},msgstr:["Asetusnavigaatio"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["Hymiöt ja & tunteet"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Aloita diaesitys"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["Symbolit"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["Matkustus & kohteet"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["Ryhmää ei voi hakea"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:152"},msgstr:["Kirjoita viesti, @ mainitaksesi jonkun..."]}}}}},{locale:"fr",json:{charset:"utf-8",headers:{"Last-Translator":"Ludovici t <ludovic.tourtelier@e-c.bzh>, 2020","Language-Team":"French (https://www.transifex.com/nextcloud/teams/64236/fr/)","Content-Type":"text/plain; charset=UTF-8",Language:"fr","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nBrendan Abolivier <transifex@brendanabolivier.com>, 2020\ngud bes <gudbes@protonmail.com>, 2020\nGreg Greg <grena@grenabox.fr>, 2020\nLuclu7 <theluc7andcompagnie@gmail.com>, 2020\nJulien Veyssier, 2020\nLudovici t <ludovic.tourtelier@e-c.bzh>, 2020\n"},msgstr:["Last-Translator: Ludovici t <ludovic.tourtelier@e-c.bzh>, 2020\nLanguage-Team: French (https://www.transifex.com/nextcloud/teams/64236/fr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fr\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",msgstr:["{tag} (invisible)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",msgstr:["{tag} (restreint)"]},Actions:{msgid:"Actions",msgstr:["Actions"]},Activities:{msgid:"Activities",msgstr:["Activités"]},"Animals & Nature":{msgid:"Animals & Nature",msgstr:["Animaux & Nature"]},Choose:{msgid:"Choose",msgstr:["Choisir"]},Close:{msgid:"Close",msgstr:["Fermer"]},Custom:{msgid:"Custom",msgstr:["Personnalisé"]},Flags:{msgid:"Flags",msgstr:["Drapeaux"]},"Food & Drink":{msgid:"Food & Drink",msgstr:["Nourriture & Boissons"]},"Frequently used":{msgid:"Frequently used",msgstr:["Utilisés fréquemment"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",msgstr:["Limite de messages de {count} caractères atteinte"]},Next:{msgid:"Next",msgstr:["Suivant"]},"No emoji found":{msgid:"No emoji found",msgstr:["Pas d’émoji trouvé"]},"No results":{msgid:"No results",msgstr:["Aucun résultat"]},Objects:{msgid:"Objects",msgstr:["Objets"]},"Pause slideshow":{msgid:"Pause slideshow",msgstr:["Mettre le diaporama en pause"]},"People & Body":{msgid:"People & Body",msgstr:["Personnes & Corps"]},"Pick an emoji":{msgid:"Pick an emoji",msgstr:["Choisissez un émoji"]},Previous:{msgid:"Previous",msgstr:["Précédent"]},Search:{msgid:"Search",msgstr:["Chercher"]},"Search results":{msgid:"Search results",msgstr:["Résultats de recherche"]},"Select a tag":{msgid:"Select a tag",msgstr:["Sélectionnez une balise"]},Settings:{msgid:"Settings",msgstr:["Paramètres"]},"Settings navigation":{msgid:"Settings navigation",msgstr:["Navigation dans les paramètres"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",msgstr:["Smileys & Émotions"]},"Start slideshow":{msgid:"Start slideshow",msgstr:["Démarrer le diaporama"]},Symbols:{msgid:"Symbols",msgstr:["Symboles"]},"Travel & Places":{msgid:"Travel & Places",msgstr:["Voyage & Lieux"]},"Unable to search the group":{msgid:"Unable to search the group",msgstr:["Impossible de chercher le groupe"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",msgstr:["Écrivez un message, @ pour mentionner quelqu'un…"]}}}}},{locale:"gl",json:{charset:"utf-8",headers:{"Last-Translator":"Miguel Anxo Bouzada <mbouzada@gmail.com>, 2020","Language-Team":"Galician (https://www.transifex.com/nextcloud/teams/64236/gl/)","Content-Type":"text/plain; charset=UTF-8",Language:"gl","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMiguel Anxo Bouzada <mbouzada@gmail.com>, 2020\n"},msgstr:["Last-Translator: Miguel Anxo Bouzada <mbouzada@gmail.com>, 2020\nLanguage-Team: Galician (https://www.transifex.com/nextcloud/teams/64236/gl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: gl\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (invisíbel)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (restrinxido)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:254"},msgstr:["Accións"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["Actividades"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["Animais e natureza"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Escoller"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Pechar"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["Personalizado"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["Bandeiras"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["Comida e bebida"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["Usado con frecuencia"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:254"},msgstr:["Acadouse o límite de {count} caracteres por mensaxe"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Seguinte"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["Non se atopou ningún «emoji»"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Sen resultados"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["Obxectos"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Pausar o diaporama"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["Persoas e corpo"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["Escolla un «emoji»"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Anterir"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["Buscar"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["Resultados da busca"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Seleccione unha etiqueta"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:57"},msgstr:["Axustes"]},"Settings navigation":{msgid:"Settings navigation",comments:{reference:"src/components/AppSettingsDialog/AppSettingsDialog.vue:106"},msgstr:["Navegación de axustes"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["Sorrisos e emocións"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Iniciar o diaporama"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["Símbolos"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["Viaxes e lugares"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["Non foi posíbel buscar o grupo"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:151"},msgstr:["Escriba a mensaxe, @ para mencionar a alguén…"]}}}}},{locale:"he",json:{charset:"utf-8",headers:{"Last-Translator":"Yaron Shahrabani <sh.yaron@gmail.com>, 2020","Language-Team":"Hebrew (https://www.transifex.com/nextcloud/teams/64236/he/)","Content-Type":"text/plain; charset=UTF-8",Language:"he","Plural-Forms":"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nYaron Shahrabani <sh.yaron@gmail.com>, 2020\n"},msgstr:["Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>, 2020\nLanguage-Team: Hebrew (https://www.transifex.com/nextcloud/teams/64236/he/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: he\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (נסתר)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (מוגבל)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:249"},msgstr:["פעולות"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["פעילויות"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["חיות וטבע"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["בחירה"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["סגירה"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["בהתאמה אישית"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["דגלים"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["מזון ומשקאות"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["בשימוש תדיר"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["הבא"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["לא נמצא אמוג׳י"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["אין תוצאות"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["חפצים"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["השהיית מצגת"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["אנשים וגוף"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["נא לבחור אמוג׳י"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["הקודם"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["חיפוש"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["תוצאות חיפוש"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["בחירת תגית"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:57"},msgstr:["הגדרות"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["חייכנים ורגשונים"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["התחלת המצגת"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["סמלים"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["טיולים ומקומות"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["לא ניתן לחפש בקבוצה"]}}}}},{locale:"hu_HU",json:{charset:"utf-8",headers:{"Last-Translator":"Balázs Meskó <meskobalazs@mailbox.org>, 2021","Language-Team":"Hungarian (Hungary) (https://www.transifex.com/nextcloud/teams/64236/hu_HU/)","Content-Type":"text/plain; charset=UTF-8",Language:"hu_HU","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nasbot10 <richard@asbot.tech>, 2020\nBalázs Meskó <meskobalazs@mailbox.org>, 2021\n"},msgstr:["Last-Translator: Balázs Meskó <meskobalazs@mailbox.org>, 2021\nLanguage-Team: Hungarian (Hungary) (https://www.transifex.com/nextcloud/teams/64236/hu_HU/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hu_HU\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",msgstr:["{tag} (láthatatlan)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",msgstr:["{tag} (korlátozott)"]},Actions:{msgid:"Actions",msgstr:["Műveletek"]},Activities:{msgid:"Activities",msgstr:["Tevékenységek"]},"Animals & Nature":{msgid:"Animals & Nature",msgstr:["Állatok és természet"]},Choose:{msgid:"Choose",msgstr:["Válassszon"]},Close:{msgid:"Close",msgstr:["Bezárás"]},Custom:{msgid:"Custom",msgstr:["Egyéni"]},Flags:{msgid:"Flags",msgstr:["Zászló"]},"Food & Drink":{msgid:"Food & Drink",msgstr:["Étel és ital"]},"Frequently used":{msgid:"Frequently used",msgstr:["Gyakran használt"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",msgstr:["{count} karakteres üzenetkorlát elérve"]},Next:{msgid:"Next",msgstr:["Következő"]},"No emoji found":{msgid:"No emoji found",msgstr:["Nem található emodzsi"]},"No results":{msgid:"No results",msgstr:["Nincs találat"]},Objects:{msgid:"Objects",msgstr:["Tárgyak"]},"Pause slideshow":{msgid:"Pause slideshow",msgstr:["Diavetítés szüneteltetése"]},"People & Body":{msgid:"People & Body",msgstr:["Emberek és test"]},"Pick an emoji":{msgid:"Pick an emoji",msgstr:["Válasszon egy emodzsit"]},Previous:{msgid:"Previous",msgstr:["Előző"]},Search:{msgid:"Search",msgstr:["Keresés"]},"Search results":{msgid:"Search results",msgstr:["Találatok"]},"Select a tag":{msgid:"Select a tag",msgstr:["Válasszon címkét"]},Settings:{msgid:"Settings",msgstr:["Beállítások"]},"Settings navigation":{msgid:"Settings navigation",msgstr:["Navigáció a beállításokban"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",msgstr:["Mosolyok és érzelmek"]},"Start slideshow":{msgid:"Start slideshow",msgstr:["Diavetítés indítása"]},Symbols:{msgid:"Symbols",msgstr:["Szimbólumok"]},"Travel & Places":{msgid:"Travel & Places",msgstr:["Utazás és helyek"]},"Unable to search the group":{msgid:"Unable to search the group",msgstr:["A csoport nem kereshető"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",msgstr:["Írjon üzenetet, @ valaki megemlítéséhez…"]}}}}},{locale:"is",json:{charset:"utf-8",headers:{"Last-Translator":"Sveinn í Felli <sv1@fellsnet.is>, 2020","Language-Team":"Icelandic (https://www.transifex.com/nextcloud/teams/64236/is/)","Content-Type":"text/plain; charset=UTF-8",Language:"is","Plural-Forms":"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nSveinn í Felli <sv1@fellsnet.is>, 2020\n"},msgstr:["Last-Translator: Sveinn í Felli <sv1@fellsnet.is>, 2020\nLanguage-Team: Icelandic (https://www.transifex.com/nextcloud/teams/64236/is/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: is\nPlural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (ósýnilegt)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (takmarkað)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:254"},msgstr:["Aðgerðir"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["Aðgerðir"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["Dýr og náttúra"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Velja"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Loka"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["Sérsniðið"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["Flögg"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["Matur og drykkur"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["Oftast notað"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Næsta"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["Ekkert tjáningartákn fannst"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Engar niðurstöður"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["Hlutir"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Gera hlé á skyggnusýningu"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["Fólk og líkami"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["Veldu tjáningartákn"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Fyrri"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["Leita"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["Leitarniðurstöður"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Veldu merki"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:57"},msgstr:["Stillingar"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["Broskallar og tilfinningar"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Byrja skyggnusýningu"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["Tákn"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["Staðir og ferðalög"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["Get ekki leitað í hópnum"]}}}}},{locale:"it",json:{charset:"utf-8",headers:{"Last-Translator":"Vincenzo Reale <vinx.reale@gmail.com>, 2020","Language-Team":"Italian (https://www.transifex.com/nextcloud/teams/64236/it/)","Content-Type":"text/plain; charset=UTF-8",Language:"it","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nRandom_R, 2020\nVincenzo Reale <vinx.reale@gmail.com>, 2020\n"},msgstr:["Last-Translator: Vincenzo Reale <vinx.reale@gmail.com>, 2020\nLanguage-Team: Italian (https://www.transifex.com/nextcloud/teams/64236/it/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: it\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (invisibile)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (limitato)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:254"},msgstr:["Azioni"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["Attività"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["Animali e natura"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Scegli"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Chiudi"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["Personalizzato"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["Bandiere"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["Cibo e bevande"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["Usati di frequente"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:254"},msgstr:["Limite dei messaggi di {count} caratteri raggiunto"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Successivo"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["Nessun emoji trovato"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Nessun risultato"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["Oggetti"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Presentazione in pausa"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["Persone e corpo"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["Scegli un emoji"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Precedente"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["Cerca"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["Risultati di ricerca"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Seleziona un'etichetta"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:57"},msgstr:["Impostazioni"]},"Settings navigation":{msgid:"Settings navigation",comments:{reference:"src/components/AppSettingsDialog/AppSettingsDialog.vue:106"},msgstr:["Navigazione delle impostazioni"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["Faccine ed emozioni"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Avvia presentazione"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["Simboli"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["Viaggi e luoghi"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["Impossibile cercare il gruppo"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:151"},msgstr:["Scrivi messaggio, @ per menzionare qualcuno…"]}}}}},{locale:"ja_JP",json:{charset:"utf-8",headers:{"Last-Translator":"YANO Tetsu <tetuyano+transi@gmail.com>, 2020","Language-Team":"Japanese (Japan) (https://www.transifex.com/nextcloud/teams/64236/ja_JP/)","Content-Type":"text/plain; charset=UTF-8",Language:"ja_JP","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nYANO Tetsu <tetuyano+transi@gmail.com>, 2020\n"},msgstr:["Last-Translator: YANO Tetsu <tetuyano+transi@gmail.com>, 2020\nLanguage-Team: Japanese (Japan) (https://www.transifex.com/nextcloud/teams/64236/ja_JP/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ja_JP\nPlural-Forms: nplurals=1; plural=0;\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{タグ} (不可視)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{タグ} (制限付)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:249"},msgstr:["操作"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["アクティビティ"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["動物と自然"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["選択"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["閉じる"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["カスタム"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["国旗"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["食べ物と飲み物"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["よく使うもの"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["次"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["絵文字が見つかりません"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["なし"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["物"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["スライドショーを一時停止"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["様々な人と体の部位"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["絵文字を選択"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["前"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["検索"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["検索結果"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["タグを選択"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:53"},msgstr:["設定"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["笑顔と気持ち"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["スライドショーを開始"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["記号"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["旅行と場所"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["グループを検索できません"]}}}}},{locale:"lt_LT",json:{charset:"utf-8",headers:{"Last-Translator":"Moo, 2020","Language-Team":"Lithuanian (Lithuania) (https://www.transifex.com/nextcloud/teams/64236/lt_LT/)","Content-Type":"text/plain; charset=UTF-8",Language:"lt_LT","Plural-Forms":"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMoo, 2020\n"},msgstr:["Last-Translator: Moo, 2020\nLanguage-Team: Lithuanian (Lithuania) (https://www.transifex.com/nextcloud/teams/64236/lt_LT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lt_LT\nPlural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (nematoma)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (apribota)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:254"},msgstr:["Veiksmai"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["Veiklos"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["Gyvūnai ir gamta"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Pasirinkti"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Užverti"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["Tinkinti"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["Vėliavos"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["Maistas ir gėrimai"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["Dažniausiai naudoti"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Kitas"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["Nerasta jaustukų"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Nėra rezultatų"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["Objektai"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Pristabdyti skaidrių rodymą"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["Žmonės ir kūnas"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["Pasirinkti jaustuką"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Ankstesnis"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["Ieškoti"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["Paieškos rezultatai"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Pasirinkti žymę"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:57"},msgstr:["Nustatymai"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["Šypsenos ir emocijos"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Pradėti skaidrių rodymą"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["Simboliai"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["Kelionės ir vietos"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["Nepavyko atlikti paiešką grupėje"]}}}}},{locale:"lv",json:{charset:"utf-8",headers:{"Last-Translator":"stendec <stendec@inbox.lv>, 2020","Language-Team":"Latvian (https://www.transifex.com/nextcloud/teams/64236/lv/)","Content-Type":"text/plain; charset=UTF-8",Language:"lv","Plural-Forms":"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"},translations:{"":{"":{msgid:"",comments:{translator:"Translators:\nstendec <stendec@inbox.lv>, 2020\n"},msgstr:["Last-Translator: stendec <stendec@inbox.lv>, 2020\nLanguage-Team: Latvian (https://www.transifex.com/nextcloud/teams/64236/lv/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lv\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:169"},msgstr:["{tag} (neredzams)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:172"},msgstr:["{tag} (ierobežots)"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Izvēlēties"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:109"},msgstr:["Aizvērt"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:154"},msgstr:["Nākamais"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:169\nsrc/components/MultiselectTags/MultiselectTags.vue:78"},msgstr:["Nav rezultātu"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:290"},msgstr:["Pauzēt slaidrādi"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:134"},msgstr:["Iepriekšējais"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Izvēlēties birku"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:53"},msgstr:["Iestatījumi"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:290"},msgstr:["Sākt slaidrādi"]}}}}},{locale:"mk",json:{charset:"utf-8",headers:{"Last-Translator":"Сашко Тодоров, 2020","Language-Team":"Macedonian (https://www.transifex.com/nextcloud/teams/64236/mk/)","Content-Type":"text/plain; charset=UTF-8",Language:"mk","Plural-Forms":"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nСашко Тодоров, 2020\n"},msgstr:["Last-Translator: Сашко Тодоров, 2020\nLanguage-Team: Macedonian (https://www.transifex.com/nextcloud/teams/64236/mk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: mk\nPlural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (невидливо)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (ограничено)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:254"},msgstr:["Акции"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["Активности"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["Животни & Природа"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Избери"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Затвори"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["Прилагодени"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["Знамиња"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["Храна & Пијалоци"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["Најчесто користени"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:254"},msgstr:["Ограничувањето на должината на пораката од {count} карактери е надминато"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Следно"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["Не се пронајдени емотикони"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Нема резултати"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["Објекти"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Пузирај слајдшоу"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["Луѓе & Тело"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["Избери емотикон"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Предходно"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["Барај"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["Резултати од барувањето"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Избери ознака"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:57"},msgstr:["Параметри"]},"Settings navigation":{msgid:"Settings navigation",comments:{reference:"src/components/AppSettingsDialog/AppSettingsDialog.vue:106"},msgstr:["Параметри за навигација"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["Смешковци & Емотикони"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Стартувај слајдшоу"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["Симболи"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["Патувања & Места"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["Неможе да се принајде групата"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:151"},msgstr:["Напиши порака, @ за да спомнеш некој …"]}}}}},{locale:"nb_NO",json:{charset:"utf-8",headers:{"Last-Translator":"sverre.vikan <sverre.vikan@gmail.com>, 2020","Language-Team":"Norwegian Bokmål (Norway) (https://www.transifex.com/nextcloud/teams/64236/nb_NO/)","Content-Type":"text/plain; charset=UTF-8",Language:"nb_NO","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nOle Jakob Brustad <ole.jakob@brustadbuss.no>, 2020\nsverre.vikan <sverre.vikan@gmail.com>, 2020\n"},msgstr:["Last-Translator: sverre.vikan <sverre.vikan@gmail.com>, 2020\nLanguage-Team: Norwegian Bokmål (Norway) (https://www.transifex.com/nextcloud/teams/64236/nb_NO/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nb_NO\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (usynlig)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (beskyttet)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:254"},msgstr:["Handlinger"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["Aktiviteter"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["Dyr og natur"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Velg"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Lukk"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["Selvvalgt"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["Flagg"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["Mat og drikke"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["Ofte brukt"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Neste"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["Fant ingen emoji"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Ingen resultater"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["Objekter"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Pause lysbildefremvisning"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["Mennesker og kropp"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["Velg en emoji"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Forrige"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["Søk"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["Søkeresultater"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Velg en merkelapp"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:57"},msgstr:["Innstillinger"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["Smilefjes og følelser"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Start lysbildefremvisning"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["Symboler"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["Reise og steder"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["Kunne ikke søke i gruppen"]}}}}},{locale:"nl",json:{charset:"utf-8",headers:{"Last-Translator":"Robin Slot, 2020","Language-Team":"Dutch (https://www.transifex.com/nextcloud/teams/64236/nl/)","Content-Type":"text/plain; charset=UTF-8",Language:"nl","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nRoeland Jago Douma, 2020\nArjan van S, 2020\nRobin Slot, 2020\n"},msgstr:["Last-Translator: Robin Slot, 2020\nLanguage-Team: Dutch (https://www.transifex.com/nextcloud/teams/64236/nl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nl\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",msgstr:["{tag} (onzichtbaar)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",msgstr:["{tag} (beperkt)"]},Actions:{msgid:"Actions",msgstr:["Acties"]},Activities:{msgid:"Activities",msgstr:["Activiteiten"]},"Animals & Nature":{msgid:"Animals & Nature",msgstr:["Dieren & Natuur"]},Choose:{msgid:"Choose",msgstr:["Kies"]},Close:{msgid:"Close",msgstr:["Sluiten"]},Custom:{msgid:"Custom",msgstr:["Aangepast"]},Flags:{msgid:"Flags",msgstr:["Vlaggen"]},"Food & Drink":{msgid:"Food & Drink",msgstr:["Eten & Drinken"]},"Frequently used":{msgid:"Frequently used",msgstr:["Vaak gebruikt"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",msgstr:["Berichtlengte van {count} karakters bereikt"]},Next:{msgid:"Next",msgstr:["Volgende"]},"No emoji found":{msgid:"No emoji found",msgstr:["Geen emoji gevonden"]},"No results":{msgid:"No results",msgstr:["Geen resultaten"]},Objects:{msgid:"Objects",msgstr:["Objecten"]},"Pause slideshow":{msgid:"Pause slideshow",msgstr:["Pauzeer diavoorstelling"]},"People & Body":{msgid:"People & Body",msgstr:["Mensen & Lichaam"]},"Pick an emoji":{msgid:"Pick an emoji",msgstr:["Kies een emoji"]},Previous:{msgid:"Previous",msgstr:["Vorige"]},Search:{msgid:"Search",msgstr:["Zoeken"]},"Search results":{msgid:"Search results",msgstr:["Zoekresultaten"]},"Select a tag":{msgid:"Select a tag",msgstr:["Selecteer een label"]},Settings:{msgid:"Settings",msgstr:["Instellingen"]},"Settings navigation":{msgid:"Settings navigation",msgstr:["Instellingen navigatie"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",msgstr:["Smileys & Emotie"]},"Start slideshow":{msgid:"Start slideshow",msgstr:["Start diavoorstelling"]},Symbols:{msgid:"Symbols",msgstr:["Symbolen"]},"Travel & Places":{msgid:"Travel & Places",msgstr:["Reizen & Plaatsen"]},"Unable to search the group":{msgid:"Unable to search the group",msgstr:["Kan niet in de groep zoeken"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",msgstr:["Schrijf een bericht, @ om iemand te noemen ..."]}}}}},{locale:"oc",json:{charset:"utf-8",headers:{"Last-Translator":"Quentin PAGÈS, 2020","Language-Team":"Occitan (post 1500) (https://www.transifex.com/nextcloud/teams/64236/oc/)","Content-Type":"text/plain; charset=UTF-8",Language:"oc","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"Translators:\nQuentin PAGÈS, 2020\n"},msgstr:["Last-Translator: Quentin PAGÈS, 2020\nLanguage-Team: Occitan (post 1500) (https://www.transifex.com/nextcloud/teams/64236/oc/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: oc\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (invisible)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (limit)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:194"},msgstr:["Accions"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Causir"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Tampar"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Seguent"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:172\nsrc/components/MultiselectTags/MultiselectTags.vue:78"},msgstr:["Cap de resultat"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Metre en pausa lo diaporama"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Precedent"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Seleccionar una etiqueta"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:53"},msgstr:["Paramètres"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Lançar lo diaporama"]}}}}},{locale:"pl",json:{charset:"utf-8",headers:{"Last-Translator":"Valdnet, 2020","Language-Team":"Polish (https://www.transifex.com/nextcloud/teams/64236/pl/)","Content-Type":"text/plain; charset=UTF-8",Language:"pl","Plural-Forms":"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nArtur Skoczylas <art.skoczylas@gmail.com>, 2020\nValdnet, 2020\n"},msgstr:["Last-Translator: Valdnet, 2020\nLanguage-Team: Polish (https://www.transifex.com/nextcloud/teams/64236/pl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: pl\nPlural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (niewidoczna)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (ograniczona)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:254"},msgstr:["Działania"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["Aktywność"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["Zwierzęta i natura"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Wybierz"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Zamknij"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["Zwyczajne"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["Flagi"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["Jedzenie i picie"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["Często używane"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:254"},msgstr:["Przekroczono limit wiadomości wynoszący {count} znaków"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Następny"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["Nie znaleziono emotikonów"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Brak wyników"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["Obiekty"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Wstrzymaj pokaz slajdów"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["Ludzie i ciało"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["Wybierz emoji"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Poprzedni"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["Szukaj"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["Wyniki wyszukiwania"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Wybierz etykietę"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:57"},msgstr:["Ustawienia"]},"Settings navigation":{msgid:"Settings navigation",comments:{reference:"src/components/AppSettingsDialog/AppSettingsDialog.vue:106"},msgstr:["Nawigacja ustawień"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["Buźki i emotikony"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Rozpocznij pokaz slajdów"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["Symbole"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["Podróże i miejsca"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["Nie można przeszukać grupy"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:151"},msgstr:["Napisz wiadomość, aby wspomnieć o kimś użyj @…"]}}}}},{locale:"pt_BR",json:{charset:"utf-8",headers:{"Last-Translator":"Flávio Veras <flaviove@gmail.com>, 2021","Language-Team":"Portuguese (Brazil) (https://www.transifex.com/nextcloud/teams/64236/pt_BR/)","Content-Type":"text/plain; charset=UTF-8",Language:"pt_BR","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMaurício Gardini <accounts@mauriciogardini.com>, 2020\nPaulo Schopf, 2020\nRodrigo de Almeida Sottomaior Macedo <rmsolucoeseminformatica@protonmail.com>, 2020\nFlávio Veras <flaviove@gmail.com>, 2021\n"},msgstr:["Last-Translator: Flávio Veras <flaviove@gmail.com>, 2021\nLanguage-Team: Portuguese (Brazil) (https://www.transifex.com/nextcloud/teams/64236/pt_BR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: pt_BR\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",msgstr:["{tag} (invisível)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",msgstr:["{tag} (restrito) "]},Actions:{msgid:"Actions",msgstr:["Ações"]},Activities:{msgid:"Activities",msgstr:["Atividades"]},"Animals & Nature":{msgid:"Animals & Nature",msgstr:["Animais & Natureza"]},Choose:{msgid:"Choose",msgstr:["Escolher"]},Close:{msgid:"Close",msgstr:["Fechar"]},Custom:{msgid:"Custom",msgstr:["Personalizado"]},Flags:{msgid:"Flags",msgstr:["Bandeiras"]},"Food & Drink":{msgid:"Food & Drink",msgstr:["Comida & Bebida"]},"Frequently used":{msgid:"Frequently used",msgstr:["Mais usados"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",msgstr:["Limite de mensagem de {count} caracteres atingido"]},Next:{msgid:"Next",msgstr:["Próximo"]},"No emoji found":{msgid:"No emoji found",msgstr:["Nenhum emoji encontrado"]},"No results":{msgid:"No results",msgstr:["Sem resultados"]},Objects:{msgid:"Objects",msgstr:["Objetos"]},"Pause slideshow":{msgid:"Pause slideshow",msgstr:["Pausar apresentação de slides"]},"People & Body":{msgid:"People & Body",msgstr:["Pessoas & Corpo"]},"Pick an emoji":{msgid:"Pick an emoji",msgstr:["Escolha um emoji"]},Previous:{msgid:"Previous",msgstr:["Anterior"]},Search:{msgid:"Search",msgstr:["Pesquisar"]},"Search results":{msgid:"Search results",msgstr:["Resultados da pesquisa"]},"Select a tag":{msgid:"Select a tag",msgstr:["Selecionar uma tag"]},Settings:{msgid:"Settings",msgstr:["Configurações"]},"Settings navigation":{msgid:"Settings navigation",msgstr:["Navegação de configurações"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",msgstr:["Smiles & Emoções"]},"Start slideshow":{msgid:"Start slideshow",msgstr:["Iniciar apresentação de slides"]},Symbols:{msgid:"Symbols",msgstr:["Símbolo"]},"Travel & Places":{msgid:"Travel & Places",msgstr:["Viagem & Lugares"]},"Unable to search the group":{msgid:"Unable to search the group",msgstr:["Não foi possível pesquisar o grupo"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",msgstr:["Escreva mensagem, @ para mencionar alguém ..."]}}}}},{locale:"pt_PT",json:{charset:"utf-8",headers:{"Last-Translator":"Manuela Silva <manuelarodsilva@gmail.com>, 2020","Language-Team":"Portuguese (Portugal) (https://www.transifex.com/nextcloud/teams/64236/pt_PT/)","Content-Type":"text/plain; charset=UTF-8",Language:"pt_PT","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nfpapoila <fpapoila@gmail.com>, 2020\nManuela Silva <manuelarodsilva@gmail.com>, 2020\n"},msgstr:["Last-Translator: Manuela Silva <manuelarodsilva@gmail.com>, 2020\nLanguage-Team: Portuguese (Portugal) (https://www.transifex.com/nextcloud/teams/64236/pt_PT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: pt_PT\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (invisivel)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (restrito)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:249"},msgstr:["Ações"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Escolher"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Fechar"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Seguinte"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Sem resultados"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Pausar diaporama"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Anterior"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Selecionar uma etiqueta"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:53"},msgstr:["Definições"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Iniciar diaporama"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["Não é possível pesquisar o grupo"]}}}}},{locale:"ru",json:{charset:"utf-8",headers:{"Last-Translator":"Alex <kekcuha@gmail.com>, 2020","Language-Team":"Russian (https://www.transifex.com/nextcloud/teams/64236/ru/)","Content-Type":"text/plain; charset=UTF-8",Language:"ru","Plural-Forms":"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"Translators:\nAlex <kekcuha@gmail.com>, 2020\n"},msgstr:["Last-Translator: Alex <kekcuha@gmail.com>, 2020\nLanguage-Team: Russian (https://www.transifex.com/nextcloud/teams/64236/ru/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ru\nPlural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:169"},msgstr:["{tag} (невидимое)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:172"},msgstr:["{tag} (ограниченное)"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Выберите"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:109"},msgstr:["Закрыть"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:154"},msgstr:["Следующее"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:169\nsrc/components/MultiselectTags/MultiselectTags.vue:78"},msgstr:["Результаты отсуствуют"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:290"},msgstr:["Приостановить показ слйдов"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:134"},msgstr:["Предыдущее"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Выберите метку"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:53"},msgstr:["Параметры"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:290"},msgstr:["Начать показ слайдов"]}}}}},{locale:"sk_SK",json:{charset:"utf-8",headers:{"Last-Translator":"Anton Kuchár <tonokuc@pobox.sk>, 2020","Language-Team":"Slovak (Slovakia) (https://www.transifex.com/nextcloud/teams/64236/sk_SK/)","Content-Type":"text/plain; charset=UTF-8",Language:"sk_SK","Plural-Forms":"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nAnton Kuchár <tonokuc@pobox.sk>, 2020\n"},msgstr:["Last-Translator: Anton Kuchár <tonokuc@pobox.sk>, 2020\nLanguage-Team: Slovak (Slovakia) (https://www.transifex.com/nextcloud/teams/64236/sk_SK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sk_SK\nPlural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (neviditeľný)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (obmedzený)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:249"},msgstr:["Akcie"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["Aktivity"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["Zvieratá a príroda"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Vybrať"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Zatvoriť"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["Zvyk"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["Vlajky"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["Jedlo a nápoje"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["Často používané"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Ďalší"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["Nenašli sa žiadne emodži"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Žiadne výsledky"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["Objekty"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Pozastaviť prezentáciu"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["Ľudia a telo"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["Vyberte si emodži"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Predchádzajúci"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["Hľadať"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["Výsledky vyhľadávania"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Vybrať štítok"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:53"},msgstr:["Nastavenia"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["Smajlíky a emócie"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Začať prezentáciu"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["Symboly"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["Cestovanie a miesta"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["Skupinu sa nepodarilo nájsť"]}}}}},{locale:"sl",json:{charset:"utf-8",headers:{"Last-Translator":"Matej Urbančič <>, 2020","Language-Team":"Slovenian (https://www.transifex.com/nextcloud/teams/64236/sl/)","Content-Type":"text/plain; charset=UTF-8",Language:"sl","Plural-Forms":"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMatej Urbančič <>, 2020\n"},msgstr:["Last-Translator: Matej Urbančič <>, 2020\nLanguage-Team: Slovenian (https://www.transifex.com/nextcloud/teams/64236/sl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sl\nPlural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (nevidno)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (omejeno)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:254"},msgstr:["Dejanja"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["Dejavnosti"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["Živali in Narava"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Izbor"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Zapri"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["Po meri"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["Zastavice"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["Hrana in Pijača"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["Pogostost uporabe"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Naslednji"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["Ni najdenih izraznih ikon"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Ni zadetkov"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["Predmeti"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Ustavi predstavitev"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["Ljudje in Telo"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["Izbor izrazne ikone"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Predhodni"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["Iskanje"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["Zadetki iskanja"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Izbor oznake"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:57"},msgstr:["Nastavitve"]},"Settings navigation":{msgid:"Settings navigation",comments:{reference:"src/components/AppSettingsDialog/AppSettingsDialog.vue:106"},msgstr:["Krmarjenje nastavitev"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["Izrazne ikone"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Začni predstavitev"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["Simboli"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["Potovanja in Kraji"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["Ni mogoče iskati po skuspini"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:126"},msgstr:["Napišite sporočilo, z @ omenite osebo ..."]}}}}},{locale:"sv",json:{charset:"utf-8",headers:{"Last-Translator":"Victor Nyberg <v70123@gmail.com>, 2021","Language-Team":"Swedish (https://www.transifex.com/nextcloud/teams/64236/sv/)","Content-Type":"text/plain; charset=UTF-8",Language:"sv","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nGabriel Ekström <gabriel.ekstrom06@gmail.com>, 2020\nErik Lennartsson, 2020\nJonatan Nyberg <jonatan.nyberg.karl@gmail.com>, 2020\nVictor Nyberg <v70123@gmail.com>, 2021\n"},msgstr:["Last-Translator: Victor Nyberg <v70123@gmail.com>, 2021\nLanguage-Team: Swedish (https://www.transifex.com/nextcloud/teams/64236/sv/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sv\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",msgstr:["{tag} (osynlig)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",msgstr:["{tag} (begränsad)"]},Actions:{msgid:"Actions",msgstr:["Åtgärder"]},Activities:{msgid:"Activities",msgstr:["Aktiviteter"]},"Animals & Nature":{msgid:"Animals & Nature",msgstr:["Djur & Natur"]},Choose:{msgid:"Choose",msgstr:["Välj"]},Close:{msgid:"Close",msgstr:["Stäng"]},Custom:{msgid:"Custom",msgstr:["Anpassad"]},Flags:{msgid:"Flags",msgstr:["Flaggor"]},"Food & Drink":{msgid:"Food & Drink",msgstr:["Mat & Dryck"]},"Frequently used":{msgid:"Frequently used",msgstr:["Används ofta"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",msgstr:["Meddelandegräns {count} tecken används"]},Next:{msgid:"Next",msgstr:["Nästa"]},"No emoji found":{msgid:"No emoji found",msgstr:["Hittade inga emojis"]},"No results":{msgid:"No results",msgstr:["Inga resultat"]},Objects:{msgid:"Objects",msgstr:["Objekt"]},"Pause slideshow":{msgid:"Pause slideshow",msgstr:["Pausa bildspelet"]},"People & Body":{msgid:"People & Body",msgstr:["Kropp & Själ"]},"Pick an emoji":{msgid:"Pick an emoji",msgstr:["Välj en emoji"]},Previous:{msgid:"Previous",msgstr:["Föregående"]},Search:{msgid:"Search",msgstr:["Sök"]},"Search results":{msgid:"Search results",msgstr:["Sökresultat"]},"Select a tag":{msgid:"Select a tag",msgstr:["Välj en tag"]},Settings:{msgid:"Settings",msgstr:["Inställningar"]},"Settings navigation":{msgid:"Settings navigation",msgstr:["Inställningsmeny"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",msgstr:["Selfies & Känslor"]},"Start slideshow":{msgid:"Start slideshow",msgstr:["Starta bildspelet"]},Symbols:{msgid:"Symbols",msgstr:["Symboler"]},"Travel & Places":{msgid:"Travel & Places",msgstr:["Resor & Sevärdigheter"]},"Unable to search the group":{msgid:"Unable to search the group",msgstr:["Kunde inte söka i gruppen"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",msgstr:["Skicka meddelande, skriv @ för att omnämna någon ..."]}}}}},{locale:"tr",json:{charset:"utf-8",headers:{"Last-Translator":"Kaya Zeren <kayazeren@gmail.com>, 2020","Language-Team":"Turkish (https://www.transifex.com/nextcloud/teams/64236/tr/)","Content-Type":"text/plain; charset=UTF-8",Language:"tr","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nKemal Oktay Aktoğan <oktayaktogan@gmail.com>, 2020\nabc Def <hdogan1974@gmail.com>, 2020\nKaya Zeren <kayazeren@gmail.com>, 2020\n"},msgstr:["Last-Translator: Kaya Zeren <kayazeren@gmail.com>, 2020\nLanguage-Team: Turkish (https://www.transifex.com/nextcloud/teams/64236/tr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: tr\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (görünmez)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (kısıtlı)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:254"},msgstr:["İşlemler"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["Etkinlikler"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["Hayvanlar ve Doğa"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Seçin"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Kapat"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["Özel"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["Bayraklar"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["Yeme ve İçme"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["Sık kullanılanlar"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:254"},msgstr:["{count} karakter ileti sınırına ulaşıldı"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Sonraki"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["Herhangi bir emoji bulunamadı"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Herhangi bir sonuç bulunamadı"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["Nesneler"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Slayt sunumunu duraklat"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["İnsanlar ve Beden"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["Bir emoji seçin"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Önceki"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["Arama"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["Arama sonuçları"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Bir etiket seçin"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:57"},msgstr:["Ayarlar"]},"Settings navigation":{msgid:"Settings navigation",comments:{reference:"src/components/AppSettingsDialog/AppSettingsDialog.vue:106"},msgstr:["Gezinme ayarları"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["İfadeler ve Duygular"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Slayt sunumunu başlat"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["Simgeler"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["Gezi ve Yerler"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["Grupta arama yapılamadı"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:151"},msgstr:["İletiyi yazın. Birini anmak için @ kullanın …"]}}}}},{locale:"uk",json:{charset:"utf-8",headers:{"Last-Translator":"Oleksa Stasevych <oleksiy.stasevych@gmail.com>, 2020","Language-Team":"Ukrainian (https://www.transifex.com/nextcloud/teams/64236/uk/)","Content-Type":"text/plain; charset=UTF-8",Language:"uk","Plural-Forms":"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nOleksa Stasevych <oleksiy.stasevych@gmail.com>, 2020\n"},msgstr:["Last-Translator: Oleksa Stasevych <oleksiy.stasevych@gmail.com>, 2020\nLanguage-Team: Ukrainian (https://www.transifex.com/nextcloud/teams/64236/uk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: uk\nPlural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (invisible)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (restricted)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:249"},msgstr:["Дії"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["Діяльність"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["Тварини та природа"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Виберіть"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Закрити"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["Власне"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["Прапори"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["Їжа та напитки"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["Найчастіші"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Вперед"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["Емоційки відсутні"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Відсутні результати"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["Об'єкти"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Пауза у показі слайдів"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["Люди та жести"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["Виберіть емоційку"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Назад"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["Пошук"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["Результати пошуку"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Виберіть позначку"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:53"},msgstr:["Налаштування"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["Усміхайлики та емоційки"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Почати показ слайдів"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["Символи"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["Поїздки та місця"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["Неможливо шукати в групі"]}}}}},{locale:"zh_CN",json:{charset:"utf-8",headers:{"Last-Translator":"tranxde, 2020","Language-Team":"Chinese (China) (https://www.transifex.com/nextcloud/teams/64236/zh_CN/)","Content-Type":"text/plain; charset=UTF-8",Language:"zh_CN","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nSleepyJesse <Jesse_Xu@live.com>, 2020\nJianming Liang <fuufuukun@163.com>, 2020\nPascal Janus <pascal_janus@163.com>, 2020\nToms Project <tom@projectoms.com>, 2020\ntranxde, 2020\n"},msgstr:["Last-Translator: tranxde, 2020\nLanguage-Team: Chinese (China) (https://www.transifex.com/nextcloud/teams/64236/zh_CN/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: zh_CN\nPlural-Forms: nplurals=1; plural=0;\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (不可见)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (受限)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:254"},msgstr:["行为"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["活动"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["动物 & 自然"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["选择"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["关闭"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["自定义"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["旗帜"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["食物 & 饮品"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["经常使用"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:254"},msgstr:["已达到 {count} 个字符的消息限制"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["下一个"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["表情未找到"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["无结果"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["物体"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["暂停幻灯片"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["人 & 身体"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["选择一个表情"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["上一个"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["搜索"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["搜索结果"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["选择一个标签"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:57"},msgstr:["设置"]},"Settings navigation":{msgid:"Settings navigation",comments:{reference:"src/components/AppSettingsDialog/AppSettingsDialog.vue:106"},msgstr:["设置向导"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["笑脸 & 情感"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["开始幻灯片"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["符号"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["旅游 & 地点"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["无法搜索分组"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:151"},msgstr:["输入消息,输入 @ 来提醒某人"]}}}}},{locale:"zh_HK",json:{charset:"utf-8",headers:{"Last-Translator":"Café Tango, 2021","Language-Team":"Chinese (Hong Kong) (https://www.transifex.com/nextcloud/teams/64236/zh_HK/)","Content-Type":"text/plain; charset=UTF-8",Language:"zh_HK","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nCafé Tango, 2021\n"},msgstr:["Last-Translator: Café Tango, 2021\nLanguage-Team: Chinese (Hong Kong) (https://www.transifex.com/nextcloud/teams/64236/zh_HK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: zh_HK\nPlural-Forms: nplurals=1; plural=0;\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",msgstr:["{tag} (隱藏)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",msgstr:["{tag} (受限)"]},Actions:{msgid:"Actions",msgstr:["動作"]},Activities:{msgid:"Activities",msgstr:["活動"]},"Animals & Nature":{msgid:"Animals & Nature",msgstr:["動物與自然"]},Choose:{msgid:"Choose",msgstr:["選擇"]},Close:{msgid:"Close",msgstr:["關閉"]},Custom:{msgid:"Custom",msgstr:["自定義"]},Flags:{msgid:"Flags",msgstr:["旗幟"]},"Food & Drink":{msgid:"Food & Drink",msgstr:["食物與飲料"]},"Frequently used":{msgid:"Frequently used",msgstr:["經常使用"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",msgstr:["已達到訊息最多 {count} 字元限制"]},Next:{msgid:"Next",msgstr:["下一個"]},"No emoji found":{msgid:"No emoji found",msgstr:["未找到表情符號"]},"No results":{msgid:"No results",msgstr:["無結果"]},Objects:{msgid:"Objects",msgstr:["物件"]},"Pause slideshow":{msgid:"Pause slideshow",msgstr:["暫停幻燈片"]},"People & Body":{msgid:"People & Body",msgstr:["人物"]},"Pick an emoji":{msgid:"Pick an emoji",msgstr:["選擇表情符號"]},Previous:{msgid:"Previous",msgstr:["上一個"]},Search:{msgid:"Search",msgstr:["搜尋"]},"Search results":{msgid:"Search results",msgstr:["搜尋結果"]},"Select a tag":{msgid:"Select a tag",msgstr:["選擇標籤"]},Settings:{msgid:"Settings",msgstr:["設定"]},"Settings navigation":{msgid:"Settings navigation",msgstr:["設定值導覽"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",msgstr:["表情"]},"Start slideshow":{msgid:"Start slideshow",msgstr:["開始幻燈片"]},Symbols:{msgid:"Symbols",msgstr:["標誌"]},"Travel & Places":{msgid:"Travel & Places",msgstr:["旅遊與景點"]},"Unable to search the group":{msgid:"Unable to search the group",msgstr:["無法搜尋群組"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",msgstr:["輸入訊息時可使用 @ 來標示某人..."]}}}}},{locale:"zh_TW",json:{charset:"utf-8",headers:{"Last-Translator":"范承豪 <marchfun@smhs.hlc.edu.tw>, 2021","Language-Team":"Chinese (Taiwan) (https://www.transifex.com/nextcloud/teams/64236/zh_TW/)","Content-Type":"text/plain; charset=UTF-8",Language:"zh_TW","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nbyStarTW (pan93412) <pan93412@gmail.com>, 2020\nNatashia Maxins <railroad1987@gmail.com>, 2020\n范承豪 <marchfun@smhs.hlc.edu.tw>, 2021\n"},msgstr:["Last-Translator: 范承豪 <marchfun@smhs.hlc.edu.tw>, 2021\nLanguage-Team: Chinese (Taiwan) (https://www.transifex.com/nextcloud/teams/64236/zh_TW/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: zh_TW\nPlural-Forms: nplurals=1; plural=0;\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",msgstr:["{tag} (隱藏)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",msgstr:["{tag} (受限)"]},Actions:{msgid:"Actions",msgstr:["動作"]},Activities:{msgid:"Activities",msgstr:["活動"]},"Animals & Nature":{msgid:"Animals & Nature",msgstr:["動物與自然"]},Choose:{msgid:"Choose",msgstr:["選擇"]},Close:{msgid:"Close",msgstr:["關閉"]},Custom:{msgid:"Custom",msgstr:["自定義"]},Flags:{msgid:"Flags",msgstr:["旗幟"]},"Food & Drink":{msgid:"Food & Drink",msgstr:["食物與飲料"]},"Frequently used":{msgid:"Frequently used",msgstr:["最近使用"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",msgstr:["已達到訊息最多 {count} 字元限制"]},Next:{msgid:"Next",msgstr:["下一個"]},"No emoji found":{msgid:"No emoji found",msgstr:["未找到表情符號"]},"No results":{msgid:"No results",msgstr:["無結果"]},Objects:{msgid:"Objects",msgstr:["物件"]},"Pause slideshow":{msgid:"Pause slideshow",msgstr:["暫停幻燈片"]},"People & Body":{msgid:"People & Body",msgstr:["人物"]},"Pick an emoji":{msgid:"Pick an emoji",msgstr:["選擇表情符號"]},Previous:{msgid:"Previous",msgstr:["上一個"]},Search:{msgid:"Search",msgstr:["搜尋"]},"Search results":{msgid:"Search results",msgstr:["搜尋結果"]},"Select a tag":{msgid:"Select a tag",msgstr:["選擇標籤"]},Settings:{msgid:"Settings",msgstr:["設定"]},"Settings navigation":{msgid:"Settings navigation",msgstr:["設定值導覽"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",msgstr:["表情"]},"Start slideshow":{msgid:"Start slideshow",msgstr:["開始幻燈片"]},Symbols:{msgid:"Symbols",msgstr:["標誌"]},"Travel & Places":{msgid:"Travel & Places",msgstr:["旅遊與景點"]},"Unable to search the group":{msgid:"Unable to search the group",msgstr:["無法搜尋群組"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",msgstr:["輸入訊息時可使用 @ 來標示某人..."]}}}}}].map((function(e){return o.addTranslation(e.locale,e.json)}));var i=o.build(),r=i.ngettext.bind(i),a=i.gettext.bind(i)},function(e,t){e.exports=__webpack_require__(/*! core-js/modules/es.array.map.js */ "./node_modules/core-js/modules/es.array.map.js")},function(e,t){e.exports=__webpack_require__(/*! @nextcloud/router */ "./node_modules/@nextcloud/router/dist/index.js")},function(e,t){e.exports=__webpack_require__(/*! core-js/modules/es.function.name.js */ "./node_modules/core-js/modules/es.function.name.js")},function(e,t){e.exports=__webpack_require__(/*! core-js/modules/es.regexp.exec.js */ "./node_modules/core-js/modules/es.regexp.exec.js")},function(e,t){e.exports=__webpack_require__(/*! core-js/modules/es.string.iterator.js */ "./node_modules/core-js/modules/es.string.iterator.js")},function(e,t){e.exports=__webpack_require__(/*! core-js/modules/es.array.iterator.js */ "./node_modules/core-js/modules/es.array.iterator.js")},function(e,t){e.exports=__webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ "./node_modules/core-js/modules/web.dom-collections.iterator.js")},function(e,t,n){"use strict";var s=n(0),o=n.n(s),i=n(1),r=n.n(i)()(o.a);r.push([e.i,".popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:var(--color-main-background)}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\n","",{version:3,sources:["webpack://./Popover.vue"],names:[],mappings:"AAgHA,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,yCAA0C,CApB5C,6BAwBE,kBA1BgB,CAElB,6CA2BG,YA7Be,CA8Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAjCe,CAkCf,yCAA0C,CAC1C,0CAA2C,CAC3C,wCAAyC,CAlC5C,gCAuCE,eAzCgB,CAElB,gDA0CG,SA5Ce,CA6Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAhDe,CAiDf,uCAAwC,CACxC,yCAA0C,CAC1C,wCAAyC,CAjD5C,+BAsDE,gBAxDgB,CAElB,+CAyDG,4BAA6B,CAC7B,UA5De,CA6Df,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,uCAAwC,CACxC,0CAA2C,CAC3C,wCAAyC,CAhE5C,8BAqEE,iBAvEgB,CAElB,8CAwEG,4BAA6B,CAC7B,WA3Ee,CA4Ef,cAAe,CACf,aAAc,CACd,6BA9Ee,CA+Ef,uCAAwC,CACxC,yCAA0C,CAC1C,0CAA2C,CA/E9C,6BAoFE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CAtFZ,8BA0FE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU",sourcesContent:["$scope_version:\"c9741aa\"; @import 'variables';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n$arrow-width: 10px;\n\n.popover {\n\tz-index: 100000;\n\tdisplay: block !important;\n\n\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\n\n\t&__inner {\n\t\tpadding: 0;\n\t\tcolor: var(--color-main-text);\n\t\tborder-radius: var(--border-radius);\n\t\tbackground: var(--color-main-background);\n\t}\n\n\t&__arrow {\n\t\tposition: absolute;\n\t\tz-index: 1;\n\t\twidth: 0;\n\t\theight: 0;\n\t\tmargin: $arrow-width;\n\t\tborder-style: solid;\n\t\tborder-color: var(--color-main-background);\n\t}\n\n\t&[x-placement^='top'] {\n\t\tmargin-bottom: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\tbottom: -$arrow-width;\n\t\t\tleft: calc(50% - $arrow-width);\n\t\t\tmargin-top: 0;\n\t\t\tmargin-bottom: 0;\n\t\t\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\n\t\t\tborder-right-color: transparent !important;\n\t\t\tborder-bottom-color: transparent !important;\n\t\t\tborder-left-color: transparent !important;\n\t\t}\n\t}\n\n\t&[x-placement^='bottom'] {\n\t\tmargin-top: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\ttop: -$arrow-width;\n\t\t\tleft: calc(50% - $arrow-width);\n\t\t\tmargin-top: 0;\n\t\t\tmargin-bottom: 0;\n\t\t\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\n\t\t\tborder-top-color: transparent !important;\n\t\t\tborder-right-color: transparent !important;\n\t\t\tborder-left-color: transparent !important;\n\t\t}\n\t}\n\n\t&[x-placement^='right'] {\n\t\tmargin-left: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\ttop: calc(50% - $arrow-width);\n\t\t\tleft: -$arrow-width;\n\t\t\tmargin-right: 0;\n\t\t\tmargin-left: 0;\n\t\t\tborder-width: $arrow-width $arrow-width $arrow-width 0;\n\t\t\tborder-top-color: transparent !important;\n\t\t\tborder-bottom-color: transparent !important;\n\t\t\tborder-left-color: transparent !important;\n\t\t}\n\t}\n\n\t&[x-placement^='left'] {\n\t\tmargin-right: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\ttop: calc(50% - $arrow-width);\n\t\t\tright: -$arrow-width;\n\t\t\tmargin-right: 0;\n\t\t\tmargin-left: 0;\n\t\t\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\n\t\t\tborder-top-color: transparent !important;\n\t\t\tborder-right-color: transparent !important;\n\t\t\tborder-bottom-color: transparent !important;\n\t\t}\n\t}\n\n\t&[aria-hidden='true'] {\n\t\tvisibility: hidden;\n\t\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\n\t\topacity: 0;\n\t}\n\n\t&[aria-hidden='false'] {\n\t\tvisibility: visible;\n\t\ttransition: opacity var(--animation-quick);\n\t\topacity: 1;\n\t}\n}\n\n"],sourceRoot:""}]),t.a=r},function(e,t){},function(e,t,n){"use strict";n.r(t);var s=n(7),o=n(2),i=n.n(o),r=n(23),a={insert:"head",singleton:!1};i()(r.a,a),r.a.locals;
|
||
/**
|
||
* @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>
|
||
*
|
||
* @author Julius Härtl <jus@bitgrid.net>
|
||
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
||
*
|
||
* @license GNU AGPL version 3 or any later version
|
||
*
|
||
* This program is free software: you can redistribute it and/or modify
|
||
* it under the terms of the GNU Affero General Public License as
|
||
* published by the Free Software Foundation, either version 3 of the
|
||
* License, or (at your option) any later version.
|
||
*
|
||
* This program is distributed in the hope that it will be useful,
|
||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
* GNU Affero General Public License for more details.
|
||
*
|
||
* You should have received a copy of the GNU Affero General Public License
|
||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||
*
|
||
*/
|
||
s.VTooltip.options.defaultTemplate='<div class="vue-tooltip" role="tooltip" data-v-'.concat("c9741aa",'><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'),s.VTooltip.options.defaultHtml=!1;t.default=s.VTooltip},function(e,t,n){"use strict";var s=n(0),o=n.n(s),i=n(1),r=n.n(i)()(o.a);r.push([e.i,".vue-tooltip[data-v-c9741aa]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-c9741aa][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-c9741aa][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-c9741aa][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-c9741aa][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-c9741aa][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-c9741aa][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-c9741aa] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-c9741aa] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\n","",{version:3,sources:["webpack://./index.scss"],names:[],mappings:"AAeA,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C",sourcesContent:["$scope_version:\"c9741aa\"; @import 'variables';\n/**\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\n*\n* Bootstrap v3.3.5 (http://getbootstrap.com)\n* Copyright 2011-2015 Twitter, Inc.\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n*/\n\n$arrow-width: 10px;\n\n.vue-tooltip[data-v-#{$scope_version}] {\n\tposition: absolute;\n\tz-index: 100000;\n\tright: auto;\n\tleft: auto;\n\tdisplay: block;\n\tmargin: 0;\n\t/* default to top */\n\tmargin-top: -3px;\n\tpadding: 10px 0;\n\ttext-align: left;\n\ttext-align: start;\n\topacity: 0;\n\tline-height: 1.6;\n\n\tline-break: auto;\n\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\n\n\t// TOP\n\t&[x-placement^='top'] {\n\t\t.tooltip-arrow {\n\t\t\tbottom: 0;\n\t\t\tmargin-top: 0;\n\t\t\tmargin-bottom: 0;\n\t\t\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\n\t\t\tborder-right-color: transparent;\n\t\t\tborder-bottom-color: transparent;\n\t\t\tborder-left-color: transparent;\n\t\t}\n\t}\n\n\t// BOTTOM\n\t&[x-placement^='bottom'] {\n\t\t.tooltip-arrow {\n\t\t\ttop: 0;\n\t\t\tmargin-top: 0;\n\t\t\tmargin-bottom: 0;\n\t\t\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\n\t\t\tborder-top-color: transparent;\n\t\t\tborder-right-color: transparent;\n\t\t\tborder-left-color: transparent;\n\t\t}\n\t}\n\n\t// RIGHT\n\t&[x-placement^='right'] {\n\t\t.tooltip-arrow {\n\t\t\tright: 100%;\n\t\t\tmargin-right: 0;\n\t\t\tmargin-left: 0;\n\t\t\tborder-width: $arrow-width $arrow-width $arrow-width 0;\n\t\t\tborder-top-color: transparent;\n\t\t\tborder-bottom-color: transparent;\n\t\t\tborder-left-color: transparent;\n\t\t}\n\t}\n\n\t// LEFT\n\t&[x-placement^='left'] {\n\t\t.tooltip-arrow {\n\t\t\tleft: 100%;\n\t\t\tmargin-right: 0;\n\t\t\tmargin-left: 0;\n\t\t\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\n\t\t\tborder-top-color: transparent;\n\t\t\tborder-right-color: transparent;\n\t\t\tborder-bottom-color: transparent;\n\t\t}\n\t}\n\n\t// HIDDEN / SHOWN\n\t&[aria-hidden='true'] {\n\t\tvisibility: hidden;\n\t\ttransition: opacity .15s, visibility .15s;\n\t\topacity: 0;\n\t}\n\t&[aria-hidden='false'] {\n\t\tvisibility: visible;\n\t\ttransition: opacity .15s;\n\t\topacity: 1;\n\t}\n\n\t// CONTENT\n\t.tooltip-inner {\n\t\tmax-width: 350px;\n\t\tpadding: 5px 8px;\n\t\ttext-align: center;\n\t\tcolor: var(--color-main-text);\n\t\tborder-radius: var(--border-radius);\n\t\tbackground-color: var(--color-main-background);\n\t}\n\n\t// ARROW\n\t.tooltip-arrow {\n\t\tposition: absolute;\n\t\tz-index: 1;\n\t\twidth: 0;\n\t\theight: 0;\n\t\tmargin: 0;\n\t\tborder-style: solid;\n\t\tborder-color: var(--color-main-background);\n\t}\n}\n"],sourceRoot:""}]),t.a=r},function(e,t){e.exports=__webpack_require__(/*! core-js/modules/es.string.replace.js */ "./node_modules/core-js/modules/es.string.replace.js")},function(e,t){e.exports=__webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ "./node_modules/core-js/modules/es.regexp.to-string.js")},function(e,t,n){"use strict";var s={name:"Popover",components:{VPopover:n(7).VPopover},mounted:function(){var e=this;this.$watch((function(){return e.$refs.popover.isOpen}),(function(t){t?e.$emit("after-show"):e.$emit("after-hide")}))}},o=n(2),i=n.n(o),r=n(20),a={insert:"head",singleton:!1},c=(i()(r.a,a),r.a.locals,n(3)),m=n(21),A=n.n(m),l=Object(c.a)(s,(function(){var e=this.$createElement,t=this._self._c||e;return t("VPopover",this._g(this._b({ref:"popover",attrs:{"popover-base-class":"popover","popover-wrapper-class":"popover__wrapper","popover-arrow-class":"popover__arrow","popover-inner-class":"popover__inner"}},"VPopover",this.$attrs,!1),this.$listeners),[this._t("trigger"),this._v(" "),t("template",{slot:"popover"},[this._t("default")],2)],2)}),[],!1,null,null,null);"function"==typeof A.a&&A()(l);t.a=l.exports},function(e,t){e.exports=__webpack_require__(/*! @nextcloud/event-bus */ "./node_modules/@nextcloud/event-bus/dist/index.js")},function(e,t){e.exports=__webpack_require__(/*! core-js/modules/es.string.trim.js */ "./node_modules/core-js/modules/es.string.trim.js")},function(e,t){e.exports=__webpack_require__(/*! core-js/modules/es.number.constructor.js */ "./node_modules/core-js/modules/es.number.constructor.js")},function(e,t){e.exports=__webpack_require__(/*! core-js/modules/es.array.concat.js */ "./node_modules/core-js/modules/es.array.concat.js")},function(e,t){e.exports=__webpack_require__(/*! core-js/modules/es.symbol.js */ "./node_modules/core-js/modules/es.symbol.js")},function(e,t){e.exports=__webpack_require__(/*! @nextcloud/l10n/dist/gettext */ "./node_modules/@nextcloud/l10n/dist/gettext.js")},,function(e,t){e.exports=__webpack_require__(/*! @nextcloud/auth */ "./node_modules/@nextcloud/auth/dist/index.js")},function(e,t,n){"use strict";n.r(t);var s=n(5),o=new(n.n(s).a)({data:function(){return{isMobile:!1}},watch:{isMobile:function(e){this.$emit("changed",e)}},created:function(){window.addEventListener("resize",this.handleWindowResize),this.handleWindowResize()},beforeDestroy:function(){window.removeEventListener("resize",this.handleWindowResize)},methods:{handleWindowResize:function(){this.isMobile=document.documentElement.clientWidth<1024}}});t.default={data:function(){return{isMobile:!1}},mounted:function(){o.$on("changed",this.onIsMobileChanged),this.isMobile=o.isMobile},beforeDestroy:function(){o.$off("changed",this.onIsMobileChanged)},methods:{onIsMobileChanged:function(e){this.isMobile=e}}}},function(e,t){e.exports=__webpack_require__(/*! @nextcloud/axios */ "./node_modules/@nextcloud/axios/dist/index.js")},function(e,t){e.exports=__webpack_require__(/*! core-js/modules/es.symbol.description.js */ "./node_modules/core-js/modules/es.symbol.description.js")},,function(e,t){e.exports=__webpack_require__(/*! core-js/modules/web.url.js */ "./node_modules/core-js/modules/web.url.js")},function(e,t){e.exports=__webpack_require__(/*! core-js/modules/es.array.slice.js */ "./node_modules/core-js/modules/es.array.slice.js")},function(e,t){e.exports=__webpack_require__(/*! v-click-outside */ "./node_modules/v-click-outside/dist/v-click-outside.umd.js")},function(e,t,n){"use strict";var s=n(12);t.a={methods:{n:s.a,t:s.b}}},function(e,t){e.exports=__webpack_require__(/*! striptags */ "./node_modules/striptags/src/striptags.js")},function(e,t,n){"use strict";var s=n(0),o=n.n(s),i=n(1),r=n.n(i)()(o.a);r.push([e.i,".mention-bubble--primary .mention-bubble__content[data-v-724f9d58]{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-724f9d58]{max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-724f9d58]{display:inline-flex;overflow:hidden;align-items:center;max-width:100%;height:20px;-webkit-user-select:none;user-select:none;padding-right:6px;padding-left:2px;border-radius:10px;background-color:var(--color-background-dark)}.mention-bubble__icon[data-v-724f9d58]{position:relative;width:16px;height:16px;border-radius:8px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:12px}.mention-bubble__icon--with-avatar[data-v-724f9d58]{color:inherit;background-size:cover}.mention-bubble__title[data-v-724f9d58]{overflow:hidden;margin-left:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-724f9d58]::before{content:attr(title)}.mention-bubble__select[data-v-724f9d58]{position:absolute;z-index:-1;left:-1000px}\n","",{version:3,sources:["webpack://./MentionBubble.vue"],names:[],mappings:"AAsGC,mEACC,+BAAgC,CAChC,6CAA8C,CAC9C,0CAGA,eAXsB,CAatB,WAAwC,CACxC,0BAA2B,CAC3B,mBAAoB,CACpB,kBAAmB,CACnB,0CAGA,mBAAoB,CACpB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,WAzBkB,CA0BlB,wBAAyB,CACzB,gBAAiB,CACjB,iBAAkC,CAClC,gBA3BkB,CA4BlB,kBAAiC,CACjC,6CAA8C,CAC9C,uCAGA,iBAAkB,CAClB,UAjCuD,CAkCvD,WAlCuD,CAmCvD,iBAAsC,CACtC,+CAAgD,CAChD,2BAA4B,CAC5B,0BAA2B,CAC3B,oBAA0D,CAE1D,oDACC,aAAc,CACd,qBAAsB,CACtB,wCAID,eAAgB,CAChB,eAlDkB,CAmDlB,kBAAmB,CACnB,sBAAuB,CAJvB,gDAOC,mBAAoB,CACpB,yCAKD,iBAAkB,CAClB,UAAW,CACX,YAAa",sourcesContent:["$scope_version:\"c9741aa\"; @import 'variables';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n$bubble-height: 20px;\n$bubble-max-width: 150px;\n$bubble-padding: 2px;\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\n\n.mention-bubble {\n\t&--primary &__content {\n\t\tcolor: var(--color-primary-text);\n\t\tbackground-color: var(--color-primary-element);\n\t}\n\n\t&__wrapper {\n\t\tmax-width: $bubble-max-width;\n\t\t// Align with text\n\t\theight: $bubble-height - $bubble-padding;\n\t\tvertical-align: text-bottom;\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t}\n\n\t&__content {\n\t\tdisplay: inline-flex;\n\t\toverflow: hidden;\n\t\talign-items: center;\n\t\tmax-width: 100%;\n\t\theight: $bubble-height ;\n\t\t-webkit-user-select: none;\n\t\tuser-select: none;\n\t\tpadding-right: $bubble-padding * 3;\n\t\tpadding-left: $bubble-padding;\n\t\tborder-radius: $bubble-height / 2;\n\t\tbackground-color: var(--color-background-dark);\n\t}\n\n\t&__icon {\n\t\tposition: relative;\n\t\twidth: $bubble-avatar-size;\n\t\theight: $bubble-avatar-size;\n\t\tborder-radius: $bubble-avatar-size / 2;\n\t\tbackground-color: var(--color-background-darker);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\t\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\n\n\t\t&--with-avatar {\n\t\t\tcolor: inherit;\n\t\t\tbackground-size: cover;\n\t\t}\n\t}\n\n\t&__title {\n\t\toverflow: hidden;\n\t\tmargin-left: $bubble-padding;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\t// Put label in ::before so it is not selectable\n\t\t&::before {\n\t\t\tcontent: attr(title);\n\t\t}\n\t}\n\n\t// Hide the mention id so it is selectable\n\t&__select {\n\t\tposition: absolute;\n\t\tz-index: -1;\n\t\tleft: -1000px;\n\t}\n}\n\n"],sourceRoot:""}]),t.a=r},function(e,t,n){"use strict";n.d(t,"a",(function(){return s.default})),n.d(t,"b",(function(){return o.default})),n.d(t,"c",(function(){return i.default})),n.d(t,"d",(function(){return r.default})),n.d(t,"e",(function(){return u}));var s=n(71),o=n(72),i=n(35),r=n(60),a=(n(59),n(6),n(58),n(36)),c=n.n(a),m=n(14),A=n(78),l=n(34);function g(e,t,n,s,o,i,r){try{var a=e[i](r),c=a.value}catch(e){return void n(e)}a.done?t(c):Promise.resolve(c).then(s,o)}
|
||
/**
|
||
* @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>
|
||
*
|
||
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
|
||
*
|
||
* @license GNU AGPL version 3 or any later version
|
||
*
|
||
* This program is free software: you can redistribute it and/or modify
|
||
* it under the terms of the GNU Affero General Public License as
|
||
* published by the Free Software Foundation, either version 3 of the
|
||
* License, or (at your option) any later version.
|
||
*
|
||
* This program is distributed in the hope that it will be useful,
|
||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
* GNU Affero General Public License for more details.
|
||
*
|
||
* You should have received a copy of the GNU Affero General Public License
|
||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||
*
|
||
*/var u={data:function(){return{hasStatus:!1,userStatus:{status:null,message:null,icon:null}}},methods:{fetchUserStatus:function(e){var t,n=this;return(t=regeneratorRuntime.mark((function t(){var s,o,i,r,a,g,u,d,p;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(s=Object(A.getCapabilities)(),Object.prototype.hasOwnProperty.call(s,"user_status")&&s.user_status.enabled){t.next=3;break}return t.abrupt("return");case 3:if(Object(l.getCurrentUser)()){t.next=5;break}return t.abrupt("return");case 5:return t.prev=5,t.next=8,c.a.get(Object(m.generateOcsUrl)("apps/user_status/api/v1",2)+"statuses/".concat(encodeURIComponent(e)));case 8:o=t.sent,i=o.data,r=i.ocs.data,a=r.status,g=r.message,u=r.icon,n.userStatus.status=a,n.userStatus.message=g||"",n.userStatus.icon=u||"",n.hasStatus=!0,t.next=22;break;case 17:if(t.prev=17,t.t0=t.catch(5),404!==t.t0.response.status||0!==(null===(d=t.t0.response.data.ocs)||void 0===d||null===(p=d.data)||void 0===p?void 0:p.length)){t.next=21;break}return t.abrupt("return");case 21:console.error(t.t0);case 22:case"end":return t.stop()}}),t,null,[[5,17]])})),function(){var e=this,n=arguments;return new Promise((function(s,o){var i=t.apply(e,n);function r(e){g(i,s,o,r,a,"next",e)}function a(e){g(i,s,o,r,a,"throw",e)}r(void 0)}))})()}}};
|
||
/**
|
||
* @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>
|
||
*
|
||
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
||
*
|
||
* @license GNU AGPL version 3 or any later version
|
||
*
|
||
* This program is free software: you can redistribute it and/or modify
|
||
* it under the terms of the GNU Affero General Public License as
|
||
* published by the Free Software Foundation, either version 3 of the
|
||
* License, or (at your option) any later version.
|
||
*
|
||
* This program is distributed in the hope that it will be useful,
|
||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
* GNU Affero General Public License for more details.
|
||
*
|
||
* You should have received a copy of the GNU Affero General Public License
|
||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||
*
|
||
*/},function(e,t){e.exports=__webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ "./node_modules/core-js/modules/es.symbol.iterator.js")},,function(e,t){e.exports=__webpack_require__(/*! linkifyjs/string */ "./node_modules/linkifyjs/string.js")},,,function(e,t){e.exports=__webpack_require__(/*! core-js/modules/es.array.filter.js */ "./node_modules/core-js/modules/es.array.filter.js")},function(e,t){e.exports=__webpack_require__(/*! core-js/modules/es.array.from.js */ "./node_modules/core-js/modules/es.array.from.js")},function(e,t,n){"use strict";var s=n(0),o=n.n(s),i=n(1),r=n.n(i)()(o.a);r.push([e.i,"\nbutton.menuitem[data-v-a7ced2f4] {\n\ttext-align: left;\n}\nbutton.menuitem *[data-v-a7ced2f4] {\n\tcursor: pointer;\n}\nbutton.menuitem[data-v-a7ced2f4]:disabled {\n\topacity: 0.5 !important;\n\tcursor: default;\n}\nbutton.menuitem:disabled *[data-v-a7ced2f4] {\n\tcursor: default;\n}\n.menuitem.active[data-v-a7ced2f4] {\n\tbox-shadow: inset 2px 0 var(--color-primary);\n\tborder-radius: 0;\n}\n","",{version:3,sources:["webpack://./PopoverMenuItem.vue"],names:[],mappings:";AA4HA;CACA,gBAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,uBAAA;CACA,eAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,4CAAA;CACA,gBAAA;AACA",sourcesContent:['\x3c!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n --\x3e\n\n<template>\n\t<li class="popover__menuitem">\n\t\t\x3c!-- If item.href is set, a link will be directly used --\x3e\n\t\t<a v-if="item.href"\n\t\t\t:href="(item.href) ? item.href : \'#\' "\n\t\t\t:target="(item.target) ? item.target : \'\' "\n\t\t\t:download="item.download"\n\t\t\tclass="focusable"\n\t\t\trel="noreferrer noopener"\n\t\t\t@click="action">\n\t\t\t<span v-if="!iconIsUrl" :class="item.icon" />\n\t\t\t<img v-else :src="item.icon">\n\t\t\t<p v-if="item.text && item.longtext">\n\t\t\t\t<strong class="menuitem-text">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</strong><br>\n\t\t\t\t<span class="menuitem-text-detail">\n\t\t\t\t\t{{ item.longtext }}\n\t\t\t\t</span>\n\t\t\t</p>\n\t\t\t<span v-else-if="item.text">\n\t\t\t\t{{ item.text }}\n\t\t\t</span>\n\t\t\t<p v-else-if="item.longtext">\n\t\t\t\t{{ item.longtext }}\n\t\t\t</p>\n\t\t</a>\n\n\t\t\x3c!-- If item.input is set instead, an put will be used --\x3e\n\t\t<span v-else-if="item.input" class="menuitem" :class="{active: item.active}">\n\t\t\t\x3c!-- does not show if input is checkbox --\x3e\n\t\t\t<span v-if="item.input !== \'checkbox\'" :class="item.icon" />\n\n\t\t\t\x3c!-- only shows if input is text --\x3e\n\t\t\t<form v-if="item.input === \'text\'"\n\t\t\t\t:class="item.input"\n\t\t\t\t@submit.prevent="item.action">\n\t\t\t\t<input :type="item.input"\n\t\t\t\t\t:value="item.value"\n\t\t\t\t\t:placeholder="item.text"\n\t\t\t\t\trequired>\n\t\t\t\t<input type="submit" value="" class="icon-confirm">\n\t\t\t</form>\n\n\t\t\t\x3c!-- checkbox --\x3e\n\t\t\t<template v-else>\n\t\t\t\t<input :id="key"\n\t\t\t\t\tv-model="item.model"\n\t\t\t\t\t:type="item.input"\n\t\t\t\t\t:class="item.input"\n\t\t\t\t\t@change="item.action">\n\t\t\t\t<label :for="key" @click.stop.prevent="item.action">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</label>\n\t\t\t</template>\n\t\t</span>\n\n\t\t\x3c!-- If item.action is set instead, a button will be used --\x3e\n\t\t<button v-else-if="item.action"\n\t\t\tclass="menuitem focusable"\n\t\t\t:class="{active: item.active}"\n\t\t\t:disabled="item.disabled"\n\t\t\t@click.stop.prevent="item.action">\n\t\t\t<span :class="item.icon" />\n\t\t\t<p v-if="item.text && item.longtext">\n\t\t\t\t<strong class="menuitem-text">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</strong><br>\n\t\t\t\t<span class="menuitem-text-detail">\n\t\t\t\t\t{{ item.longtext }}\n\t\t\t\t</span>\n\t\t\t</p>\n\t\t\t<span v-else-if="item.text">\n\t\t\t\t{{ item.text }}\n\t\t\t</span>\n\t\t\t<p v-else-if="item.longtext">\n\t\t\t\t{{ item.longtext }}\n\t\t\t</p>\n\t\t</button>\n\n\t\t\x3c!-- If item.longtext is set AND the item does not have an action --\x3e\n\t\t<span v-else class="menuitem" :class="{active: item.active}">\n\t\t\t<span :class="item.icon" />\n\t\t\t<p v-if="item.text && item.longtext">\n\t\t\t\t<strong class="menuitem-text">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</strong><br>\n\t\t\t\t<span class="menuitem-text-detail">\n\t\t\t\t\t{{ item.longtext }}\n\t\t\t\t</span>\n\t\t\t</p>\n\t\t\t<span v-else-if="item.text">\n\t\t\t\t{{ item.text }}\n\t\t\t</span>\n\t\t\t<p v-else-if="item.longtext">\n\t\t\t\t{{ item.longtext }}\n\t\t\t</p>\n\t\t</span>\n\t</li>\n</template>\n\n<style scoped>\n\tbutton.menuitem {\n\t\ttext-align: left;\n\t}\n\n\tbutton.menuitem * {\n\t\tcursor: pointer;\n\t}\n\n\tbutton.menuitem:disabled {\n\t\topacity: 0.5 !important;\n\t\tcursor: default;\n\t}\n\n\tbutton.menuitem:disabled * {\n\t\tcursor: default;\n\t}\n\n\t.menuitem.active {\n\t\tbox-shadow: inset 2px 0 var(--color-primary);\n\t\tborder-radius: 0;\n\t}\n</style>\n\n<script>\nexport default {\n\tname: \'PopoverMenuItem\',\n\tprops: {\n\t\titem: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t\tdefault: () => {\n\t\t\t\treturn {\n\t\t\t\t\tkey: \'nextcloud-link\',\n\t\t\t\t\thref: \'https://nextcloud.com\',\n\t\t\t\t\ticon: \'icon-links\',\n\t\t\t\t\ttext: \'Nextcloud\',\n\t\t\t\t}\n\t\t\t},\n\t\t\t// check the input types\n\t\t\t// TODO: add more validation of types\n\t\t\tvalidator: item => {\n\t\t\t\t// TODO: support radio\n\t\t\t\tif (item.input) {\n\t\t\t\t\treturn [\'text\', \'checkbox\'].indexOf(item.input) !== -1\n\t\t\t\t}\n\t\t\t\treturn true\n\t\t\t},\n\t\t},\n\t},\n\tcomputed: {\n\t\t// random key for inputs binding if not provided\n\t\tkey() {\n\t\t\treturn this.item.key\n\t\t\t\t? this.item.key\n\t\t\t\t: Math.round(Math.random() * 16 * 1000000).toString(16)\n\t\t},\n\t\ticonIsUrl() {\n\t\t\ttry {\n\t\t\t\t// eslint-disable-next-line no-new\n\t\t\t\tnew URL(this.item.icon)\n\t\t\t\treturn true\n\t\t\t} catch (_) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t},\n\t},\n\tmethods: {\n\t\t// allow us to use both link and an action on `a`\n\t\t// we still need to make sure item.action exists\n\t\taction(event) {\n\t\t\tif (this.item.action) {\n\t\t\t\tthis.item.action(event)\n\t\t\t}\n\t\t},\n\t},\n}\n<\/script>\n<style lang="scss" scoped>\nli {\n\tdisplay: flex;\n\tflex: 0 0 auto;\n\n\t&.hidden {\n\t\tdisplay: none;\n\t}\n\n\t> button,\n\t> a,\n\t> .menuitem {\n\t\tcursor: pointer;\n\t\tline-height: $clickable-area;\n\t\tborder: 0;\n\t\tborder-radius: 0; // otherwise Safari will cut the border-radius area\n\t\tbackground-color: transparent;\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\t\theight: auto;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tfont-weight: normal;\n\t\tbox-shadow: none;\n\t\twidth: 100%;\n\t\tcolor: var(--color-main-text);\n\t\twhite-space: nowrap;\n\t\topacity: $opacity_normal;\n\n\t\t// TODO split into individual components for readability\n\t\tspan[class^=\'icon-\'],\n\t\tspan[class*=\' icon-\'],\n\t\t&[class^=\'icon-\'],\n\t\t&[class*=\' icon-\'] {\n\t\t\tmin-width: 0; /* Overwrite icons*/\n\t\t\tmin-height: 0;\n\t\t\tbackground-position: #{$icon-margin} center;\n\t\t\tbackground-size: $icon-size;\n\t\t}\n\n\t\tspan[class^=\'icon-\'],\n\t\tspan[class*=\' icon-\'] {\n\t\t\t/* Keep padding to define the width to\n\t\t\t\tassure correct position of a possible text */\n\t\t\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\n\t\t}\n\n\t\t// If no icons set, force left margin to align\n\t\t&:not([class^=\'icon-\']):not([class*=\'icon-\']) {\n\t\t\t> span,\n\t\t\t> input,\n\t\t\t> form {\n\t\t\t\t&:not([class^=\'icon-\']):not([class*=\'icon-\']):first-child {\n\t\t\t\t\tmargin-left: $clickable-area;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&[class^=\'icon-\'],\n\t\t&[class*=\' icon-\'] {\n\t\t\tpadding: 0 $icon-margin 0 $clickable-area;\n\t\t}\n\n\t\t&:not(:disabled):hover,\n\t\t&:not(:disabled):focus,\n\t\t&:not(:disabled).active {\n\t\t\topacity: $opacity_full !important;\n\t\t}\n\n\t\t/* prevent .action class to break the design */\n\t\t&.action {\n\t\t\tpadding: inherit !important;\n\t\t}\n\n\t\t> span {\n\t\t\tcursor: pointer;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t// long text area\n\t\t> p {\n\t\t\twidth: 150px;\n\t\t\tline-height: 1.6em;\n\t\t\tpadding: 8px 0;\n\t\t\twhite-space: normal;\n\n\t\t\t// in case there are no spaces like long email addresses\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t// TODO: do we really supports it?\n\t\t> select {\n\t\t\tmargin: 0;\n\t\t\tmargin-left: 6px;\n\t\t}\n\n\t\t/* Add padding if contains icon+text */\n\t\t&:not(:empty) {\n\t\t\tpadding-right: $icon-margin !important;\n\t\t}\n\n\t\t/* DEPRECATED! old img in popover fallback\n\t\t\t* TODO: to remove */\n\t\t> img {\n\t\t\twidth: $icon-size;\n\t\t\tpadding: $icon-margin;\n\t\t}\n\n\t\t/* checkbox/radio fixes */\n\t\t> input.radio + label,\n\t\t> input.checkbox + label {\n\t\t\tpadding: 0 !important;\n\t\t\twidth: 100%;\n\t\t}\n\t\t> input.checkbox + label::before {\n\t\t\tmargin: -2px 13px 0;\n\t\t}\n\t\t> input.radio + label::before {\n\t\t\tmargin: -2px 12px 0;\n\t\t}\n\t\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\n\t\t\twidth: 150px;\n\t\t}\n\n\t\t// Forms & text inputs\n\t\tform {\n\t\t\tdisplay: flex;\n\t\t\tflex: 1 1 auto;\n\t\t\t/* put a small space between text and form\n\t\t\t\tif there is an element before */\n\t\t\t&:not(:first-child) {\n\t\t\t\tmargin-left: 5px;\n\t\t\t}\n\t\t}\n\t\t/* no margin if hidden span before */\n\t\t> span.hidden + form,\n\t\t> span[style*=\'display:none\'] + form {\n\t\t\tmargin-left: 0;\n\t\t}\n\t\t/* Inputs inside popover supports text, submit & reset */\n\t\tinput {\n\t\t\tmin-width: $clickable-area;\n\t\t\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\n\t\t\tmargin: 2px 0;\n\t\t\tflex: 1 1 auto;\n\t\t\t// space between inline inputs\n\t\t\t&:not(:first-child) {\n\t\t\t\tmargin-left: 5px;\n\t\t\t}\n\t\t}\n\t}\n\n\t// TODO: do that in js, should be cleaner\n\t/* css hack, only first not hidden */\n\t&:not(.hidden):not([style*=\'display:none\']) {\n\t\t&:first-of-type {\n\t\t\t> button, > a, > .menuitem {\n\t\t\t\t> form, > input {\n\t\t\t\t\tmargin-top: $icon-margin - 2px; // minus the input margin\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t&:last-of-type {\n\t\t\t> button, > a, > .menuitem {\n\t\t\t\t> form, > input {\n\t\t\t\t\tmargin-bottom: $icon-margin - 2px; // minus the input margin\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t> button {\n\t\tpadding: 0;\n\t\tspan {\n\t\t\topacity: $opacity_full;\n\t\t}\n\t}\n}\n</style>\n'],sourceRoot:""}]),t.a=r},function(e,t,n){"use strict";var s=n(0),o=n.n(s),i=n(1),r=n.n(i)()(o.a);r.push([e.i,"li[data-v-a7ced2f4]{display:flex;flex:0 0 auto}li.hidden[data-v-a7ced2f4]{display:none}li>button[data-v-a7ced2f4],li>a[data-v-a7ced2f4],li>.menuitem[data-v-a7ced2f4]{cursor:pointer;line-height:44px;border:0;border-radius:0;background-color:transparent;display:flex;align-items:flex-start;height:auto;margin:0;padding:0;font-weight:normal;box-shadow:none;width:100%;color:var(--color-main-text);white-space:nowrap;opacity:.7}li>button span[class^='icon-'][data-v-a7ced2f4],li>button span[class*=' icon-'][data-v-a7ced2f4],li>button[class^='icon-'][data-v-a7ced2f4],li>button[class*=' icon-'][data-v-a7ced2f4],li>a span[class^='icon-'][data-v-a7ced2f4],li>a span[class*=' icon-'][data-v-a7ced2f4],li>a[class^='icon-'][data-v-a7ced2f4],li>a[class*=' icon-'][data-v-a7ced2f4],li>.menuitem span[class^='icon-'][data-v-a7ced2f4],li>.menuitem span[class*=' icon-'][data-v-a7ced2f4],li>.menuitem[class^='icon-'][data-v-a7ced2f4],li>.menuitem[class*=' icon-'][data-v-a7ced2f4]{min-width:0;min-height:0;background-position:14px center;background-size:16px}li>button span[class^='icon-'][data-v-a7ced2f4],li>button span[class*=' icon-'][data-v-a7ced2f4],li>a span[class^='icon-'][data-v-a7ced2f4],li>a span[class*=' icon-'][data-v-a7ced2f4],li>.menuitem span[class^='icon-'][data-v-a7ced2f4],li>.menuitem span[class*=' icon-'][data-v-a7ced2f4]{padding:22px 0 22px 44px}li>button:not([class^='icon-']):not([class*='icon-'])>span[data-v-a7ced2f4]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>input[data-v-a7ced2f4]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>form[data-v-a7ced2f4]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>span[data-v-a7ced2f4]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>input[data-v-a7ced2f4]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>form[data-v-a7ced2f4]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>span[data-v-a7ced2f4]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>input[data-v-a7ced2f4]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>form[data-v-a7ced2f4]:not([class^='icon-']):not([class*='icon-']):first-child{margin-left:44px}li>button[class^='icon-'][data-v-a7ced2f4],li>button[class*=' icon-'][data-v-a7ced2f4],li>a[class^='icon-'][data-v-a7ced2f4],li>a[class*=' icon-'][data-v-a7ced2f4],li>.menuitem[class^='icon-'][data-v-a7ced2f4],li>.menuitem[class*=' icon-'][data-v-a7ced2f4]{padding:0 14px 0 44px}li>button[data-v-a7ced2f4]:not(:disabled):hover,li>button[data-v-a7ced2f4]:not(:disabled):focus,li>button:not(:disabled).active[data-v-a7ced2f4],li>a[data-v-a7ced2f4]:not(:disabled):hover,li>a[data-v-a7ced2f4]:not(:disabled):focus,li>a:not(:disabled).active[data-v-a7ced2f4],li>.menuitem[data-v-a7ced2f4]:not(:disabled):hover,li>.menuitem[data-v-a7ced2f4]:not(:disabled):focus,li>.menuitem:not(:disabled).active[data-v-a7ced2f4]{opacity:1 !important}li>button.action[data-v-a7ced2f4],li>a.action[data-v-a7ced2f4],li>.menuitem.action[data-v-a7ced2f4]{padding:inherit !important}li>button>span[data-v-a7ced2f4],li>a>span[data-v-a7ced2f4],li>.menuitem>span[data-v-a7ced2f4]{cursor:pointer;white-space:nowrap}li>button>p[data-v-a7ced2f4],li>a>p[data-v-a7ced2f4],li>.menuitem>p[data-v-a7ced2f4]{width:150px;line-height:1.6em;padding:8px 0;white-space:normal;overflow:hidden;text-overflow:ellipsis}li>button>select[data-v-a7ced2f4],li>a>select[data-v-a7ced2f4],li>.menuitem>select[data-v-a7ced2f4]{margin:0;margin-left:6px}li>button[data-v-a7ced2f4]:not(:empty),li>a[data-v-a7ced2f4]:not(:empty),li>.menuitem[data-v-a7ced2f4]:not(:empty){padding-right:14px !important}li>button>img[data-v-a7ced2f4],li>a>img[data-v-a7ced2f4],li>.menuitem>img[data-v-a7ced2f4]{width:16px;padding:14px}li>button>input.radio+label[data-v-a7ced2f4],li>button>input.checkbox+label[data-v-a7ced2f4],li>a>input.radio+label[data-v-a7ced2f4],li>a>input.checkbox+label[data-v-a7ced2f4],li>.menuitem>input.radio+label[data-v-a7ced2f4],li>.menuitem>input.checkbox+label[data-v-a7ced2f4]{padding:0 !important;width:100%}li>button>input.checkbox+label[data-v-a7ced2f4]::before,li>a>input.checkbox+label[data-v-a7ced2f4]::before,li>.menuitem>input.checkbox+label[data-v-a7ced2f4]::before{margin:-2px 13px 0}li>button>input.radio+label[data-v-a7ced2f4]::before,li>a>input.radio+label[data-v-a7ced2f4]::before,li>.menuitem>input.radio+label[data-v-a7ced2f4]::before{margin:-2px 12px 0}li>button>input[data-v-a7ced2f4]:not([type=radio]):not([type=checkbox]):not([type=image]),li>a>input[data-v-a7ced2f4]:not([type=radio]):not([type=checkbox]):not([type=image]),li>.menuitem>input[data-v-a7ced2f4]:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}li>button form[data-v-a7ced2f4],li>a form[data-v-a7ced2f4],li>.menuitem form[data-v-a7ced2f4]{display:flex;flex:1 1 auto}li>button form[data-v-a7ced2f4]:not(:first-child),li>a form[data-v-a7ced2f4]:not(:first-child),li>.menuitem form[data-v-a7ced2f4]:not(:first-child){margin-left:5px}li>button>span.hidden+form[data-v-a7ced2f4],li>button>span[style*='display:none']+form[data-v-a7ced2f4],li>a>span.hidden+form[data-v-a7ced2f4],li>a>span[style*='display:none']+form[data-v-a7ced2f4],li>.menuitem>span.hidden+form[data-v-a7ced2f4],li>.menuitem>span[style*='display:none']+form[data-v-a7ced2f4]{margin-left:0}li>button input[data-v-a7ced2f4],li>a input[data-v-a7ced2f4],li>.menuitem input[data-v-a7ced2f4]{min-width:44px;max-height:40px;margin:2px 0;flex:1 1 auto}li>button input[data-v-a7ced2f4]:not(:first-child),li>a input[data-v-a7ced2f4]:not(:first-child),li>.menuitem input[data-v-a7ced2f4]:not(:first-child){margin-left:5px}li:not(.hidden):not([style*='display:none']):first-of-type>button>form[data-v-a7ced2f4],li:not(.hidden):not([style*='display:none']):first-of-type>button>input[data-v-a7ced2f4],li:not(.hidden):not([style*='display:none']):first-of-type>a>form[data-v-a7ced2f4],li:not(.hidden):not([style*='display:none']):first-of-type>a>input[data-v-a7ced2f4],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>form[data-v-a7ced2f4],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>input[data-v-a7ced2f4]{margin-top:12px}li:not(.hidden):not([style*='display:none']):last-of-type>button>form[data-v-a7ced2f4],li:not(.hidden):not([style*='display:none']):last-of-type>button>input[data-v-a7ced2f4],li:not(.hidden):not([style*='display:none']):last-of-type>a>form[data-v-a7ced2f4],li:not(.hidden):not([style*='display:none']):last-of-type>a>input[data-v-a7ced2f4],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>form[data-v-a7ced2f4],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>input[data-v-a7ced2f4]{margin-bottom:12px}li>button[data-v-a7ced2f4]{padding:0}li>button span[data-v-a7ced2f4]{opacity:1}\n","",{version:3,sources:["webpack://./PopoverMenuItem.vue","webpack://./../../assets/variables.scss"],names:[],mappings:"AA2MA,oBACC,YAAa,CACb,aAAc,CAFf,2BAKE,YAAa,CALf,+EAWE,cAAe,CACf,gBC9LmB,CD+LnB,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,YAAa,CACb,sBAAuB,CACvB,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBAAmB,CACnB,eAAgB,CAChB,UAAW,CACX,4BAA6B,CAC7B,kBAAmB,CACnB,UC1LiB,CDgKnB,giBAiCG,WAAY,CACZ,YAAa,CACb,+BAA2C,CAC3C,oBClNa,CD8KhB,+RA2CG,wBC7NkB,CDkLrB,iqCAoDK,gBCtOgB,CDkLrB,iQA2DG,qBC7OkB,CDkLrB,6aAiEG,oBAAiC,CAjEpC,oGAsEG,0BAA2B,CAtE9B,8FA0EG,cAAe,CACf,kBAAmB,CA3EtB,qFAgFG,WAAY,CACZ,iBAAkB,CAClB,aAAc,CACd,kBAAmB,CAGnB,eAAgB,CAChB,sBAAuB,CAvF1B,oGA4FG,QAAS,CACT,eAAgB,CA7FnB,mHAkGG,6BAAsC,CAlGzC,2FAwGG,UCtRa,CDuRb,YCnR6C,CD0KhD,mRA+GG,oBAAqB,CACrB,UAAW,CAhHd,sKAmHG,kBAAmB,CAnHtB,6JAsHG,kBAAmB,CAtHtB,4QAyHG,WAAY,CAzHf,8FA8HG,YAAa,CACb,aAAc,CA/HjB,oJAmII,eAAgB,CAnIpB,oTAyIG,aAAc,CAzIjB,iGA6IG,cC/TkB,CDgUlB,eAAY,CACZ,YAAa,CACb,aAAc,CAhJjB,uJAmJI,eAAgB,CAnJpB,+gBA8JK,eAA8B,CA9JnC,ygBAqKK,kBAAiC,CArKtC,2BA2KE,SAAU,CA3KZ,gCA6KG,SC5Ua",sourcesContent:["$scope_version:\"c9741aa\"; @import 'variables';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nli {\n\tdisplay: flex;\n\tflex: 0 0 auto;\n\n\t&.hidden {\n\t\tdisplay: none;\n\t}\n\n\t> button,\n\t> a,\n\t> .menuitem {\n\t\tcursor: pointer;\n\t\tline-height: $clickable-area;\n\t\tborder: 0;\n\t\tborder-radius: 0; // otherwise Safari will cut the border-radius area\n\t\tbackground-color: transparent;\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\t\theight: auto;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tfont-weight: normal;\n\t\tbox-shadow: none;\n\t\twidth: 100%;\n\t\tcolor: var(--color-main-text);\n\t\twhite-space: nowrap;\n\t\topacity: $opacity_normal;\n\n\t\t// TODO split into individual components for readability\n\t\tspan[class^='icon-'],\n\t\tspan[class*=' icon-'],\n\t\t&[class^='icon-'],\n\t\t&[class*=' icon-'] {\n\t\t\tmin-width: 0; /* Overwrite icons*/\n\t\t\tmin-height: 0;\n\t\t\tbackground-position: #{$icon-margin} center;\n\t\t\tbackground-size: $icon-size;\n\t\t}\n\n\t\tspan[class^='icon-'],\n\t\tspan[class*=' icon-'] {\n\t\t\t/* Keep padding to define the width to\n\t\t\t\tassure correct position of a possible text */\n\t\t\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\n\t\t}\n\n\t\t// If no icons set, force left margin to align\n\t\t&:not([class^='icon-']):not([class*='icon-']) {\n\t\t\t> span,\n\t\t\t> input,\n\t\t\t> form {\n\t\t\t\t&:not([class^='icon-']):not([class*='icon-']):first-child {\n\t\t\t\t\tmargin-left: $clickable-area;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&[class^='icon-'],\n\t\t&[class*=' icon-'] {\n\t\t\tpadding: 0 $icon-margin 0 $clickable-area;\n\t\t}\n\n\t\t&:not(:disabled):hover,\n\t\t&:not(:disabled):focus,\n\t\t&:not(:disabled).active {\n\t\t\topacity: $opacity_full !important;\n\t\t}\n\n\t\t/* prevent .action class to break the design */\n\t\t&.action {\n\t\t\tpadding: inherit !important;\n\t\t}\n\n\t\t> span {\n\t\t\tcursor: pointer;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t// long text area\n\t\t> p {\n\t\t\twidth: 150px;\n\t\t\tline-height: 1.6em;\n\t\t\tpadding: 8px 0;\n\t\t\twhite-space: normal;\n\n\t\t\t// in case there are no spaces like long email addresses\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t// TODO: do we really supports it?\n\t\t> select {\n\t\t\tmargin: 0;\n\t\t\tmargin-left: 6px;\n\t\t}\n\n\t\t/* Add padding if contains icon+text */\n\t\t&:not(:empty) {\n\t\t\tpadding-right: $icon-margin !important;\n\t\t}\n\n\t\t/* DEPRECATED! old img in popover fallback\n\t\t\t* TODO: to remove */\n\t\t> img {\n\t\t\twidth: $icon-size;\n\t\t\tpadding: $icon-margin;\n\t\t}\n\n\t\t/* checkbox/radio fixes */\n\t\t> input.radio + label,\n\t\t> input.checkbox + label {\n\t\t\tpadding: 0 !important;\n\t\t\twidth: 100%;\n\t\t}\n\t\t> input.checkbox + label::before {\n\t\t\tmargin: -2px 13px 0;\n\t\t}\n\t\t> input.radio + label::before {\n\t\t\tmargin: -2px 12px 0;\n\t\t}\n\t\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\n\t\t\twidth: 150px;\n\t\t}\n\n\t\t// Forms & text inputs\n\t\tform {\n\t\t\tdisplay: flex;\n\t\t\tflex: 1 1 auto;\n\t\t\t/* put a small space between text and form\n\t\t\t\tif there is an element before */\n\t\t\t&:not(:first-child) {\n\t\t\t\tmargin-left: 5px;\n\t\t\t}\n\t\t}\n\t\t/* no margin if hidden span before */\n\t\t> span.hidden + form,\n\t\t> span[style*='display:none'] + form {\n\t\t\tmargin-left: 0;\n\t\t}\n\t\t/* Inputs inside popover supports text, submit & reset */\n\t\tinput {\n\t\t\tmin-width: $clickable-area;\n\t\t\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\n\t\t\tmargin: 2px 0;\n\t\t\tflex: 1 1 auto;\n\t\t\t// space between inline inputs\n\t\t\t&:not(:first-child) {\n\t\t\t\tmargin-left: 5px;\n\t\t\t}\n\t\t}\n\t}\n\n\t// TODO: do that in js, should be cleaner\n\t/* css hack, only first not hidden */\n\t&:not(.hidden):not([style*='display:none']) {\n\t\t&:first-of-type {\n\t\t\t> button, > a, > .menuitem {\n\t\t\t\t> form, > input {\n\t\t\t\t\tmargin-top: $icon-margin - 2px; // minus the input margin\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t&:last-of-type {\n\t\t\t> button, > a, > .menuitem {\n\t\t\t\t> form, > input {\n\t\t\t\t\tmargin-bottom: $icon-margin - 2px; // minus the input margin\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t> button {\n\t\tpadding: 0;\n\t\tspan {\n\t\t\topacity: $opacity_full;\n\t\t}\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: ($clickable-area - $icon-size) / 2;\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n"],sourceRoot:""}]),t.a=r},function(e,t,n){"use strict";var s=n(0),o=n.n(s),i=n(1),r=n.n(i)()(o.a);r.push([e.i,"ul[data-v-4dae360a]{display:flex;flex-direction:column}\n","",{version:3,sources:["webpack://./PopoverMenu.vue"],names:[],mappings:"AA0DA,oBACC,YAAa,CACb,qBAAsB",sourcesContent:["$scope_version:\"c9741aa\"; @import 'variables';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nul {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n"],sourceRoot:""}]),t.a=r},function(e,t){},function(e,t){e.exports=__webpack_require__(/*! core-js/modules/es.array.join.js */ "./node_modules/core-js/modules/es.array.join.js")},function(e,t){e.exports=__webpack_require__(/*! regenerator-runtime/runtime.js */ "./node_modules/regenerator-runtime/runtime.js")},function(e,t){e.exports=__webpack_require__(/*! core-js/modules/es.promise.js */ "./node_modules/core-js/modules/es.promise.js")},function(e,t,n){"use strict";n.r(t),n.d(t,"USERID_REGEX",(function(){return C})),n.d(t,"USERID_REGEX_WITH_SPACE",(function(){return b}));n(87),n(16),n(25),n(88),n(13),n(75),n(24),n(57),n(62);var s=n(61),o=n.n(s),i=n(48),r=n.n(i),a=n(43),c=n.n(a),m=n(5),A=n.n(m),l=n(14),g={name:"MentionBubble",props:{id:{type:String,required:!0},label:{type:String,required:!0},icon:{type:String,required:!0},source:{type:String,required:!0},primary:{type:Boolean,default:!1}},computed:{avatarUrl:function(){return this.id&&"users"===this.source?this.getAvatarUrl(this.id,44):null},mentionText:function(){return-1===this.id.indexOf(" ")?"@".concat(this.id):'@"'.concat(this.id,'"')}},methods:{getAvatarUrl:function(e,t){return Object(l.generateUrl)("/avatar/{user}/{size}",{user:e,size:t})}}},u=n(2),d=n.n(u),p=n(44),v={insert:"head",singleton:!1},f=(d()(p.a,v),p.a.locals,n(3)),h=Object(f.a)(g,(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("span",{staticClass:"mention-bubble",class:{"mention-bubble--primary":e.primary},attrs:{contenteditable:"false"}},[n("span",{staticClass:"mention-bubble__wrapper"},[n("span",{staticClass:"mention-bubble__content"},[n("span",{staticClass:"mention-bubble__icon",class:[e.icon,"mention-bubble__icon--"+(e.avatarUrl?"with-avatar":"")],style:e.avatarUrl?{backgroundImage:"url("+e.avatarUrl+")"}:null}),e._v(" "),n("span",{staticClass:"mention-bubble__title",attrs:{role:"heading",title:e.label}})]),e._v(" "),n("span",{staticClass:"mention-bubble__select",attrs:{role:"none"}},[e._v(e._s(e.mentionText))])])])}),[],!1,null,"724f9d58",null).exports,C=new RegExp("".concat("(?:^|\\s)","(@[a-zA-Z0-9_.@\\-']+)(").concat("(?:[^a-z]|$)",")"),"gi"),b=new RegExp("".concat("(?:^|\\s)",'(@"[a-zA-Z0-9 _.@\\-\']+")(').concat("(?:[^a-z]|$)",")"),"gi");t.default={props:{userData:{type:Object,default:function(){return{}}}},methods:{renderContent:function(e){var t=this;return o()(e).split(C).map((function(e){return e.split(b)})).flat().map((function(e){if(!e.startsWith("@"))return r()(e,{defaultProtocol:"https",target:"_blank",className:"external",attributes:{rel:"noopener noreferrer"}});var n=e.replace(/[@"]/gi,"");return" "+t.genSelectTemplate(n)})).join("").replace(/\n/gim,"<br>").replace(/&/gim,"&")},parseContent:function(e){var t=e.replace(/<br>/gim,"\n");return t=(t=(t=t.replace(/ /gim," ")).replace(/&/gim,"&")).replace(/<\/div>/gim,"\n"),t=c()(t,"<div>"),t=c()(t)},genSelectTemplate:function(e){var t=this.userData[e];return t?this.renderComponentHtml(t,h).replace(/[\n\t]/gim,""):-1===e.indexOf(" ")?"@".concat(e):'@"'.concat(e,'"')},renderComponentHtml:function(e,t){var n=new(A.a.extend(t))({propsData:e}),s=document.createElement("div"),o=document.createElement("div");s.style.display="none",s.appendChild(o),document.body.appendChild(s),n.$mount(o);var i=s.innerHTML;return n.$destroy(),s.remove(),i}}}},function(e,t){e.exports=__webpack_require__(/*! escape-html */ "./node_modules/escape-html/index.js")},function(e,t){e.exports=__webpack_require__(/*! core-js/modules/es.string.starts-with.js */ "./node_modules/core-js/modules/es.string.starts-with.js")},function(e,t,n){"use strict";n(30);
|
||
/**
|
||
* @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>
|
||
*
|
||
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
||
*
|
||
* @license GNU AGPL version 3 or any later version
|
||
*
|
||
* This program is free software: you can redistribute it and/or modify
|
||
* it under the terms of the GNU Affero General Public License as
|
||
* published by the Free Software Foundation, either version 3 of the
|
||
* License, or (at your option) any later version.
|
||
*
|
||
* This program is distributed in the hope that it will be useful,
|
||
* but WITHOUT ANY WARRANTY without even the implied warranty of
|
||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
* GNU Affero General Public License for more details.
|
||
*
|
||
* You should have received a copy of the GNU Affero General Public License
|
||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||
*
|
||
*/
|
||
function s(e,t,n){this.r=e,this.g=t,this.b=n}function o(e,t,n){var o=[];o.push(t);for(var i=function(e,t){var n=new Array(3);return n[0]=(t[1].r-t[0].r)/e,n[1]=(t[1].g-t[0].g)/e,n[2]=(t[1].b-t[0].b)/e,n}(e,[t,n]),r=1;r<e;r++){var a=parseInt(t.r+i[0]*r,10),c=parseInt(t.g+i[1]*r,10),m=parseInt(t.b+i[2]*r,10);o.push(new s(a,c,m))}return o}t.a=function(e){e||(e=6);var t=new s(182,70,157),n=new s(221,203,85),i=new s(0,130,201),r=o(e,t,n),a=o(e,n,i),c=o(e,i,t);return r.concat(a).concat(c)}},function(e,t,n){"use strict";var s=n(0),o=n.n(s),i=n(1),r=n.n(i),a=n(4),c=n.n(a),m=n(8),A=n(9),l=n(10),g=n(11),u=r()(o.a),d=c()(m.a),p=c()(A.a),v=c()(l.a),f=c()(g.a);u.push([e.i,'@font-face{font-family:"iconfont-vue-c9741aa";src:url('+d+");src:url("+d+') format("embedded-opentype"),url('+p+') format("woff"),url('+v+') format("truetype"),url('+f+') format("svg")}.icon[data-v-1bfc7bfe]{font-style:normal;font-weight:400}.icon.arrow-left-double[data-v-1bfc7bfe]:before{font-family:"iconfont-vue-c9741aa";content:""}.icon.arrow-left[data-v-1bfc7bfe]:before{font-family:"iconfont-vue-c9741aa";content:""}.icon.arrow-right-double[data-v-1bfc7bfe]:before{font-family:"iconfont-vue-c9741aa";content:""}.icon.arrow-right[data-v-1bfc7bfe]:before{font-family:"iconfont-vue-c9741aa";content:""}.icon.breadcrumb[data-v-1bfc7bfe]:before{font-family:"iconfont-vue-c9741aa";content:""}.icon.checkmark[data-v-1bfc7bfe]:before{font-family:"iconfont-vue-c9741aa";content:""}.icon.close[data-v-1bfc7bfe]:before{font-family:"iconfont-vue-c9741aa";content:""}.icon.confirm[data-v-1bfc7bfe]:before{font-family:"iconfont-vue-c9741aa";content:""}.icon.info[data-v-1bfc7bfe]:before{font-family:"iconfont-vue-c9741aa";content:""}.icon.menu[data-v-1bfc7bfe]:before{font-family:"iconfont-vue-c9741aa";content:""}.icon.more[data-v-1bfc7bfe]:before{font-family:"iconfont-vue-c9741aa";content:""}.icon.pause[data-v-1bfc7bfe]:before{font-family:"iconfont-vue-c9741aa";content:""}.icon.play[data-v-1bfc7bfe]:before{font-family:"iconfont-vue-c9741aa";content:""}.icon.triangle-s[data-v-1bfc7bfe]:before{font-family:"iconfont-vue-c9741aa";content:""}.icon.user-status-away[data-v-1bfc7bfe]:before{font-family:"iconfont-vue-c9741aa";content:""}.icon.user-status-dnd[data-v-1bfc7bfe]:before{font-family:"iconfont-vue-c9741aa";content:""}.icon.user-status-invisible[data-v-1bfc7bfe]:before{font-family:"iconfont-vue-c9741aa";content:""}.icon.user-status-online[data-v-1bfc7bfe]:before{font-family:"iconfont-vue-c9741aa";content:""}.avatardiv[data-v-1bfc7bfe]{position:relative;display:inline-block}.avatardiv--unknown[data-v-1bfc7bfe]{position:relative;background-color:var(--color-text-maxcontrast)}.avatardiv[data-v-1bfc7bfe]:not(.avatardiv--unknown){background-color:#fff !important;box-shadow:0 0 5px rgba(0,0,0,0.05) inset}body.theme--dark .avatardiv[data-v-1bfc7bfe]:not(.avatardiv--unknown){background-color:#000 !important}.avatardiv--with-menu[data-v-1bfc7bfe]{cursor:pointer}.avatardiv--with-menu[data-v-1bfc7bfe] .trigger{position:absolute;top:0;left:0}.avatardiv--with-menu .icon-more[data-v-1bfc7bfe]{display:flex;cursor:pointer;opacity:0;background:none;font-size:18px;align-items:center;justify-content:center}.avatardiv--with-menu .icon-more[data-v-1bfc7bfe]:before{font-family:"iconfont-vue-c9741aa";font-style:normal;font-weight:400;content:""}.avatardiv--with-menu .icon-more[data-v-1bfc7bfe]::before{display:block}.avatardiv--with-menu:focus .icon-more[data-v-1bfc7bfe],.avatardiv--with-menu:hover .icon-more[data-v-1bfc7bfe]{opacity:1}.avatardiv--with-menu:focus img[data-v-1bfc7bfe],.avatardiv--with-menu:hover img[data-v-1bfc7bfe]{opacity:0.3}.avatardiv--with-menu .icon-more[data-v-1bfc7bfe],.avatardiv--with-menu img[data-v-1bfc7bfe]{transition:opacity var(--animation-quick)}.avatardiv>.unknown[data-v-1bfc7bfe]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:normal;color:var(--color-main-background)}.avatardiv img[data-v-1bfc7bfe]{width:100%;height:100%;object-fit:cover}.avatardiv .avatardiv__status[data-v-1bfc7bfe]{position:absolute;top:22px;left:22px;width:10px;height:10px;border:1px solid rgba(255,255,255,0.5);background-clip:content-box}.avatardiv .avatardiv__status--positive[data-v-1bfc7bfe]{border-radius:50%;background-color:var(--color-success)}.avatardiv .avatardiv__status--negative[data-v-1bfc7bfe]{background-color:var(--color-error)}.avatardiv .avatardiv__status--neutral[data-v-1bfc7bfe]{border:none;background-color:transparent !important}.avatardiv .avatardiv__status--neutral svg[data-v-1bfc7bfe]{position:absolute;top:-3px;left:-2px}.avatardiv .avatardiv__status--neutral svg path[data-v-1bfc7bfe]{fill:#aaa}.avatardiv .avatardiv__user-status[data-v-1bfc7bfe]{position:absolute;right:-4px;bottom:-4px;height:18px;width:18px;line-height:15px;font-size:var(--default-font-size);border:2px solid var(--color-main-background);background-color:var(--color-main-background);border-radius:50%}.acli:hover .avatardiv .avatardiv__user-status[data-v-1bfc7bfe]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-1bfc7bfe]{border-color:var(--color-primary-light);background-color:var(--color-primary-light)}.avatardiv .avatardiv__user-status--online[data-v-1bfc7bfe]{color:#49b382}.avatardiv .avatardiv__user-status--online[data-v-1bfc7bfe]:before{font-family:"iconfont-vue-c9741aa";font-style:normal;font-weight:400;content:""}.avatardiv .avatardiv__user-status--dnd[data-v-1bfc7bfe]{background-color:#ffffff;color:#ed484c}.avatardiv .avatardiv__user-status--dnd[data-v-1bfc7bfe]:before{font-family:"iconfont-vue-c9741aa";font-style:normal;font-weight:400;content:""}.avatardiv .avatardiv__user-status--away[data-v-1bfc7bfe]{color:#f4a331}.avatardiv .avatardiv__user-status--away[data-v-1bfc7bfe]:before{font-family:"iconfont-vue-c9741aa";font-style:normal;font-weight:400;content:""}.avatardiv .avatardiv__user-status--icon[data-v-1bfc7bfe]{border:none;background-color:transparent}.avatardiv .popovermenu-wrapper[data-v-1bfc7bfe]{position:relative;display:inline-block}.avatar-class-icon[data-v-1bfc7bfe]{border-radius:50%;background-color:var(--color-background-darker);height:100%}\n',"",{version:3,sources:["webpack://./../../fonts/scss/iconfont-vue.scss","webpack://./Avatar.vue"],names:[],mappings:"AA2FE,WACC,kCAAmC,CACnC,2CAAuC,CACvC,+OAGmD,CAMpD,uBACE,iBAAkB,CAClB,eAAgB,CAFlB,gDAMM,kCAAmC,CACnC,WA5Ge,CAAO,yCA0GL,kCACJ,CAAsB,WA1G3B,CAAA,iDAyGU,kCACL,CAAA,WAzGG,CAAA,0CAwGL,kCACE,CAAA,WAxGJ,CAAA,yCAuGC,kCACG,CAAA,WACN,CAxGC,wCAsGC,kCACI,CAAA,WACb,CAAO,oCAFF,kCACQ,CAAA,WACb,CAAA,sCAFO,kCACM,CAAA,WACb,CAAA,mCAFI,kCACS,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WACb,CAAA,oCAPD,kCAMc,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WAAsB,CACnC,yCAPD,kCAMc,CAAA,WAAA,CAAsB,+CANpC,kCAMc,CAAA,WAAA,CAAA,8CANd,kCAMc,CAAA,WAAA,CAAA,oDANd,kCAMc,CAAA,WAAA,CAAA,iDANd,kCAMc,CAAA,WAAA,CAAA,4BACb,iBC0eE,CACT,oBACA,CAAA,qCAEA,iBAAU,CACT,8CACkB,CAAA,qDAGZ,gCAEN,CAAA,yCAKoB,CAAA,sEAPd,gCAKL,CAAA,uCACA,cAAA,CAAA,iDAMD,iBAAiB,CAChB,KAAA,CAAA,MAAU,CAAA,kDAHX,YAOA,CAAA,cACU,CAAA,SACH,CAAE,eACD,CAAE,cACG,CAAA,kBAEZ,CAAA,sBACA,CAAA,yDAPD,kCDjnBD,CAAA,iBAAsB,CAkFnB,eAAY,CAAA,WACZ,CAAA,0DC8hBF,aAAU,CAAA,gHAPV,SAuBC,CAAA,kGAvBD,WAAW,CAAA,6FAAX,yCAgCqB,CAAA,qCAnDvB,iBAuDG,CAAQ,KACT,CAAA,MAAU,CAAA,aAEV,CAAA,UACA,CAAA,iBACO,CAAI,kBACO,CAClB,kCACO,CAAA,gCAAA,UA/DT,CAAA,WAoEE,CAAA,gBACQ,CAAA,+CAKT,iBAAA,CAAkB,QACjB,CAAQ,SAAU,CAClB,UACA,CAAA,WACA,CAAA,sCAEkB,CAAA,2BAClB,CAAA,yDACC,iBAAA,CAAU,qCAEQ,CAAA,yDAElB,mCACgB,CAAE,wDAElB,WAAA,CAAA,uCAEkB,CAAA,4DAFlB,iBAGA,CAAG,QACF,CAAQ,SAAU,CAClB,iEALD,SAAS,CAGT,oDAWF,iBAAA,CAAuB,UACZ,CAAA,WACV,CAAA,WACA,CAAA,UACA,CAAA,gBACO,CAAA,kCAEI,CAAA,6CACO,CAAA,6CACA,CAAA,iBAAA,CAA4B,gEAT/C,0CAagB,CAAA,8CACI,CAAA,iEAdpB,uCAiBgB,CAAA,2CACI,CAAA,4DAGlB,aAAA,CAAA,mEAAA,kCDntBF,CAAA,iBAAA,CAAsB,eAkFP,CAAA,WACZ,CAAA,yDCooBD,wBAEA,CAAA,aAAkB,CAAA,gEAFlB,kCDvtBF,CAAA,iBAAA,CAAA,eAkFe,CAAA,WACZ,CAAA,0DCyoBD,aAAA,CAAA,iEAAA,kCD5tBF,CAAA,iBAAA,CAAA,eAkFe,CAAA,WACZ,CAAA,0DC6oBD,WAAA,CAAA,4BAEA,CAAA,iDA3IO,iBA+IT,CAAA,oBACW,CAAQ,oCACT,iBACT,CAAA,+CAKiB,CAAA,WAAA",sourcesContent:['$__iconfont__data: map-merge(if(global_variable_exists(\'__iconfont__data\'), $__iconfont__data, ()), (\n\t"iconfont-vue-c9741aa": (\n\t\t"arrow-left-double": "\\ea01",\n\t\t"arrow-left": "\\ea02",\n\t\t"arrow-right-double": "\\ea03",\n\t\t"arrow-right": "\\ea04",\n\t\t"breadcrumb": "\\ea05",\n\t\t"checkmark": "\\ea06",\n\t\t"close": "\\ea07",\n\t\t"confirm": "\\ea08",\n\t\t"info": "\\ea09",\n\t\t"menu": "\\ea0a",\n\t\t"more": "\\ea0b",\n\t\t"pause": "\\ea0c",\n\t\t"play": "\\ea0d",\n\t\t"triangle-s": "\\ea0e",\n\t\t"user-status-away": "\\ea0f",\n\t\t"user-status-dnd": "\\ea10",\n\t\t"user-status-invisible": "\\ea11",\n\t\t"user-status-online": "\\ea12"\n\t)\n));\n\n\n$create-font-face: true !default; // should the @font-face tag get created?\n\n// should there be a custom class for each icon? will be .filename\n$create-icon-classes: true !default; \n\n// what is the common class name that icons share? in this case icons need to have .icon.filename in their classes\n// this requires you to have 2 classes on each icon html element, but reduced redeclaration of the font family\n// for each icon\n$icon-common-class: \'icon\' !default;\n\n// if you whish to prefix your filenames, here you can do so.\n// if this string stays empty, your classes will use the filename, for example\n// an icon called star.svg will result in a class called .star\n// if you use the prefix to be \'icon-\' it would result in .icon-star\n$icon-prefix: \'\' !default; \n\n// helper function to get the correct font group\n@function iconfont-group($group: null) {\n @if (null == $group) {\n $group: nth(map-keys($__iconfont__data), 1);\n }\n @if (false == map-has-key($__iconfont__data, $group)) {\n @warn \'Undefined Iconfont Family!\';\n @return ();\n }\n @return map-get($__iconfont__data, $group);\n}\n\n// helper function to get the correct icon of a group\n@function iconfont-item($name) {\n $slash: str-index($name, \'/\');\n $group: null;\n @if ($slash) {\n $group: str-slice($name, 0, $slash - 1);\n $name: str-slice($name, $slash + 1);\n } @else {\n $group: nth(map-keys($__iconfont__data), 1);\n }\n $group: iconfont-group($group);\n @if (false == map-has-key($group, $name)) {\n @warn \'Undefined Iconfont Glyph!\';\n @return \'\';\n }\n @return map-get($group, $name);\n}\n\n// complete mixing to include the icon\n// usage:\n// .my_icon{ @include iconfont(\'star\') }\n@mixin iconfont($icon) {\n $slash: str-index($icon, \'/\');\n $group: null;\n @if ($slash) {\n $group: str-slice($icon, 0, $slash - 1);\n } @else {\n $group: nth(map-keys($__iconfont__data), 1);\n }\n &:before {\n font-family: $group;\n font-style: normal;\n font-weight: 400;\n content: iconfont-item($icon);\n }\n}\n\n// creates the font face tag if the variable is set to true (default)\n@if $create-font-face == true {\n @font-face {\n font-family: "iconfont-vue-c9741aa";\n src: url(\'../iconfont-vue-c9741aa.eot\'); /* IE9 Compat Modes */\n src: url(\'../iconfont-vue-c9741aa.eot?#iefix\') format(\'embedded-opentype\'), /* IE6-IE8 */\n url(\'../iconfont-vue-c9741aa.woff\') format(\'woff\'), /* Pretty Modern Browsers */\n url(\'../iconfont-vue-c9741aa.ttf\') format(\'truetype\'), /* Safari, Android, iOS */\n url(\'../iconfont-vue-c9741aa.svg\') format(\'svg\'); /* Legacy iOS */\n }\n}\n\n// creates icon classes for each individual loaded svg (default)\n@if $create-icon-classes == true {\n .#{$icon-common-class} {\n font-style: normal;\n font-weight: 400;\n\n @each $icon, $content in map-get($__iconfont__data, "iconfont-vue-c9741aa") {\n &.#{$icon-prefix}#{$icon}:before {\n font-family: "iconfont-vue-c9741aa";\n content: iconfont-item("iconfont-vue-c9741aa/#{$icon}");\n }\n }\n }\n}\n',"$scope_version:\"c9741aa\"; @import 'variables';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import '../../fonts/scss/iconfont-vue';\n\n.avatardiv {\n\tposition: relative;\n\tdisplay: inline-block;\n\n\t&--unknown {\n\t\tposition: relative;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t}\n\n\t&:not(&--unknown) {\n\t\t// White background for avatars with transparency\n\t\tbackground-color: #fff !important;\n\t\tbody.theme--dark & {\n\t\t\t// And black background in dark mode, as it shines through on hover of the menu\n\t\t\tbackground-color: #000 !important;\n\t\t}\n\t\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\n\t}\n\n\t&--with-menu {\n\t\tcursor: pointer;\n\t\t::v-deep .trigger {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t}\n\t\t.icon-more {\n\t\t\tdisplay: flex;\n\t\t\tcursor: pointer;\n\t\t\topacity: 0;\n\t\t\tbackground: none;\n\t\t\tfont-size: 18px;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\n\t\t\t@include iconfont('more');\n\t\t\t&::before {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t}\n\t\t&:focus,\n\t\t&:hover {\n\t\t\t.icon-more {\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t\timg {\n\t\t\t\topacity: 0.3;\n\t\t\t}\n\t\t}\n\t\t.icon-more,\n\t\timg {\n\t\t\ttransition: opacity var(--animation-quick);\n\t\t}\n\t}\n\n\t> .unknown {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\ttext-align: center;\n\t\tfont-weight: normal;\n\t\tcolor: var(--color-main-background);\n\t}\n\n\timg {\n\t\t// Cover entire area\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\t// Keep ratio\n\t\tobject-fit: cover;\n\t}\n\n\t.avatardiv__status {\n\t\tposition: absolute;\n\t\ttop: 22px;\n\t\tleft: 22px;\n\t\twidth: 10px;\n\t\theight: 10px;\n\t\tborder: 1px solid rgba(255, 255, 255, .5);\n\t\tbackground-clip: content-box;\n\t\t&--positive {\n\t\t\tborder-radius: 50%;\n\t\t\tbackground-color: var(--color-success);\n\t\t}\n\t\t&--negative {\n\t\t\tbackground-color: var(--color-error);\n\t\t}\n\t\t&--neutral {\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent !important;\n\t\t\tsvg {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: -3px;\n\t\t\t\tleft: -2px;\n\t\t\t\tpath {\n\t\t\t\t\tfill: #aaa;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t.avatardiv__user-status {\n\t\tposition: absolute;\n\t\tright: -4px;\n\t\tbottom: -4px;\n\t\theight: 18px;\n\t\twidth: 18px;\n\t\tline-height: 15px;\n\t\tfont-size: var(--default-font-size);\n\t\tborder: 2px solid var(--color-main-background);\n\t\tbackground-color: var(--color-main-background);\n\t\tborder-radius: 50%;\n\n\t\t.acli:hover & {\n\t\t\tborder-color: var(--color-background-hover);\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t\t.acli.active & {\n\t\t\tborder-color: var(--color-primary-light);\n\t\t\tbackground-color: var(--color-primary-light);\n\t\t}\n\n\t\t&--online{\n\t\t\t@include iconfont('user-status-online');\n\t\t\tcolor: #49b382;\n\t\t}\n\t\t&--dnd{\n\t\t\t@include iconfont('user-status-dnd');\n\t\t\tbackground-color: #ffffff;\n\t\t\tcolor: #ed484c;\n\t\t}\n\t\t&--away{\n\t\t\t@include iconfont('user-status-away');\n\t\t\tcolor: #f4a331;\n\t\t}\n\t\t&--icon {\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t.popovermenu-wrapper {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t}\n}\n\n.avatar-class-icon {\n\tborder-radius: 50%;\n\tbackground-color: var(--color-background-darker);\n\theight: 100%;\n}\n\n"],sourceRoot:""}]),t.a=u},function(e,t){},,,function(e,t,n){"use strict";
|
||
/**
|
||
* @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>
|
||
*
|
||
* @author Raimund Schlüßler <raimund.schluessler@mailbox.org>
|
||
*
|
||
* @license GNU AGPL version 3 or any later version
|
||
*
|
||
* This program is free software: you can redistribute it and/or modify
|
||
* it under the terms of the GNU Affero General Public License as
|
||
* published by the Free Software Foundation, either version 3 of the
|
||
* License, or (at your option) any later version.
|
||
*
|
||
* This program is distributed in the hope that it will be useful,
|
||
* but WITHOUT ANY WARRANTY without even the implied warranty of
|
||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
* GNU Affero General Public License for more details.
|
||
*
|
||
* You should have received a copy of the GNU Affero General Public License
|
||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||
*
|
||
*/t.a=function(e,t){for(var n=[],s=0,o=e.toLowerCase().indexOf(t.toLowerCase(),s),i=0;o>-1&&i<e.length;)s=o+t.length,n.push({start:o,end:s}),o=e.toLowerCase().indexOf(t.toLowerCase(),o+1),i++;return n}},,function(e,t,n){"use strict";n.r(t);n(95),n(16),n(90),n(13),n(100),n(31),n(51),n(105),n(85),n(106);var s=n(68);function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,s)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var a={name:"Highlight",props:{text:{type:String,default:""},search:{type:String,default:""},highlight:{type:Array,default:function(){return[]}}},computed:{ranges:function(){var e=this,t=[];return this.search||0!==this.highlight.length?(t=this.highlight.length>0?this.highlight:Object(s.a)(this.text,this.search),t.reduce((function(t,n){return n.start<e.text.length&&n.end>0&&t.push({start:n.start<0?0:n.start,end:n.end>e.text.length?e.text.length:n.end}),t}),[])):t},chunks:function(){if(0===this.ranges.length)return[{start:0,end:this.text.length,highlight:!1,text:this.text}];for(var e=[],t=0,n=0;t<this.text.length;){var s=this.ranges[n];s.start!==t?(e.push({start:t,end:s.start,highlight:!1,text:this.text.substr(t,s.start-t)}),t=s.start):(e.push(i(i({},s),{},{highlight:!0,text:this.text.substr(s.start,s.end-s.start)})),n++,t=s.end,n>=this.ranges.length&&t<this.text.length&&(e.push({start:t,end:this.text.length,highlight:!1,text:this.text.substr(t,this.text.length-t)}),t=this.text.length))}return e}},render:function(e){return this.ranges.length?e("span",{},this.chunks.map((function(t){return t.highlight?e("strong",{},t.text):t.text}))):e("span",{},this.text)}},c=n(3),m=n(74),A=n.n(m),l=Object(c.a)(a,void 0,void 0,!1,null,null,null);"function"==typeof A.a&&A()(l);var g=l.exports;
|
||
/**
|
||
* @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>
|
||
*
|
||
* @author Raimund Schlüßler <raimund.schluessler@mailbox.org>
|
||
*
|
||
* @license GNU AGPL version 3 or any later version
|
||
*
|
||
* This program is free software: you can redistribute it and/or modify
|
||
* it under the terms of the GNU Affero General Public License as
|
||
* published by the Free Software Foundation, either version 3 of the
|
||
* License, or (at your option) any later version.
|
||
*
|
||
* This program is distributed in the hope that it will be useful,
|
||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
* GNU Affero General Public License for more details.
|
||
*
|
||
* You should have received a copy of the GNU Affero General Public License
|
||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||
*
|
||
*/t.default=g},function(e,t,n){"use strict";n.r(t);n(40),n(6),n(15),n(52),n(17),n(31),n(37),n(46),n(18),n(19);function s(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return o(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var s=0,i=function(){};return{s:i,n:function(){return s>=e.length?{done:!0}:{done:!1,value:e[s++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,a=!0,c=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return a=e.done,e},e:function(e){c=!0,r=e},f:function(){try{a||null==n.return||n.return()}finally{if(c)throw r}}}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,s=new Array(t);n<t;n++)s[n]=e[n];return s}
|
||
/**
|
||
* @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>
|
||
*
|
||
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
|
||
*
|
||
* @license GNU AGPL version 3 or any later version
|
||
*
|
||
* This program is free software: you can redistribute it and/or modify
|
||
* it under the terms of the GNU Affero General Public License as
|
||
* published by the Free Software Foundation, either version 3 of the
|
||
* License, or (at your option) any later version.
|
||
*
|
||
* This program is distributed in the hope that it will be useful,
|
||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
* GNU Affero General Public License for more details.
|
||
*
|
||
* You should have received a copy of the GNU Affero General Public License
|
||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||
*
|
||
*/t.default={props:{excludeClickOutsideClasses:{type:String|Array,default:function(){return[]}}},methods:{clickOutsideMiddleware:function(e){var t=Array.isArray(this.excludeClickOutsideClasses)?this.excludeClickOutsideClasses:[this.excludeClickOutsideClasses];return 0===t.length||!this.hasNodeOrAnyParentClass(e.target,t)},hasNodeOrAnyParentClass:function(e,t){var n,o=s(t);try{for(o.s();!(n=o.n()).done;){var i,r=n.value;if(null!=e&&null!==(i=e.classList)&&void 0!==i&&i.contains(r))return!0}}catch(e){o.e(e)}finally{o.f()}return!!e.parentElement&&this.hasNodeOrAnyParentClass(e.parentElement,t)}}}},function(e,t,n){"use strict";n.r(t),
|
||
/**
|
||
* @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>
|
||
*
|
||
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
||
*
|
||
* @license GNU AGPL version 3 or any later version
|
||
*
|
||
* This program is free software: you can redistribute it and/or modify
|
||
* it under the terms of the GNU Affero General Public License as
|
||
* published by the Free Software Foundation, either version 3 of the
|
||
* License, or (at your option) any later version.
|
||
*
|
||
* This program is distributed in the hope that it will be useful,
|
||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
* GNU Affero General Public License for more details.
|
||
*
|
||
* You should have received a copy of the GNU Affero General Public License
|
||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||
*
|
||
*/t.default={data:function(){return{isFullscreen:this._isFullscreen()}},beforeMount:function(){window.addEventListener("resize",this._onResize)},beforeDestroy:function(){window.removeEventListener("resize",this._onResize)},methods:{_onResize:function(){this.isFullscreen=this._isFullscreen()},_isFullscreen:function(){return window.outerHeight===screen.height}}}},function(e,t,n){"use strict";n.r(t);n(6),n(25),n(39),n(17),n(18),n(19);var s={name:"PopoverMenuItem",props:{item:{type:Object,required:!0,default:function(){return{key:"nextcloud-link",href:"https://nextcloud.com",icon:"icon-links",text:"Nextcloud"}},validator:function(e){return!e.input||-1!==["text","checkbox"].indexOf(e.input)}}},computed:{key:function(){return this.item.key?this.item.key:Math.round(16*Math.random()*1e6).toString(16)},iconIsUrl:function(){try{return new URL(this.item.icon),!0}catch(e){return!1}}},methods:{action:function(e){this.item.action&&this.item.action(e)}}},o=n(2),i=n.n(o),r=n(53),a={insert:"head",singleton:!1},c=(i()(r.a,a),r.a.locals,n(54)),m={insert:"head",singleton:!1},A=(i()(c.a,m),c.a.locals,n(3)),l={name:"PopoverMenu",components:{PopoverMenuItem:Object(A.a)(s,(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("li",{staticClass:"popover__menuitem"},[e.item.href?n("a",{staticClass:"focusable",attrs:{href:e.item.href?e.item.href:"#",target:e.item.target?e.item.target:"",download:e.item.download,rel:"noreferrer noopener"},on:{click:e.action}},[e.iconIsUrl?n("img",{attrs:{src:e.item.icon}}):n("span",{class:e.item.icon}),e._v(" "),e.item.text&&e.item.longtext?n("p",[n("strong",{staticClass:"menuitem-text"},[e._v("\n\t\t\t\t"+e._s(e.item.text)+"\n\t\t\t")]),n("br"),e._v(" "),n("span",{staticClass:"menuitem-text-detail"},[e._v("\n\t\t\t\t"+e._s(e.item.longtext)+"\n\t\t\t")])]):e.item.text?n("span",[e._v("\n\t\t\t"+e._s(e.item.text)+"\n\t\t")]):e.item.longtext?n("p",[e._v("\n\t\t\t"+e._s(e.item.longtext)+"\n\t\t")]):e._e()]):e.item.input?n("span",{staticClass:"menuitem",class:{active:e.item.active}},["checkbox"!==e.item.input?n("span",{class:e.item.icon}):e._e(),e._v(" "),"text"===e.item.input?n("form",{class:e.item.input,on:{submit:function(t){return t.preventDefault(),e.item.action(t)}}},[n("input",{attrs:{type:e.item.input,placeholder:e.item.text,required:""},domProps:{value:e.item.value}}),e._v(" "),n("input",{staticClass:"icon-confirm",attrs:{type:"submit",value:""}})]):["checkbox"===e.item.input?n("input",{directives:[{name:"model",rawName:"v-model",value:e.item.model,expression:"item.model"}],class:e.item.input,attrs:{id:e.key,type:"checkbox"},domProps:{checked:Array.isArray(e.item.model)?e._i(e.item.model,null)>-1:e.item.model},on:{change:[function(t){var n=e.item.model,s=t.target,o=!!s.checked;if(Array.isArray(n)){var i=e._i(n,null);s.checked?i<0&&e.$set(e.item,"model",n.concat([null])):i>-1&&e.$set(e.item,"model",n.slice(0,i).concat(n.slice(i+1)))}else e.$set(e.item,"model",o)},e.item.action]}}):"radio"===e.item.input?n("input",{directives:[{name:"model",rawName:"v-model",value:e.item.model,expression:"item.model"}],class:e.item.input,attrs:{id:e.key,type:"radio"},domProps:{checked:e._q(e.item.model,null)},on:{change:[function(t){return e.$set(e.item,"model",null)},e.item.action]}}):n("input",{directives:[{name:"model",rawName:"v-model",value:e.item.model,expression:"item.model"}],class:e.item.input,attrs:{id:e.key,type:e.item.input},domProps:{value:e.item.model},on:{change:e.item.action,input:function(t){t.target.composing||e.$set(e.item,"model",t.target.value)}}}),e._v(" "),n("label",{attrs:{for:e.key},on:{click:function(t){return t.stopPropagation(),t.preventDefault(),e.item.action(t)}}},[e._v("\n\t\t\t\t"+e._s(e.item.text)+"\n\t\t\t")])]],2):e.item.action?n("button",{staticClass:"menuitem focusable",class:{active:e.item.active},attrs:{disabled:e.item.disabled},on:{click:function(t){return t.stopPropagation(),t.preventDefault(),e.item.action(t)}}},[n("span",{class:e.item.icon}),e._v(" "),e.item.text&&e.item.longtext?n("p",[n("strong",{staticClass:"menuitem-text"},[e._v("\n\t\t\t\t"+e._s(e.item.text)+"\n\t\t\t")]),n("br"),e._v(" "),n("span",{staticClass:"menuitem-text-detail"},[e._v("\n\t\t\t\t"+e._s(e.item.longtext)+"\n\t\t\t")])]):e.item.text?n("span",[e._v("\n\t\t\t"+e._s(e.item.text)+"\n\t\t")]):e.item.longtext?n("p",[e._v("\n\t\t\t"+e._s(e.item.longtext)+"\n\t\t")]):e._e()]):n("span",{staticClass:"menuitem",class:{active:e.item.active}},[n("span",{class:e.item.icon}),e._v(" "),e.item.text&&e.item.longtext?n("p",[n("strong",{staticClass:"menuitem-text"},[e._v("\n\t\t\t\t"+e._s(e.item.text)+"\n\t\t\t")]),n("br"),e._v(" "),n("span",{staticClass:"menuitem-text-detail"},[e._v("\n\t\t\t\t"+e._s(e.item.longtext)+"\n\t\t\t")])]):e.item.text?n("span",[e._v("\n\t\t\t"+e._s(e.item.text)+"\n\t\t")]):e.item.longtext?n("p",[e._v("\n\t\t\t"+e._s(e.item.longtext)+"\n\t\t")]):e._e()])])}),[],!1,null,"a7ced2f4",null).exports},props:{menu:{type:Array,default:function(){return[{href:"https://nextcloud.com",icon:"icon-links",text:"Nextcloud"}]},required:!0}}},g=n(55),u={insert:"head",singleton:!1},d=(i()(g.a,u),g.a.locals,n(56)),p=n.n(d),v=Object(A.a)(l,(function(){var e=this.$createElement,t=this._self._c||e;return t("ul",{staticClass:"popover__menu"},this._l(this.menu,(function(e,n){return t("PopoverMenuItem",{key:n,attrs:{item:e}})})),1)}),[],!1,null,"4dae360a",null);"function"==typeof p.a&&p()(v);var f=v.exports;
|
||
/**
|
||
* @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>
|
||
*
|
||
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
||
*
|
||
* @license GNU AGPL version 3 or any later version
|
||
*
|
||
* This program is free software: you can redistribute it and/or modify
|
||
* it under the terms of the GNU Affero General Public License as
|
||
* published by the Free Software Foundation, either version 3 of the
|
||
* License, or (at your option) any later version.
|
||
*
|
||
* This program is distributed in the hope that it will be useful,
|
||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
* GNU Affero General Public License for more details.
|
||
*
|
||
* You should have received a copy of the GNU Affero General Public License
|
||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||
*
|
||
*/t.default=f},function(e,t){},function(e,t){e.exports=__webpack_require__(/*! core-js/modules/es.string.split.js */ "./node_modules/core-js/modules/es.string.split.js")},function(e,t,n){"use strict";n.r(t);n(58),n(29),n(86),n(101),n(102),n(30),n(13),n(57),n(59),n(6);var s=n(82),o=n(41),i=n(73),r=n(34),a=n(27),c=n(36),m=n.n(c),A=n(14),l=n(22),g=n(80),u=n(45),d=n(26);function p(e,t,n,s,o,i,r){try{var a=e[i](r),c=a.value}catch(e){return void n(e)}a.done?t(c):Promise.resolve(c).then(s,o)}function v(e){return function(){var t=this,n=arguments;return new Promise((function(s,o){var i=e.apply(t,n);function r(e){p(i,s,o,r,a,"next",e)}function a(e){p(i,s,o,r,a,"throw",e)}r(void 0)}))}}var f=Object(s.getBuilder)("nextcloud").persist().build();function h(e){var t=f.getItem("user-has-avatar."+e);return"string"==typeof t?Boolean(t):null}function C(e,t){e&&f.setItem("user-has-avatar."+e,t)}var b={name:"Avatar",directives:{tooltip:l.default,ClickOutside:o.directive},components:{Popover:d.a,PopoverMenu:i.default},mixins:[u.e],props:{url:{type:String,default:void 0},iconClass:{type:String,default:void 0},user:{type:String,default:void 0},showUserStatus:{type:Boolean,default:!0},showUserStatusCompact:{type:Boolean,default:!0},preloadedUserStatus:{type:Object,default:void 0},isGuest:{type:Boolean,default:!1},displayName:{type:String,default:void 0},size:{type:Number,default:32},allowPlaceholder:{type:Boolean,default:!0},disableTooltip:{type:Boolean,default:!1},disableMenu:{type:Boolean,default:!1},tooltipMessage:{type:String,default:null},isNoUser:{type:Boolean,default:!1},status:{type:String,default:null,validator:function(e){switch(e){case"positive":case"negative":case"neutral":return!0}return!1}},statusColor:{type:[Number,String],default:null,validator:function(e){return/^([a-f0-9]{3}){1,2}$/i.test(e)}},menuPosition:{type:String,default:"center"},menuContainer:{type:String,default:"body"}},data:function(){return{avatarUrlLoaded:null,avatarSrcSetLoaded:null,userDoesNotExist:!1,isAvatarLoaded:!1,isMenuLoaded:!1,contactsMenuLoading:!1,contactsMenuActions:[],contactsMenuOpenState:!1}},computed:{canDisplayUserStatus:function(){return this.showUserStatus&&this.hasStatus&&["online","away","dnd"].includes(this.userStatus.status)},showUserStatusIconOnAvatar:function(){return this.showUserStatus&&this.showUserStatusCompact&&this.hasStatus&&"dnd"!==this.userStatus.status&&this.userStatus.icon},getUserIdentifier:function(){return this.isDisplayNameDefined?this.displayName:this.isUserDefined?this.user:""},isUserDefined:function(){return void 0!==this.user},isDisplayNameDefined:function(){return void 0!==this.displayName},isUrlDefined:function(){return void 0!==this.url},hasMenu:function(){var e;return!this.disableMenu&&(this.isMenuLoaded?this.menu.length>0:!(this.user===(null===(e=Object(r.getCurrentUser)())||void 0===e?void 0:e.uid)||this.userDoesNotExist||this.url))},shouldShowPlaceholder:function(){return this.allowPlaceholder&&this.userDoesNotExist},avatarStyle:function(){var e={width:this.size+"px",height:this.size+"px",lineHeight:this.size+"px",fontSize:Math.round(.55*this.size)+"px"};if(!this.iconClass&&!this.avatarSrcSetLoaded){var t=Object(g.default)(this.getUserIdentifier);e.backgroundColor="rgb("+t.r+", "+t.g+", "+t.b+")"}return e},tooltip:function(){return!this.disableTooltip&&(this.tooltipMessage?this.tooltipMessage:this.displayName)},initials:function(){var e;if(this.shouldShowPlaceholder){var t=this.getUserIdentifier,n=t.indexOf(" ");""===t?e="?":(e=String.fromCodePoint(t.codePointAt(0)),-1!==n&&(e=e.concat(String.fromCodePoint(t.codePointAt(n+1)))))}return e.toUpperCase()},menu:function(){var e,t,n,s=this.contactsMenuActions.map((function(e){return{href:e.hyperlink,icon:e.icon,longtext:e.title}}));return this.showUserStatus&&(this.userStatus.icon||this.userStatus.message)?[{href:"#",icon:"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><text x='0' y='14' font-size='14'>".concat((e=this.userStatus.icon,t=document.createTextNode(e),n=document.createElement("p"),n.appendChild(t),n.innerHTML),"</text></svg>"),text:"".concat(this.userStatus.message)}].concat(s):s}},watch:{url:function(){this.userDoesNotExist=!1,this.loadAvatarUrl()},user:function(){this.userDoesNotExist=!1,this.isMenuLoaded=!1,this.loadAvatarUrl()}},mounted:function(){this.loadAvatarUrl(),this.showUserStatus&&this.user&&!this.isNoUser&&(this.preloadedUserStatus?(this.userStatus.status=this.preloadedUserStatus.status||"",this.userStatus.message=this.preloadedUserStatus.message||"",this.userStatus.icon=this.preloadedUserStatus.icon||"",this.hasStatus=null!==this.preloadedUserStatus.status):this.fetchUserStatus(this.user),Object(a.subscribe)("user_status:status.updated",this.handleUserStatusUpdated))},beforeDestroyed:function(){this.showUserStatus&&this.user&&!this.isNoUser&&Object(a.unsubscribe)("user_status:status.updated",this.handleUserStatusUpdated)},methods:{handleUserStatusUpdated:function(e){this.user===e.userId&&(this.userStatus={status:e.status,icon:e.icon,message:e.message})},toggleMenu:function(){var e=this;return v(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e.hasMenu){t.next=2;break}return t.abrupt("return");case 2:if(e.contactsMenuOpenState){t.next=5;break}return t.next=5,e.fetchContactsMenu();case 5:e.contactsMenuOpenState=!e.contactsMenuOpenState;case 6:case"end":return t.stop()}}),t)})))()},closeMenu:function(){this.contactsMenuOpenState=!1},fetchContactsMenu:function(){var e=this;return v(regeneratorRuntime.mark((function t(){var n,s,o;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e.contactsMenuLoading=!0,t.prev=1,n=encodeURIComponent(e.user),t.next=5,m.a.post(Object(A.generateUrl)("contactsmenu/findOne"),"shareType=0&shareWith=".concat(n));case 5:s=t.sent,o=s.data,e.contactsMenuActions=o.topAction?[o.topAction].concat(o.actions):o.actions,t.next=13;break;case 10:t.prev=10,t.t0=t.catch(1),e.contactsMenuOpenState=!1;case 13:e.contactsMenuLoading=!1,e.isMenuLoaded=!0;case 15:case"end":return t.stop()}}),t,null,[[1,10]])})))()},loadAvatarUrl:function(){if(this.isAvatarLoaded=!1,!this.isUrlDefined&&(!this.isUserDefined||this.isNoUser))return this.isAvatarLoaded=!0,void(this.userDoesNotExist=!0);if(this.isUrlDefined)this.updateImageIfValid(this.url);else{var e=this.avatarUrlGenerator(this.user,this.size),t=[e+" 1x",this.avatarUrlGenerator(this.user,2*this.size)+" 2x",this.avatarUrlGenerator(this.user,4*this.size)+" 4x"].join(", ");this.updateImageIfValid(e,t)}},avatarUrlGenerator:function(e,t){var n,s="/avatar/{user}/{size}";this.isGuest&&(s="/avatar/guest/{user}/{size}");var o=Object(A.generateUrl)(s,{user:e,size:t});return e===(null===(n=Object(r.getCurrentUser)())||void 0===n?void 0:n.uid)&&"undefined"!=typeof oc_userconfig&&(o+="?v="+oc_userconfig.avatar.version),o},updateImageIfValid:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,s=h(this.user);if(this.isUserDefined&&"boolean"==typeof s)return this.isAvatarLoaded=!0,this.avatarUrlLoaded=e,n&&(this.avatarSrcSetLoaded=n),void(!1===s&&(this.userDoesNotExist=!0));var o=new Image;o.onload=function(){t.avatarUrlLoaded=e,n&&(t.avatarSrcSetLoaded=n),t.isAvatarLoaded=!0,C(t.user,!0)},o.onerror=function(){console.debug("Invalid avatar url",e),t.avatarUrlLoaded=null,t.avatarSrcSetLoaded=null,t.userDoesNotExist=!0,t.isAvatarLoaded=!1,C(t.user,!1)},n&&(o.srcset=n),o.src=e}}},k=n(2),E=n.n(k),M=n(64),y={insert:"head",singleton:!1},B=(E()(M.a,y),M.a.locals,n(3)),w=n(65),x=n.n(w),S=Object(B.a)(b,(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",e._g({directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip,expression:"tooltip"},{name:"click-outside",rawName:"v-click-outside",value:e.closeMenu,expression:"closeMenu"}],staticClass:"avatardiv popovermenu-wrapper",class:{"avatardiv--unknown":e.userDoesNotExist,"avatardiv--with-menu":e.hasMenu},style:e.avatarStyle},e.disableMenu?{}:{click:e.toggleMenu}),[e.iconClass?n("div",{staticClass:"avatar-class-icon",class:e.iconClass}):e.isAvatarLoaded&&!e.userDoesNotExist?n("img",{attrs:{src:e.avatarUrlLoaded,srcset:e.avatarSrcSetLoaded,alt:""}}):e._e(),e._v(" "),e.hasMenu?n("Popover",{attrs:{placement:"auto",container:e.menuContainer,open:e.contactsMenuOpenState}},[n("PopoverMenu",{attrs:{menu:e.menu}}),e._v(" "),n("template",{slot:"trigger"},[n("div",{class:e.contactsMenuLoading?"icon-loading":"icon-more",style:{width:e.size+"px",height:e.size+"px"}})])],2):e._e(),e._v(" "),e.showUserStatusIconOnAvatar?n("div",{staticClass:"avatardiv__user-status avatardiv__user-status--icon"},[e._v("\n\t\t"+e._s(e.userStatus.icon)+"\n\t")]):e.canDisplayUserStatus?n("div",{staticClass:"avatardiv__user-status",class:"avatardiv__user-status--"+e.userStatus.status}):e.status?n("div",{staticClass:"avatardiv__status",class:"avatardiv__status--"+e.status,style:{backgroundColor:"#"+e.statusColor}},["neutral"===e.status?n("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"11",viewBox:"0 0 3.175 2.91"}},[n("path",{style:{fill:"#"+e.statusColor},attrs:{d:"M3.21 3.043H.494l.679-1.177.68-1.176.678 1.176z",stroke:"#fff","stroke-width":".265","stroke-linecap":"square"}})]):e._e()]):e._e(),e._v(" "),e.userDoesNotExist&&!e.iconClass?n("div",{staticClass:"unknown"},[e._v("\n\t\t"+e._s(e.initials)+"\n\t")]):e._e()],1)}),[],!1,null,"1bfc7bfe",null);"function"==typeof x.a&&x()(S);var j=S.exports;
|
||
/**
|
||
* @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>
|
||
*
|
||
* @author Julius Härtl <jus@bitgrid.net>
|
||
*
|
||
* @license GNU AGPL version 3 or any later version
|
||
*
|
||
* This program is free software: you can redistribute it and/or modify
|
||
* it under the terms of the GNU Affero General Public License as
|
||
* published by the Free Software Foundation, either version 3 of the
|
||
* License, or (at your option) any later version.
|
||
*
|
||
* This program is distributed in the hope that it will be useful,
|
||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
* GNU Affero General Public License for more details.
|
||
*
|
||
* You should have received a copy of the GNU Affero General Public License
|
||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||
*
|
||
*/t.default=j},function(e,t){e.exports=__webpack_require__(/*! md5 */ "./node_modules/md5/md5.js")},function(e,t){e.exports=__webpack_require__(/*! @nextcloud/capabilities */ "./node_modules/@nextcloud/capabilities/dist/index.js")},function(e,t,n){"use strict";
|
||
/**
|
||
* @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>
|
||
*
|
||
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
||
*
|
||
* @license GNU AGPL version 3 or any later version
|
||
*
|
||
* This program is free software: you can redistribute it and/or modify
|
||
* it under the terms of the GNU Affero General Public License as
|
||
* published by the Free Software Foundation, either version 3 of the
|
||
* License, or (at your option) any later version.
|
||
*
|
||
* This program is distributed in the hope that it will be useful,
|
||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
* GNU Affero General Public License for more details.
|
||
*
|
||
* You should have received a copy of the GNU Affero General Public License
|
||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||
*
|
||
*/t.a=function(e){e.mounted?Array.isArray(e.mounted)||(e.mounted=[e.mounted]):e.mounted=[],e.mounted.push((function(){this.$el.setAttribute("data-v-".concat("c9741aa"),"")}))}},function(e,t,n){"use strict";n.r(t);n(89),n(16),n(24);var s=n(77),o=n.n(s),i=n(63),r=function(e){var t=e.toLowerCase();null===t.match(/^([0-9a-f]{4}-?){8}$/)&&(t=o()(t)),t=t.replace(/[^0-9a-f]/g,"");return Object(i.a)(6)[function(e,t){for(var n=0,s=[],o=0;o<e.length;o++)s.push(parseInt(e.charAt(o),16)%16);for(var i in s)n+=s[i];return parseInt(parseInt(n,10)%t,10)}(t,18)]};t.default=r},,function(e,t){e.exports=__webpack_require__(/*! @nextcloud/browser-storage */ "./node_modules/@nextcloud/browser-storage/dist/index.js")},function(e,t,n){"use strict";var s=n(0),o=n.n(s),i=n(1),r=n.n(i)()(o.a);r.push([e.i,".option[data-v-26f84d14]{display:flex;align-items:center;width:100%;height:var(--height)}.option__avatar[data-v-26f84d14]{margin-right:var(--margin)}.option__details[data-v-26f84d14]{display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:0}.option__lineone[data-v-26f84d14]{color:var(--color-text-light)}.option__linetwo[data-v-26f84d14]{opacity:.7}.option__lineone[data-v-26f84d14],.option__linetwo[data-v-26f84d14]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.1em}.option__lineone strong[data-v-26f84d14],.option__linetwo strong[data-v-26f84d14]{font-weight:bold}.option__icon[data-v-26f84d14]{flex:0 0 44px;width:44px;height:44px;opacity:.5;background-position:center;background-size:16px}\n","",{version:3,sources:["webpack://./ListItemIcon.vue","webpack://./../../assets/variables.scss"],names:[],mappings:"AA6NA,yBACC,YAAa,CACb,kBAAmB,CACnB,UAAW,CACX,oBAAqB,CAErB,iCACC,0BAA2B,CAC3B,kCAGA,YAAa,CACb,QAAS,CACT,qBAAsB,CACtB,sBAAuB,CACvB,WAAY,CACZ,kCAGA,6BAA8B,CAC9B,kCAEA,UCxMiB,CDyMjB,oEAGA,eAAgB,CAChB,kBAAmB,CACnB,sBAAuB,CACvB,iBAAkB,CALlB,kFAOC,gBAAiB,CACjB,+BAID,aCxOmB,CDyOnB,UCzOmB,CD0OnB,WC1OmB,CD2OnB,UC1NmB,CD2NnB,0BAA2B,CAC3B,oBAAqB",sourcesContent:["$scope_version:\"c9741aa\"; @import 'variables';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.option {\n\tdisplay: flex;\n\talign-items: center;\n\twidth: 100%;\n\theight: var(--height);\n\n\t&__avatar {\n\t\tmargin-right: var(--margin);\n\t}\n\n\t&__details {\n\t\tdisplay: flex;\n\t\tflex: 1 1;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\tmin-width: 0;\n\t}\n\n\t&__lineone {\n\t\tcolor: var(--color-text-light);\n\t}\n\t&__linetwo {\n\t\topacity: $opacity_normal;\n\t}\n\t&__lineone,\n\t&__linetwo {\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\tline-height: 1.1em;\n\t\tstrong {\n\t\t\tfont-weight: bold;\n\t\t}\n\t}\n\n\t&__icon {\n\t\tflex: 0 0 $clickable-area;\n\t\twidth: $clickable-area;\n\t\theight: $clickable-area;\n\t\topacity: $opacity_disabled;\n\t\tbackground-position: center;\n\t\tbackground-size: 16px;\n\t}\n}\n\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: ($clickable-area - $icon-size) / 2;\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n"],sourceRoot:""}]),t.a=r},function(e,t){},function(e,t){e.exports=__webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ "./node_modules/core-js/modules/web.dom-collections.for-each.js")},function(e,t){e.exports=__webpack_require__(/*! core-js/modules/es.array.includes.js */ "./node_modules/core-js/modules/es.array.includes.js")},function(e,t){e.exports=__webpack_require__(/*! core-js/modules/es.regexp.constructor.js */ "./node_modules/core-js/modules/es.regexp.constructor.js")},function(e,t){e.exports=__webpack_require__(/*! core-js/modules/es.array.flat.js */ "./node_modules/core-js/modules/es.array.flat.js")},function(e,t){e.exports=__webpack_require__(/*! core-js/modules/es.string.match.js */ "./node_modules/core-js/modules/es.string.match.js")},function(e,t){e.exports=__webpack_require__(/*! core-js/modules/es.array.reduce.js */ "./node_modules/core-js/modules/es.array.reduce.js")},,,function(e,t,n){"use strict";var s=n(0),o=n.n(s),i=n(1),r=n.n(i)()(o.a);r.push([e.i,".name-parts[data-v-f855c4b8]{display:flex;max-width:100%}.name-parts__first[data-v-f855c4b8]{overflow:hidden;text-overflow:ellipsis}.name-parts__first[data-v-f855c4b8],.name-parts__last[data-v-f855c4b8]{white-space:pre}.name-parts__first strong[data-v-f855c4b8],.name-parts__last strong[data-v-f855c4b8]{font-weight:bold}\n","",{version:3,sources:["webpack://./EllipsisedOption.vue"],names:[],mappings:"AA6HA,6BACC,YAAa,CACb,cAAe,CACf,oCACC,eAAgB,CAChB,sBAAuB,CACvB,uEAIA,eAAgB,CAHhB,qFAKC,gBAAiB",sourcesContent:["$scope_version:\"c9741aa\"; @import 'variables';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.name-parts {\n\tdisplay: flex;\n\tmax-width: 100%;\n\t&__first {\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t}\n\t&__first,\n\t&__last {\n\t\t// prevent whitespace from being trimmed\n\t\twhite-space: pre;\n\t\tstrong {\n\t\t\tfont-weight: bold;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]),t.a=r},function(e,t){},function(e,t){e.exports=__webpack_require__(/*! core-js/modules/es.string.search.js */ "./node_modules/core-js/modules/es.string.search.js")},function(e,t,n){"use strict";n.r(t);n(29),n(28);var s=n(76),o=n(70),i=n(45),r={name:"ListItemIcon",components:{Avatar:s.default,Highlight:o.default},mixins:[i.e],props:{title:{type:String,required:!0},subtitle:{type:String,default:""},icon:{type:String,default:""},search:{type:String,default:""},avatarSize:{type:Number,default:32},noMargin:{type:Boolean,default:!1},displayName:{type:String,default:null},isNoUser:{type:Boolean,default:!1}},data:function(){return{margin:8}},computed:{hasIcon:function(){return""!==this.icon},hasSlot:function(){return!!this.$slots.default},isValidSubtitle:function(){var e,t;return""!==(null===(e=this.subtitle)||void 0===e||null===(t=e.trim)||void 0===t?void 0:t.call(e))},isSizeBigEnough:function(){return this.avatarSize>=32},cssVars:function(){var e=this.noMargin?0:this.margin;return{"--height":this.avatarSize+2*e+"px","--margin":this.margin+"px"}}},beforeMount:function(){this.isNoUser||this.subtitle||this.fetchUserStatus(this.user)}},a=n(2),c=n.n(a),m=n(83),A={insert:"head",singleton:!1},l=(c()(m.a,A),m.a.locals,n(3)),g=n(84),u=n.n(g),d=Object(l.a)(r,(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("span",{staticClass:"option",style:e.cssVars},[n("Avatar",e._b({staticClass:"option__avatar",attrs:{"disable-menu":!0,"disable-tooltip":!0,"display-name":e.displayName||e.title,"is-no-user":e.isNoUser,size:e.avatarSize}},"Avatar",e.$attrs,!1)),e._v(" "),n("div",{staticClass:"option__details"},[n("Highlight",{staticClass:"option__lineone",attrs:{text:e.title,search:e.search}}),e._v(" "),e.isValidSubtitle&&e.isSizeBigEnough?n("Highlight",{staticClass:"option__linetwo",attrs:{text:e.subtitle,search:e.search}}):e.hasStatus?n("span",[n("span",[e._v(e._s(e.userStatus.icon))]),e._v(" "),n("span",[e._v(e._s(e.userStatus.message))])]):e._e()],1),e._v(" "),e._t("default"),e._v(" "),e.hasIcon&&!e.hasSlot?n("span",{staticClass:"icon option__icon",class:e.icon}):e._e()],2)}),[],!1,null,"26f84d14",null);"function"==typeof u.a&&u()(d);var p=d.exports;
|
||
/**
|
||
* @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>
|
||
*
|
||
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
||
*
|
||
* @license GNU AGPL version 3 or any later version
|
||
*
|
||
* This program is free software: you can redistribute it and/or modify
|
||
* it under the terms of the GNU Affero General Public License as
|
||
* published by the Free Software Foundation, either version 3 of the
|
||
* License, or (at your option) any later version.
|
||
*
|
||
* This program is distributed in the hope that it will be useful,
|
||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
* GNU Affero General Public License for more details.
|
||
*
|
||
* You should have received a copy of the GNU Affero General Public License
|
||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||
*
|
||
*/t.default=p},function(e,t,n){"use strict";n(29),n(13),n(57),n(40),n(31),n(37),n(6),n(46),n(17),n(18),n(19);var s=n(108),o=n.n(s),i=(n(15),n(75),n(16),n(95),n(70)),r=n(68),a={name:"EllipsisedOption",components:{Highlight:i.default},props:{option:{type:[String,Object],required:!0,default:""},label:{type:String,default:""},search:{type:String,default:""},name:{type:String,default:""}},computed:{needsTruncate:function(){return this.name&&this.name.length>=10},split:function(){return this.name.length-Math.min(Math.floor(this.name.length/2),10)},part1:function(){return this.needsTruncate?this.name.substr(0,this.split):this.name},part2:function(){return this.needsTruncate?this.name.substr(this.split):""},highlight1:function(){return this.search?Object(r.a)(this.name,this.search):[]},highlight2:function(){var e=this;return this.highlight1.map((function(t){return{start:t.start-e.split,end:t.end-e.split}}))}}},c=n(2),m=n.n(c),A=n(93),l={insert:"head",singleton:!1},g=(m()(A.a,l),A.a.locals,n(3)),u=Object(g.a)(a,(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"name-parts",attrs:{title:e.name}},[n("Highlight",{staticClass:"name-parts__first",attrs:{text:e.part1,search:e.search,highlight:e.highlight1}}),e._v(" "),e.part2?n("Highlight",{staticClass:"name-parts__last",attrs:{text:e.part2,search:e.search,highlight:e.highlight2}}):e._e()],1)}),[],!1,null,"f855c4b8",null).exports,d=n(42),p=n(96),v=n(22);function f(e){return(f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var h={name:"Multiselect",components:{EllipsisedOption:u,ListItemIcon:p.default,VueMultiselect:o.a},directives:{tooltip:v.default},mixins:[d.a],inheritAttrs:!1,props:{value:{default:function(){return[]}},multiple:{type:Boolean,default:!1},limit:{type:Number,default:99999},label:{type:String,default:""},trackBy:{type:String,default:""},options:{type:Array,required:!0},userSelect:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},autoLimit:{type:Boolean,default:!0},tagWidth:{type:Number,default:150,validator:function(e){return e>0}}},data:function(){return{elWidth:0}},computed:{maxOptions:function(){if(this.autoLimit&&this.elWidth>0&&0!==this.tagWidth){var e=Math.floor(this.elWidth/this.tagWidth);return e>0?e:1}return this.limit?this.limit:9999},limitString:function(){return"+".concat(this.value.length-this.maxOptions)},localValue:{get:function(){return this.trackBy&&this.options&&"object"!==f(this.value)&&this.options[this.value]?this.options[this.value]:this.value},set:function(e){this.$emit("update:value",e),this.$emit("change",e)}}},watch:{value:function(){this.updateWidth()}},mounted:function(){this.updateWidth(),window.addEventListener("resize",this.updateWidth)},beforeDestroy:function(){window.removeEventListener("resize",this.updateWidth)},methods:{getOptionLabel:function(e){var t;return String(null===(t=this.$refs.VueMultiselect)||void 0===t?void 0:t.getOptionLabel(e))},formatLimitTitle:function(e){var t=this;if(Array.isArray(e)&&e.length>0){var n=e;return"object"===f(e[0])&&(n=e.map((function(e){return e[t.label]}))),n.slice(this.maxOptions).join(", ")}return""},updateWidth:function(){this.$el&&this.$el.querySelector(".multiselect__tags-wrap")&&(this.elWidth=this.$el.querySelector(".multiselect__tags-wrap").offsetWidth-10)}}},C=n(94),b=n.n(C),k=Object(g.a)(h,(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("VueMultiselect",e._g(e._b({ref:"VueMultiselect",class:[{"icon-loading-small":e.loading},e.multiple?"multiselect--multiple":"multiselect--single"],attrs:{options:e.options,limit:e.maxOptions,"close-on-select":!e.multiple,multiple:e.multiple,label:e.label,"track-by":e.trackBy,"tag-placeholder":"create"},scopedSlots:e._u([{key:"option",fn:function(t){return[e.userSelect&&!e.$scopedSlots.option?n("ListItemIcon",e._b({attrs:{title:t.option[e.label],search:t.search}},"ListItemIcon",t.option,!1)):e.$scopedSlots.option?e._t("option",null,null,t):n("EllipsisedOption",{attrs:{name:e.getOptionLabel(t.option),option:t.option,search:t.search,label:e.label}})]}},e.multiple?{key:"limit",fn:function(){return[n("span",{directives:[{name:"tooltip",rawName:"v-tooltip.auto",value:e.formatLimitTitle(e.value),expression:"formatLimitTitle(value)",modifiers:{auto:!0}}],staticClass:"multiselect__limit"},[e._v("\n\t\t\t"+e._s(e.limitString)+"\n\t\t")])]},proxy:!0}:null,e._l(e.$scopedSlots,(function(t,n){return{key:n,fn:function(t){return[e._t(n,null,null,t)]}}}))],null,!0),model:{value:e.localValue,callback:function(t){e.localValue=t},expression:"localValue"}},"VueMultiselect",e.$attrs,!1),e.$listeners),[e._v(" "),e._v(" "),e._v(" "),n("span",{attrs:{slot:"noResult"},slot:"noResult"},[e._v(e._s(e.t("No results")))])])}),[],!1,null,null,null);"function"==typeof b.a&&b()(k);t.a=k.exports},,,function(e,t){e.exports=__webpack_require__(/*! core-js/modules/es.object.keys.js */ "./node_modules/core-js/modules/es.object.keys.js")},function(e,t){e.exports=__webpack_require__(/*! core-js/modules/es.string.from-code-point.js */ "./node_modules/core-js/modules/es.string.from-code-point.js")},function(e,t){e.exports=__webpack_require__(/*! core-js/modules/es.string.code-point-at.js */ "./node_modules/core-js/modules/es.string.code-point-at.js")},,function(e,t,n){"use strict";var s=n(0),o=n.n(s),i=n(1),r=n.n(i)()(o.a);r.push([e.i,".multiselect[data-v-c9741aa]{margin:0;padding:0 !important;display:inline-block;min-width:160px;position:relative;background-color:var(--color-main-background)}.multiselect[data-v-c9741aa]:not(.multiselect--active) .multiselect__single{width:100%;z-index:2 !important}.multiselect[data-v-c9741aa].multiselect--active input.multiselect__input{opacity:1 !important;cursor:text !important;border-radius:var(--border-radius) var(--border-radius) 0 0;display:block !important}.multiselect[data-v-c9741aa].multiselect--active .multiselect__limit{display:none}.multiselect[data-v-c9741aa].multiselect--active.multiselect--above input.multiselect__input{border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-c9741aa].multiselect--disabled,.multiselect[data-v-c9741aa].multiselect--disabled .multiselect__single{background-color:var(--color-background-dark) !important}.multiselect[data-v-c9741aa].icon-loading-small::after{left:100%;margin-left:-24px}.multiselect[data-v-c9741aa] .multiselect__tags{display:flex;flex-wrap:nowrap;overflow:hidden;border:1px solid var(--color-border-dark);cursor:pointer;position:relative;border-radius:3px;min-height:34px;height:100%}.multiselect[data-v-c9741aa] .multiselect__tags .multiselect__tags-wrap{align-items:center;display:inline-flex;overflow:hidden;max-width:100%;position:relative;padding:3px 5px;flex:1 1;flex-wrap:nowrap}.multiselect[data-v-c9741aa] .multiselect__tags .multiselect__tags-wrap:empty ~ input.multiselect__input{opacity:1 !important;display:block !important}.multiselect[data-v-c9741aa] .multiselect__tags .multiselect__tags-wrap:empty ~ input.multiselect__input+span:not(.multiselect__single){display:none}.multiselect[data-v-c9741aa] .multiselect__tags .multiselect__tags-wrap .multiselect__tag{line-height:20px;padding:1px 5px;background-image:none;color:var(--color-main-text);border:1px solid var(--color-border-dark);display:inline-flex;align-items:center;border-radius:3px;min-width:0;max-width:fit-content;max-width:-moz-fit-content;margin-bottom:3px}.multiselect[data-v-c9741aa] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:only-child{flex:0 1 auto}.multiselect[data-v-c9741aa] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:not(:last-child){margin-right:5px}.multiselect[data-v-c9741aa] .multiselect__tags .multiselect__tags-wrap .multiselect__tag>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.multiselect[data-v-c9741aa] .multiselect__tags .multiselect__single,.multiselect[data-v-c9741aa] .multiselect__tags .multiselect__placeholder{padding:7px 6px;flex:0 0 100%;z-index:1;background-color:var(--color-main-background);line-height:18px;color:var(--color-text-lighter);display:flex;align-items:center}.multiselect[data-v-c9741aa] .multiselect__tags .multiselect__single,.multiselect[data-v-c9741aa] .multiselect__tags .multiselect__single *,.multiselect[data-v-c9741aa] .multiselect__tags .multiselect__placeholder,.multiselect[data-v-c9741aa] .multiselect__tags .multiselect__placeholder *{cursor:pointer}.multiselect[data-v-c9741aa] .multiselect__tags .multiselect__strong,.multiselect[data-v-c9741aa] .multiselect__tags .multiselect__limit{line-height:20px;color:var(--color-text-lighter);display:inline-flex;align-items:center;opacity:.7;margin-right:5px;z-index:5}.multiselect[data-v-c9741aa] .multiselect__tags input.multiselect__input{width:100% !important;position:relative !important;margin:0;opacity:0;height:100% !important;border:none;cursor:pointer;padding:7px 6px !important;display:none}.multiselect[data-v-c9741aa] .multiselect__content-wrapper{position:absolute;width:100%;margin-top:-1px;border:1px solid var(--color-border-dark);background:var(--color-main-background);z-index:50;max-height:250px;overflow-y:auto;border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-c9741aa] .multiselect__content-wrapper .multiselect__content{width:100%;padding:0}.multiselect[data-v-c9741aa] .multiselect__content-wrapper li{position:relative;display:flex;align-items:center;background-color:transparent}.multiselect[data-v-c9741aa] .multiselect__content-wrapper li,.multiselect[data-v-c9741aa] .multiselect__content-wrapper li span{cursor:pointer}.multiselect[data-v-c9741aa] .multiselect__content-wrapper li>span{padding:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;height:auto;min-height:1em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;align-items:center;background-color:transparent;color:var(--color-text-lighter);width:100%}.multiselect[data-v-c9741aa] .multiselect__content-wrapper li>span::before{content:' ';background-repeat:no-repeat;background-position:center;min-width:16px;min-height:16px;display:block;opacity:.5;margin-right:5px;visibility:hidden}.multiselect[data-v-c9741aa] .multiselect__content-wrapper li>span.multiselect__option--disabled{background-color:var(--color-background-dark);opacity:.5}.multiselect[data-v-c9741aa] .multiselect__content-wrapper li>span.multiselect__option--highlight{color:var(--color-main-text);background-color:var(--color-background-dark)}.multiselect[data-v-c9741aa] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{opacity:.3}.multiselect[data-v-c9741aa] .multiselect__content-wrapper li>span.multiselect__option--selected::before,.multiselect[data-v-c9741aa] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{visibility:visible}.multiselect[data-v-c9741aa].multiselect--above .multiselect__content-wrapper{bottom:100%;margin-bottom:-1px}.multiselect[data-v-c9741aa].multiselect--multiple .multiselect__tags{flex-wrap:wrap}.multiselect[data-v-c9741aa].multiselect--multiple .multiselect__content-wrapper li>span::before{background-image:var(--icon-checkmark-000)}.multiselect[data-v-c9741aa].multiselect--multiple .multiselect__content-wrapper li>span[data-select='create']::before{background-image:var(--icon-add-000);visibility:visible}.multiselect[data-v-c9741aa].multiselect--single .multiselect__content-wrapper li>span::before{display:none}.multiselect[data-v-c9741aa]:hover .multiselect__placeholder,.multiselect[data-v-c9741aa] input.multiselect__input .multiselect__placeholder{color:var(--color-main-text)}\n","",{version:3,sources:["webpack://./index.scss","webpack://./../../assets/variables.scss"],names:[],mappings:"AAIA,6BACC,QAAS,CACT,oBAAqB,CACrB,oBAAqB,CAErB,eAAgB,CAChB,iBAAkB,CAClB,6CAA8C,CAP/C,4EAWE,UAAW,CACX,oBAAqB,CAZvB,0EAoBG,oBAAiC,CACjC,sBAAuB,CAEvB,2DAA4D,CAC5D,wBAAyB,CAxB5B,qEA6BG,YAAa,CA7BhB,6FAoCG,2DAA4D,CApC/D,2HA2CE,wDAAyD,CA3C3D,uDAgDE,SAAU,CACV,iBAAkB,CAjDpB,gDAwDE,YAAa,CACb,gBAAiB,CACjB,eAAgB,CAChB,yCAA0C,CAC1C,cAAe,CACf,iBAAkB,CAClB,iBAAkB,CAClB,eAAgB,CAChB,WAAY,CAhEd,wEAoEG,kBAAmB,CACnB,mBAAoB,CACpB,eAAgB,CAChB,cAAe,CACf,iBAAkB,CAClB,eAlBkB,CAmBlB,QAAS,CACT,gBAAiB,CA3EpB,yGA+EI,oBAAiC,CACjC,wBAAyB,CAhF7B,wIAqFK,YAAa,CArFlB,0FA0FI,gBAAiB,CACjB,eAAgB,CAChB,qBAAsB,CACtB,4BAA6B,CAC7B,yCAA0C,CAC1C,mBAAoB,CACpB,kBAAmB,CACnB,iBAAkB,CAGlB,WAAY,CACZ,qBAAsB,CACtB,0BAA2B,CAC3B,iBAAkB,CAvGtB,qGA2GK,aAAc,CA3GnB,2GA8GK,gBAvDgB,CAvDrB,+FAmHK,kBAAmB,CACnB,sBAAuB,CACvB,eAAgB,CArHrB,+IA8HG,eAAgB,CAChB,aAAc,CACd,SAAU,CACV,6CAA8C,CAC9C,gBAAiB,CACjB,+BAAgC,CAEhC,YAAa,CACb,kBAAmB,CAtItB,kSA0II,cAAe,CA1InB,yIAgJG,gBAAiB,CACjB,+BAAgC,CAChC,mBAAoB,CACpB,kBAAmB,CACnB,UC7GgB,CD8GhB,gBA9FkB,CAgGlB,SAAU,CAvJb,yEA2JG,qBAAsB,CACtB,4BAA6B,CAC7B,QAAS,CACT,SAAU,CAEV,sBAAuB,CACvB,WAAY,CAGZ,cAAe,CAEf,0BAA2B,CAC3B,YAAa,CAvKhB,2DA6KE,iBAAkB,CAClB,UAAW,CACX,eAAgB,CAChB,yCAA0C,CAC1C,uCAAwC,CACxC,UAAW,CACX,gBAAiB,CACjB,eAAgB,CAChB,2DAA4D,CArL9D,iFAuLG,UAAW,CACX,SAAU,CAxLb,8DA2LG,iBAAkB,CAClB,YAAa,CACb,kBAAmB,CACnB,4BAA6B,CA9LhC,iIAiMI,cAAe,CAjMnB,mEAoMI,WAAY,CACZ,kBAAmB,CACnB,eAAgB,CAChB,sBAAuB,CACvB,QAAS,CACT,WAAY,CACZ,cAAe,CACf,0BAA2B,CAC3B,wBAAyB,CACzB,qBAAsB,CACtB,oBAAqB,CACrB,gBAAiB,CACjB,mBAAoB,CACpB,kBAAmB,CACnB,4BAA6B,CAC7B,+BAAgC,CAChC,UAAW,CApNf,2EAuNK,WAAY,CACZ,2BAA4B,CAC5B,0BAA2B,CAC3B,cAAe,CACf,eAAgB,CAChB,aAAc,CACd,UCvLgB,CDwLhB,gBAAiB,CACjB,iBAAkB,CA/NvB,iGAkOK,6CAA8C,CAC9C,UC7LgB,CDtCrB,kGAsOK,4BAA6B,CAC7B,6CAA8C,CAvOnD,qHA0OK,UAAW,CA1OhB,8NA+OM,kBAAmB,CA/OzB,8EAuPE,WAAY,CACZ,kBAAmB,CAxPrB,sEA+PG,cAAe,CA/PlB,iGAoQI,0CAA2C,CApQ/C,uHA2QK,oCAAqC,CACrC,kBAAmB,CA5QxB,+FAoRE,YAAa,CApRf,6IA2RG,4BAA6B",sourcesContent:["$scope_version:\"c9741aa\"; @import 'variables';\n// scoping is not working inside the Multiselect.vue component\n// as the nested properties are not inside it\n// Therefore we need to use an external scoping\n.multiselect[data-v-#{$scope_version}] {\n\tmargin: 0;\n\tpadding: 0 !important;\n\tdisplay: inline-block;\n\t/* override this rule with your width styling if you need */\n\tmin-width: 160px;\n\tposition: relative;\n\tbackground-color: var(--color-main-background);\n\n\t/* Force single multiselect value to be shown when not active */\n\t&:not(.multiselect--active) .multiselect__single {\n\t\twidth: 100%;\n\t\tz-index: 2 !important;\n\t}\n\n\t// active state, force the input to be shown, we don't want\n\t// the placeholder or the currently selected options\n\t&.multiselect--active {\n\t\t/* Opened: force display the input */\n\t\tinput.multiselect__input {\n\t\t\topacity: $opacity_full !important;\n\t\t\tcursor: text !important;\n\t\t\t// remove border radius on bottom opening\n\t\t\tborder-radius: var(--border-radius) var(--border-radius) 0 0;\n\t\t\tdisplay: block !important;\n\t\t}\n\n\t\t/* multiselect__limit hidden if active */\n\t\t.multiselect__limit {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t// Remove radius on top opening\n\t&.multiselect--active.multiselect--above {\n\t\tinput.multiselect__input {\n\t\t\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\n\t\t}\n\t}\n\n\t// disabled state background\n\t&.multiselect--disabled,\n\t&.multiselect--disabled .multiselect__single {\n\t\tbackground-color: var(--color-background-dark) !important;\n\t}\n\n\t// loading state\n\t&.icon-loading-small::after {\n\t\tleft: 100%;\n\t\tmargin-left: -24px;\n\t}\n\n\t// multiple selected options display\n\t.multiselect__tags {\n\t\t/* space between tags and limit tag */\n\t\t$space-between: 5px;\n\t\tdisplay: flex;\n\t\tflex-wrap: nowrap;\n\t\toverflow: hidden;\n\t\tborder: 1px solid var(--color-border-dark);\n\t\tcursor: pointer;\n\t\tposition: relative;\n\t\tborder-radius: 3px;\n\t\tmin-height: 34px;\n\t\theight: 100%;\n\n\t\t/* tag wrapper */\n\t\t.multiselect__tags-wrap {\n\t\t\talign-items: center;\n\t\t\tdisplay: inline-flex;\n\t\t\toverflow: hidden;\n\t\t\tmax-width: 100%;\n\t\t\tposition: relative;\n\t\t\tpadding: 3px $space-between;\n\t\t\tflex: 1 1;\n\t\t\tflex-wrap: nowrap;\n\t\t\t/* no tags or simple select? Show input directly\n\t\t\tinput is used to display single value */\n\t\t\t&:empty ~ input.multiselect__input {\n\t\t\t\topacity: $opacity_full !important;\n\t\t\t\tdisplay: block !important;\n\t\t\t\t/* hide default empty text like .multiselect__placeholder,\n\t\t\t\tand show input instead. It looks better without a transition between\n\t\t\t\ta span and the input that have different styling */\n\t\t\t\t+ span:not(.multiselect__single) {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\t\t\t}\n\t\t\t/* selected tag */\n\t\t\t.multiselect__tag {\n\t\t\t\tline-height: 20px;\n\t\t\t\tpadding: 1px 5px;\n\t\t\t\tbackground-image: none;\n\t\t\t\tcolor: var(--color-main-text);\n\t\t\t\tborder: 1px solid var(--color-border-dark);\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\talign-items: center;\n\t\t\t\tborder-radius: 3px;\n\t\t\t\t/* require to override the default width\n\t\t\t\tand force the tag to shring properly */\n\t\t\t\tmin-width: 0;\n\t\t\t\tmax-width: fit-content;\n\t\t\t\tmax-width: -moz-fit-content;\n\t\t\t\tmargin-bottom: 3px;\n\t\t\t\t/* css hack, detect if more than two tags\n\t\t\t\tif so, flex-basis is set to half */\n\t\t\t\t&:only-child {\n\t\t\t\t\tflex: 0 1 auto;\n\t\t\t\t}\n\t\t\t\t&:not(:last-child) {\n\t\t\t\t\tmargin-right: $space-between;\n\t\t\t\t}\n\t\t\t\t/* ellipsis the groups to be sure\n\t\t\t\twe display at least two of them */\n\t\t\t\t> span {\n\t\t\t\t\twhite-space: nowrap;\n\t\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\t\toverflow: hidden;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/* Single select default value\n\t\tor default placeholder if search disabled*/\n\t\t.multiselect__single,\n\t\t.multiselect__placeholder {\n\t\t\tpadding: 7px 6px; // like the input\n\t\t\tflex: 0 0 100%;\n\t\t\tz-index: 1; /* above input */\n\t\t\tbackground-color: var(--color-main-background);\n\t\t\tline-height: 18px; // 32px - 2*6px (padding) - 2*1px (border)\n\t\t\tcolor: var(--color-text-lighter); // like the input\n\t\t\t// Align content and make the flow smoother\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\n\t\t\t// Anything inside will trigger the select opening\n\t\t\t&, * {\n\t\t\t\tcursor: pointer;\n\t\t\t}\n\t\t}\n\t\t/* displayed text if tag limit reached */\n\t\t.multiselect__strong,\n\t\t.multiselect__limit {\n\t\t\tline-height: 20px;\n\t\t\tcolor: var(--color-text-lighter);\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\t\t\topacity: $opacity_normal;\n\t\t\tmargin-right: $space-between;\n\t\t\t/* above the input */\n\t\t\tz-index: 5;\n\t\t}\n\t\t/* default multiselect input for search and placeholder */\n\t\tinput.multiselect__input {\n\t\t\twidth: 100% !important;\n\t\t\tposition: relative !important;\n\t\t\tmargin: 0;\n\t\t\topacity: 0;\n\t\t\t/* let's leave it on top of tags but hide it */\n\t\t\theight: 100% !important;\n\t\t\tborder: none;\n\t\t\t/* override hide to force show the placeholder */\n\t\t\t/* only when not active */\n\t\t\tcursor: pointer;\n\t\t\t/* override inline styling of the lib */\n\t\t\tpadding: 7px 6px !important;\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t/* results wrapper */\n\t.multiselect__content-wrapper {\n\t\tposition: absolute;\n\t\twidth: 100%;\n\t\tmargin-top: -1px;\n\t\tborder: 1px solid var(--color-border-dark);\n\t\tbackground: var(--color-main-background);\n\t\tz-index: 50;\n\t\tmax-height: 250px;\n\t\toverflow-y: auto;\n\t\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\n\t\t.multiselect__content {\n\t\t\twidth: 100%;\n\t\t\tpadding: 0;\n\t\t}\n\t\tli {\n\t\t\tposition: relative;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tbackground-color: transparent;\n\t\t\t&,\n\t\t\tspan {\n\t\t\t\tcursor: pointer;\n\t\t\t}\n\t\t\t> span {\n\t\t\t\tpadding: 8px;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\toverflow: hidden;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\tmargin: 0;\n\t\t\t\theight: auto;\n\t\t\t\tmin-height: 1em;\n\t\t\t\t-webkit-touch-callout: none;\n\t\t\t\t-webkit-user-select: none;\n\t\t\t\t-moz-user-select: none;\n\t\t\t\t-ms-user-select: none;\n\t\t\t\tuser-select: none;\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\talign-items: center;\n\t\t\t\tbackground-color: transparent;\n\t\t\t\tcolor: var(--color-text-lighter);\n\t\t\t\twidth: 100%;\n\t\t\t\t/* selected checkmark icon */\n\t\t\t\t&::before {\n\t\t\t\t\tcontent: ' ';\n\t\t\t\t\tbackground-repeat: no-repeat;\n\t\t\t\t\tbackground-position: center;\n\t\t\t\t\tmin-width: 16px;\n\t\t\t\t\tmin-height: 16px;\n\t\t\t\t\tdisplay: block;\n\t\t\t\t\topacity: $opacity_disabled;\n\t\t\t\t\tmargin-right: 5px;\n\t\t\t\t\tvisibility: hidden;\n\t\t\t\t}\n\t\t\t\t&.multiselect__option--disabled {\n\t\t\t\t\tbackground-color: var(--color-background-dark);\n\t\t\t\t\topacity: $opacity_disabled;\n\t\t\t\t}\n\t\t\t\t&.multiselect__option--highlight {\n\t\t\t\t\tcolor: var(--color-main-text);\n\t\t\t\t\tbackground-color: var(--color-background-dark);\n\t\t\t\t}\n\t\t\t\t&:not(.multiselect__option--disabled):hover::before {\n\t\t\t\t\topacity: .3;\n\t\t\t\t}\n\t\t\t\t&.multiselect__option--selected,\n\t\t\t\t&:not(.multiselect__option--disabled):hover {\n\t\t\t\t\t&::before {\n\t\t\t\t\t\tvisibility: visible;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t/* ABOVE display */\n\t&.multiselect--above .multiselect__content-wrapper {\n\t\tbottom: 100%;\n\t\tmargin-bottom: -1px;\n\t}\n\n\t/* Icon before option select */\n\t&.multiselect--multiple {\n\t\t// push the input after the tag list\n\t\t.multiselect__tags {\n\t\t\tflex-wrap: wrap;\n\t\t}\n\n\t\t.multiselect__content-wrapper li > span {\n\t\t\t&::before {\n\t\t\t\tbackground-image: var(--icon-checkmark-000);\n\t\t\t}\n\n\t\t\t/* add the prop tag-placeholder=\"create\" to add the +\n\t\t\ticon on top of an unknown-and-ready-to-be-created entry */\n\t\t\t&[data-select='create'] {\n\t\t\t\t&::before {\n\t\t\t\t\tbackground-image: var(--icon-add-000);\n\t\t\t\t\tvisibility: visible;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/* No need for an icon here */\n\t&.multiselect--single .multiselect__content-wrapper li > span::before {\n\t\tdisplay: none;\n\t}\n\n\t/* Mouse feedback */\n\t&:hover,\n\tinput.multiselect__input {\n\t\t.multiselect__placeholder {\n\t\t\tcolor: var(--color-main-text);\n\t\t}\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: ($clickable-area - $icon-size) / 2;\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n"],sourceRoot:""}]),t.a=r},function(e,t){e.exports=__webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptor.js */ "./node_modules/core-js/modules/es.object.get-own-property-descriptor.js")},function(e,t){e.exports=__webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptors.js */ "./node_modules/core-js/modules/es.object.get-own-property-descriptors.js")},function(e,t,n){"use strict";n.r(t);var s=n(79),o=n(97),i=n(2),r=n.n(i),a=n(104),c={insert:"head",singleton:!1};r()(a.a,c),a.a.locals;
|
||
/**
|
||
* @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>
|
||
*
|
||
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
||
*
|
||
* @license GNU AGPL version 3 or any later version
|
||
*
|
||
* This program is free software: you can redistribute it and/or modify
|
||
* it under the terms of the GNU Affero General Public License as
|
||
* published by the Free Software Foundation, either version 3 of the
|
||
* License, or (at your option) any later version.
|
||
*
|
||
* This program is distributed in the hope that it will be useful,
|
||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
* GNU Affero General Public License for more details.
|
||
*
|
||
* You should have received a copy of the GNU Affero General Public License
|
||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||
*
|
||
*/
|
||
Object(s.a)(o.a);t.default=o.a},function(e,t){e.exports=__webpack_require__(/*! vue-multiselect */ "./node_modules/vue-multiselect/dist/vue-multiselect.min.js")}])}));
|
||
//# sourceMappingURL=Multiselect.js.map
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/vue/dist/Components/SettingsSection.js":
|
||
/*!************************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/vue/dist/Components/SettingsSection.js ***!
|
||
\************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
!function(e,s){ true?module.exports=s():0}(window,(function(){return function(e){var s={};function t(n){if(s[n])return s[n].exports;var o=s[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,t),o.l=!0,o.exports}return t.m=e,t.c=s,t.d=function(e,s,n){t.o(e,s)||Object.defineProperty(e,s,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,s){if(1&s&&(e=t(e)),8&s)return e;if(4&s&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&s&&"string"!=typeof e)for(var o in e)t.d(n,o,function(s){return e[s]}.bind(null,o));return n},t.n=function(e){var s=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(s,"a",s),s},t.o=function(e,s){return Object.prototype.hasOwnProperty.call(e,s)},t.p="/dist/",t(t.s=214)}({0:function(e,s,t){"use strict";function n(e,s){return function(e){if(Array.isArray(e))return e}(e)||function(e,s){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var t=[],n=!0,o=!1,r=void 0;try{for(var i,m=e[Symbol.iterator]();!(n=(i=m.next()).done)&&(t.push(i.value),!s||t.length!==s);n=!0);}catch(e){o=!0,r=e}finally{try{n||null==m.return||m.return()}finally{if(o)throw r}}return t}(e,s)||function(e,s){if(!e)return;if("string"==typeof e)return o(e,s);var t=Object.prototype.toString.call(e).slice(8,-1);"Object"===t&&e.constructor&&(t=e.constructor.name);if("Map"===t||"Set"===t)return Array.from(e);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return o(e,s)}(e,s)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,s){(null==s||s>e.length)&&(s=e.length);for(var t=0,n=new Array(s);t<s;t++)n[t]=e[t];return n}e.exports=function(e){var s=n(e,4),t=s[1],o=s[3];if("function"==typeof btoa){var r=btoa(unescape(encodeURIComponent(JSON.stringify(o)))),i="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(r),m="/*# ".concat(i," */"),c=o.sources.map((function(e){return"/*# sourceURL=".concat(o.sourceRoot||"").concat(e," */")}));return[t].concat(c).concat([m]).join("\n")}return[t].join("\n")}},1:function(e,s,t){"use strict";e.exports=function(e){var s=[];return s.toString=function(){return this.map((function(s){var t=e(s);return s[2]?"@media ".concat(s[2]," {").concat(t,"}"):t})).join("")},s.i=function(e,t,n){"string"==typeof e&&(e=[[null,e,""]]);var o={};if(n)for(var r=0;r<this.length;r++){var i=this[r][0];null!=i&&(o[i]=!0)}for(var m=0;m<e.length;m++){var c=[].concat(e[m]);n&&o[c[0]]||(t&&(c[2]?c[2]="".concat(t," and ").concat(c[2]):c[2]=t),s.push(c))}},s}},10:function(e,s,t){"use strict";s.a="data:font/ttf;base64,AAEAAAAKAIAAAwAgT1MvMnTjj9EAAACsAAAAYGNtYXAADeu4AAABDAAAAUJnbHlmx0c5TAAAAlAAAAf8aGVhZCtHN6gAAApMAAAANmhoZWEm/ROFAAAKhAAAACRobXR4Z77//wAACqgAAAA0bG9jYQ28D2YAAArcAAAAKG1heHABIABXAAALBAAAACBuYW1lQQ57BwAACyQAAAKmcG9zdD9UvtcAAA3MAAABFgAEEsoBkAAFAAAMZQ2sAAACvAxlDawAAAlgAPUFCgAAAgAFAwAAAAAAAAAAAAAQAAAAAAAAAAAAAABQZkVkAEDqAeoSE4gAAAHCE4gAAAAAAAEAAAAAAAAAAAAAACAAAAAAAAMAAAADAAAAHAABAAAAAAA8AAMAAQAAABwABAAgAAAABAAEAAEAAOoS//8AAOoB//8WAAABAAAAAAAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAA6mD0MABQALAAAJAhEJBBEJAQ6m+oIFfvu6BEb6gvqCBX77ugRGD0L6gvqCATgERgRGATj6gvqCATgERgRGAAEAAAAADW4SUAAFAAAJAREJAREGGwdT93QIjAnE+K3+yAiLCIz+xwACAAAAAA/fD0MABQALAAAJAhEJBBEJAQTiBX76ggRG+7oFfgV/+oEERvu6BEYFfgV+/sj7uvu6/sgFfgV+/sj7uvu6AAEAAAAADqYSUAAFAAAJAREJARENbvitCIv3dQnEB1MBOfd093UBOAABAAAAAAY3E4gABQAAEwcJARcBlJQFcvqOlAWjE4hV9pH2kVUJxAAAAQAAAAARhw+DAAUAAAkFD8338/v7/kYFvwnHD4P38wQF/kf6QQnGAAEAAAAAERcRFwALAAAJCxEX/e36wPrA/e0FQPrAAhMFQAVAAhP6wASE/e0FQPrAAhMFQAVAAhP6wAVA/e36wAAB//8AABOTEuwAMwAAASIHDgEXFhcBISYHBgcGBwYUFxYXFhcWNyEBBgcGFxYXHgEXFhcWNzY3ATY3NicmJwEuAQpgZU9KRhASSAXX8eBNPjopJxQUFBQnKTo+TQ4g+ik3GhgDAxsZVjU3Oz46PzUH7TsVFRQVPPgTLHQS7Dk0rFlgR/oqARsYLiw5OHg4OSwuGBsC+ik1Pzs+Ojc2VhkaAwMYGTgH7DxRUE9SPAfsLTIAAAACAAAAAA6mElAAGABGAAABIgcOAQcGFBceARcWMjc+ATc2NCcuAScmASIHBgcGFBcWFxYzIREhIgcGBwYUFxYXFjchMjc2NzY0JyYnJiMhETQnJicmIwl2b2ZimCkrKymYYmbeZmKXKisrKpdiZvw2VkhHKSsrKUdIVgJx/Y9WSEcpKyspR0hWB1NVSEcpKyspR0hV/Y8rKUdJVRJQKyqXY2XfZWKYKSsrKZhiZd9lY5cqK/nlKylHSKtIRykr+eYrKUdJqklHKSsBKilHSapJRykrB1NVSEcpKwAAAwAAAAARFxEXAAMABwALAAABESERAREhEQERIRECcQ6m8VoOpvFaDqYRF/2PAnH55v2PAnH55f2PAnEAAwAAAAASngvnABgAMQBKAAABMhceARcWFAcOAQcGIicuAScmNDc+ATc2ITIXHgEXFhQHDgEHBiInLgEnJjQ3PgE3NiEyFx4BFxYUBw4BBwYiJy4BJyY0Nz4BNzYDDXBlYpgpKyspmGJl32ZilyorKyqXYmYHJm9mYpcqKysql2Jm3mZilyorKyqXYmYHJm9mYpcqKysql2Jm32VimCkrKymYYmUL5ysql2Jm3mZilyorKyqXYmbeZmKXKisrKpdiZt5mYpcqKysql2Jm3mZilyorKyqXYmbeZmKXKisrKpdiZt5mYpcqKwAAAAACAAAAAA/fD98AAwAHAAABESERIREhEQOqBOICcQTiD9/zyww188sMNQAAAAEAAAAAERcRFwACAAAJAgJxDqbxWhEX+K34rQABAAAAAA6mDDUAAgAACQIE4gTiBOIMNfseBOAAAf/gAAATaRNpADEAAAEEBQQFBAMCAwIREBMSExIFBAUEISAlJCUkExITEhMGAAUEISAlJCcmJyYDAhEQExIACGz+mP6x/rr+7f7uxsprboB76eUBOQE8AXIBfgGWAXEBYQFWAS4BKuvsmZw4vP4p/vn+8/7q/r7+zv7Z/fu4u2NnUE4BJxNpLpeT6ef+1/7T/qv+n/6P/mr+gv6O/sT+x+XofIBraMXCAQ0BDgFDAUsBacz+2k5QZ2O7uPv9AScBMgFCASUBEwENAcsAAgAAAAATiBOIACQAQAAAASAFBAUEAwIDAhATEhMSBQQFBCAlJCUkExITEhADAgMCJSQlJAEhMhceARcWFAcOAQcGIyEiJy4BJyY0Nz4BNzYJxP5q/oL+jv7E/sfl6HyAgHzo5QE5ATwBcgF+AywBfgFyATwBOeXofICAfOjl/sf+xP6O/oL6wQdTW1dUhCQmJiSEVFdb+K1cV1SEJCYmJIRUVxOIgHzo5f7H/sT+jv6C/NT+gv6O/sT+x+XofICAfOjlATkBPAFyAX4DLAF+AXIBPAE55eh8gPgRJiWEU1e4V1OEJSYmJYRTV7hXU4QlJgAAAAIAAAAAE4gTiAAkAD0AAAEgBQQFBAMCAwIQExITEgUEBQQgJSQlJBMSExIQAwIDAiUkJSQBIAUEABMSEAMCAAUEICUkAAMCEBMSACUkCcT+av6C/o7+xP7H5eh8gIB86OUBOQE8AXIBfgMsAX4BcgE8ATnl6HyAgHzo5f7H/sT+jv6C/moBNwEXAQ8Bm3B0dHD+Zf7x/un9kv7p/vH+ZXB0dHABmwEPARcTiIB86OX+x/7E/o7+gvzU/oL+jv7E/sfl6HyAgHzo5QE5ATwBcgF+AywBfgFyATwBOeXofID8GHRw/mX+8f7p/ZL+6f7x/mVwdHRwAZsBDwEXAm4BFwEPAZtwdAAAAAIAAAAAE4gTiAADACgAAAEhESEBIAUEBQQDAgMCEBMSExIFBAUEICUkJSQTEhMSEAMCAwIlJCUkBdwH0PgwA+j+av6C/o7+xP7H5eh8gIB86OUBOQE8AXIBfgMsAX4BcgE8ATnl6HyAgHzo5f7H/sT+jv6CBdwH0AXcgHzo5f7H/sT+jv6C/NT+gv6O/sT+x+XofICAfOjlATkBPAFyAX4DLAF+AXIBPAE55eh8gAAAAQAAAAEAAJqhuXNfDzz1AAsTiAAAAADcg1fNAAAAANwye87/4AAAE5MTiAAAAAgAAgAAAAAAAAABAAATiAAAAAATiP/g//UTkwABAAAAAAAAAAAAAAAAAAAABwAAAAATiAAAE4gAABOIAAATiAAABjYAABOIAAAAAP//AAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAAACIANgBYAGwAgACUALQBDgF8AZoCEAImAjQCQgKoAyIDpgP+AAEAAAATAEsAAwAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAAAQAMYAAQAAAAAAAQAUAAAAAQAAAAAAAgAHABQAAQAAAAAAAwAUABsAAQAAAAAABAAUAC8AAQAAAAAABQALAEMAAQAAAAAABgAUAE4AAQAAAAAACgArAGIAAQAAAAAACwATAI0AAwABBAkAAQAoAKAAAwABBAkAAgAOAMgAAwABBAkAAwAoANYAAwABBAkABAAoAP4AAwABBAkABQAWASYAAwABBAkABgAoATwAAwABBAkACgBWAWQAAwABBAkACwAmAbppY29uZm9udC12dWUtYzk3NDFhYVJlZ3VsYXJpY29uZm9udC12dWUtYzk3NDFhYWljb25mb250LXZ1ZS1jOTc0MWFhVmVyc2lvbiAxLjBpY29uZm9udC12dWUtYzk3NDFhYUdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AYwA5ADcANAAxAGEAYQBSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AYwA5ADcANAAxAGEAYQBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtAGMAOQA3ADQAMQBhAGEAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AYwA5ADcANAAxAGEAYQBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAATABMAAAECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBExFhcnJvdy1sZWZ0LWRvdWJsZQphcnJvdy1sZWZ0EmFycm93LXJpZ2h0LWRvdWJsZQthcnJvdy1yaWdodApicmVhZGNydW1iCWNoZWNrbWFyawVjbG9zZQdjb25maXJtBGluZm8EbWVudQRtb3JlBXBhdXNlBHBsYXkKdHJpYW5nbGUtcxB1c2VyLXN0YXR1cy1hd2F5D3VzZXItc3RhdHVzLWRuZBV1c2VyLXN0YXR1cy1pbnZpc2libGUSdXNlci1zdGF0dXMtb25saW5lAAA="},11:function(e,s,t){"use strict";s.a="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCIgPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48bWV0YWRhdGE+PC9tZXRhZGF0YT48ZGVmcz48Zm9udCBpZD0iaWNvbmZvbnQtdnVlLWM5NzQxYWEiIGhvcml6LWFkdi14PSI1MDAwIj48Zm9udC1mYWNlIGZvbnQtZmFtaWx5PSJpY29uZm9udC12dWUtYzk3NDFhYSIgZm9udC13ZWlnaHQ9IjQwMCIgZm9udC1zdHJldGNoPSJub3JtYWwiIHVuaXRzLXBlci1lbT0iNTAwMCIgcGFub3NlLTE9IjIgMCA1IDMgMCAwIDAgMCAwIDAiIGFzY2VudD0iNTAwMCIgZGVzY2VudD0iMCIgeC1oZWlnaHQ9IjAiIGJib3g9Ii0zMiAwIDUwMTEgNTAwMCIgdW5kZXJsaW5lLXRoaWNrbmVzcz0iMCIgdW5kZXJsaW5lLXBvc2l0aW9uPSI1MCIgdW5pY29kZS1yYW5nZT0iVStlYTAxLWVhMTIiIC8+PG1pc3NpbmctZ2x5cGggaG9yaXotYWR2LXg9IjAiICAvPjxnbHlwaCBnbHlwaC1uYW1lPSJhcnJvdy1sZWZ0LWRvdWJsZSIgdW5pY29kZT0iJiN4ZWEwMTsiIGQ9Ik0zNzUwIDM5MDYgbC0xNDA2IC0xNDA2IGwxNDA2IC0xNDA2IGwwIDMxMiBsLTEwOTQgMTA5NCBsMTA5NCAxMDk0IGwwIDMxMiBaTTIzNDQgMzkwNiBsLTE0MDYgLTE0MDYgbDE0MDYgLTE0MDYgbDAgMzEyIGwtMTA5NCAxMDk0IGwxMDk0IDEwOTQgbDAgMzEyIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9ImFycm93LWxlZnQiIHVuaWNvZGU9IiYjeGVhMDI7IiBkPSJNMTU2MyAyNTAwIGwxODc1IC0xODc1IGwwIC0zMTIgbC0yMTg4IDIxODcgbDIxODggMjE4OCBsMCAtMzEzIGwtMTg3NSAtMTg3NSBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJhcnJvdy1yaWdodC1kb3VibGUiIHVuaWNvZGU9IiYjeGVhMDM7IiBkPSJNMTI1MCAxMDk0IGwxNDA2IDE0MDYgbC0xNDA2IDE0MDYgbDAgLTMxMiBsMTA5NCAtMTA5NCBsLTEwOTQgLTEwOTQgbDAgLTMxMiBaTTI2NTYgMTA5NCBsMTQwNyAxNDA2IGwtMTQwNyAxNDA2IGwwIC0zMTIgbDEwOTQgLTEwOTQgbC0xMDk0IC0xMDk0IGwwIC0zMTIgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iYXJyb3ctcmlnaHQiIHVuaWNvZGU9IiYjeGVhMDQ7IiBkPSJNMzQzOCAyNTAwIGwtMTg3NSAxODc1IGwwIDMxMyBsMjE4NyAtMjE4OCBsLTIxODcgLTIxODcgbDAgMzEyIGwxODc1IDE4NzUgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iYnJlYWRjcnVtYiIgdW5pY29kZT0iJiN4ZWEwNTsiIGQ9Ik0xNDggNTAwMCBsLTE0OCAtODUgbDEzOTQgLTI0MTUgbC0xMzk0IC0yNDE1IGwxNDggLTg1IGwxNDQzIDI1MDAgbC0xNDQzIDI1MDAgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iY2hlY2ttYXJrIiB1bmljb2RlPSImI3hlYTA2OyIgZD0iTTQwNDUgMzk3MSBsLTIwNjEgLTIwNjEgbC0xMDI5IDEwMjkgbC00NDIgLTQ0MSBsMTQ3MSAtMTQ3MSBsMjUwMyAyNTAyIGwtNDQyIDQ0MiBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJjbG9zZSIgdW5pY29kZT0iJiN4ZWEwNzsiIGQ9Ik00Mzc1IDExNTYgbC01MzEgLTUzMSBsLTEzNDQgMTM0NCBsLTEzNDQgLTEzNDQgbC01MzEgNTMxIGwxMzQ0IDEzNDQgbC0xMzQ0IDEzNDQgbDUzMSA1MzEgbDEzNDQgLTEzNDQgbDEzNDQgMTM0NCBsNTMxIC01MzEgbC0xMzQ0IC0xMzQ0IGwxMzQ0IC0xMzQ0IFoiIC8+PGdseXBoIGdseXBoLW5hbWU9ImNvbmZpcm0iIHVuaWNvZGU9IiYjeGVhMDg7IiBkPSJNMjY1NiA0ODQ0IHEtMTAxIDAgLTE4MCAtNTcgcS03NCAtNTIgLTEwOSAtMTM4IHEtMzUgLTg2IC0xOSAtMTc1IHExOCAtOTYgOTAgLTE2NyBsMTQ5NSAtMTQ5NCBsLTM2MTYgMCBxLTc3IDEgLTEzOSAtMjYgcS01OCAtMjQgLTk5IC03MCBxLTM5IC00NCAtNTkgLTEwMSBxLTIwIC01NiAtMjAgLTExNiBxMCAtNjAgMjAgLTExNiBxMjAgLTU3IDU5IC0xMDEgcTQxIC00NiA5OSAtNzAgcTYyIC0yNyAxMzkgLTI1IGwzNjE2IDAgbC0xNDk1IC0xNDk1IHEtNTUgLTUzIC04MSAtMTE2IHEtMjQgLTU5IC0yMSAtMTIxIHEzIC01OCAzMCAtMTEzIHEyNSAtNTQgNjggLTk3IHE0MyAtNDMgOTYgLTY4IHE1NSAtMjYgMTE0IC0yOSBxNjIgLTMgMTIwIDIxIHE2MyAyNSAxMTYgODEgbDIwMjkgMjAyOCBxNTkgNjAgODAgMTQxIHEyMSA4MCAxIDE1OSBxLTIxIDgyIC04MSAxNDIgbC0yMDI5IDIwMjggcS00NCA0NSAtMTAyIDcwIHEtNTggMjUgLTEyMiAyNSBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJpbmZvIiB1bmljb2RlPSImI3hlYTA5OyIgZD0iTTI0MjIgNDY4OCBxLTExMSAwIC0yMTMgLTQzIHEtOTggLTQyIC0xNzQgLTExNy41IHEtNzYgLTc1LjUgLTExNyAtMTc0LjUgcS00MyAtMTAxIC00MyAtMjEyLjUgcTAgLTExMS41IDQzIC0yMTIuNSBxNDEgLTk4IDExNyAtMTc0IHE3NiAtNzYgMTc0IC0xMTcgcTEwMiAtNDMgMjEzIC00MyBxMTExIDAgMjEzIDQzIHE5OCA0MSAxNzMuNSAxMTcgcTc1LjUgNzYgMTE3LjUgMTc0IHE0MyAxMDEgNDMgMjEyLjUgcTAgMTExLjUgLTQzIDIxMi41IHEtNDIgOTkgLTExNy41IDE3NC41IHEtNzUuNSA3NS41IC0xNzMuNSAxMTcuNSBxLTEwMiA0MyAtMjEzIDQzIFpNMTU2MyAzMTI1IHEtODYgMCAtMTU4IC00MyBxLTcxIC00MSAtMTEyIC0xMTIgcS00MyAtNzIgLTQzIC0xNTcuNSBxMCAtODUuNSA0MyAtMTU3LjUgcTQxIC03MSAxMTIgLTExMiBxNzIgLTQzIDE1OCAtNDMgbDYyNSAwIGwwIC0xNTYyIGwtNjI1IDAgcS04NiAwIC0xNTggLTQzIHEtNzEgLTQxIC0xMTIgLTExMiBxLTQzIC03MyAtNDMgLTE1OCBxMCAtODUgNDMgLTE1OCBxNDEgLTcxIDExMiAtMTEyIHE3MiAtNDMgMTU4IC00MiBsMTg3NSAwIHE4NSAwIDE1NyA0MiBxNzEgNDEgMTEyIDExMiBxNDMgNzMgNDMgMTU4IHEwIDg1IC00MyAxNTggcS00MSA3MSAtMTEyIDExMiBxLTcyIDQzIC0xNTcgNDMgbC02MjUgMCBsMCAxODc1IHEwIDg1IC00MyAxNTcgcS00MSA3MSAtMTEyIDExMiBxLTczIDQzIC0xNTggNDMgbC05MzcgMCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJtZW51IiB1bmljb2RlPSImI3hlYTBhOyIgZD0iTTYyNSA0Mzc1IGwwIC02MjUgbDM3NTAgMCBsMCA2MjUgbC0zNzUwIDAgWk02MjUgMjgxMyBsMCAtNjI1IGwzNzUwIDAgbDAgNjI1IGwtMzc1MCAwIFpNNjI1IDEyNTAgbDAgLTYyNSBsMzc1MCAwIGwwIDYyNSBsLTM3NTAgMCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJtb3JlIiB1bmljb2RlPSImI3hlYTBiOyIgZD0iTTc4MSAzMDQ3IHExMTIgMCAyMTMgLTQzIHE5OCAtNDIgMTc0IC0xMTcuNSBxNzYgLTc1LjUgMTE3IC0xNzMuNSBxNDMgLTEwMiA0MyAtMjEzIHEwIC0xMTEgLTQzIC0yMTMgcS00MSAtOTggLTExNyAtMTczLjUgcS03NiAtNzUuNSAtMTc0IC0xMTcuNSBxLTEwMSAtNDMgLTIxMi41IC00MyBxLTExMS41IDAgLTIxMy41IDQzIHEtOTggNDIgLTE3My41IDExNy41IHEtNzUuNSA3NS41IC0xMTcuNSAxNzMuNSBxLTQzIDEwMiAtNDMgMjEzIHEwIDExMSA0MyAyMTMgcTQyIDk4IDExNy41IDE3My41IHE3NS41IDc1LjUgMTczLjUgMTE3LjUgcTEwMiA0MyAyMTMgNDMgWk0yNTAwIDMwNDcgcTExMSAwIDIxMyAtNDMgcTk4IC00MiAxNzMuNSAtMTE3LjUgcTc1LjUgLTc1LjUgMTE3LjUgLTE3My41IHE0MyAtMTAyIDQzIC0yMTMgcTAgLTExMSAtNDMgLTIxMyBxLTQyIC05OCAtMTE3LjUgLTE3My41IHEtNzUuNSAtNzUuNSAtMTczLjUgLTExNy41IHEtMTAyIC00MyAtMjEzIC00MyBxLTExMSAwIC0yMTMgNDMgcS05OCA0MiAtMTczLjUgMTE3LjUgcS03NS41IDc1LjUgLTExNy41IDE3My41IHEtNDMgMTAyIC00MyAyMTMgcTAgMTExIDQzIDIxMyBxNDIgOTggMTE3LjUgMTczLjUgcTc1LjUgNzUuNSAxNzMuNSAxMTcuNSBxMTAyIDQzIDIxMyA0MyBaTTQyMTkgMzA0NyBxMTExIDAgMjEzIC00MyBxOTggLTQyIDE3My41IC0xMTcuNSBxNzUuNSAtNzUuNSAxMTcuNSAtMTczLjUgcTQzIC0xMDIgNDMgLTIxMyBxMCAtMTExIC00MyAtMjEzIHEtNDIgLTk4IC0xMTcuNSAtMTczLjUgcS03NS41IC03NS41IC0xNzMuNSAtMTE3LjUgcS0xMDIgLTQzIC0yMTMuNSAtNDMgcS0xMTEuNSAwIC0yMTIuNSA0MyBxLTk4IDQyIC0xNzQgMTE3LjUgcS03NiA3NS41IC0xMTcgMTczLjUgcS00MyAxMDIgLTQzIDIxMyBxMCAxMTEgNDMgMjEzIHE0MSA5OCAxMTcgMTczLjUgcTc2IDc1LjUgMTc0IDExNy41IHExMDEgNDMgMjEzIDQzIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InBhdXNlIiB1bmljb2RlPSImI3hlYTBjOyIgZD0iTTkzOCA0MDYzIGwwIC0zMTI1IGwxMjUwIDAgbDAgMzEyNSBsLTEyNTAgMCBaTTI4MTMgNDA2MyBsMCAtMzEyNSBsMTI1MCAwIGwwIDMxMjUgbC0xMjUwIDAgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0icGxheSIgdW5pY29kZT0iJiN4ZWEwZDsiIGQ9Ik02MjUgNDM3NSBsMzc1MCAtMTg3NSBsLTM3NTAgLTE4NzUgbDAgMzc1MCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJ0cmlhbmdsZS1zIiB1bmljb2RlPSImI3hlYTBlOyIgZD0iTTEyNTAgMzEyNSBsMTI1MCAtMTI1MCBsMTI1MCAxMjQ4IGwtMjUwMCAyIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InVzZXItc3RhdHVzLWF3YXkiIHVuaWNvZGU9IiYjeGVhMGY7IiBkPSJNMjE1NiA0OTY5IHEtMzYwIC00NiAtNjk1IC0xOTcgcS0zMjYgLTE0NyAtNjAxIC0zODAgcS0yNzQgLTIzMSAtNDcyIC01MjggcS0yMDIgLTMwMSAtMzA5IC02NDIgcS0xMTAgLTM1MyAtMTEwIC03MjIgcTAgLTQwNiAxMjggLTc4OCBxMTIzIC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTM2OSAwIDcyMiAxMDcgcTM0MiAxMDQgNjQ0IDMwMSBxMjk4IDE5NCA1MzMgNDYzIHEyMzYgMjcwIDM4OSA1OTMgcTE1NiAzMzEgMjEyIDY5MiBxLTE4OCAtMjA0IC00MjMuNSAtMzUxIHEtMjM1LjUgLTE0NyAtNDk4LjUgLTIyNSBxLTI2OSAtODAgLTU0NyAtODAgcS0zMjIgMCAtNjI4IDEwMyBxLTI5NSA5OSAtNTQ4IDI4NiBxLTI1MSAxODQgLTQzNSA0MzUgcS0xODcgMjUzIC0yODYgNTQ4IHEtMTAzIDMwNiAtMTAzIDYyOCBxMCAyOTMgODAgNTY4IHE3OCAyNjkgMjI1LjUgNDk4LjUgcTE0Ny41IDIyOS41IDM1MC41IDQwMi41IFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InVzZXItc3RhdHVzLWRuZCIgdW5pY29kZT0iJiN4ZWExMDsiIGQ9Ik0yNTAwIDUwMDAgcS00MDYgMCAtNzg4IC0xMjggcS0zNzAgLTEyNCAtNjg2IC0zNTYgcS0zMTMgLTIyOSAtNTQyIC01NDIgcS0yMzIgLTMxNiAtMzU2IC02ODYgcS0xMjggLTM4MiAtMTI4IC03ODggcTAgLTQwNiAxMjggLTc4OCBxMTI0IC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTQwNiAwIDc4OCAxMjggcTM3MCAxMjQgNjg2IDM1NiBxMzEzIDIyOSA1NDIgNTQyIHEyMzIgMzE2IDM1NiA2ODYgcTEyOCAzODIgMTI4IDc4OCBxMCA0MDYgLTEyOCA3ODggcS0xMjQgMzcwIC0zNTYgNjg2IHEtMjI5IDMxMyAtNTQyIDU0MiBxLTMxNiAyMzIgLTY4NiAzNTYgcS0zODIgMTI4IC03ODggMTI4IFpNMTU2MyAyOTY5IGwxODc1IDAgcTkxIDAgMTc4IC0zOCBxODQgLTM3IDE1MCAtMTAzIHE2NiAtNjYgMTAyIC0xNDkgcTM4IC04NyAzOCAtMTc5IHEwIC05MiAtMzggLTE3OSBxLTM2IC04MyAtMTAyIC0xNDkgcS02NiAtNjYgLTE1MCAtMTAzIHEtODcgLTM4IC0xNzggLTM4IGwtMTg3NSAwIHEtOTIgMCAtMTc5IDM4IHEtODQgMzcgLTE1MCAxMDMgcS02NiA2NiAtMTAyIDE0OSBxLTM4IDg3IC0zOCAxNzkgcTAgOTIgMzggMTc5IHEzNiA4MyAxMDIgMTQ5IHE2NiA2NiAxNTAgMTAzIHE4NyAzOCAxNzkgMzggWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0idXNlci1zdGF0dXMtaW52aXNpYmxlIiB1bmljb2RlPSImI3hlYTExOyIgZD0iTTI1MDAgNTAwMCBxLTQwNiAwIC03ODggLTEyOCBxLTM3MCAtMTI0IC02ODYgLTM1NiBxLTMxMyAtMjI5IC01NDIgLTU0MiBxLTIzMiAtMzE2IC0zNTYgLTY4NiBxLTEyOCAtMzgyIC0xMjggLTc4OCBxMCAtNDA2IDEyOCAtNzg4IHExMjQgLTM3MCAzNTYgLTY4NiBxMjI5IC0zMTMgNTQyIC01NDIgcTMxNiAtMjMyIDY4NiAtMzU2IHEzODIgLTEyOCA3ODggLTEyOCBxNDA2IDAgNzg4IDEyOCBxMzcwIDEyNCA2ODYgMzU2IHEzMTMgMjI5IDU0MiA1NDIgcTIzMiAzMTYgMzU2IDY4NiBxMTI4IDM4MiAxMjggNzg4IHEwIDQwNiAtMTI4IDc4OCBxLTEyNCAzNzAgLTM1NiA2ODYgcS0yMjkgMzEzIC01NDIgNTQyIHEtMzE2IDIzMiAtNjg2IDM1NiBxLTM4MiAxMjggLTc4OCAxMjggWk0yNTAwIDQwMDAgcTMxMSAwIDU5MCAtMTE2IHEyNzEgLTExMiA0NzYuNSAtMzE3LjUgcTIwNS41IC0yMDUuNSAzMTcuNSAtNDc2LjUgcTExNiAtMjc5IDExNiAtNTkwIHEwIC0zMTEgLTExNiAtNTkwIHEtMTEyIC0yNzEgLTMxNy41IC00NzYuNSBxLTIwNS41IC0yMDUuNSAtNDc2LjUgLTMxNy41IHEtMjc5IC0xMTYgLTU5MCAtMTE2IHEtMzExIDAgLTU5MCAxMTYgcS0yNzEgMTEyIC00NzYuNSAzMTcuNSBxLTIwNS41IDIwNS41IC0zMTcuNSA0NzYuNSBxLTExNiAyNzkgLTExNiA1OTAgcTAgMzExIDExNiA1OTAgcTExMiAyNzEgMzE3LjUgNDc2LjUgcTIwNS41IDIwNS41IDQ3Ni41IDMxNy41IHEyNzkgMTE2IDU5MCAxMTYgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0idXNlci1zdGF0dXMtb25saW5lIiB1bmljb2RlPSImI3hlYTEyOyIgZD0iTTE1MDAgMTUwMCBsMjAwMCAwIGwwIDIwMDAgbC0yMDAwIDAgbDAgLTIwMDAgWk0yNTAwIDUwMDAgcS00MDYgMCAtNzg4IC0xMjggcS0zNzAgLTEyNCAtNjg2IC0zNTYgcS0zMTMgLTIyOSAtNTQyIC01NDIgcS0yMzIgLTMxNiAtMzU2IC02ODYgcS0xMjggLTM4MiAtMTI4IC03ODggcTAgLTQwNiAxMjggLTc4OCBxMTI0IC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTQwNiAwIDc4OCAxMjggcTM3MCAxMjQgNjg2IDM1NiBxMzEzIDIyOSA1NDIgNTQyIHEyMzIgMzE2IDM1NiA2ODYgcTEyOCAzODIgMTI4IDc4OCBxMCA0MDYgLTEyOCA3ODggcS0xMjQgMzcwIC0zNTYgNjg2IHEtMjI5IDMxMyAtNTQyIDU0MiBxLTMxNiAyMzIgLTY4NiAzNTYgcS0zODIgMTI4IC03ODggMTI4IFoiIC8+PC9mb250PjwvZGVmcz48L3N2Zz4="},12:function(e,s,t){"use strict";t.d(s,"b",(function(){return m})),t.d(s,"a",(function(){return i}));t(13);var n=t(32),o=Object(n.getGettextBuilder)().detectLocale();[{locale:"br",json:{charset:"utf-8",headers:{"Last-Translator":"Kervoas-Le Nabat Ewen <ewenkervoas@free.fr>, 2020","Language-Team":"Breton (https://www.transifex.com/nextcloud/teams/64236/br/)","Content-Type":"text/plain; charset=UTF-8",Language:"br","Plural-Forms":"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nKervoas-Le Nabat Ewen <ewenkervoas@free.fr>, 2020\n"},msgstr:["Last-Translator: Kervoas-Le Nabat Ewen <ewenkervoas@free.fr>, 2020\nLanguage-Team: Breton (https://www.transifex.com/nextcloud/teams/64236/br/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: br\nPlural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (diwelus)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (bevennet)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:249"},msgstr:["Oberioù"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["Oberiantizoù"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["Loened & Natur"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Dibab"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Serriñ"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["Personelañ"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["Bannieloù"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["Boued & Evajoù"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["Implijet alies"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Da heul"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["Emoji ebet kavet"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Disoc'h ebet"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["Traoù"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Arsav an diaporama"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["Tud & Korf"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["Choaz un emoji"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["A-raok"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["Klask"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["Disoc'hoù an enklask"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Choaz ur c'hlav"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:57"},msgstr:["Arventennoù"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["Smileyioù & Fromoù"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Kregiñ an diaporama"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["Arouezioù"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["Beaj & Lec'hioù"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["Dibosupl eo klask ar strollad"]}}}}},{locale:"ca",json:{charset:"utf-8",headers:{"Last-Translator":"David Jacovkis <david@freeknowledge.eu>, 2020","Language-Team":"Catalan (https://www.transifex.com/nextcloud/teams/64236/ca/)","Content-Type":"text/plain; charset=UTF-8",Language:"ca","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nCarles Ferrando Garcia <carles.ferrando@gnuescultura.eu>, 2020\nMarc Riera <marcriera@softcatala.org>, 2020\nToni Hermoso Pulido <toniher@softcatala.cat>, 2020\nDavid Jacovkis <david@freeknowledge.eu>, 2020\n"},msgstr:["Last-Translator: David Jacovkis <david@freeknowledge.eu>, 2020\nLanguage-Team: Catalan (https://www.transifex.com/nextcloud/teams/64236/ca/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ca\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (invisible)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (restringit)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:254"},msgstr:["Accions"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["Activitats"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["Animals i natura"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Tria"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Tanca"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["Personalitzat"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["Marques"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["Menjar i begudes"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["Utilitzats recentment"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:255"},msgstr:["S'ha arribat al límit de {count} caràcters per missatge"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Següent"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["No s'ha trobat cap emoji"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Sense resultats"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["Objectes"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Atura la presentació"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["Persones i cos"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["Trieu un emoji"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Anterior"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["Cerca"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["Resultats de cerca"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Selecciona una etiqueta"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:57"},msgstr:["Paràmetres"]},"Settings navigation":{msgid:"Settings navigation",comments:{reference:"src/components/AppSettingsDialog/AppSettingsDialog.vue:106"},msgstr:["Navegació d'opcions"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["Cares i emocions"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Inicia la presentació"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["Símbols"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["Viatges i llocs"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["No es pot cercar el grup"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:152"},msgstr:["Escriu un missatge, @ per mencionar algú..."]}}}}},{locale:"cs_CZ",json:{charset:"utf-8",headers:{"Last-Translator":"Pavel Borecki <pavel.borecki@gmail.com>, 2020","Language-Team":"Czech (Czech Republic) (https://www.transifex.com/nextcloud/teams/64236/cs_CZ/)","Content-Type":"text/plain; charset=UTF-8",Language:"cs_CZ","Plural-Forms":"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nPavel Borecki <pavel.borecki@gmail.com>, 2020\n"},msgstr:["Last-Translator: Pavel Borecki <pavel.borecki@gmail.com>, 2020\nLanguage-Team: Czech (Czech Republic) (https://www.transifex.com/nextcloud/teams/64236/cs_CZ/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: cs_CZ\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (neviditelný)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (omezený)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:254"},msgstr:["Akce"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["Aktivity"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["Zvířata a příroda"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Zvolit"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Zavřít"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["Uživatelsky určené"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["Příznaky"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["Jídlo a pití"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["Často používané"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:254"},msgstr:["Dosaženo limitu počtu znaků {count}"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Následující"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["Nenalezeno žádné emoji"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Žádné výsledky"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["Objekty"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Pozastavit prezentaci"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["Lidé a tělo"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["Vyberte emoji"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Předchozí"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["Hledat"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["Výsledky hledání"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Vybrat štítek"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:57"},msgstr:["Nastavení"]},"Settings navigation":{msgid:"Settings navigation",comments:{reference:"src/components/AppSettingsDialog/AppSettingsDialog.vue:106"},msgstr:["Pohyb po nastavení"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["Úsměvy a emoce"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Spustit prezentaci"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["Symboly"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["Cestování a místa"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["Nedaří se hledat skupinu"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:151"},msgstr:["Pište zprávu, pokud chcete někoho zmínit, použijte @ …"]}}}}},{locale:"da",json:{charset:"utf-8",headers:{"Last-Translator":"Peter Jespersen <flywheel@illogical.dk>, 2020","Language-Team":"Danish (https://www.transifex.com/nextcloud/teams/64236/da/)","Content-Type":"text/plain; charset=UTF-8",Language:"da","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nThomas Nielsen <thsnielsen@gmail.com>, 2020\nPeter Jespersen <flywheel@illogical.dk>, 2020\n"},msgstr:["Last-Translator: Peter Jespersen <flywheel@illogical.dk>, 2020\nLanguage-Team: Danish (https://www.transifex.com/nextcloud/teams/64236/da/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: da\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (usynlig)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (begrænset)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:254"},msgstr:["Handlinger"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["Aktiviteter"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["Dyr & Natur"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Vælg"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Luk"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["Brugerdefineret"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["Flag"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["Mad & Drikke"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["Ofte brugt"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:255"},msgstr:["Begrænsning på {count} tegn er nået"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Videre"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["Ingen emoji fundet"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Ingen resultater"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["Objekter"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Suspender fremvisning"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["Mennesker & Menneskekroppen"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["Vælg en emoji"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Forrige"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["Søg"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["Søgeresultater"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Vælg et mærke"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:57"},msgstr:["Indstillinger"]},"Settings navigation":{msgid:"Settings navigation",comments:{reference:"src/components/AppSettingsDialog/AppSettingsDialog.vue:106"},msgstr:["Naviger i indstillinger"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["Smileys & Emotion"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Start fremvisning"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["Symboler"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["Rejser & Rejsemål"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["Kan ikke søge på denne gruppe"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:152"},msgstr:["Skriv i meddelelse, @ for at nævne nogen …"]}}}}},{locale:"de",json:{charset:"utf-8",headers:{"Last-Translator":"Markus Eckstein, 2020","Language-Team":"German (https://www.transifex.com/nextcloud/teams/64236/de/)","Content-Type":"text/plain; charset=UTF-8",Language:"de","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nPhilipp Fischbeck <pfischbeck@googlemail.com>, 2020\nAndreas Eitel <github-aneitel@online.de>, 2020\nJoachim Sokolowski, 2020\nMark Ziegler <mark.ziegler@rakekniven.de>, 2020\nMario Siegmann <mario_siegmann@web.de>, 2020\nMarkus Eckstein, 2020\n"},msgstr:["Last-Translator: Markus Eckstein, 2020\nLanguage-Team: German (https://www.transifex.com/nextcloud/teams/64236/de/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: de\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",msgstr:["{tag} (unsichtbar)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",msgstr:["{tag} (eingeschränkt)"]},Actions:{msgid:"Actions",msgstr:["Aktionen"]},Activities:{msgid:"Activities",msgstr:["Aktivitäten"]},"Animals & Nature":{msgid:"Animals & Nature",msgstr:["Tiere & Natur"]},Choose:{msgid:"Choose",msgstr:["Auswählen"]},Close:{msgid:"Close",msgstr:["Schließen"]},Custom:{msgid:"Custom",msgstr:["Benutzerdefiniert"]},Flags:{msgid:"Flags",msgstr:["Flaggen"]},"Food & Drink":{msgid:"Food & Drink",msgstr:["Essen & Trinken"]},"Frequently used":{msgid:"Frequently used",msgstr:["Häufig verwendet"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",msgstr:["Nachrichtenlimit von {count} Zeichen erreicht"]},Next:{msgid:"Next",msgstr:["Weiter"]},"No emoji found":{msgid:"No emoji found",msgstr:["Kein Emoji gefunden"]},"No results":{msgid:"No results",msgstr:["Keine Ergebnisse"]},Objects:{msgid:"Objects",msgstr:["Gegenstände"]},"Pause slideshow":{msgid:"Pause slideshow",msgstr:["Diashow pausieren"]},"People & Body":{msgid:"People & Body",msgstr:["Menschen & Körper"]},"Pick an emoji":{msgid:"Pick an emoji",msgstr:["Ein Emoji auswählen"]},Previous:{msgid:"Previous",msgstr:["Vorherige"]},Search:{msgid:"Search",msgstr:["Suche"]},"Search results":{msgid:"Search results",msgstr:["Suchergebnisse"]},"Select a tag":{msgid:"Select a tag",msgstr:["Schlagwort auswählen"]},Settings:{msgid:"Settings",msgstr:["Einstellungen"]},"Settings navigation":{msgid:"Settings navigation",msgstr:["Einstellungen-Navigation"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",msgstr:["Smileys & Emotionen"]},"Start slideshow":{msgid:"Start slideshow",msgstr:["Diashow starten"]},Symbols:{msgid:"Symbols",msgstr:["Symbole"]},"Travel & Places":{msgid:"Travel & Places",msgstr:["Reisen & Orte"]},"Unable to search the group":{msgid:"Unable to search the group",msgstr:["Die Gruppe konnte nicht durchsucht werden"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",msgstr:["Nachricht schreiben, @ um jemanden zu erwähnen ..."]}}}}},{locale:"de_DE",json:{charset:"utf-8",headers:{"Last-Translator":"Mario Siegmann <mario_siegmann@web.de>, 2020","Language-Team":"German (Germany) (https://www.transifex.com/nextcloud/teams/64236/de_DE/)","Content-Type":"text/plain; charset=UTF-8",Language:"de_DE","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nPhilipp Fischbeck <pfischbeck@googlemail.com>, 2020\nProfDrJones <jones@fs.cs.hm.edu>, 2020\nMark Ziegler <mark.ziegler@rakekniven.de>, 2020\nMario Siegmann <mario_siegmann@web.de>, 2020\n"},msgstr:["Last-Translator: Mario Siegmann <mario_siegmann@web.de>, 2020\nLanguage-Team: German (Germany) (https://www.transifex.com/nextcloud/teams/64236/de_DE/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: de_DE\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (unsichtbar)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (eingeschränkt)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:254"},msgstr:["Aktionen"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["Aktivitäten"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["Tiere & Natur"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Auswählen"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Schließen"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["Benutzerdefiniert"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["Flaggen"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["Essen & Trinken"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["Häufig verwendet"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:254"},msgstr:["Nachrichtenlimit von {count} Zeichen erreicht"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Weiter"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["Kein Emoji gefunden"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Keine Ergebnisse"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["Gegenstände"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Diashow pausieren"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["Menschen & Körper"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["Ein Emoji auswählen"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Vorherige"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["Suche"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["Suchergebnisse"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Schlagwort auswählen"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:57"},msgstr:["Einstellungen"]},"Settings navigation":{msgid:"Settings navigation",comments:{reference:"src/components/AppSettingsDialog/AppSettingsDialog.vue:106"},msgstr:["Einstellungen-Navigation"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["Smileys & Emotionen"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Diashow starten"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["Symbole"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["Reisen & Orte"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["Die Gruppe kann nicht durchsucht werden"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:151"},msgstr:["Nachricht schreiben, @ um jemanden zu erwähnen ..."]}}}}},{locale:"el",json:{charset:"utf-8",headers:{"Last-Translator":"Efstathios Iosifidis <iefstathios@gmail.com>, 2020","Language-Team":"Greek (https://www.transifex.com/nextcloud/teams/64236/el/)","Content-Type":"text/plain; charset=UTF-8",Language:"el","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\ngeorge k <norhorn@gmail.com>, 2020\nEfstathios Iosifidis <iefstathios@gmail.com>, 2020\n"},msgstr:["Last-Translator: Efstathios Iosifidis <iefstathios@gmail.com>, 2020\nLanguage-Team: Greek (https://www.transifex.com/nextcloud/teams/64236/el/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: el\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (αόρατο)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (περιορισμένο)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:249"},msgstr:["Ενέργειες"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["Δραστηριότητες"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["Ζώα & Φύση"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Επιλογή"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Κλείσιμο"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["Προσαρμογή"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["Σημαίες"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["Φαγητό & Ποτό"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["Συχνά χρησιμοποιούμενο"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Επόμενο"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["Δεν βρέθηκε emoji"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Κανένα αποτέλεσμα"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["Αντικείμενα"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Παύση προβολής διαφανειών"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["Άνθρωποι & Σώμα"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["Επιλέξτε ένα emoji"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Προηγούμενο"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["Αναζήτηση"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["Αποτελέσματα αναζήτησης"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Επιλογή ετικέτας"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:53"},msgstr:["Ρυθμίσεις"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["Φατσούλες & Συναίσθημα"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Έναρξη προβολής διαφανειών"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["Σύμβολα"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["Ταξίδια & Τοποθεσίες"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["Δεν είναι δυνατή η αναζήτηση της ομάδας"]}}}}},{locale:"eo",json:{charset:"utf-8",headers:{"Last-Translator":"Va Milushnikov <va.milushnikov@gmail.com>, 2020","Language-Team":"Esperanto (https://www.transifex.com/nextcloud/teams/64236/eo/)","Content-Type":"text/plain; charset=UTF-8",Language:"eo","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nVa Milushnikov <va.milushnikov@gmail.com>, 2020\n"},msgstr:["Last-Translator: Va Milushnikov <va.milushnikov@gmail.com>, 2020\nLanguage-Team: Esperanto (https://www.transifex.com/nextcloud/teams/64236/eo/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: eo\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",msgstr:["{tag} (kaŝita)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",msgstr:["{tag} (limigita)"]},Actions:{msgid:"Actions",msgstr:["Agoj"]},Activities:{msgid:"Activities",msgstr:["Aktiveco"]},"Animals & Nature":{msgid:"Animals & Nature",msgstr:["Bestoj & Naturo"]},Choose:{msgid:"Choose",msgstr:["Elektu"]},Close:{msgid:"Close",msgstr:["Fermu"]},Custom:{msgid:"Custom",msgstr:["Propra"]},Flags:{msgid:"Flags",msgstr:["Flagoj"]},"Food & Drink":{msgid:"Food & Drink",msgstr:["Manĝaĵo & Trinkaĵo"]},"Frequently used":{msgid:"Frequently used",msgstr:["Ofte uzataj"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",msgstr:["La limo je {count} da literoj atingita"]},Next:{msgid:"Next",msgstr:["Sekva"]},"No emoji found":{msgid:"No emoji found",msgstr:["La emoĝio forestas"]},"No results":{msgid:"No results",msgstr:["La rezulto forestas"]},Objects:{msgid:"Objects",msgstr:["Objektoj"]},"Pause slideshow":{msgid:"Pause slideshow",msgstr:["Payzi bildprezenton"]},"People & Body":{msgid:"People & Body",msgstr:["Homoj & Korpo"]},"Pick an emoji":{msgid:"Pick an emoji",msgstr:["Elekti emoĝion "]},Previous:{msgid:"Previous",msgstr:["Antaŭa"]},Search:{msgid:"Search",msgstr:["Serĉi"]},"Search results":{msgid:"Search results",msgstr:["Serĉrezultoj"]},"Select a tag":{msgid:"Select a tag",msgstr:["Elektu etikedon"]},Settings:{msgid:"Settings",msgstr:["Agordo"]},"Settings navigation":{msgid:"Settings navigation",msgstr:["Agorda navigado"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",msgstr:["Ridoj kaj Emocioj"]},"Start slideshow":{msgid:"Start slideshow",msgstr:["Komenci bildprezenton"]},Symbols:{msgid:"Symbols",msgstr:["Signoj"]},"Travel & Places":{msgid:"Travel & Places",msgstr:["Vojaĵoj & Lokoj"]},"Unable to search the group":{msgid:"Unable to search the group",msgstr:["Ne eblas serĉi en la grupo"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",msgstr:["Mesaĝi, uzu @ por mencii iun ..."]}}}}},{locale:"es",json:{charset:"utf-8",headers:{"Last-Translator":"Maira Belmonte <mairabelmonte@gmail.com>, 2020","Language-Team":"Spanish (https://www.transifex.com/nextcloud/teams/64236/es/)","Content-Type":"text/plain; charset=UTF-8",Language:"es","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\njavier san felipe <jsanfe@gmail.com>, 2020\nMaira Belmonte <mairabelmonte@gmail.com>, 2020\n"},msgstr:["Last-Translator: Maira Belmonte <mairabelmonte@gmail.com>, 2020\nLanguage-Team: Spanish (https://www.transifex.com/nextcloud/teams/64236/es/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",msgstr:["{tag} (invisible)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",msgstr:["{tag} (restringido)"]},Actions:{msgid:"Actions",msgstr:["Acciones"]},Activities:{msgid:"Activities",msgstr:["Actividades"]},"Animals & Nature":{msgid:"Animals & Nature",msgstr:["Animales y naturaleza"]},Choose:{msgid:"Choose",msgstr:["Elegir"]},Close:{msgid:"Close",msgstr:["Cerrar"]},Custom:{msgid:"Custom",msgstr:["Personalizado"]},Flags:{msgid:"Flags",msgstr:["Banderas"]},"Food & Drink":{msgid:"Food & Drink",msgstr:["Comida y bebida"]},"Frequently used":{msgid:"Frequently used",msgstr:["Usado con frecuenca"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",msgstr:["El mensaje ha alcanzado el límite de {count} caracteres"]},Next:{msgid:"Next",msgstr:["Siguiente"]},"No emoji found":{msgid:"No emoji found",msgstr:["No hay ningún emoji"]},"No results":{msgid:"No results",msgstr:[" Ningún resultado"]},Objects:{msgid:"Objects",msgstr:["Objetos"]},"Pause slideshow":{msgid:"Pause slideshow",msgstr:["Pausar la presentación "]},"People & Body":{msgid:"People & Body",msgstr:["Personas y cuerpos"]},"Pick an emoji":{msgid:"Pick an emoji",msgstr:["Elegir un emoji"]},Previous:{msgid:"Previous",msgstr:["Anterior"]},Search:{msgid:"Search",msgstr:["Buscar"]},"Search results":{msgid:"Search results",msgstr:["Resultados de la búsqueda"]},"Select a tag":{msgid:"Select a tag",msgstr:["Seleccione una etiqueta"]},Settings:{msgid:"Settings",msgstr:["Ajustes"]},"Settings navigation":{msgid:"Settings navigation",msgstr:["Navegación por ajustes"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",msgstr:["Smileys y emoticonos"]},"Start slideshow":{msgid:"Start slideshow",msgstr:["Iniciar la presentación"]},Symbols:{msgid:"Symbols",msgstr:["Símbolos"]},"Travel & Places":{msgid:"Travel & Places",msgstr:["Viajes y lugares"]},"Unable to search the group":{msgid:"Unable to search the group",msgstr:["No es posible buscar en el grupo"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",msgstr:["Escriba un mensaje, @ para mencionar a alguien..."]}}}}},{locale:"eu",json:{charset:"utf-8",headers:{"Last-Translator":"Asier Iturralde Sarasola <asier.iturralde@gmail.com>, 2020","Language-Team":"Basque (https://www.transifex.com/nextcloud/teams/64236/eu/)","Content-Type":"text/plain; charset=UTF-8",Language:"eu","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"Translators:\nAsier Iturralde Sarasola <asier.iturralde@gmail.com>, 2020\n"},msgstr:["Last-Translator: Asier Iturralde Sarasola <asier.iturralde@gmail.com>, 2020\nLanguage-Team: Basque (https://www.transifex.com/nextcloud/teams/64236/eu/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: eu\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:169"},msgstr:["{tag} (ikusezina)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:172"},msgstr:["{tag} (mugatua)"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Aukeratu"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:109"},msgstr:["Itxi"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:154"},msgstr:["Hurrengoa"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:169\nsrc/components/MultiselectTags/MultiselectTags.vue:78"},msgstr:["Emaitzarik ez"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:290"},msgstr:["Pausatu diaporama"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:134"},msgstr:["Aurrekoa"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Hautatu etiketa bat"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:53"},msgstr:["Ezarpenak"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:290"},msgstr:["Hasi diaporama"]}}}}},{locale:"fi_FI",json:{charset:"utf-8",headers:{"Last-Translator":"teemue, 2020","Language-Team":"Finnish (Finland) (https://www.transifex.com/nextcloud/teams/64236/fi_FI/)","Content-Type":"text/plain; charset=UTF-8",Language:"fi_FI","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nRobin Lahtinen <robin.lahtinen@gmail.com>, 2020\nteemue, 2020\n"},msgstr:["Last-Translator: teemue, 2020\nLanguage-Team: Finnish (Finland) (https://www.transifex.com/nextcloud/teams/64236/fi_FI/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fi_FI\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (näkymätön)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (rajoitettu)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:254"},msgstr:["Toiminnot"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["Aktiviteetit"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["Eläimet & luonto"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Valitse"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Sulje"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["Mukautettu"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["Liput"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["Ruoka & juoma"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["Usein käytetyt"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:255"},msgstr:["Viestin maksimimerkkimäärä {count} täynnä "]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Seuraava"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["Emojia ei löytynyt"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Ei tuloksia"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["Esineet & asiat"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Keskeytä diaesitys"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["Ihmiset & keho"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["Valitse emoji"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Edellinen"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["Etsi"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["Hakutulokset"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Valitse tagi"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:57"},msgstr:["Asetukset"]},"Settings navigation":{msgid:"Settings navigation",comments:{reference:"src/components/AppSettingsDialog/AppSettingsDialog.vue:106"},msgstr:["Asetusnavigaatio"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["Hymiöt ja & tunteet"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Aloita diaesitys"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["Symbolit"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["Matkustus & kohteet"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["Ryhmää ei voi hakea"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:152"},msgstr:["Kirjoita viesti, @ mainitaksesi jonkun..."]}}}}},{locale:"fr",json:{charset:"utf-8",headers:{"Last-Translator":"Ludovici t <ludovic.tourtelier@e-c.bzh>, 2020","Language-Team":"French (https://www.transifex.com/nextcloud/teams/64236/fr/)","Content-Type":"text/plain; charset=UTF-8",Language:"fr","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nBrendan Abolivier <transifex@brendanabolivier.com>, 2020\ngud bes <gudbes@protonmail.com>, 2020\nGreg Greg <grena@grenabox.fr>, 2020\nLuclu7 <theluc7andcompagnie@gmail.com>, 2020\nJulien Veyssier, 2020\nLudovici t <ludovic.tourtelier@e-c.bzh>, 2020\n"},msgstr:["Last-Translator: Ludovici t <ludovic.tourtelier@e-c.bzh>, 2020\nLanguage-Team: French (https://www.transifex.com/nextcloud/teams/64236/fr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fr\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",msgstr:["{tag} (invisible)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",msgstr:["{tag} (restreint)"]},Actions:{msgid:"Actions",msgstr:["Actions"]},Activities:{msgid:"Activities",msgstr:["Activités"]},"Animals & Nature":{msgid:"Animals & Nature",msgstr:["Animaux & Nature"]},Choose:{msgid:"Choose",msgstr:["Choisir"]},Close:{msgid:"Close",msgstr:["Fermer"]},Custom:{msgid:"Custom",msgstr:["Personnalisé"]},Flags:{msgid:"Flags",msgstr:["Drapeaux"]},"Food & Drink":{msgid:"Food & Drink",msgstr:["Nourriture & Boissons"]},"Frequently used":{msgid:"Frequently used",msgstr:["Utilisés fréquemment"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",msgstr:["Limite de messages de {count} caractères atteinte"]},Next:{msgid:"Next",msgstr:["Suivant"]},"No emoji found":{msgid:"No emoji found",msgstr:["Pas d’émoji trouvé"]},"No results":{msgid:"No results",msgstr:["Aucun résultat"]},Objects:{msgid:"Objects",msgstr:["Objets"]},"Pause slideshow":{msgid:"Pause slideshow",msgstr:["Mettre le diaporama en pause"]},"People & Body":{msgid:"People & Body",msgstr:["Personnes & Corps"]},"Pick an emoji":{msgid:"Pick an emoji",msgstr:["Choisissez un émoji"]},Previous:{msgid:"Previous",msgstr:["Précédent"]},Search:{msgid:"Search",msgstr:["Chercher"]},"Search results":{msgid:"Search results",msgstr:["Résultats de recherche"]},"Select a tag":{msgid:"Select a tag",msgstr:["Sélectionnez une balise"]},Settings:{msgid:"Settings",msgstr:["Paramètres"]},"Settings navigation":{msgid:"Settings navigation",msgstr:["Navigation dans les paramètres"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",msgstr:["Smileys & Émotions"]},"Start slideshow":{msgid:"Start slideshow",msgstr:["Démarrer le diaporama"]},Symbols:{msgid:"Symbols",msgstr:["Symboles"]},"Travel & Places":{msgid:"Travel & Places",msgstr:["Voyage & Lieux"]},"Unable to search the group":{msgid:"Unable to search the group",msgstr:["Impossible de chercher le groupe"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",msgstr:["Écrivez un message, @ pour mentionner quelqu'un…"]}}}}},{locale:"gl",json:{charset:"utf-8",headers:{"Last-Translator":"Miguel Anxo Bouzada <mbouzada@gmail.com>, 2020","Language-Team":"Galician (https://www.transifex.com/nextcloud/teams/64236/gl/)","Content-Type":"text/plain; charset=UTF-8",Language:"gl","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMiguel Anxo Bouzada <mbouzada@gmail.com>, 2020\n"},msgstr:["Last-Translator: Miguel Anxo Bouzada <mbouzada@gmail.com>, 2020\nLanguage-Team: Galician (https://www.transifex.com/nextcloud/teams/64236/gl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: gl\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (invisíbel)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (restrinxido)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:254"},msgstr:["Accións"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["Actividades"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["Animais e natureza"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Escoller"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Pechar"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["Personalizado"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["Bandeiras"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["Comida e bebida"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["Usado con frecuencia"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:254"},msgstr:["Acadouse o límite de {count} caracteres por mensaxe"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Seguinte"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["Non se atopou ningún «emoji»"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Sen resultados"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["Obxectos"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Pausar o diaporama"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["Persoas e corpo"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["Escolla un «emoji»"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Anterir"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["Buscar"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["Resultados da busca"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Seleccione unha etiqueta"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:57"},msgstr:["Axustes"]},"Settings navigation":{msgid:"Settings navigation",comments:{reference:"src/components/AppSettingsDialog/AppSettingsDialog.vue:106"},msgstr:["Navegación de axustes"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["Sorrisos e emocións"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Iniciar o diaporama"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["Símbolos"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["Viaxes e lugares"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["Non foi posíbel buscar o grupo"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:151"},msgstr:["Escriba a mensaxe, @ para mencionar a alguén…"]}}}}},{locale:"he",json:{charset:"utf-8",headers:{"Last-Translator":"Yaron Shahrabani <sh.yaron@gmail.com>, 2020","Language-Team":"Hebrew (https://www.transifex.com/nextcloud/teams/64236/he/)","Content-Type":"text/plain; charset=UTF-8",Language:"he","Plural-Forms":"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nYaron Shahrabani <sh.yaron@gmail.com>, 2020\n"},msgstr:["Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>, 2020\nLanguage-Team: Hebrew (https://www.transifex.com/nextcloud/teams/64236/he/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: he\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (נסתר)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (מוגבל)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:249"},msgstr:["פעולות"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["פעילויות"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["חיות וטבע"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["בחירה"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["סגירה"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["בהתאמה אישית"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["דגלים"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["מזון ומשקאות"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["בשימוש תדיר"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["הבא"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["לא נמצא אמוג׳י"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["אין תוצאות"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["חפצים"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["השהיית מצגת"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["אנשים וגוף"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["נא לבחור אמוג׳י"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["הקודם"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["חיפוש"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["תוצאות חיפוש"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["בחירת תגית"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:57"},msgstr:["הגדרות"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["חייכנים ורגשונים"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["התחלת המצגת"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["סמלים"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["טיולים ומקומות"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["לא ניתן לחפש בקבוצה"]}}}}},{locale:"hu_HU",json:{charset:"utf-8",headers:{"Last-Translator":"Balázs Meskó <meskobalazs@mailbox.org>, 2021","Language-Team":"Hungarian (Hungary) (https://www.transifex.com/nextcloud/teams/64236/hu_HU/)","Content-Type":"text/plain; charset=UTF-8",Language:"hu_HU","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nasbot10 <richard@asbot.tech>, 2020\nBalázs Meskó <meskobalazs@mailbox.org>, 2021\n"},msgstr:["Last-Translator: Balázs Meskó <meskobalazs@mailbox.org>, 2021\nLanguage-Team: Hungarian (Hungary) (https://www.transifex.com/nextcloud/teams/64236/hu_HU/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hu_HU\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",msgstr:["{tag} (láthatatlan)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",msgstr:["{tag} (korlátozott)"]},Actions:{msgid:"Actions",msgstr:["Műveletek"]},Activities:{msgid:"Activities",msgstr:["Tevékenységek"]},"Animals & Nature":{msgid:"Animals & Nature",msgstr:["Állatok és természet"]},Choose:{msgid:"Choose",msgstr:["Válassszon"]},Close:{msgid:"Close",msgstr:["Bezárás"]},Custom:{msgid:"Custom",msgstr:["Egyéni"]},Flags:{msgid:"Flags",msgstr:["Zászló"]},"Food & Drink":{msgid:"Food & Drink",msgstr:["Étel és ital"]},"Frequently used":{msgid:"Frequently used",msgstr:["Gyakran használt"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",msgstr:["{count} karakteres üzenetkorlát elérve"]},Next:{msgid:"Next",msgstr:["Következő"]},"No emoji found":{msgid:"No emoji found",msgstr:["Nem található emodzsi"]},"No results":{msgid:"No results",msgstr:["Nincs találat"]},Objects:{msgid:"Objects",msgstr:["Tárgyak"]},"Pause slideshow":{msgid:"Pause slideshow",msgstr:["Diavetítés szüneteltetése"]},"People & Body":{msgid:"People & Body",msgstr:["Emberek és test"]},"Pick an emoji":{msgid:"Pick an emoji",msgstr:["Válasszon egy emodzsit"]},Previous:{msgid:"Previous",msgstr:["Előző"]},Search:{msgid:"Search",msgstr:["Keresés"]},"Search results":{msgid:"Search results",msgstr:["Találatok"]},"Select a tag":{msgid:"Select a tag",msgstr:["Válasszon címkét"]},Settings:{msgid:"Settings",msgstr:["Beállítások"]},"Settings navigation":{msgid:"Settings navigation",msgstr:["Navigáció a beállításokban"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",msgstr:["Mosolyok és érzelmek"]},"Start slideshow":{msgid:"Start slideshow",msgstr:["Diavetítés indítása"]},Symbols:{msgid:"Symbols",msgstr:["Szimbólumok"]},"Travel & Places":{msgid:"Travel & Places",msgstr:["Utazás és helyek"]},"Unable to search the group":{msgid:"Unable to search the group",msgstr:["A csoport nem kereshető"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",msgstr:["Írjon üzenetet, @ valaki megemlítéséhez…"]}}}}},{locale:"is",json:{charset:"utf-8",headers:{"Last-Translator":"Sveinn í Felli <sv1@fellsnet.is>, 2020","Language-Team":"Icelandic (https://www.transifex.com/nextcloud/teams/64236/is/)","Content-Type":"text/plain; charset=UTF-8",Language:"is","Plural-Forms":"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nSveinn í Felli <sv1@fellsnet.is>, 2020\n"},msgstr:["Last-Translator: Sveinn í Felli <sv1@fellsnet.is>, 2020\nLanguage-Team: Icelandic (https://www.transifex.com/nextcloud/teams/64236/is/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: is\nPlural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (ósýnilegt)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (takmarkað)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:254"},msgstr:["Aðgerðir"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["Aðgerðir"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["Dýr og náttúra"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Velja"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Loka"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["Sérsniðið"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["Flögg"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["Matur og drykkur"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["Oftast notað"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Næsta"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["Ekkert tjáningartákn fannst"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Engar niðurstöður"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["Hlutir"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Gera hlé á skyggnusýningu"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["Fólk og líkami"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["Veldu tjáningartákn"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Fyrri"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["Leita"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["Leitarniðurstöður"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Veldu merki"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:57"},msgstr:["Stillingar"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["Broskallar og tilfinningar"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Byrja skyggnusýningu"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["Tákn"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["Staðir og ferðalög"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["Get ekki leitað í hópnum"]}}}}},{locale:"it",json:{charset:"utf-8",headers:{"Last-Translator":"Vincenzo Reale <vinx.reale@gmail.com>, 2020","Language-Team":"Italian (https://www.transifex.com/nextcloud/teams/64236/it/)","Content-Type":"text/plain; charset=UTF-8",Language:"it","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nRandom_R, 2020\nVincenzo Reale <vinx.reale@gmail.com>, 2020\n"},msgstr:["Last-Translator: Vincenzo Reale <vinx.reale@gmail.com>, 2020\nLanguage-Team: Italian (https://www.transifex.com/nextcloud/teams/64236/it/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: it\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (invisibile)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (limitato)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:254"},msgstr:["Azioni"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["Attività"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["Animali e natura"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Scegli"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Chiudi"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["Personalizzato"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["Bandiere"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["Cibo e bevande"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["Usati di frequente"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:254"},msgstr:["Limite dei messaggi di {count} caratteri raggiunto"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Successivo"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["Nessun emoji trovato"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Nessun risultato"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["Oggetti"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Presentazione in pausa"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["Persone e corpo"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["Scegli un emoji"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Precedente"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["Cerca"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["Risultati di ricerca"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Seleziona un'etichetta"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:57"},msgstr:["Impostazioni"]},"Settings navigation":{msgid:"Settings navigation",comments:{reference:"src/components/AppSettingsDialog/AppSettingsDialog.vue:106"},msgstr:["Navigazione delle impostazioni"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["Faccine ed emozioni"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Avvia presentazione"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["Simboli"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["Viaggi e luoghi"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["Impossibile cercare il gruppo"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:151"},msgstr:["Scrivi messaggio, @ per menzionare qualcuno…"]}}}}},{locale:"ja_JP",json:{charset:"utf-8",headers:{"Last-Translator":"YANO Tetsu <tetuyano+transi@gmail.com>, 2020","Language-Team":"Japanese (Japan) (https://www.transifex.com/nextcloud/teams/64236/ja_JP/)","Content-Type":"text/plain; charset=UTF-8",Language:"ja_JP","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nYANO Tetsu <tetuyano+transi@gmail.com>, 2020\n"},msgstr:["Last-Translator: YANO Tetsu <tetuyano+transi@gmail.com>, 2020\nLanguage-Team: Japanese (Japan) (https://www.transifex.com/nextcloud/teams/64236/ja_JP/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ja_JP\nPlural-Forms: nplurals=1; plural=0;\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{タグ} (不可視)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{タグ} (制限付)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:249"},msgstr:["操作"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["アクティビティ"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["動物と自然"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["選択"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["閉じる"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["カスタム"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["国旗"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["食べ物と飲み物"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["よく使うもの"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["次"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["絵文字が見つかりません"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["なし"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["物"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["スライドショーを一時停止"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["様々な人と体の部位"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["絵文字を選択"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["前"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["検索"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["検索結果"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["タグを選択"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:53"},msgstr:["設定"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["笑顔と気持ち"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["スライドショーを開始"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["記号"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["旅行と場所"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["グループを検索できません"]}}}}},{locale:"lt_LT",json:{charset:"utf-8",headers:{"Last-Translator":"Moo, 2020","Language-Team":"Lithuanian (Lithuania) (https://www.transifex.com/nextcloud/teams/64236/lt_LT/)","Content-Type":"text/plain; charset=UTF-8",Language:"lt_LT","Plural-Forms":"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMoo, 2020\n"},msgstr:["Last-Translator: Moo, 2020\nLanguage-Team: Lithuanian (Lithuania) (https://www.transifex.com/nextcloud/teams/64236/lt_LT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lt_LT\nPlural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (nematoma)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (apribota)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:254"},msgstr:["Veiksmai"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["Veiklos"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["Gyvūnai ir gamta"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Pasirinkti"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Užverti"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["Tinkinti"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["Vėliavos"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["Maistas ir gėrimai"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["Dažniausiai naudoti"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Kitas"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["Nerasta jaustukų"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Nėra rezultatų"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["Objektai"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Pristabdyti skaidrių rodymą"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["Žmonės ir kūnas"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["Pasirinkti jaustuką"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Ankstesnis"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["Ieškoti"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["Paieškos rezultatai"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Pasirinkti žymę"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:57"},msgstr:["Nustatymai"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["Šypsenos ir emocijos"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Pradėti skaidrių rodymą"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["Simboliai"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["Kelionės ir vietos"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["Nepavyko atlikti paiešką grupėje"]}}}}},{locale:"lv",json:{charset:"utf-8",headers:{"Last-Translator":"stendec <stendec@inbox.lv>, 2020","Language-Team":"Latvian (https://www.transifex.com/nextcloud/teams/64236/lv/)","Content-Type":"text/plain; charset=UTF-8",Language:"lv","Plural-Forms":"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"},translations:{"":{"":{msgid:"",comments:{translator:"Translators:\nstendec <stendec@inbox.lv>, 2020\n"},msgstr:["Last-Translator: stendec <stendec@inbox.lv>, 2020\nLanguage-Team: Latvian (https://www.transifex.com/nextcloud/teams/64236/lv/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lv\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:169"},msgstr:["{tag} (neredzams)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:172"},msgstr:["{tag} (ierobežots)"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Izvēlēties"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:109"},msgstr:["Aizvērt"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:154"},msgstr:["Nākamais"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:169\nsrc/components/MultiselectTags/MultiselectTags.vue:78"},msgstr:["Nav rezultātu"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:290"},msgstr:["Pauzēt slaidrādi"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:134"},msgstr:["Iepriekšējais"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Izvēlēties birku"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:53"},msgstr:["Iestatījumi"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:290"},msgstr:["Sākt slaidrādi"]}}}}},{locale:"mk",json:{charset:"utf-8",headers:{"Last-Translator":"Сашко Тодоров, 2020","Language-Team":"Macedonian (https://www.transifex.com/nextcloud/teams/64236/mk/)","Content-Type":"text/plain; charset=UTF-8",Language:"mk","Plural-Forms":"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nСашко Тодоров, 2020\n"},msgstr:["Last-Translator: Сашко Тодоров, 2020\nLanguage-Team: Macedonian (https://www.transifex.com/nextcloud/teams/64236/mk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: mk\nPlural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (невидливо)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (ограничено)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:254"},msgstr:["Акции"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["Активности"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["Животни & Природа"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Избери"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Затвори"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["Прилагодени"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["Знамиња"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["Храна & Пијалоци"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["Најчесто користени"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:254"},msgstr:["Ограничувањето на должината на пораката од {count} карактери е надминато"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Следно"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["Не се пронајдени емотикони"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Нема резултати"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["Објекти"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Пузирај слајдшоу"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["Луѓе & Тело"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["Избери емотикон"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Предходно"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["Барај"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["Резултати од барувањето"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Избери ознака"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:57"},msgstr:["Параметри"]},"Settings navigation":{msgid:"Settings navigation",comments:{reference:"src/components/AppSettingsDialog/AppSettingsDialog.vue:106"},msgstr:["Параметри за навигација"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["Смешковци & Емотикони"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Стартувај слајдшоу"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["Симболи"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["Патувања & Места"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["Неможе да се принајде групата"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:151"},msgstr:["Напиши порака, @ за да спомнеш некој …"]}}}}},{locale:"nb_NO",json:{charset:"utf-8",headers:{"Last-Translator":"sverre.vikan <sverre.vikan@gmail.com>, 2020","Language-Team":"Norwegian Bokmål (Norway) (https://www.transifex.com/nextcloud/teams/64236/nb_NO/)","Content-Type":"text/plain; charset=UTF-8",Language:"nb_NO","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nOle Jakob Brustad <ole.jakob@brustadbuss.no>, 2020\nsverre.vikan <sverre.vikan@gmail.com>, 2020\n"},msgstr:["Last-Translator: sverre.vikan <sverre.vikan@gmail.com>, 2020\nLanguage-Team: Norwegian Bokmål (Norway) (https://www.transifex.com/nextcloud/teams/64236/nb_NO/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nb_NO\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (usynlig)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (beskyttet)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:254"},msgstr:["Handlinger"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["Aktiviteter"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["Dyr og natur"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Velg"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Lukk"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["Selvvalgt"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["Flagg"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["Mat og drikke"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["Ofte brukt"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Neste"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["Fant ingen emoji"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Ingen resultater"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["Objekter"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Pause lysbildefremvisning"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["Mennesker og kropp"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["Velg en emoji"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Forrige"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["Søk"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["Søkeresultater"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Velg en merkelapp"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:57"},msgstr:["Innstillinger"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["Smilefjes og følelser"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Start lysbildefremvisning"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["Symboler"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["Reise og steder"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["Kunne ikke søke i gruppen"]}}}}},{locale:"nl",json:{charset:"utf-8",headers:{"Last-Translator":"Robin Slot, 2020","Language-Team":"Dutch (https://www.transifex.com/nextcloud/teams/64236/nl/)","Content-Type":"text/plain; charset=UTF-8",Language:"nl","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nRoeland Jago Douma, 2020\nArjan van S, 2020\nRobin Slot, 2020\n"},msgstr:["Last-Translator: Robin Slot, 2020\nLanguage-Team: Dutch (https://www.transifex.com/nextcloud/teams/64236/nl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nl\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",msgstr:["{tag} (onzichtbaar)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",msgstr:["{tag} (beperkt)"]},Actions:{msgid:"Actions",msgstr:["Acties"]},Activities:{msgid:"Activities",msgstr:["Activiteiten"]},"Animals & Nature":{msgid:"Animals & Nature",msgstr:["Dieren & Natuur"]},Choose:{msgid:"Choose",msgstr:["Kies"]},Close:{msgid:"Close",msgstr:["Sluiten"]},Custom:{msgid:"Custom",msgstr:["Aangepast"]},Flags:{msgid:"Flags",msgstr:["Vlaggen"]},"Food & Drink":{msgid:"Food & Drink",msgstr:["Eten & Drinken"]},"Frequently used":{msgid:"Frequently used",msgstr:["Vaak gebruikt"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",msgstr:["Berichtlengte van {count} karakters bereikt"]},Next:{msgid:"Next",msgstr:["Volgende"]},"No emoji found":{msgid:"No emoji found",msgstr:["Geen emoji gevonden"]},"No results":{msgid:"No results",msgstr:["Geen resultaten"]},Objects:{msgid:"Objects",msgstr:["Objecten"]},"Pause slideshow":{msgid:"Pause slideshow",msgstr:["Pauzeer diavoorstelling"]},"People & Body":{msgid:"People & Body",msgstr:["Mensen & Lichaam"]},"Pick an emoji":{msgid:"Pick an emoji",msgstr:["Kies een emoji"]},Previous:{msgid:"Previous",msgstr:["Vorige"]},Search:{msgid:"Search",msgstr:["Zoeken"]},"Search results":{msgid:"Search results",msgstr:["Zoekresultaten"]},"Select a tag":{msgid:"Select a tag",msgstr:["Selecteer een label"]},Settings:{msgid:"Settings",msgstr:["Instellingen"]},"Settings navigation":{msgid:"Settings navigation",msgstr:["Instellingen navigatie"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",msgstr:["Smileys & Emotie"]},"Start slideshow":{msgid:"Start slideshow",msgstr:["Start diavoorstelling"]},Symbols:{msgid:"Symbols",msgstr:["Symbolen"]},"Travel & Places":{msgid:"Travel & Places",msgstr:["Reizen & Plaatsen"]},"Unable to search the group":{msgid:"Unable to search the group",msgstr:["Kan niet in de groep zoeken"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",msgstr:["Schrijf een bericht, @ om iemand te noemen ..."]}}}}},{locale:"oc",json:{charset:"utf-8",headers:{"Last-Translator":"Quentin PAGÈS, 2020","Language-Team":"Occitan (post 1500) (https://www.transifex.com/nextcloud/teams/64236/oc/)","Content-Type":"text/plain; charset=UTF-8",Language:"oc","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"Translators:\nQuentin PAGÈS, 2020\n"},msgstr:["Last-Translator: Quentin PAGÈS, 2020\nLanguage-Team: Occitan (post 1500) (https://www.transifex.com/nextcloud/teams/64236/oc/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: oc\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (invisible)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (limit)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:194"},msgstr:["Accions"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Causir"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Tampar"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Seguent"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:172\nsrc/components/MultiselectTags/MultiselectTags.vue:78"},msgstr:["Cap de resultat"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Metre en pausa lo diaporama"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Precedent"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Seleccionar una etiqueta"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:53"},msgstr:["Paramètres"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Lançar lo diaporama"]}}}}},{locale:"pl",json:{charset:"utf-8",headers:{"Last-Translator":"Valdnet, 2020","Language-Team":"Polish (https://www.transifex.com/nextcloud/teams/64236/pl/)","Content-Type":"text/plain; charset=UTF-8",Language:"pl","Plural-Forms":"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nArtur Skoczylas <art.skoczylas@gmail.com>, 2020\nValdnet, 2020\n"},msgstr:["Last-Translator: Valdnet, 2020\nLanguage-Team: Polish (https://www.transifex.com/nextcloud/teams/64236/pl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: pl\nPlural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (niewidoczna)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (ograniczona)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:254"},msgstr:["Działania"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["Aktywność"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["Zwierzęta i natura"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Wybierz"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Zamknij"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["Zwyczajne"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["Flagi"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["Jedzenie i picie"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["Często używane"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:254"},msgstr:["Przekroczono limit wiadomości wynoszący {count} znaków"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Następny"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["Nie znaleziono emotikonów"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Brak wyników"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["Obiekty"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Wstrzymaj pokaz slajdów"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["Ludzie i ciało"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["Wybierz emoji"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Poprzedni"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["Szukaj"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["Wyniki wyszukiwania"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Wybierz etykietę"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:57"},msgstr:["Ustawienia"]},"Settings navigation":{msgid:"Settings navigation",comments:{reference:"src/components/AppSettingsDialog/AppSettingsDialog.vue:106"},msgstr:["Nawigacja ustawień"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["Buźki i emotikony"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Rozpocznij pokaz slajdów"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["Symbole"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["Podróże i miejsca"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["Nie można przeszukać grupy"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:151"},msgstr:["Napisz wiadomość, aby wspomnieć o kimś użyj @…"]}}}}},{locale:"pt_BR",json:{charset:"utf-8",headers:{"Last-Translator":"Flávio Veras <flaviove@gmail.com>, 2021","Language-Team":"Portuguese (Brazil) (https://www.transifex.com/nextcloud/teams/64236/pt_BR/)","Content-Type":"text/plain; charset=UTF-8",Language:"pt_BR","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMaurício Gardini <accounts@mauriciogardini.com>, 2020\nPaulo Schopf, 2020\nRodrigo de Almeida Sottomaior Macedo <rmsolucoeseminformatica@protonmail.com>, 2020\nFlávio Veras <flaviove@gmail.com>, 2021\n"},msgstr:["Last-Translator: Flávio Veras <flaviove@gmail.com>, 2021\nLanguage-Team: Portuguese (Brazil) (https://www.transifex.com/nextcloud/teams/64236/pt_BR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: pt_BR\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",msgstr:["{tag} (invisível)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",msgstr:["{tag} (restrito) "]},Actions:{msgid:"Actions",msgstr:["Ações"]},Activities:{msgid:"Activities",msgstr:["Atividades"]},"Animals & Nature":{msgid:"Animals & Nature",msgstr:["Animais & Natureza"]},Choose:{msgid:"Choose",msgstr:["Escolher"]},Close:{msgid:"Close",msgstr:["Fechar"]},Custom:{msgid:"Custom",msgstr:["Personalizado"]},Flags:{msgid:"Flags",msgstr:["Bandeiras"]},"Food & Drink":{msgid:"Food & Drink",msgstr:["Comida & Bebida"]},"Frequently used":{msgid:"Frequently used",msgstr:["Mais usados"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",msgstr:["Limite de mensagem de {count} caracteres atingido"]},Next:{msgid:"Next",msgstr:["Próximo"]},"No emoji found":{msgid:"No emoji found",msgstr:["Nenhum emoji encontrado"]},"No results":{msgid:"No results",msgstr:["Sem resultados"]},Objects:{msgid:"Objects",msgstr:["Objetos"]},"Pause slideshow":{msgid:"Pause slideshow",msgstr:["Pausar apresentação de slides"]},"People & Body":{msgid:"People & Body",msgstr:["Pessoas & Corpo"]},"Pick an emoji":{msgid:"Pick an emoji",msgstr:["Escolha um emoji"]},Previous:{msgid:"Previous",msgstr:["Anterior"]},Search:{msgid:"Search",msgstr:["Pesquisar"]},"Search results":{msgid:"Search results",msgstr:["Resultados da pesquisa"]},"Select a tag":{msgid:"Select a tag",msgstr:["Selecionar uma tag"]},Settings:{msgid:"Settings",msgstr:["Configurações"]},"Settings navigation":{msgid:"Settings navigation",msgstr:["Navegação de configurações"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",msgstr:["Smiles & Emoções"]},"Start slideshow":{msgid:"Start slideshow",msgstr:["Iniciar apresentação de slides"]},Symbols:{msgid:"Symbols",msgstr:["Símbolo"]},"Travel & Places":{msgid:"Travel & Places",msgstr:["Viagem & Lugares"]},"Unable to search the group":{msgid:"Unable to search the group",msgstr:["Não foi possível pesquisar o grupo"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",msgstr:["Escreva mensagem, @ para mencionar alguém ..."]}}}}},{locale:"pt_PT",json:{charset:"utf-8",headers:{"Last-Translator":"Manuela Silva <manuelarodsilva@gmail.com>, 2020","Language-Team":"Portuguese (Portugal) (https://www.transifex.com/nextcloud/teams/64236/pt_PT/)","Content-Type":"text/plain; charset=UTF-8",Language:"pt_PT","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nfpapoila <fpapoila@gmail.com>, 2020\nManuela Silva <manuelarodsilva@gmail.com>, 2020\n"},msgstr:["Last-Translator: Manuela Silva <manuelarodsilva@gmail.com>, 2020\nLanguage-Team: Portuguese (Portugal) (https://www.transifex.com/nextcloud/teams/64236/pt_PT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: pt_PT\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (invisivel)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (restrito)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:249"},msgstr:["Ações"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Escolher"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Fechar"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Seguinte"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Sem resultados"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Pausar diaporama"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Anterior"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Selecionar uma etiqueta"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:53"},msgstr:["Definições"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Iniciar diaporama"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["Não é possível pesquisar o grupo"]}}}}},{locale:"ru",json:{charset:"utf-8",headers:{"Last-Translator":"Alex <kekcuha@gmail.com>, 2020","Language-Team":"Russian (https://www.transifex.com/nextcloud/teams/64236/ru/)","Content-Type":"text/plain; charset=UTF-8",Language:"ru","Plural-Forms":"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"Translators:\nAlex <kekcuha@gmail.com>, 2020\n"},msgstr:["Last-Translator: Alex <kekcuha@gmail.com>, 2020\nLanguage-Team: Russian (https://www.transifex.com/nextcloud/teams/64236/ru/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ru\nPlural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:169"},msgstr:["{tag} (невидимое)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:172"},msgstr:["{tag} (ограниченное)"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Выберите"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:109"},msgstr:["Закрыть"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:154"},msgstr:["Следующее"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:169\nsrc/components/MultiselectTags/MultiselectTags.vue:78"},msgstr:["Результаты отсуствуют"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:290"},msgstr:["Приостановить показ слйдов"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:134"},msgstr:["Предыдущее"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Выберите метку"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:53"},msgstr:["Параметры"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:290"},msgstr:["Начать показ слайдов"]}}}}},{locale:"sk_SK",json:{charset:"utf-8",headers:{"Last-Translator":"Anton Kuchár <tonokuc@pobox.sk>, 2020","Language-Team":"Slovak (Slovakia) (https://www.transifex.com/nextcloud/teams/64236/sk_SK/)","Content-Type":"text/plain; charset=UTF-8",Language:"sk_SK","Plural-Forms":"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nAnton Kuchár <tonokuc@pobox.sk>, 2020\n"},msgstr:["Last-Translator: Anton Kuchár <tonokuc@pobox.sk>, 2020\nLanguage-Team: Slovak (Slovakia) (https://www.transifex.com/nextcloud/teams/64236/sk_SK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sk_SK\nPlural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (neviditeľný)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (obmedzený)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:249"},msgstr:["Akcie"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["Aktivity"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["Zvieratá a príroda"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Vybrať"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Zatvoriť"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["Zvyk"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["Vlajky"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["Jedlo a nápoje"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["Často používané"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Ďalší"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["Nenašli sa žiadne emodži"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Žiadne výsledky"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["Objekty"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Pozastaviť prezentáciu"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["Ľudia a telo"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["Vyberte si emodži"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Predchádzajúci"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["Hľadať"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["Výsledky vyhľadávania"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Vybrať štítok"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:53"},msgstr:["Nastavenia"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["Smajlíky a emócie"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Začať prezentáciu"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["Symboly"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["Cestovanie a miesta"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["Skupinu sa nepodarilo nájsť"]}}}}},{locale:"sl",json:{charset:"utf-8",headers:{"Last-Translator":"Matej Urbančič <>, 2020","Language-Team":"Slovenian (https://www.transifex.com/nextcloud/teams/64236/sl/)","Content-Type":"text/plain; charset=UTF-8",Language:"sl","Plural-Forms":"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMatej Urbančič <>, 2020\n"},msgstr:["Last-Translator: Matej Urbančič <>, 2020\nLanguage-Team: Slovenian (https://www.transifex.com/nextcloud/teams/64236/sl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sl\nPlural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (nevidno)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (omejeno)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:254"},msgstr:["Dejanja"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["Dejavnosti"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["Živali in Narava"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Izbor"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Zapri"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["Po meri"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["Zastavice"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["Hrana in Pijača"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["Pogostost uporabe"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Naslednji"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["Ni najdenih izraznih ikon"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Ni zadetkov"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["Predmeti"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Ustavi predstavitev"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["Ljudje in Telo"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["Izbor izrazne ikone"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Predhodni"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["Iskanje"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["Zadetki iskanja"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Izbor oznake"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:57"},msgstr:["Nastavitve"]},"Settings navigation":{msgid:"Settings navigation",comments:{reference:"src/components/AppSettingsDialog/AppSettingsDialog.vue:106"},msgstr:["Krmarjenje nastavitev"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["Izrazne ikone"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Začni predstavitev"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["Simboli"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["Potovanja in Kraji"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["Ni mogoče iskati po skuspini"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:126"},msgstr:["Napišite sporočilo, z @ omenite osebo ..."]}}}}},{locale:"sv",json:{charset:"utf-8",headers:{"Last-Translator":"Victor Nyberg <v70123@gmail.com>, 2021","Language-Team":"Swedish (https://www.transifex.com/nextcloud/teams/64236/sv/)","Content-Type":"text/plain; charset=UTF-8",Language:"sv","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nGabriel Ekström <gabriel.ekstrom06@gmail.com>, 2020\nErik Lennartsson, 2020\nJonatan Nyberg <jonatan.nyberg.karl@gmail.com>, 2020\nVictor Nyberg <v70123@gmail.com>, 2021\n"},msgstr:["Last-Translator: Victor Nyberg <v70123@gmail.com>, 2021\nLanguage-Team: Swedish (https://www.transifex.com/nextcloud/teams/64236/sv/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sv\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",msgstr:["{tag} (osynlig)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",msgstr:["{tag} (begränsad)"]},Actions:{msgid:"Actions",msgstr:["Åtgärder"]},Activities:{msgid:"Activities",msgstr:["Aktiviteter"]},"Animals & Nature":{msgid:"Animals & Nature",msgstr:["Djur & Natur"]},Choose:{msgid:"Choose",msgstr:["Välj"]},Close:{msgid:"Close",msgstr:["Stäng"]},Custom:{msgid:"Custom",msgstr:["Anpassad"]},Flags:{msgid:"Flags",msgstr:["Flaggor"]},"Food & Drink":{msgid:"Food & Drink",msgstr:["Mat & Dryck"]},"Frequently used":{msgid:"Frequently used",msgstr:["Används ofta"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",msgstr:["Meddelandegräns {count} tecken används"]},Next:{msgid:"Next",msgstr:["Nästa"]},"No emoji found":{msgid:"No emoji found",msgstr:["Hittade inga emojis"]},"No results":{msgid:"No results",msgstr:["Inga resultat"]},Objects:{msgid:"Objects",msgstr:["Objekt"]},"Pause slideshow":{msgid:"Pause slideshow",msgstr:["Pausa bildspelet"]},"People & Body":{msgid:"People & Body",msgstr:["Kropp & Själ"]},"Pick an emoji":{msgid:"Pick an emoji",msgstr:["Välj en emoji"]},Previous:{msgid:"Previous",msgstr:["Föregående"]},Search:{msgid:"Search",msgstr:["Sök"]},"Search results":{msgid:"Search results",msgstr:["Sökresultat"]},"Select a tag":{msgid:"Select a tag",msgstr:["Välj en tag"]},Settings:{msgid:"Settings",msgstr:["Inställningar"]},"Settings navigation":{msgid:"Settings navigation",msgstr:["Inställningsmeny"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",msgstr:["Selfies & Känslor"]},"Start slideshow":{msgid:"Start slideshow",msgstr:["Starta bildspelet"]},Symbols:{msgid:"Symbols",msgstr:["Symboler"]},"Travel & Places":{msgid:"Travel & Places",msgstr:["Resor & Sevärdigheter"]},"Unable to search the group":{msgid:"Unable to search the group",msgstr:["Kunde inte söka i gruppen"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",msgstr:["Skicka meddelande, skriv @ för att omnämna någon ..."]}}}}},{locale:"tr",json:{charset:"utf-8",headers:{"Last-Translator":"Kaya Zeren <kayazeren@gmail.com>, 2020","Language-Team":"Turkish (https://www.transifex.com/nextcloud/teams/64236/tr/)","Content-Type":"text/plain; charset=UTF-8",Language:"tr","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nKemal Oktay Aktoğan <oktayaktogan@gmail.com>, 2020\nabc Def <hdogan1974@gmail.com>, 2020\nKaya Zeren <kayazeren@gmail.com>, 2020\n"},msgstr:["Last-Translator: Kaya Zeren <kayazeren@gmail.com>, 2020\nLanguage-Team: Turkish (https://www.transifex.com/nextcloud/teams/64236/tr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: tr\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (görünmez)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (kısıtlı)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:254"},msgstr:["İşlemler"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["Etkinlikler"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["Hayvanlar ve Doğa"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Seçin"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Kapat"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["Özel"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["Bayraklar"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["Yeme ve İçme"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["Sık kullanılanlar"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:254"},msgstr:["{count} karakter ileti sınırına ulaşıldı"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Sonraki"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["Herhangi bir emoji bulunamadı"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Herhangi bir sonuç bulunamadı"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["Nesneler"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Slayt sunumunu duraklat"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["İnsanlar ve Beden"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["Bir emoji seçin"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Önceki"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["Arama"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["Arama sonuçları"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Bir etiket seçin"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:57"},msgstr:["Ayarlar"]},"Settings navigation":{msgid:"Settings navigation",comments:{reference:"src/components/AppSettingsDialog/AppSettingsDialog.vue:106"},msgstr:["Gezinme ayarları"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["İfadeler ve Duygular"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Slayt sunumunu başlat"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["Simgeler"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["Gezi ve Yerler"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["Grupta arama yapılamadı"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:151"},msgstr:["İletiyi yazın. Birini anmak için @ kullanın …"]}}}}},{locale:"uk",json:{charset:"utf-8",headers:{"Last-Translator":"Oleksa Stasevych <oleksiy.stasevych@gmail.com>, 2020","Language-Team":"Ukrainian (https://www.transifex.com/nextcloud/teams/64236/uk/)","Content-Type":"text/plain; charset=UTF-8",Language:"uk","Plural-Forms":"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nOleksa Stasevych <oleksiy.stasevych@gmail.com>, 2020\n"},msgstr:["Last-Translator: Oleksa Stasevych <oleksiy.stasevych@gmail.com>, 2020\nLanguage-Team: Ukrainian (https://www.transifex.com/nextcloud/teams/64236/uk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: uk\nPlural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (invisible)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (restricted)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:249"},msgstr:["Дії"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["Діяльність"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["Тварини та природа"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["Виберіть"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["Закрити"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["Власне"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["Прапори"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["Їжа та напитки"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["Найчастіші"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["Вперед"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["Емоційки відсутні"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["Відсутні результати"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["Об'єкти"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Пауза у показі слайдів"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["Люди та жести"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["Виберіть емоційку"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["Назад"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["Пошук"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["Результати пошуку"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["Виберіть позначку"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:53"},msgstr:["Налаштування"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["Усміхайлики та емоційки"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["Почати показ слайдів"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["Символи"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["Поїздки та місця"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["Неможливо шукати в групі"]}}}}},{locale:"zh_CN",json:{charset:"utf-8",headers:{"Last-Translator":"tranxde, 2020","Language-Team":"Chinese (China) (https://www.transifex.com/nextcloud/teams/64236/zh_CN/)","Content-Type":"text/plain; charset=UTF-8",Language:"zh_CN","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nSleepyJesse <Jesse_Xu@live.com>, 2020\nJianming Liang <fuufuukun@163.com>, 2020\nPascal Janus <pascal_janus@163.com>, 2020\nToms Project <tom@projectoms.com>, 2020\ntranxde, 2020\n"},msgstr:["Last-Translator: tranxde, 2020\nLanguage-Team: Chinese (China) (https://www.transifex.com/nextcloud/teams/64236/zh_CN/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: zh_CN\nPlural-Forms: nplurals=1; plural=0;\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:170"},msgstr:["{tag} (不可见)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:173"},msgstr:["{tag} (受限)"]},Actions:{msgid:"Actions",comments:{reference:"src/components/Actions/Actions.vue:254"},msgstr:["行为"]},Activities:{msgid:"Activities",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:176"},msgstr:["活动"]},"Animals & Nature":{msgid:"Animals & Nature",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:174"},msgstr:["动物 & 自然"]},Choose:{msgid:"Choose",comments:{reference:"src/components/ColorPicker/ColorPicker.vue:145"},msgstr:["选择"]},Close:{msgid:"Close",comments:{reference:"src/components/Modal/Modal.vue:117"},msgstr:["关闭"]},Custom:{msgid:"Custom",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:181"},msgstr:["自定义"]},Flags:{msgid:"Flags",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:180"},msgstr:["旗帜"]},"Food & Drink":{msgid:"Food & Drink",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:175"},msgstr:["食物 & 饮品"]},"Frequently used":{msgid:"Frequently used",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:171"},msgstr:["经常使用"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:254"},msgstr:["已达到 {count} 个字符的消息限制"]},Next:{msgid:"Next",comments:{reference:"src/components/Modal/Modal.vue:166"},msgstr:["下一个"]},"No emoji found":{msgid:"No emoji found",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:168"},msgstr:["表情未找到"]},"No results":{msgid:"No results",comments:{reference:"src/components/Multiselect/Multiselect.vue:174\nsrc/components/MultiselectTags/MultiselectTags.vue:78\nsrc/components/SettingsSelectGroup/SettingsSelectGroup.vue:38"},msgstr:["无结果"]},Objects:{msgid:"Objects",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:178"},msgstr:["物体"]},"Pause slideshow":{msgid:"Pause slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["暂停幻灯片"]},"People & Body":{msgid:"People & Body",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:173"},msgstr:["人 & 身体"]},"Pick an emoji":{msgid:"Pick an emoji",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:153"},msgstr:["选择一个表情"]},Previous:{msgid:"Previous",comments:{reference:"src/components/Modal/Modal.vue:144"},msgstr:["上一个"]},Search:{msgid:"Search",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:167"},msgstr:["搜索"]},"Search results":{msgid:"Search results",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:170"},msgstr:["搜索结果"]},"Select a tag":{msgid:"Select a tag",comments:{reference:"src/components/MultiselectTags/MultiselectTags.vue:100"},msgstr:["选择一个标签"]},Settings:{msgid:"Settings",comments:{reference:"src/components/AppNavigationSettings/AppNavigationSettings.vue:57"},msgstr:["设置"]},"Settings navigation":{msgid:"Settings navigation",comments:{reference:"src/components/AppSettingsDialog/AppSettingsDialog.vue:106"},msgstr:["设置向导"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:172"},msgstr:["笑脸 & 情感"]},"Start slideshow":{msgid:"Start slideshow",comments:{reference:"src/components/Modal/Modal.vue:302"},msgstr:["开始幻灯片"]},Symbols:{msgid:"Symbols",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:179"},msgstr:["符号"]},"Travel & Places":{msgid:"Travel & Places",comments:{reference:"src/components/EmojiPicker/EmojiPicker.vue:177"},msgstr:["旅游 & 地点"]},"Unable to search the group":{msgid:"Unable to search the group",comments:{reference:"src/components/SettingsSelectGroup/SettingsSelectGroup.vue:143"},msgstr:["无法搜索分组"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",comments:{reference:"src/components/RichContenteditable/RichContenteditable.vue:151"},msgstr:["输入消息,输入 @ 来提醒某人"]}}}}},{locale:"zh_HK",json:{charset:"utf-8",headers:{"Last-Translator":"Café Tango, 2021","Language-Team":"Chinese (Hong Kong) (https://www.transifex.com/nextcloud/teams/64236/zh_HK/)","Content-Type":"text/plain; charset=UTF-8",Language:"zh_HK","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nCafé Tango, 2021\n"},msgstr:["Last-Translator: Café Tango, 2021\nLanguage-Team: Chinese (Hong Kong) (https://www.transifex.com/nextcloud/teams/64236/zh_HK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: zh_HK\nPlural-Forms: nplurals=1; plural=0;\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",msgstr:["{tag} (隱藏)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",msgstr:["{tag} (受限)"]},Actions:{msgid:"Actions",msgstr:["動作"]},Activities:{msgid:"Activities",msgstr:["活動"]},"Animals & Nature":{msgid:"Animals & Nature",msgstr:["動物與自然"]},Choose:{msgid:"Choose",msgstr:["選擇"]},Close:{msgid:"Close",msgstr:["關閉"]},Custom:{msgid:"Custom",msgstr:["自定義"]},Flags:{msgid:"Flags",msgstr:["旗幟"]},"Food & Drink":{msgid:"Food & Drink",msgstr:["食物與飲料"]},"Frequently used":{msgid:"Frequently used",msgstr:["經常使用"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",msgstr:["已達到訊息最多 {count} 字元限制"]},Next:{msgid:"Next",msgstr:["下一個"]},"No emoji found":{msgid:"No emoji found",msgstr:["未找到表情符號"]},"No results":{msgid:"No results",msgstr:["無結果"]},Objects:{msgid:"Objects",msgstr:["物件"]},"Pause slideshow":{msgid:"Pause slideshow",msgstr:["暫停幻燈片"]},"People & Body":{msgid:"People & Body",msgstr:["人物"]},"Pick an emoji":{msgid:"Pick an emoji",msgstr:["選擇表情符號"]},Previous:{msgid:"Previous",msgstr:["上一個"]},Search:{msgid:"Search",msgstr:["搜尋"]},"Search results":{msgid:"Search results",msgstr:["搜尋結果"]},"Select a tag":{msgid:"Select a tag",msgstr:["選擇標籤"]},Settings:{msgid:"Settings",msgstr:["設定"]},"Settings navigation":{msgid:"Settings navigation",msgstr:["設定值導覽"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",msgstr:["表情"]},"Start slideshow":{msgid:"Start slideshow",msgstr:["開始幻燈片"]},Symbols:{msgid:"Symbols",msgstr:["標誌"]},"Travel & Places":{msgid:"Travel & Places",msgstr:["旅遊與景點"]},"Unable to search the group":{msgid:"Unable to search the group",msgstr:["無法搜尋群組"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",msgstr:["輸入訊息時可使用 @ 來標示某人..."]}}}}},{locale:"zh_TW",json:{charset:"utf-8",headers:{"Last-Translator":"范承豪 <marchfun@smhs.hlc.edu.tw>, 2021","Language-Team":"Chinese (Taiwan) (https://www.transifex.com/nextcloud/teams/64236/zh_TW/)","Content-Type":"text/plain; charset=UTF-8",Language:"zh_TW","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nbyStarTW (pan93412) <pan93412@gmail.com>, 2020\nNatashia Maxins <railroad1987@gmail.com>, 2020\n范承豪 <marchfun@smhs.hlc.edu.tw>, 2021\n"},msgstr:["Last-Translator: 范承豪 <marchfun@smhs.hlc.edu.tw>, 2021\nLanguage-Team: Chinese (Taiwan) (https://www.transifex.com/nextcloud/teams/64236/zh_TW/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: zh_TW\nPlural-Forms: nplurals=1; plural=0;\n"]},"{tag} (invisible)":{msgid:"{tag} (invisible)",msgstr:["{tag} (隱藏)"]},"{tag} (restricted)":{msgid:"{tag} (restricted)",msgstr:["{tag} (受限)"]},Actions:{msgid:"Actions",msgstr:["動作"]},Activities:{msgid:"Activities",msgstr:["活動"]},"Animals & Nature":{msgid:"Animals & Nature",msgstr:["動物與自然"]},Choose:{msgid:"Choose",msgstr:["選擇"]},Close:{msgid:"Close",msgstr:["關閉"]},Custom:{msgid:"Custom",msgstr:["自定義"]},Flags:{msgid:"Flags",msgstr:["旗幟"]},"Food & Drink":{msgid:"Food & Drink",msgstr:["食物與飲料"]},"Frequently used":{msgid:"Frequently used",msgstr:["最近使用"]},"Message limit of {count} characters reached":{msgid:"Message limit of {count} characters reached",msgstr:["已達到訊息最多 {count} 字元限制"]},Next:{msgid:"Next",msgstr:["下一個"]},"No emoji found":{msgid:"No emoji found",msgstr:["未找到表情符號"]},"No results":{msgid:"No results",msgstr:["無結果"]},Objects:{msgid:"Objects",msgstr:["物件"]},"Pause slideshow":{msgid:"Pause slideshow",msgstr:["暫停幻燈片"]},"People & Body":{msgid:"People & Body",msgstr:["人物"]},"Pick an emoji":{msgid:"Pick an emoji",msgstr:["選擇表情符號"]},Previous:{msgid:"Previous",msgstr:["上一個"]},Search:{msgid:"Search",msgstr:["搜尋"]},"Search results":{msgid:"Search results",msgstr:["搜尋結果"]},"Select a tag":{msgid:"Select a tag",msgstr:["選擇標籤"]},Settings:{msgid:"Settings",msgstr:["設定"]},"Settings navigation":{msgid:"Settings navigation",msgstr:["設定值導覽"]},"Smileys & Emotion":{msgid:"Smileys & Emotion",msgstr:["表情"]},"Start slideshow":{msgid:"Start slideshow",msgstr:["開始幻燈片"]},Symbols:{msgid:"Symbols",msgstr:["標誌"]},"Travel & Places":{msgid:"Travel & Places",msgstr:["旅遊與景點"]},"Unable to search the group":{msgid:"Unable to search the group",msgstr:["無法搜尋群組"]},"Write message, @ to mention someone …":{msgid:"Write message, @ to mention someone …",msgstr:["輸入訊息時可使用 @ 來標示某人..."]}}}}}].map((function(e){return o.addTranslation(e.locale,e.json)}));var r=o.build(),i=r.ngettext.bind(r),m=r.gettext.bind(r)},13:function(e,s){e.exports=__webpack_require__(/*! core-js/modules/es.array.map.js */ "./node_modules/core-js/modules/es.array.map.js")},181:function(e,s,t){"use strict";var n=t(0),o=t.n(n),r=t(1),i=t.n(r),m=t(4),c=t.n(m),A=t(8),a=t(9),g=t(10),l=t(11),u=i()(o.a),d=c()(A.a),p=c()(a.a),v=c()(g.a),f=c()(l.a);u.push([e.i,'@font-face{font-family:"iconfont-vue-c9741aa";src:url('+d+");src:url("+d+') format("embedded-opentype"),url('+p+') format("woff"),url('+v+') format("truetype"),url('+f+') format("svg")}.icon[data-v-bff9783c]{font-style:normal;font-weight:400}.icon.arrow-left-double[data-v-bff9783c]:before{font-family:"iconfont-vue-c9741aa";content:""}.icon.arrow-left[data-v-bff9783c]:before{font-family:"iconfont-vue-c9741aa";content:""}.icon.arrow-right-double[data-v-bff9783c]:before{font-family:"iconfont-vue-c9741aa";content:""}.icon.arrow-right[data-v-bff9783c]:before{font-family:"iconfont-vue-c9741aa";content:""}.icon.breadcrumb[data-v-bff9783c]:before{font-family:"iconfont-vue-c9741aa";content:""}.icon.checkmark[data-v-bff9783c]:before{font-family:"iconfont-vue-c9741aa";content:""}.icon.close[data-v-bff9783c]:before{font-family:"iconfont-vue-c9741aa";content:""}.icon.confirm[data-v-bff9783c]:before{font-family:"iconfont-vue-c9741aa";content:""}.icon.info[data-v-bff9783c]:before{font-family:"iconfont-vue-c9741aa";content:""}.icon.menu[data-v-bff9783c]:before{font-family:"iconfont-vue-c9741aa";content:""}.icon.more[data-v-bff9783c]:before{font-family:"iconfont-vue-c9741aa";content:""}.icon.pause[data-v-bff9783c]:before{font-family:"iconfont-vue-c9741aa";content:""}.icon.play[data-v-bff9783c]:before{font-family:"iconfont-vue-c9741aa";content:""}.icon.triangle-s[data-v-bff9783c]:before{font-family:"iconfont-vue-c9741aa";content:""}.icon.user-status-away[data-v-bff9783c]:before{font-family:"iconfont-vue-c9741aa";content:""}.icon.user-status-dnd[data-v-bff9783c]:before{font-family:"iconfont-vue-c9741aa";content:""}.icon.user-status-invisible[data-v-bff9783c]:before{font-family:"iconfont-vue-c9741aa";content:""}.icon.user-status-online[data-v-bff9783c]:before{font-family:"iconfont-vue-c9741aa";content:""}.settings-section[data-v-bff9783c]{display:block;margin-bottom:auto;padding:30px}.settings-section[data-v-bff9783c]:not(:last-child){border-bottom:1px solid var(--color-border)}.settings-section__title[data-v-bff9783c]{display:inline-flex;align-items:center;justify-content:center;font-size:20px;font-weight:bold}.settings-section__info[data-v-bff9783c]{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:-14px;margin-left:0;opacity:.7;font-size:16px}.settings-section__info[data-v-bff9783c]:before{font-family:"iconfont-vue-c9741aa";font-style:normal;font-weight:400;content:""}.settings-section__info[data-v-bff9783c]:hover,.settings-section__info[data-v-bff9783c]:focus,.settings-section__info[data-v-bff9783c]:active{opacity:1}.settings-section__desc[data-v-bff9783c]{margin-top:-0.2em;margin-bottom:1em;opacity:.7}\n',"",{version:3,sources:["webpack://./../../fonts/scss/iconfont-vue.scss","webpack://./SettingsSection.vue","webpack://./../../assets/variables.scss"],names:[],mappings:"AA2FE,WACC,kCAAmC,CACnC,2CAAuC,CACvC,+OAGmD,CAMpD,uBACE,iBAAkB,CAClB,eAAgB,CAFlB,gDAMM,kCAAmC,CACnC,WA5Ge,CAAO,yCA0GL,kCACJ,CAAsB,WA1G3B,CAAA,iDAyGU,kCACL,CAAA,WAzGG,CAAA,0CAwGL,kCACE,CAAA,WAxGJ,CAAA,yCAuGC,kCACG,CAAA,WACN,CAxGC,wCAsGC,kCACI,CAAA,WACb,CAAO,oCAFF,kCACQ,CAAA,WACb,CAAA,sCAFO,kCACM,CAAA,WACb,CAAA,mCAFI,kCACS,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WACb,CAAA,oCAPD,kCAMc,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WAAsB,CACnC,yCAPD,kCAMc,CAAA,WAAA,CAAsB,+CANpC,kCAMc,CAAA,WAAA,CAAA,8CANd,kCAMc,CAAA,WAAA,CAAA,oDANd,kCAMc,CAAA,WAAA,CAAA,iDANd,kCAMc,CAAA,WAAA,CAAA,mCCTrB,aAAA,CAAA,kBAEC,CAAA,YAAa,CAAE,oDAFC,2CAMU,CAAA,0CACzB,mBAGA,CAAA,kBACA,CAAA,sBACA,CAAA,cAAiB,CAAA,gBACN,CAAI,yCAEf,YAAA,CAAA,kBAIA,CAAA,sBACA,CAAA,UAAe,CAAE,WACjB,CAAK,YACC,CCjGS,aAQH,CAAA,UD4FZ,CAAA,cACO,CCnFQ,gDD0Ef,kCDpHD,CAAA,iBAAsB,CAkFnB,eAAY,CAAA,WACZ,CAAA,8ICiCF,SAAA,CAAA,yCAgBC,iBAAA,CAGK,iBACM,CAAM,UAClB",sourcesContent:['$__iconfont__data: map-merge(if(global_variable_exists(\'__iconfont__data\'), $__iconfont__data, ()), (\n\t"iconfont-vue-c9741aa": (\n\t\t"arrow-left-double": "\\ea01",\n\t\t"arrow-left": "\\ea02",\n\t\t"arrow-right-double": "\\ea03",\n\t\t"arrow-right": "\\ea04",\n\t\t"breadcrumb": "\\ea05",\n\t\t"checkmark": "\\ea06",\n\t\t"close": "\\ea07",\n\t\t"confirm": "\\ea08",\n\t\t"info": "\\ea09",\n\t\t"menu": "\\ea0a",\n\t\t"more": "\\ea0b",\n\t\t"pause": "\\ea0c",\n\t\t"play": "\\ea0d",\n\t\t"triangle-s": "\\ea0e",\n\t\t"user-status-away": "\\ea0f",\n\t\t"user-status-dnd": "\\ea10",\n\t\t"user-status-invisible": "\\ea11",\n\t\t"user-status-online": "\\ea12"\n\t)\n));\n\n\n$create-font-face: true !default; // should the @font-face tag get created?\n\n// should there be a custom class for each icon? will be .filename\n$create-icon-classes: true !default; \n\n// what is the common class name that icons share? in this case icons need to have .icon.filename in their classes\n// this requires you to have 2 classes on each icon html element, but reduced redeclaration of the font family\n// for each icon\n$icon-common-class: \'icon\' !default;\n\n// if you whish to prefix your filenames, here you can do so.\n// if this string stays empty, your classes will use the filename, for example\n// an icon called star.svg will result in a class called .star\n// if you use the prefix to be \'icon-\' it would result in .icon-star\n$icon-prefix: \'\' !default; \n\n// helper function to get the correct font group\n@function iconfont-group($group: null) {\n @if (null == $group) {\n $group: nth(map-keys($__iconfont__data), 1);\n }\n @if (false == map-has-key($__iconfont__data, $group)) {\n @warn \'Undefined Iconfont Family!\';\n @return ();\n }\n @return map-get($__iconfont__data, $group);\n}\n\n// helper function to get the correct icon of a group\n@function iconfont-item($name) {\n $slash: str-index($name, \'/\');\n $group: null;\n @if ($slash) {\n $group: str-slice($name, 0, $slash - 1);\n $name: str-slice($name, $slash + 1);\n } @else {\n $group: nth(map-keys($__iconfont__data), 1);\n }\n $group: iconfont-group($group);\n @if (false == map-has-key($group, $name)) {\n @warn \'Undefined Iconfont Glyph!\';\n @return \'\';\n }\n @return map-get($group, $name);\n}\n\n// complete mixing to include the icon\n// usage:\n// .my_icon{ @include iconfont(\'star\') }\n@mixin iconfont($icon) {\n $slash: str-index($icon, \'/\');\n $group: null;\n @if ($slash) {\n $group: str-slice($icon, 0, $slash - 1);\n } @else {\n $group: nth(map-keys($__iconfont__data), 1);\n }\n &:before {\n font-family: $group;\n font-style: normal;\n font-weight: 400;\n content: iconfont-item($icon);\n }\n}\n\n// creates the font face tag if the variable is set to true (default)\n@if $create-font-face == true {\n @font-face {\n font-family: "iconfont-vue-c9741aa";\n src: url(\'../iconfont-vue-c9741aa.eot\'); /* IE9 Compat Modes */\n src: url(\'../iconfont-vue-c9741aa.eot?#iefix\') format(\'embedded-opentype\'), /* IE6-IE8 */\n url(\'../iconfont-vue-c9741aa.woff\') format(\'woff\'), /* Pretty Modern Browsers */\n url(\'../iconfont-vue-c9741aa.ttf\') format(\'truetype\'), /* Safari, Android, iOS */\n url(\'../iconfont-vue-c9741aa.svg\') format(\'svg\'); /* Legacy iOS */\n }\n}\n\n// creates icon classes for each individual loaded svg (default)\n@if $create-icon-classes == true {\n .#{$icon-common-class} {\n font-style: normal;\n font-weight: 400;\n\n @each $icon, $content in map-get($__iconfont__data, "iconfont-vue-c9741aa") {\n &.#{$icon-prefix}#{$icon}:before {\n font-family: "iconfont-vue-c9741aa";\n content: iconfont-item("iconfont-vue-c9741aa/#{$icon}");\n }\n }\n }\n}\n',"$scope_version:\"c9741aa\"; @import 'variables';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import '../../fonts/scss/iconfont-vue';\n\n.settings-section {\n\tdisplay: block;\n\tmargin-bottom: auto;\n\tpadding: 30px;\n\n\t&:not(:last-child) {\n\t\tborder-bottom: 1px solid var(--color-border);\n\t}\n\n\t&__title {\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tfont-size: 20px;\n\t\tfont-weight: bold;\n\t}\n\n\t&__info {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: $clickable-area;\n\t\theight: $clickable-area;\n\t\t// make sure to properly align the icon with the text\n\t\tmargin: -$icon-margin;\n\t\tmargin-left: 0;\n\t\topacity: $opacity_normal;\n\t\tfont-size: $icon-size;\n\n\t\t@include iconfont('info');\n\n\t\t&:hover, &:focus, &:active {\n\t\t\topacity: $opacity_full;\n\t\t}\n\t}\n\n\t&__desc {\n\t\tmargin-top: -0.2em;\n\t\tmargin-bottom: 1em;\n\t\topacity: $opacity_normal;\n\t}\n}\n\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: ($clickable-area - $icon-size) / 2;\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n"],sourceRoot:""}]),s.a=u},182:function(e,s){},2:function(e,s,t){"use strict";var n,o=function(){return void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n},r=function(){var e={};return function(s){if(void 0===e[s]){var t=document.querySelector(s);if(window.HTMLIFrameElement&&t instanceof window.HTMLIFrameElement)try{t=t.contentDocument.head}catch(e){t=null}e[s]=t}return e[s]}}(),i=[];function m(e){for(var s=-1,t=0;t<i.length;t++)if(i[t].identifier===e){s=t;break}return s}function c(e,s){for(var t={},n=[],o=0;o<e.length;o++){var r=e[o],c=s.base?r[0]+s.base:r[0],A=t[c]||0,a="".concat(c," ").concat(A);t[c]=A+1;var g=m(a),l={css:r[1],media:r[2],sourceMap:r[3]};-1!==g?(i[g].references++,i[g].updater(l)):i.push({identifier:a,updater:v(l,s),references:1}),n.push(a)}return n}function A(e){var s=document.createElement("style"),n=e.attributes||{};if(void 0===n.nonce){var o=t.nc;o&&(n.nonce=o)}if(Object.keys(n).forEach((function(e){s.setAttribute(e,n[e])})),"function"==typeof e.insert)e.insert(s);else{var i=r(e.insert||"head");if(!i)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");i.appendChild(s)}return s}var a,g=(a=[],function(e,s){return a[e]=s,a.filter(Boolean).join("\n")});function l(e,s,t,n){var o=t?"":n.media?"@media ".concat(n.media," {").concat(n.css,"}"):n.css;if(e.styleSheet)e.styleSheet.cssText=g(s,o);else{var r=document.createTextNode(o),i=e.childNodes;i[s]&&e.removeChild(i[s]),i.length?e.insertBefore(r,i[s]):e.appendChild(r)}}function u(e,s,t){var n=t.css,o=t.media,r=t.sourceMap;if(o?e.setAttribute("media",o):e.removeAttribute("media"),r&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r))))," */")),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}var d=null,p=0;function v(e,s){var t,n,o;if(s.singleton){var r=p++;t=d||(d=A(s)),n=l.bind(null,t,r,!1),o=l.bind(null,t,r,!0)}else t=A(s),n=u.bind(null,t,s),o=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)};return n(e),function(s){if(s){if(s.css===e.css&&s.media===e.media&&s.sourceMap===e.sourceMap)return;n(e=s)}else o()}}e.exports=function(e,s){(s=s||{}).singleton||"boolean"==typeof s.singleton||(s.singleton=o());var t=c(e=e||[],s);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var n=0;n<t.length;n++){var o=m(t[n]);i[o].references--}for(var r=c(e,s),A=0;A<t.length;A++){var a=m(t[A]);0===i[a].references&&(i[a].updater(),i.splice(a,1))}t=r}}}},214:function(e,s,t){"use strict";t.r(s);t(31),t(37);var n={name:"SettingsSection",components:{},mixins:[t(42).a],props:{title:{type:String,required:!0},description:{type:String,default:""},docUrl:{type:String,default:""}},computed:{hasDescription:function(){return this.description.length>0},hasDocUrl:function(){return this.docUrl.length>0}}},o=t(2),r=t.n(o),i=t(181),m={insert:"head",singleton:!1},c=(r()(i.a,m),i.a.locals,t(3)),A=t(182),a=t.n(A),g=Object(c.a)(n,(function(){var e=this,s=e.$createElement,t=e._self._c||s;return t("div",{staticClass:"settings-section"},[t("h2",{staticClass:"settings-section__title"},[e._v("\n\t\t"+e._s(e.title)+"\n\t\t"),e.hasDocUrl?t("a",{staticClass:"settings-section__info",attrs:{href:e.docUrl,role:"",title:e.t("External documentation for {title}",{title:e.title})}}):e._e()]),e._v(" "),e.hasDescription?t("p",{staticClass:"settings-section__desc"},[e._v("\n\t\t"+e._s(e.description)+"\n\t")]):e._e(),e._v(" "),e._t("default")],2)}),[],!1,null,"bff9783c",null);"function"==typeof a.a&&a()(g);var l=g.exports;
|
||
/**
|
||
* @copyright Copyright (c) 2019 Greta Doci <gretadoci@gmail.com>
|
||
*
|
||
* @author Greta Doci <gretadoci@gmail.com>
|
||
*
|
||
* @license GNU AGPL version 3 or any later version
|
||
*
|
||
* This program is free software: you can redistribute it and/or modify
|
||
* it under the terms of the GNU Affero General Public License as
|
||
* published by the Free Software Foundation, either version 3 of the
|
||
* License, or (at your option) any later version.
|
||
*
|
||
* This program is distributed in the hope that it will be useful,
|
||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
* GNU Affero General Public License for more details.
|
||
*
|
||
* You should have received a copy of the GNU Affero General Public License
|
||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||
*
|
||
*/s.default=l},3:function(e,s,t){"use strict";function n(e,s,t,n,o,r,i,m){var c,A="function"==typeof e?e.options:e;if(s&&(A.render=s,A.staticRenderFns=t,A._compiled=!0),n&&(A.functional=!0),r&&(A._scopeId="data-v-"+r),i?(c=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),o&&o.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(i)},A._ssrRegister=c):o&&(c=m?function(){o.call(this,(A.functional?this.parent:this).$root.$options.shadowRoot)}:o),c)if(A.functional){A._injectStyles=c;var a=A.render;A.render=function(e,s){return c.call(s),a(e,s)}}else{var g=A.beforeCreate;A.beforeCreate=g?[].concat(g,c):[c]}return{exports:e,options:A}}t.d(s,"a",(function(){return n}))},31:function(e,s){e.exports=__webpack_require__(/*! core-js/modules/es.symbol.js */ "./node_modules/core-js/modules/es.symbol.js")},32:function(e,s){e.exports=__webpack_require__(/*! @nextcloud/l10n/dist/gettext */ "./node_modules/@nextcloud/l10n/dist/gettext.js")},37:function(e,s){e.exports=__webpack_require__(/*! core-js/modules/es.symbol.description.js */ "./node_modules/core-js/modules/es.symbol.description.js")},4:function(e,s,t){"use strict";e.exports=function(e,s){return s||(s={}),"string"!=typeof(e=e&&e.__esModule?e.default:e)?e:(/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),s.hash&&(e+=s.hash),/["'() \t\n]/.test(e)||s.needQuotes?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e)}},42:function(e,s,t){"use strict";var n=t(12);s.a={methods:{n:n.a,t:n.b}}},8:function(e,s,t){"use strict";s.a="data:application/vnd.ms-fontobject;base64,rg8AAOQOAAABAAIAAAAAAAIABQMAAAAAAAABQJABAAAAAExQAAAAABAAAAAAAAAAAAAAAAAAAAEAAAAAc7mhmgAAAAAAAAAAAAAAAAAAAAAAACgAAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AYwA5ADcANAAxAGEAYQAAAAAAABYAAFYAZQByAHMAaQBvAG4AIAAxAC4AMAAAKAAAaQBjAG8AbgBmAG8AbgB0AC0AdgB1AGUALQBjADkANwA0ADEAYQBhAAAAAAABAAAACgCAAAMAIE9TLzJ044/RAAAArAAAAGBjbWFwAA3ruAAAAQwAAAFCZ2x5ZsdHOUwAAAJQAAAH/GhlYWQrRzeoAAAKTAAAADZoaGVhJv0ThQAACoQAAAAkaG10eGe+//8AAAqoAAAANGxvY2ENvA9mAAAK3AAAAChtYXhwASAAVwAACwQAAAAgbmFtZUEOewcAAAskAAACpnBvc3Q/VL7XAAANzAAAARYABBLKAZAABQAADGUNrAAAArwMZQ2sAAAJYAD1BQoAAAIABQMAAAAAAAAAAAAAEAAAAAAAAAAAAAAAUGZFZABA6gHqEhOIAAABwhOIAAAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQAAAAAAPAADAAEAAAAcAAQAIAAAAAQABAABAADqEv//AADqAf//FgAAAQAAAAAAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAOpg9DAAUACwAACQIRCQQRCQEOpvqCBX77ugRG+oL6ggV++7oERg9C+oL6ggE4BEYERgE4+oL6ggE4BEYERgABAAAAAA1uElAABQAACQERCQERBhsHU/d0CIwJxPit/sgIiwiM/scAAgAAAAAP3w9DAAUACwAACQIRCQQRCQEE4gV++oIERvu6BX4Ff/qBBEb7ugRGBX4Ffv7I+7r7uv7IBX4Ffv7I+7r7ugABAAAAAA6mElAABQAACQERCQERDW74rQiL93UJxAdTATn3dPd1ATgAAQAAAAAGNxOIAAUAABMHCQEXAZSUBXL6jpQFoxOIVfaR9pFVCcQAAAEAAAAAEYcPgwAFAAAJBQ/N9/P7+/5GBb8Jxw+D9/MEBf5H+kEJxgABAAAAABEXERcACwAACQsRF/3t+sD6wP3tBUD6wAITBUAFQAIT+sAEhP3tBUD6wAITBUAFQAIT+sAFQP3t+sAAAf//AAATkxLsADMAAAEiBw4BFxYXASEmBwYHBgcGFBcWFxYXFjchAQYHBhcWFx4BFxYXFjc2NwE2NzYnJicBLgEKYGVPSkYQEkgF1/HgTT46KScUFBQUJyk6Pk0OIPopNxoYAwMbGVY1Nzs+Oj81B+07FRUUFTz4Eyx0Euw5NKxZYEf6KgEbGC4sOTh4ODksLhgbAvopNT87Pjo3NlYZGgMDGBk4B+w8UVBPUjwH7C0yAAAAAgAAAAAOphJQABgARgAAASIHDgEHBhQXHgEXFjI3PgE3NjQnLgEnJgEiBwYHBhQXFhcWMyERISIHBgcGFBcWFxY3ITI3Njc2NCcmJyYjIRE0JyYnJiMJdm9mYpgpKyspmGJm3mZilyorKyqXYmb8NlZIRykrKylHSFYCcf2PVkhHKSsrKUdIVgdTVUhHKSsrKUdIVf2PKylHSVUSUCsql2Nl32VimCkrKymYYmXfZWOXKiv55SspR0irSEcpK/nmKylHSapJRykrASopR0mqSUcpKwdTVUhHKSsAAAMAAAAAERcRFwADAAcACwAAAREhEQERIREBESERAnEOpvFaDqbxWg6mERf9jwJx+eb9jwJx+eX9jwJxAAMAAAAAEp4L5wAYADEASgAAATIXHgEXFhQHDgEHBiInLgEnJjQ3PgE3NiEyFx4BFxYUBw4BBwYiJy4BJyY0Nz4BNzYhMhceARcWFAcOAQcGIicuAScmNDc+ATc2Aw1wZWKYKSsrKZhiZd9mYpcqKysql2JmByZvZmKXKisrKpdiZt5mYpcqKysql2JmByZvZmKXKisrKpdiZt9lYpgpKyspmGJlC+crKpdiZt5mYpcqKysql2Jm3mZilyorKyqXYmbeZmKXKisrKpdiZt5mYpcqKysql2Jm3mZilyorKyqXYmbeZmKXKisAAAAAAgAAAAAP3w/fAAMABwAAAREhESERIREDqgTiAnEE4g/f88sMNfPLDDUAAAABAAAAABEXERcAAgAACQICcQ6m8VoRF/it+K0AAQAAAAAOpgw1AAIAAAkCBOIE4gTiDDX7HgTgAAH/4AAAE2kTaQAxAAABBAUEBQQDAgMCERATEhMSBQQFBCEgJSQlJBMSExITBgAFBCEgJSQnJicmAwIREBMSAAhs/pj+sf66/u3+7sbKa26Ae+nlATkBPAFyAX4BlgFxAWEBVgEuASrr7JmcOLz+Kf75/vP+6v6+/s7+2f37uLtjZ1BOAScTaS6Xk+nn/tf+0/6r/p/+j/5q/oL+jv7E/sfl6HyAa2jFwgENAQ4BQwFLAWnM/tpOUGdju7j7/QEnATIBQgElARMBDQHLAAIAAAAAE4gTiAAkAEAAAAEgBQQFBAMCAwIQExITEgUEBQQgJSQlJBMSExIQAwIDAiUkJSQBITIXHgEXFhQHDgEHBiMhIicuAScmNDc+ATc2CcT+av6C/o7+xP7H5eh8gIB86OUBOQE8AXIBfgMsAX4BcgE8ATnl6HyAgHzo5f7H/sT+jv6C+sEHU1tXVIQkJiYkhFRXW/itXFdUhCQmJiSEVFcTiIB86OX+x/7E/o7+gvzU/oL+jv7E/sfl6HyAgHzo5QE5ATwBcgF+AywBfgFyATwBOeXofID4ESYlhFNXuFdThCUmJiWEU1e4V1OEJSYAAAACAAAAABOIE4gAJAA9AAABIAUEBQQDAgMCEBMSExIFBAUEICUkJSQTEhMSEAMCAwIlJCUkASAFBAATEhADAgAFBCAlJAADAhATEgAlJAnE/mr+gv6O/sT+x+XofICAfOjlATkBPAFyAX4DLAF+AXIBPAE55eh8gIB86OX+x/7E/o7+gv5qATcBFwEPAZtwdHRw/mX+8f7p/ZL+6f7x/mVwdHRwAZsBDwEXE4iAfOjl/sf+xP6O/oL81P6C/o7+xP7H5eh8gIB86OUBOQE8AXIBfgMsAX4BcgE8ATnl6HyA/Bh0cP5l/vH+6f2S/un+8f5lcHR0cAGbAQ8BFwJuARcBDwGbcHQAAAACAAAAABOIE4gAAwAoAAABIREhASAFBAUEAwIDAhATEhMSBQQFBCAlJCUkExITEhADAgMCJSQlJAXcB9D4MAPo/mr+gv6O/sT+x+XofICAfOjlATkBPAFyAX4DLAF+AXIBPAE55eh8gIB86OX+x/7E/o7+ggXcB9AF3IB86OX+x/7E/o7+gvzU/oL+jv7E/sfl6HyAgHzo5QE5ATwBcgF+AywBfgFyATwBOeXofIAAAAEAAAABAACaoblzXw889QALE4gAAAAA3INXzQAAAADcMnvO/+AAABOTE4gAAAAIAAIAAAAAAAAAAQAAE4gAAAAAE4j/4P/1E5MAAQAAAAAAAAAAAAAAAAAAAAcAAAAAE4gAABOIAAATiAAAE4gAAAY2AAATiAAAAAD//wAAAAAAAAAAAAAAAP/gAAAAAAAAAAAAAAAiADYAWABsAIAAlAC0AQ4BfAGaAhACJgI0AkICqAMiA6YD/gABAAAAEwBLAAMAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAAAEADGAAEAAAAAAAEAFAAAAAEAAAAAAAIABwAUAAEAAAAAAAMAFAAbAAEAAAAAAAQAFAAvAAEAAAAAAAUACwBDAAEAAAAAAAYAFABOAAEAAAAAAAoAKwBiAAEAAAAAAAsAEwCNAAMAAQQJAAEAKACgAAMAAQQJAAIADgDIAAMAAQQJAAMAKADWAAMAAQQJAAQAKAD+AAMAAQQJAAUAFgEmAAMAAQQJAAYAKAE8AAMAAQQJAAoAVgFkAAMAAQQJAAsAJgG6aWNvbmZvbnQtdnVlLWM5NzQxYWFSZWd1bGFyaWNvbmZvbnQtdnVlLWM5NzQxYWFpY29uZm9udC12dWUtYzk3NDFhYVZlcnNpb24gMS4waWNvbmZvbnQtdnVlLWM5NzQxYWFHZW5lcmF0ZWQgYnkgc3ZnMnR0ZiBmcm9tIEZvbnRlbGxvIHByb2plY3QuaHR0cDovL2ZvbnRlbGxvLmNvbQBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtAGMAOQA3ADQAMQBhAGEAUgBlAGcAdQBsAGEAcgBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtAGMAOQA3ADQAMQBhAGEAaQBjAG8AbgBmAG8AbgB0AC0AdgB1AGUALQBjADkANwA0ADEAYQBhAFYAZQByAHMAaQBvAG4AIAAxAC4AMABpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtAGMAOQA3ADQAMQBhAGEARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAgAAAAAAAAAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwATAAABAgEDAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMRYXJyb3ctbGVmdC1kb3VibGUKYXJyb3ctbGVmdBJhcnJvdy1yaWdodC1kb3VibGULYXJyb3ctcmlnaHQKYnJlYWRjcnVtYgljaGVja21hcmsFY2xvc2UHY29uZmlybQRpbmZvBG1lbnUEbW9yZQVwYXVzZQRwbGF5CnRyaWFuZ2xlLXMQdXNlci1zdGF0dXMtYXdheQ91c2VyLXN0YXR1cy1kbmQVdXNlci1zdGF0dXMtaW52aXNpYmxlEnVzZXItc3RhdHVzLW9ubGluZQAA"},9:function(e,s,t){"use strict";s.a="data:font/woff;base64,d09GRgABAAAAAA8sAAoAAAAADuQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAAA9AAAAGAAAABgdOOP0WNtYXAAAAFUAAABQgAAAUIADeu4Z2x5ZgAAApgAAAf8AAAH/MdHOUxoZWFkAAAKlAAAADYAAAA2K0c3qGhoZWEAAArMAAAAJAAAACQm/ROFaG10eAAACvAAAAA0AAAANGe+//9sb2NhAAALJAAAACgAAAAoDbwPZm1heHAAAAtMAAAAIAAAACABIABXbmFtZQAAC2wAAAKmAAACpkEOewdwb3N0AAAOFAAAARYAAAEWP1S+1wAEEsoBkAAFAAAMZQ2sAAACvAxlDawAAAlgAPUFCgAAAgAFAwAAAAAAAAAAAAAQAAAAAAAAAAAAAABQZkVkAEDqAeoSE4gAAAHCE4gAAAAAAAEAAAAAAAAAAAAAACAAAAAAAAMAAAADAAAAHAABAAAAAAA8AAMAAQAAABwABAAgAAAABAAEAAEAAOoS//8AAOoB//8WAAABAAAAAAAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAA6mD0MABQALAAAJAhEJBBEJAQ6m+oIFfvu6BEb6gvqCBX77ugRGD0L6gvqCATgERgRGATj6gvqCATgERgRGAAEAAAAADW4SUAAFAAAJAREJAREGGwdT93QIjAnE+K3+yAiLCIz+xwACAAAAAA/fD0MABQALAAAJAhEJBBEJAQTiBX76ggRG+7oFfgV/+oEERvu6BEYFfgV+/sj7uvu6/sgFfgV+/sj7uvu6AAEAAAAADqYSUAAFAAAJAREJARENbvitCIv3dQnEB1MBOfd093UBOAABAAAAAAY3E4gABQAAEwcJARcBlJQFcvqOlAWjE4hV9pH2kVUJxAAAAQAAAAARhw+DAAUAAAkFD8338/v7/kYFvwnHD4P38wQF/kf6QQnGAAEAAAAAERcRFwALAAAJCxEX/e36wPrA/e0FQPrAAhMFQAVAAhP6wASE/e0FQPrAAhMFQAVAAhP6wAVA/e36wAAB//8AABOTEuwAMwAAASIHDgEXFhcBISYHBgcGBwYUFxYXFhcWNyEBBgcGFxYXHgEXFhcWNzY3ATY3NicmJwEuAQpgZU9KRhASSAXX8eBNPjopJxQUFBQnKTo+TQ4g+ik3GhgDAxsZVjU3Oz46PzUH7TsVFRQVPPgTLHQS7Dk0rFlgR/oqARsYLiw5OHg4OSwuGBsC+ik1Pzs+Ojc2VhkaAwMYGTgH7DxRUE9SPAfsLTIAAAACAAAAAA6mElAAGABGAAABIgcOAQcGFBceARcWMjc+ATc2NCcuAScmASIHBgcGFBcWFxYzIREhIgcGBwYUFxYXFjchMjc2NzY0JyYnJiMhETQnJicmIwl2b2ZimCkrKymYYmbeZmKXKisrKpdiZvw2VkhHKSsrKUdIVgJx/Y9WSEcpKyspR0hWB1NVSEcpKyspR0hV/Y8rKUdJVRJQKyqXY2XfZWKYKSsrKZhiZd9lY5cqK/nlKylHSKtIRykr+eYrKUdJqklHKSsBKilHSapJRykrB1NVSEcpKwAAAwAAAAARFxEXAAMABwALAAABESERAREhEQERIRECcQ6m8VoOpvFaDqYRF/2PAnH55v2PAnH55f2PAnEAAwAAAAASngvnABgAMQBKAAABMhceARcWFAcOAQcGIicuAScmNDc+ATc2ITIXHgEXFhQHDgEHBiInLgEnJjQ3PgE3NiEyFx4BFxYUBw4BBwYiJy4BJyY0Nz4BNzYDDXBlYpgpKyspmGJl32ZilyorKyqXYmYHJm9mYpcqKysql2Jm3mZilyorKyqXYmYHJm9mYpcqKysql2Jm32VimCkrKymYYmUL5ysql2Jm3mZilyorKyqXYmbeZmKXKisrKpdiZt5mYpcqKysql2Jm3mZilyorKyqXYmbeZmKXKisrKpdiZt5mYpcqKwAAAAACAAAAAA/fD98AAwAHAAABESERIREhEQOqBOICcQTiD9/zyww188sMNQAAAAEAAAAAERcRFwACAAAJAgJxDqbxWhEX+K34rQABAAAAAA6mDDUAAgAACQIE4gTiBOIMNfseBOAAAf/gAAATaRNpADEAAAEEBQQFBAMCAwIREBMSExIFBAUEISAlJCUkExITEhMGAAUEISAlJCcmJyYDAhEQExIACGz+mP6x/rr+7f7uxsprboB76eUBOQE8AXIBfgGWAXEBYQFWAS4BKuvsmZw4vP4p/vn+8/7q/r7+zv7Z/fu4u2NnUE4BJxNpLpeT6ef+1/7T/qv+n/6P/mr+gv6O/sT+x+XofIBraMXCAQ0BDgFDAUsBacz+2k5QZ2O7uPv9AScBMgFCASUBEwENAcsAAgAAAAATiBOIACQAQAAAASAFBAUEAwIDAhATEhMSBQQFBCAlJCUkExITEhADAgMCJSQlJAEhMhceARcWFAcOAQcGIyEiJy4BJyY0Nz4BNzYJxP5q/oL+jv7E/sfl6HyAgHzo5QE5ATwBcgF+AywBfgFyATwBOeXofICAfOjl/sf+xP6O/oL6wQdTW1dUhCQmJiSEVFdb+K1cV1SEJCYmJIRUVxOIgHzo5f7H/sT+jv6C/NT+gv6O/sT+x+XofICAfOjlATkBPAFyAX4DLAF+AXIBPAE55eh8gPgRJiWEU1e4V1OEJSYmJYRTV7hXU4QlJgAAAAIAAAAAE4gTiAAkAD0AAAEgBQQFBAMCAwIQExITEgUEBQQgJSQlJBMSExIQAwIDAiUkJSQBIAUEABMSEAMCAAUEICUkAAMCEBMSACUkCcT+av6C/o7+xP7H5eh8gIB86OUBOQE8AXIBfgMsAX4BcgE8ATnl6HyAgHzo5f7H/sT+jv6C/moBNwEXAQ8Bm3B0dHD+Zf7x/un9kv7p/vH+ZXB0dHABmwEPARcTiIB86OX+x/7E/o7+gvzU/oL+jv7E/sfl6HyAgHzo5QE5ATwBcgF+AywBfgFyATwBOeXofID8GHRw/mX+8f7p/ZL+6f7x/mVwdHRwAZsBDwEXAm4BFwEPAZtwdAAAAAIAAAAAE4gTiAADACgAAAEhESEBIAUEBQQDAgMCEBMSExIFBAUEICUkJSQTEhMSEAMCAwIlJCUkBdwH0PgwA+j+av6C/o7+xP7H5eh8gIB86OUBOQE8AXIBfgMsAX4BcgE8ATnl6HyAgHzo5f7H/sT+jv6CBdwH0AXcgHzo5f7H/sT+jv6C/NT+gv6O/sT+x+XofICAfOjlATkBPAFyAX4DLAF+AXIBPAE55eh8gAAAAQAAAAEAAJqhuXNfDzz1AAsTiAAAAADcg1fNAAAAANwye87/4AAAE5MTiAAAAAgAAgAAAAAAAAABAAATiAAAAAATiP/g//UTkwABAAAAAAAAAAAAAAAAAAAABwAAAAATiAAAE4gAABOIAAATiAAABjYAABOIAAAAAP//AAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAAACIANgBYAGwAgACUALQBDgF8AZoCEAImAjQCQgKoAyIDpgP+AAEAAAATAEsAAwAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAAAQAMYAAQAAAAAAAQAUAAAAAQAAAAAAAgAHABQAAQAAAAAAAwAUABsAAQAAAAAABAAUAC8AAQAAAAAABQALAEMAAQAAAAAABgAUAE4AAQAAAAAACgArAGIAAQAAAAAACwATAI0AAwABBAkAAQAoAKAAAwABBAkAAgAOAMgAAwABBAkAAwAoANYAAwABBAkABAAoAP4AAwABBAkABQAWASYAAwABBAkABgAoATwAAwABBAkACgBWAWQAAwABBAkACwAmAbppY29uZm9udC12dWUtYzk3NDFhYVJlZ3VsYXJpY29uZm9udC12dWUtYzk3NDFhYWljb25mb250LXZ1ZS1jOTc0MWFhVmVyc2lvbiAxLjBpY29uZm9udC12dWUtYzk3NDFhYUdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AYwA5ADcANAAxAGEAYQBSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AYwA5ADcANAAxAGEAYQBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtAGMAOQA3ADQAMQBhAGEAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AYwA5ADcANAAxAGEAYQBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAATABMAAAECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBExFhcnJvdy1sZWZ0LWRvdWJsZQphcnJvdy1sZWZ0EmFycm93LXJpZ2h0LWRvdWJsZQthcnJvdy1yaWdodApicmVhZGNydW1iCWNoZWNrbWFyawVjbG9zZQdjb25maXJtBGluZm8EbWVudQRtb3JlBXBhdXNlBHBsYXkKdHJpYW5nbGUtcxB1c2VyLXN0YXR1cy1hd2F5D3VzZXItc3RhdHVzLWRuZBV1c2VyLXN0YXR1cy1pbnZpc2libGUSdXNlci1zdGF0dXMtb25saW5lAAA="}})}));
|
||
//# sourceMappingURL=SettingsSection.js.map
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/array-filter/index.js":
|
||
/*!********************************************!*\
|
||
!*** ./node_modules/array-filter/index.js ***!
|
||
\********************************************/
|
||
/***/ (function(module) {
|
||
|
||
|
||
/**
|
||
* Array#filter.
|
||
*
|
||
* @param {Array} arr
|
||
* @param {Function} fn
|
||
* @param {Object=} self
|
||
* @return {Array}
|
||
* @throw TypeError
|
||
*/
|
||
|
||
module.exports = function (arr, fn, self) {
|
||
if (arr.filter) return arr.filter(fn, self);
|
||
if (void 0 === arr || null === arr) throw new TypeError;
|
||
if ('function' != typeof fn) throw new TypeError;
|
||
var ret = [];
|
||
for (var i = 0; i < arr.length; i++) {
|
||
if (!hasOwn.call(arr, i)) continue;
|
||
var val = arr[i];
|
||
if (fn.call(self, val, i, arr)) ret.push(val);
|
||
}
|
||
return ret;
|
||
};
|
||
|
||
var hasOwn = Object.prototype.hasOwnProperty;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/assert/build/assert.js":
|
||
/*!*********************************************!*\
|
||
!*** ./node_modules/assert/build/assert.js ***!
|
||
\*********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
/* provided dependency */ var process = __webpack_require__(/*! process/browser */ "./node_modules/process/browser.js");
|
||
/* provided dependency */ var console = __webpack_require__(/*! console-browserify */ "./node_modules/console-browserify/index.js");
|
||
// Currently in sync with Node.js lib/assert.js
|
||
// https://github.com/nodejs/node/commit/2a51ae424a513ec9a6aa3466baa0cc1d55dd4f3b
|
||
// Originally from narwhal.js (http://narwhaljs.org)
|
||
// Copyright (c) 2009 Thomas Robinson <280north.com>
|
||
//
|
||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||
// of this software and associated documentation files (the 'Software'), to
|
||
// deal in the Software without restriction, including without limitation the
|
||
// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||
// sell copies of the Software, and to permit persons to whom the Software is
|
||
// furnished to do so, subject to the following conditions:
|
||
//
|
||
// The above copyright notice and this permission notice shall be included in
|
||
// all copies or substantial portions of the Software.
|
||
//
|
||
// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||
// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
||
// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||
|
||
|
||
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
||
|
||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||
|
||
var _require = __webpack_require__(/*! ./internal/errors */ "./node_modules/assert/build/internal/errors.js"),
|
||
_require$codes = _require.codes,
|
||
ERR_AMBIGUOUS_ARGUMENT = _require$codes.ERR_AMBIGUOUS_ARGUMENT,
|
||
ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,
|
||
ERR_INVALID_ARG_VALUE = _require$codes.ERR_INVALID_ARG_VALUE,
|
||
ERR_INVALID_RETURN_VALUE = _require$codes.ERR_INVALID_RETURN_VALUE,
|
||
ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS;
|
||
|
||
var AssertionError = __webpack_require__(/*! ./internal/assert/assertion_error */ "./node_modules/assert/build/internal/assert/assertion_error.js");
|
||
|
||
var _require2 = __webpack_require__(/*! util/ */ "./node_modules/util/util.js"),
|
||
inspect = _require2.inspect;
|
||
|
||
var _require$types = __webpack_require__(/*! util/ */ "./node_modules/util/util.js").types,
|
||
isPromise = _require$types.isPromise,
|
||
isRegExp = _require$types.isRegExp;
|
||
|
||
var objectAssign = Object.assign ? Object.assign : __webpack_require__(/*! es6-object-assign */ "./node_modules/es6-object-assign/index.js").assign;
|
||
var objectIs = Object.is ? Object.is : __webpack_require__(/*! object-is */ "./node_modules/object-is/index.js");
|
||
var errorCache = new Map();
|
||
var isDeepEqual;
|
||
var isDeepStrictEqual;
|
||
var parseExpressionAt;
|
||
var findNodeAround;
|
||
var decoder;
|
||
|
||
function lazyLoadComparison() {
|
||
var comparison = __webpack_require__(/*! ./internal/util/comparisons */ "./node_modules/assert/build/internal/util/comparisons.js");
|
||
|
||
isDeepEqual = comparison.isDeepEqual;
|
||
isDeepStrictEqual = comparison.isDeepStrictEqual;
|
||
} // Escape control characters but not \n and \t to keep the line breaks and
|
||
// indentation intact.
|
||
// eslint-disable-next-line no-control-regex
|
||
|
||
|
||
var escapeSequencesRegExp = /[\x00-\x08\x0b\x0c\x0e-\x1f]/g;
|
||
var meta = ["\\u0000", "\\u0001", "\\u0002", "\\u0003", "\\u0004", "\\u0005", "\\u0006", "\\u0007", '\\b', '', '', "\\u000b", '\\f', '', "\\u000e", "\\u000f", "\\u0010", "\\u0011", "\\u0012", "\\u0013", "\\u0014", "\\u0015", "\\u0016", "\\u0017", "\\u0018", "\\u0019", "\\u001a", "\\u001b", "\\u001c", "\\u001d", "\\u001e", "\\u001f"];
|
||
|
||
var escapeFn = function escapeFn(str) {
|
||
return meta[str.charCodeAt(0)];
|
||
};
|
||
|
||
var warned = false; // The assert module provides functions that throw
|
||
// AssertionError's when particular conditions are not met. The
|
||
// assert module must conform to the following interface.
|
||
|
||
var assert = module.exports = ok;
|
||
var NO_EXCEPTION_SENTINEL = {}; // All of the following functions must throw an AssertionError
|
||
// when a corresponding condition is not met, with a message that
|
||
// may be undefined if not provided. All assertion methods provide
|
||
// both the actual and expected values to the assertion error for
|
||
// display purposes.
|
||
|
||
function innerFail(obj) {
|
||
if (obj.message instanceof Error) throw obj.message;
|
||
throw new AssertionError(obj);
|
||
}
|
||
|
||
function fail(actual, expected, message, operator, stackStartFn) {
|
||
var argsLen = arguments.length;
|
||
var internalMessage;
|
||
|
||
if (argsLen === 0) {
|
||
internalMessage = 'Failed';
|
||
} else if (argsLen === 1) {
|
||
message = actual;
|
||
actual = undefined;
|
||
} else {
|
||
if (warned === false) {
|
||
warned = true;
|
||
var warn = process.emitWarning ? process.emitWarning : console.warn.bind(console);
|
||
warn('assert.fail() with more than one argument is deprecated. ' + 'Please use assert.strictEqual() instead or only pass a message.', 'DeprecationWarning', 'DEP0094');
|
||
}
|
||
|
||
if (argsLen === 2) operator = '!=';
|
||
}
|
||
|
||
if (message instanceof Error) throw message;
|
||
var errArgs = {
|
||
actual: actual,
|
||
expected: expected,
|
||
operator: operator === undefined ? 'fail' : operator,
|
||
stackStartFn: stackStartFn || fail
|
||
};
|
||
|
||
if (message !== undefined) {
|
||
errArgs.message = message;
|
||
}
|
||
|
||
var err = new AssertionError(errArgs);
|
||
|
||
if (internalMessage) {
|
||
err.message = internalMessage;
|
||
err.generatedMessage = true;
|
||
}
|
||
|
||
throw err;
|
||
}
|
||
|
||
assert.fail = fail; // The AssertionError is defined in internal/error.
|
||
|
||
assert.AssertionError = AssertionError;
|
||
|
||
function innerOk(fn, argLen, value, message) {
|
||
if (!value) {
|
||
var generatedMessage = false;
|
||
|
||
if (argLen === 0) {
|
||
generatedMessage = true;
|
||
message = 'No value argument passed to `assert.ok()`';
|
||
} else if (message instanceof Error) {
|
||
throw message;
|
||
}
|
||
|
||
var err = new AssertionError({
|
||
actual: value,
|
||
expected: true,
|
||
message: message,
|
||
operator: '==',
|
||
stackStartFn: fn
|
||
});
|
||
err.generatedMessage = generatedMessage;
|
||
throw err;
|
||
}
|
||
} // Pure assertion tests whether a value is truthy, as determined
|
||
// by !!value.
|
||
|
||
|
||
function ok() {
|
||
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
||
args[_key] = arguments[_key];
|
||
}
|
||
|
||
innerOk.apply(void 0, [ok, args.length].concat(args));
|
||
}
|
||
|
||
assert.ok = ok; // The equality assertion tests shallow, coercive equality with ==.
|
||
|
||
/* eslint-disable no-restricted-properties */
|
||
|
||
assert.equal = function equal(actual, expected, message) {
|
||
if (arguments.length < 2) {
|
||
throw new ERR_MISSING_ARGS('actual', 'expected');
|
||
} // eslint-disable-next-line eqeqeq
|
||
|
||
|
||
if (actual != expected) {
|
||
innerFail({
|
||
actual: actual,
|
||
expected: expected,
|
||
message: message,
|
||
operator: '==',
|
||
stackStartFn: equal
|
||
});
|
||
}
|
||
}; // The non-equality assertion tests for whether two objects are not
|
||
// equal with !=.
|
||
|
||
|
||
assert.notEqual = function notEqual(actual, expected, message) {
|
||
if (arguments.length < 2) {
|
||
throw new ERR_MISSING_ARGS('actual', 'expected');
|
||
} // eslint-disable-next-line eqeqeq
|
||
|
||
|
||
if (actual == expected) {
|
||
innerFail({
|
||
actual: actual,
|
||
expected: expected,
|
||
message: message,
|
||
operator: '!=',
|
||
stackStartFn: notEqual
|
||
});
|
||
}
|
||
}; // The equivalence assertion tests a deep equality relation.
|
||
|
||
|
||
assert.deepEqual = function deepEqual(actual, expected, message) {
|
||
if (arguments.length < 2) {
|
||
throw new ERR_MISSING_ARGS('actual', 'expected');
|
||
}
|
||
|
||
if (isDeepEqual === undefined) lazyLoadComparison();
|
||
|
||
if (!isDeepEqual(actual, expected)) {
|
||
innerFail({
|
||
actual: actual,
|
||
expected: expected,
|
||
message: message,
|
||
operator: 'deepEqual',
|
||
stackStartFn: deepEqual
|
||
});
|
||
}
|
||
}; // The non-equivalence assertion tests for any deep inequality.
|
||
|
||
|
||
assert.notDeepEqual = function notDeepEqual(actual, expected, message) {
|
||
if (arguments.length < 2) {
|
||
throw new ERR_MISSING_ARGS('actual', 'expected');
|
||
}
|
||
|
||
if (isDeepEqual === undefined) lazyLoadComparison();
|
||
|
||
if (isDeepEqual(actual, expected)) {
|
||
innerFail({
|
||
actual: actual,
|
||
expected: expected,
|
||
message: message,
|
||
operator: 'notDeepEqual',
|
||
stackStartFn: notDeepEqual
|
||
});
|
||
}
|
||
};
|
||
/* eslint-enable */
|
||
|
||
|
||
assert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {
|
||
if (arguments.length < 2) {
|
||
throw new ERR_MISSING_ARGS('actual', 'expected');
|
||
}
|
||
|
||
if (isDeepEqual === undefined) lazyLoadComparison();
|
||
|
||
if (!isDeepStrictEqual(actual, expected)) {
|
||
innerFail({
|
||
actual: actual,
|
||
expected: expected,
|
||
message: message,
|
||
operator: 'deepStrictEqual',
|
||
stackStartFn: deepStrictEqual
|
||
});
|
||
}
|
||
};
|
||
|
||
assert.notDeepStrictEqual = notDeepStrictEqual;
|
||
|
||
function notDeepStrictEqual(actual, expected, message) {
|
||
if (arguments.length < 2) {
|
||
throw new ERR_MISSING_ARGS('actual', 'expected');
|
||
}
|
||
|
||
if (isDeepEqual === undefined) lazyLoadComparison();
|
||
|
||
if (isDeepStrictEqual(actual, expected)) {
|
||
innerFail({
|
||
actual: actual,
|
||
expected: expected,
|
||
message: message,
|
||
operator: 'notDeepStrictEqual',
|
||
stackStartFn: notDeepStrictEqual
|
||
});
|
||
}
|
||
}
|
||
|
||
assert.strictEqual = function strictEqual(actual, expected, message) {
|
||
if (arguments.length < 2) {
|
||
throw new ERR_MISSING_ARGS('actual', 'expected');
|
||
}
|
||
|
||
if (!objectIs(actual, expected)) {
|
||
innerFail({
|
||
actual: actual,
|
||
expected: expected,
|
||
message: message,
|
||
operator: 'strictEqual',
|
||
stackStartFn: strictEqual
|
||
});
|
||
}
|
||
};
|
||
|
||
assert.notStrictEqual = function notStrictEqual(actual, expected, message) {
|
||
if (arguments.length < 2) {
|
||
throw new ERR_MISSING_ARGS('actual', 'expected');
|
||
}
|
||
|
||
if (objectIs(actual, expected)) {
|
||
innerFail({
|
||
actual: actual,
|
||
expected: expected,
|
||
message: message,
|
||
operator: 'notStrictEqual',
|
||
stackStartFn: notStrictEqual
|
||
});
|
||
}
|
||
};
|
||
|
||
var Comparison = function Comparison(obj, keys, actual) {
|
||
var _this = this;
|
||
|
||
_classCallCheck(this, Comparison);
|
||
|
||
keys.forEach(function (key) {
|
||
if (key in obj) {
|
||
if (actual !== undefined && typeof actual[key] === 'string' && isRegExp(obj[key]) && obj[key].test(actual[key])) {
|
||
_this[key] = actual[key];
|
||
} else {
|
||
_this[key] = obj[key];
|
||
}
|
||
}
|
||
});
|
||
};
|
||
|
||
function compareExceptionKey(actual, expected, key, message, keys, fn) {
|
||
if (!(key in actual) || !isDeepStrictEqual(actual[key], expected[key])) {
|
||
if (!message) {
|
||
// Create placeholder objects to create a nice output.
|
||
var a = new Comparison(actual, keys);
|
||
var b = new Comparison(expected, keys, actual);
|
||
var err = new AssertionError({
|
||
actual: a,
|
||
expected: b,
|
||
operator: 'deepStrictEqual',
|
||
stackStartFn: fn
|
||
});
|
||
err.actual = actual;
|
||
err.expected = expected;
|
||
err.operator = fn.name;
|
||
throw err;
|
||
}
|
||
|
||
innerFail({
|
||
actual: actual,
|
||
expected: expected,
|
||
message: message,
|
||
operator: fn.name,
|
||
stackStartFn: fn
|
||
});
|
||
}
|
||
}
|
||
|
||
function expectedException(actual, expected, msg, fn) {
|
||
if (typeof expected !== 'function') {
|
||
if (isRegExp(expected)) return expected.test(actual); // assert.doesNotThrow does not accept objects.
|
||
|
||
if (arguments.length === 2) {
|
||
throw new ERR_INVALID_ARG_TYPE('expected', ['Function', 'RegExp'], expected);
|
||
} // Handle primitives properly.
|
||
|
||
|
||
if (_typeof(actual) !== 'object' || actual === null) {
|
||
var err = new AssertionError({
|
||
actual: actual,
|
||
expected: expected,
|
||
message: msg,
|
||
operator: 'deepStrictEqual',
|
||
stackStartFn: fn
|
||
});
|
||
err.operator = fn.name;
|
||
throw err;
|
||
}
|
||
|
||
var keys = Object.keys(expected); // Special handle errors to make sure the name and the message are compared
|
||
// as well.
|
||
|
||
if (expected instanceof Error) {
|
||
keys.push('name', 'message');
|
||
} else if (keys.length === 0) {
|
||
throw new ERR_INVALID_ARG_VALUE('error', expected, 'may not be an empty object');
|
||
}
|
||
|
||
if (isDeepEqual === undefined) lazyLoadComparison();
|
||
keys.forEach(function (key) {
|
||
if (typeof actual[key] === 'string' && isRegExp(expected[key]) && expected[key].test(actual[key])) {
|
||
return;
|
||
}
|
||
|
||
compareExceptionKey(actual, expected, key, msg, keys, fn);
|
||
});
|
||
return true;
|
||
} // Guard instanceof against arrow functions as they don't have a prototype.
|
||
|
||
|
||
if (expected.prototype !== undefined && actual instanceof expected) {
|
||
return true;
|
||
}
|
||
|
||
if (Error.isPrototypeOf(expected)) {
|
||
return false;
|
||
}
|
||
|
||
return expected.call({}, actual) === true;
|
||
}
|
||
|
||
function getActual(fn) {
|
||
if (typeof fn !== 'function') {
|
||
throw new ERR_INVALID_ARG_TYPE('fn', 'Function', fn);
|
||
}
|
||
|
||
try {
|
||
fn();
|
||
} catch (e) {
|
||
return e;
|
||
}
|
||
|
||
return NO_EXCEPTION_SENTINEL;
|
||
}
|
||
|
||
function checkIsPromise(obj) {
|
||
// Accept native ES6 promises and promises that are implemented in a similar
|
||
// way. Do not accept thenables that use a function as `obj` and that have no
|
||
// `catch` handler.
|
||
// TODO: thenables are checked up until they have the correct methods,
|
||
// but according to documentation, the `then` method should receive
|
||
// the `fulfill` and `reject` arguments as well or it may be never resolved.
|
||
return isPromise(obj) || obj !== null && _typeof(obj) === 'object' && typeof obj.then === 'function' && typeof obj.catch === 'function';
|
||
}
|
||
|
||
function waitForActual(promiseFn) {
|
||
return Promise.resolve().then(function () {
|
||
var resultPromise;
|
||
|
||
if (typeof promiseFn === 'function') {
|
||
// Return a rejected promise if `promiseFn` throws synchronously.
|
||
resultPromise = promiseFn(); // Fail in case no promise is returned.
|
||
|
||
if (!checkIsPromise(resultPromise)) {
|
||
throw new ERR_INVALID_RETURN_VALUE('instance of Promise', 'promiseFn', resultPromise);
|
||
}
|
||
} else if (checkIsPromise(promiseFn)) {
|
||
resultPromise = promiseFn;
|
||
} else {
|
||
throw new ERR_INVALID_ARG_TYPE('promiseFn', ['Function', 'Promise'], promiseFn);
|
||
}
|
||
|
||
return Promise.resolve().then(function () {
|
||
return resultPromise;
|
||
}).then(function () {
|
||
return NO_EXCEPTION_SENTINEL;
|
||
}).catch(function (e) {
|
||
return e;
|
||
});
|
||
});
|
||
}
|
||
|
||
function expectsError(stackStartFn, actual, error, message) {
|
||
if (typeof error === 'string') {
|
||
if (arguments.length === 4) {
|
||
throw new ERR_INVALID_ARG_TYPE('error', ['Object', 'Error', 'Function', 'RegExp'], error);
|
||
}
|
||
|
||
if (_typeof(actual) === 'object' && actual !== null) {
|
||
if (actual.message === error) {
|
||
throw new ERR_AMBIGUOUS_ARGUMENT('error/message', "The error message \"".concat(actual.message, "\" is identical to the message."));
|
||
}
|
||
} else if (actual === error) {
|
||
throw new ERR_AMBIGUOUS_ARGUMENT('error/message', "The error \"".concat(actual, "\" is identical to the message."));
|
||
}
|
||
|
||
message = error;
|
||
error = undefined;
|
||
} else if (error != null && _typeof(error) !== 'object' && typeof error !== 'function') {
|
||
throw new ERR_INVALID_ARG_TYPE('error', ['Object', 'Error', 'Function', 'RegExp'], error);
|
||
}
|
||
|
||
if (actual === NO_EXCEPTION_SENTINEL) {
|
||
var details = '';
|
||
|
||
if (error && error.name) {
|
||
details += " (".concat(error.name, ")");
|
||
}
|
||
|
||
details += message ? ": ".concat(message) : '.';
|
||
var fnType = stackStartFn.name === 'rejects' ? 'rejection' : 'exception';
|
||
innerFail({
|
||
actual: undefined,
|
||
expected: error,
|
||
operator: stackStartFn.name,
|
||
message: "Missing expected ".concat(fnType).concat(details),
|
||
stackStartFn: stackStartFn
|
||
});
|
||
}
|
||
|
||
if (error && !expectedException(actual, error, message, stackStartFn)) {
|
||
throw actual;
|
||
}
|
||
}
|
||
|
||
function expectsNoError(stackStartFn, actual, error, message) {
|
||
if (actual === NO_EXCEPTION_SENTINEL) return;
|
||
|
||
if (typeof error === 'string') {
|
||
message = error;
|
||
error = undefined;
|
||
}
|
||
|
||
if (!error || expectedException(actual, error)) {
|
||
var details = message ? ": ".concat(message) : '.';
|
||
var fnType = stackStartFn.name === 'doesNotReject' ? 'rejection' : 'exception';
|
||
innerFail({
|
||
actual: actual,
|
||
expected: error,
|
||
operator: stackStartFn.name,
|
||
message: "Got unwanted ".concat(fnType).concat(details, "\n") + "Actual message: \"".concat(actual && actual.message, "\""),
|
||
stackStartFn: stackStartFn
|
||
});
|
||
}
|
||
|
||
throw actual;
|
||
}
|
||
|
||
assert.throws = function throws(promiseFn) {
|
||
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
||
args[_key2 - 1] = arguments[_key2];
|
||
}
|
||
|
||
expectsError.apply(void 0, [throws, getActual(promiseFn)].concat(args));
|
||
};
|
||
|
||
assert.rejects = function rejects(promiseFn) {
|
||
for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
|
||
args[_key3 - 1] = arguments[_key3];
|
||
}
|
||
|
||
return waitForActual(promiseFn).then(function (result) {
|
||
return expectsError.apply(void 0, [rejects, result].concat(args));
|
||
});
|
||
};
|
||
|
||
assert.doesNotThrow = function doesNotThrow(fn) {
|
||
for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {
|
||
args[_key4 - 1] = arguments[_key4];
|
||
}
|
||
|
||
expectsNoError.apply(void 0, [doesNotThrow, getActual(fn)].concat(args));
|
||
};
|
||
|
||
assert.doesNotReject = function doesNotReject(fn) {
|
||
for (var _len5 = arguments.length, args = new Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {
|
||
args[_key5 - 1] = arguments[_key5];
|
||
}
|
||
|
||
return waitForActual(fn).then(function (result) {
|
||
return expectsNoError.apply(void 0, [doesNotReject, result].concat(args));
|
||
});
|
||
};
|
||
|
||
assert.ifError = function ifError(err) {
|
||
if (err !== null && err !== undefined) {
|
||
var message = 'ifError got unwanted exception: ';
|
||
|
||
if (_typeof(err) === 'object' && typeof err.message === 'string') {
|
||
if (err.message.length === 0 && err.constructor) {
|
||
message += err.constructor.name;
|
||
} else {
|
||
message += err.message;
|
||
}
|
||
} else {
|
||
message += inspect(err);
|
||
}
|
||
|
||
var newErr = new AssertionError({
|
||
actual: err,
|
||
expected: null,
|
||
operator: 'ifError',
|
||
message: message,
|
||
stackStartFn: ifError
|
||
}); // Make sure we actually have a stack trace!
|
||
|
||
var origStack = err.stack;
|
||
|
||
if (typeof origStack === 'string') {
|
||
// This will remove any duplicated frames from the error frames taken
|
||
// from within `ifError` and add the original error frames to the newly
|
||
// created ones.
|
||
var tmp2 = origStack.split('\n');
|
||
tmp2.shift(); // Filter all frames existing in err.stack.
|
||
|
||
var tmp1 = newErr.stack.split('\n');
|
||
|
||
for (var i = 0; i < tmp2.length; i++) {
|
||
// Find the first occurrence of the frame.
|
||
var pos = tmp1.indexOf(tmp2[i]);
|
||
|
||
if (pos !== -1) {
|
||
// Only keep new frames.
|
||
tmp1 = tmp1.slice(0, pos);
|
||
break;
|
||
}
|
||
}
|
||
|
||
newErr.stack = "".concat(tmp1.join('\n'), "\n").concat(tmp2.join('\n'));
|
||
}
|
||
|
||
throw newErr;
|
||
}
|
||
}; // Expose a strict only variant of assert
|
||
|
||
|
||
function strict() {
|
||
for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {
|
||
args[_key6] = arguments[_key6];
|
||
}
|
||
|
||
innerOk.apply(void 0, [strict, args.length].concat(args));
|
||
}
|
||
|
||
assert.strict = objectAssign(strict, assert, {
|
||
equal: assert.strictEqual,
|
||
deepEqual: assert.deepStrictEqual,
|
||
notEqual: assert.notStrictEqual,
|
||
notDeepEqual: assert.notDeepStrictEqual
|
||
});
|
||
assert.strict.strict = assert.strict;
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/assert/build/internal/assert/assertion_error.js":
|
||
/*!**********************************************************************!*\
|
||
!*** ./node_modules/assert/build/internal/assert/assertion_error.js ***!
|
||
\**********************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
/* provided dependency */ var process = __webpack_require__(/*! process/browser */ "./node_modules/process/browser.js");
|
||
// Currently in sync with Node.js lib/internal/assert/assertion_error.js
|
||
// https://github.com/nodejs/node/commit/0817840f775032169ddd70c85ac059f18ffcc81c
|
||
|
||
|
||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
|
||
|
||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
||
|
||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||
|
||
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
||
|
||
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
||
|
||
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
|
||
|
||
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
||
|
||
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
||
|
||
function _wrapNativeSuper(Class) { var _cache = typeof Map === "function" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== "function") { throw new TypeError("Super expression must either be null or a function"); } if (typeof _cache !== "undefined") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }
|
||
|
||
function isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
|
||
|
||
function _construct(Parent, args, Class) { if (isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }
|
||
|
||
function _isNativeFunction(fn) { return Function.toString.call(fn).indexOf("[native code]") !== -1; }
|
||
|
||
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
||
|
||
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
||
|
||
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
||
|
||
var _require = __webpack_require__(/*! util/ */ "./node_modules/util/util.js"),
|
||
inspect = _require.inspect;
|
||
|
||
var _require2 = __webpack_require__(/*! ../errors */ "./node_modules/assert/build/internal/errors.js"),
|
||
ERR_INVALID_ARG_TYPE = _require2.codes.ERR_INVALID_ARG_TYPE; // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith
|
||
|
||
|
||
function endsWith(str, search, this_len) {
|
||
if (this_len === undefined || this_len > str.length) {
|
||
this_len = str.length;
|
||
}
|
||
|
||
return str.substring(this_len - search.length, this_len) === search;
|
||
} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat
|
||
|
||
|
||
function repeat(str, count) {
|
||
count = Math.floor(count);
|
||
if (str.length == 0 || count == 0) return '';
|
||
var maxCount = str.length * count;
|
||
count = Math.floor(Math.log(count) / Math.log(2));
|
||
|
||
while (count) {
|
||
str += str;
|
||
count--;
|
||
}
|
||
|
||
str += str.substring(0, maxCount - str.length);
|
||
return str;
|
||
}
|
||
|
||
var blue = '';
|
||
var green = '';
|
||
var red = '';
|
||
var white = '';
|
||
var kReadableOperator = {
|
||
deepStrictEqual: 'Expected values to be strictly deep-equal:',
|
||
strictEqual: 'Expected values to be strictly equal:',
|
||
strictEqualObject: 'Expected "actual" to be reference-equal to "expected":',
|
||
deepEqual: 'Expected values to be loosely deep-equal:',
|
||
equal: 'Expected values to be loosely equal:',
|
||
notDeepStrictEqual: 'Expected "actual" not to be strictly deep-equal to:',
|
||
notStrictEqual: 'Expected "actual" to be strictly unequal to:',
|
||
notStrictEqualObject: 'Expected "actual" not to be reference-equal to "expected":',
|
||
notDeepEqual: 'Expected "actual" not to be loosely deep-equal to:',
|
||
notEqual: 'Expected "actual" to be loosely unequal to:',
|
||
notIdentical: 'Values identical but not reference-equal:'
|
||
}; // Comparing short primitives should just show === / !== instead of using the
|
||
// diff.
|
||
|
||
var kMaxShortLength = 10;
|
||
|
||
function copyError(source) {
|
||
var keys = Object.keys(source);
|
||
var target = Object.create(Object.getPrototypeOf(source));
|
||
keys.forEach(function (key) {
|
||
target[key] = source[key];
|
||
});
|
||
Object.defineProperty(target, 'message', {
|
||
value: source.message
|
||
});
|
||
return target;
|
||
}
|
||
|
||
function inspectValue(val) {
|
||
// The util.inspect default values could be changed. This makes sure the
|
||
// error messages contain the necessary information nevertheless.
|
||
return inspect(val, {
|
||
compact: false,
|
||
customInspect: false,
|
||
depth: 1000,
|
||
maxArrayLength: Infinity,
|
||
// Assert compares only enumerable properties (with a few exceptions).
|
||
showHidden: false,
|
||
// Having a long line as error is better than wrapping the line for
|
||
// comparison for now.
|
||
// TODO(BridgeAR): `breakLength` should be limited as soon as soon as we
|
||
// have meta information about the inspected properties (i.e., know where
|
||
// in what line the property starts and ends).
|
||
breakLength: Infinity,
|
||
// Assert does not detect proxies currently.
|
||
showProxy: false,
|
||
sorted: true,
|
||
// Inspect getters as we also check them when comparing entries.
|
||
getters: true
|
||
});
|
||
}
|
||
|
||
function createErrDiff(actual, expected, operator) {
|
||
var other = '';
|
||
var res = '';
|
||
var lastPos = 0;
|
||
var end = '';
|
||
var skipped = false;
|
||
var actualInspected = inspectValue(actual);
|
||
var actualLines = actualInspected.split('\n');
|
||
var expectedLines = inspectValue(expected).split('\n');
|
||
var i = 0;
|
||
var indicator = ''; // In case both values are objects explicitly mark them as not reference equal
|
||
// for the `strictEqual` operator.
|
||
|
||
if (operator === 'strictEqual' && _typeof(actual) === 'object' && _typeof(expected) === 'object' && actual !== null && expected !== null) {
|
||
operator = 'strictEqualObject';
|
||
} // If "actual" and "expected" fit on a single line and they are not strictly
|
||
// equal, check further special handling.
|
||
|
||
|
||
if (actualLines.length === 1 && expectedLines.length === 1 && actualLines[0] !== expectedLines[0]) {
|
||
var inputLength = actualLines[0].length + expectedLines[0].length; // If the character length of "actual" and "expected" together is less than
|
||
// kMaxShortLength and if neither is an object and at least one of them is
|
||
// not `zero`, use the strict equal comparison to visualize the output.
|
||
|
||
if (inputLength <= kMaxShortLength) {
|
||
if ((_typeof(actual) !== 'object' || actual === null) && (_typeof(expected) !== 'object' || expected === null) && (actual !== 0 || expected !== 0)) {
|
||
// -0 === +0
|
||
return "".concat(kReadableOperator[operator], "\n\n") + "".concat(actualLines[0], " !== ").concat(expectedLines[0], "\n");
|
||
}
|
||
} else if (operator !== 'strictEqualObject') {
|
||
// If the stderr is a tty and the input length is lower than the current
|
||
// columns per line, add a mismatch indicator below the output. If it is
|
||
// not a tty, use a default value of 80 characters.
|
||
var maxLength = process.stderr && process.stderr.isTTY ? process.stderr.columns : 80;
|
||
|
||
if (inputLength < maxLength) {
|
||
while (actualLines[0][i] === expectedLines[0][i]) {
|
||
i++;
|
||
} // Ignore the first characters.
|
||
|
||
|
||
if (i > 2) {
|
||
// Add position indicator for the first mismatch in case it is a
|
||
// single line and the input length is less than the column length.
|
||
indicator = "\n ".concat(repeat(' ', i), "^");
|
||
i = 0;
|
||
}
|
||
}
|
||
}
|
||
} // Remove all ending lines that match (this optimizes the output for
|
||
// readability by reducing the number of total changed lines).
|
||
|
||
|
||
var a = actualLines[actualLines.length - 1];
|
||
var b = expectedLines[expectedLines.length - 1];
|
||
|
||
while (a === b) {
|
||
if (i++ < 2) {
|
||
end = "\n ".concat(a).concat(end);
|
||
} else {
|
||
other = a;
|
||
}
|
||
|
||
actualLines.pop();
|
||
expectedLines.pop();
|
||
if (actualLines.length === 0 || expectedLines.length === 0) break;
|
||
a = actualLines[actualLines.length - 1];
|
||
b = expectedLines[expectedLines.length - 1];
|
||
}
|
||
|
||
var maxLines = Math.max(actualLines.length, expectedLines.length); // Strict equal with identical objects that are not identical by reference.
|
||
// E.g., assert.deepStrictEqual({ a: Symbol() }, { a: Symbol() })
|
||
|
||
if (maxLines === 0) {
|
||
// We have to get the result again. The lines were all removed before.
|
||
var _actualLines = actualInspected.split('\n'); // Only remove lines in case it makes sense to collapse those.
|
||
// TODO: Accept env to always show the full error.
|
||
|
||
|
||
if (_actualLines.length > 30) {
|
||
_actualLines[26] = "".concat(blue, "...").concat(white);
|
||
|
||
while (_actualLines.length > 27) {
|
||
_actualLines.pop();
|
||
}
|
||
}
|
||
|
||
return "".concat(kReadableOperator.notIdentical, "\n\n").concat(_actualLines.join('\n'), "\n");
|
||
}
|
||
|
||
if (i > 3) {
|
||
end = "\n".concat(blue, "...").concat(white).concat(end);
|
||
skipped = true;
|
||
}
|
||
|
||
if (other !== '') {
|
||
end = "\n ".concat(other).concat(end);
|
||
other = '';
|
||
}
|
||
|
||
var printedLines = 0;
|
||
var msg = kReadableOperator[operator] + "\n".concat(green, "+ actual").concat(white, " ").concat(red, "- expected").concat(white);
|
||
var skippedMsg = " ".concat(blue, "...").concat(white, " Lines skipped");
|
||
|
||
for (i = 0; i < maxLines; i++) {
|
||
// Only extra expected lines exist
|
||
var cur = i - lastPos;
|
||
|
||
if (actualLines.length < i + 1) {
|
||
// If the last diverging line is more than one line above and the
|
||
// current line is at least line three, add some of the former lines and
|
||
// also add dots to indicate skipped entries.
|
||
if (cur > 1 && i > 2) {
|
||
if (cur > 4) {
|
||
res += "\n".concat(blue, "...").concat(white);
|
||
skipped = true;
|
||
} else if (cur > 3) {
|
||
res += "\n ".concat(expectedLines[i - 2]);
|
||
printedLines++;
|
||
}
|
||
|
||
res += "\n ".concat(expectedLines[i - 1]);
|
||
printedLines++;
|
||
} // Mark the current line as the last diverging one.
|
||
|
||
|
||
lastPos = i; // Add the expected line to the cache.
|
||
|
||
other += "\n".concat(red, "-").concat(white, " ").concat(expectedLines[i]);
|
||
printedLines++; // Only extra actual lines exist
|
||
} else if (expectedLines.length < i + 1) {
|
||
// If the last diverging line is more than one line above and the
|
||
// current line is at least line three, add some of the former lines and
|
||
// also add dots to indicate skipped entries.
|
||
if (cur > 1 && i > 2) {
|
||
if (cur > 4) {
|
||
res += "\n".concat(blue, "...").concat(white);
|
||
skipped = true;
|
||
} else if (cur > 3) {
|
||
res += "\n ".concat(actualLines[i - 2]);
|
||
printedLines++;
|
||
}
|
||
|
||
res += "\n ".concat(actualLines[i - 1]);
|
||
printedLines++;
|
||
} // Mark the current line as the last diverging one.
|
||
|
||
|
||
lastPos = i; // Add the actual line to the result.
|
||
|
||
res += "\n".concat(green, "+").concat(white, " ").concat(actualLines[i]);
|
||
printedLines++; // Lines diverge
|
||
} else {
|
||
var expectedLine = expectedLines[i];
|
||
var actualLine = actualLines[i]; // If the lines diverge, specifically check for lines that only diverge by
|
||
// a trailing comma. In that case it is actually identical and we should
|
||
// mark it as such.
|
||
|
||
var divergingLines = actualLine !== expectedLine && (!endsWith(actualLine, ',') || actualLine.slice(0, -1) !== expectedLine); // If the expected line has a trailing comma but is otherwise identical,
|
||
// add a comma at the end of the actual line. Otherwise the output could
|
||
// look weird as in:
|
||
//
|
||
// [
|
||
// 1 // No comma at the end!
|
||
// + 2
|
||
// ]
|
||
//
|
||
|
||
if (divergingLines && endsWith(expectedLine, ',') && expectedLine.slice(0, -1) === actualLine) {
|
||
divergingLines = false;
|
||
actualLine += ',';
|
||
}
|
||
|
||
if (divergingLines) {
|
||
// If the last diverging line is more than one line above and the
|
||
// current line is at least line three, add some of the former lines and
|
||
// also add dots to indicate skipped entries.
|
||
if (cur > 1 && i > 2) {
|
||
if (cur > 4) {
|
||
res += "\n".concat(blue, "...").concat(white);
|
||
skipped = true;
|
||
} else if (cur > 3) {
|
||
res += "\n ".concat(actualLines[i - 2]);
|
||
printedLines++;
|
||
}
|
||
|
||
res += "\n ".concat(actualLines[i - 1]);
|
||
printedLines++;
|
||
} // Mark the current line as the last diverging one.
|
||
|
||
|
||
lastPos = i; // Add the actual line to the result and cache the expected diverging
|
||
// line so consecutive diverging lines show up as +++--- and not +-+-+-.
|
||
|
||
res += "\n".concat(green, "+").concat(white, " ").concat(actualLine);
|
||
other += "\n".concat(red, "-").concat(white, " ").concat(expectedLine);
|
||
printedLines += 2; // Lines are identical
|
||
} else {
|
||
// Add all cached information to the result before adding other things
|
||
// and reset the cache.
|
||
res += other;
|
||
other = ''; // If the last diverging line is exactly one line above or if it is the
|
||
// very first line, add the line to the result.
|
||
|
||
if (cur === 1 || i === 0) {
|
||
res += "\n ".concat(actualLine);
|
||
printedLines++;
|
||
}
|
||
}
|
||
} // Inspected object to big (Show ~20 rows max)
|
||
|
||
|
||
if (printedLines > 20 && i < maxLines - 2) {
|
||
return "".concat(msg).concat(skippedMsg, "\n").concat(res, "\n").concat(blue, "...").concat(white).concat(other, "\n") + "".concat(blue, "...").concat(white);
|
||
}
|
||
}
|
||
|
||
return "".concat(msg).concat(skipped ? skippedMsg : '', "\n").concat(res).concat(other).concat(end).concat(indicator);
|
||
}
|
||
|
||
var AssertionError =
|
||
/*#__PURE__*/
|
||
function (_Error) {
|
||
_inherits(AssertionError, _Error);
|
||
|
||
function AssertionError(options) {
|
||
var _this;
|
||
|
||
_classCallCheck(this, AssertionError);
|
||
|
||
if (_typeof(options) !== 'object' || options === null) {
|
||
throw new ERR_INVALID_ARG_TYPE('options', 'Object', options);
|
||
}
|
||
|
||
var message = options.message,
|
||
operator = options.operator,
|
||
stackStartFn = options.stackStartFn;
|
||
var actual = options.actual,
|
||
expected = options.expected;
|
||
var limit = Error.stackTraceLimit;
|
||
Error.stackTraceLimit = 0;
|
||
|
||
if (message != null) {
|
||
_this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, String(message)));
|
||
} else {
|
||
if (process.stderr && process.stderr.isTTY) {
|
||
// Reset on each call to make sure we handle dynamically set environment
|
||
// variables correct.
|
||
if (process.stderr && process.stderr.getColorDepth && process.stderr.getColorDepth() !== 1) {
|
||
blue = "\x1B[34m";
|
||
green = "\x1B[32m";
|
||
white = "\x1B[39m";
|
||
red = "\x1B[31m";
|
||
} else {
|
||
blue = '';
|
||
green = '';
|
||
white = '';
|
||
red = '';
|
||
}
|
||
} // Prevent the error stack from being visible by duplicating the error
|
||
// in a very close way to the original in case both sides are actually
|
||
// instances of Error.
|
||
|
||
|
||
if (_typeof(actual) === 'object' && actual !== null && _typeof(expected) === 'object' && expected !== null && 'stack' in actual && actual instanceof Error && 'stack' in expected && expected instanceof Error) {
|
||
actual = copyError(actual);
|
||
expected = copyError(expected);
|
||
}
|
||
|
||
if (operator === 'deepStrictEqual' || operator === 'strictEqual') {
|
||
_this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, createErrDiff(actual, expected, operator)));
|
||
} else if (operator === 'notDeepStrictEqual' || operator === 'notStrictEqual') {
|
||
// In case the objects are equal but the operator requires unequal, show
|
||
// the first object and say A equals B
|
||
var base = kReadableOperator[operator];
|
||
var res = inspectValue(actual).split('\n'); // In case "actual" is an object, it should not be reference equal.
|
||
|
||
if (operator === 'notStrictEqual' && _typeof(actual) === 'object' && actual !== null) {
|
||
base = kReadableOperator.notStrictEqualObject;
|
||
} // Only remove lines in case it makes sense to collapse those.
|
||
// TODO: Accept env to always show the full error.
|
||
|
||
|
||
if (res.length > 30) {
|
||
res[26] = "".concat(blue, "...").concat(white);
|
||
|
||
while (res.length > 27) {
|
||
res.pop();
|
||
}
|
||
} // Only print a single input.
|
||
|
||
|
||
if (res.length === 1) {
|
||
_this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, "".concat(base, " ").concat(res[0])));
|
||
} else {
|
||
_this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, "".concat(base, "\n\n").concat(res.join('\n'), "\n")));
|
||
}
|
||
} else {
|
||
var _res = inspectValue(actual);
|
||
|
||
var other = '';
|
||
var knownOperators = kReadableOperator[operator];
|
||
|
||
if (operator === 'notDeepEqual' || operator === 'notEqual') {
|
||
_res = "".concat(kReadableOperator[operator], "\n\n").concat(_res);
|
||
|
||
if (_res.length > 1024) {
|
||
_res = "".concat(_res.slice(0, 1021), "...");
|
||
}
|
||
} else {
|
||
other = "".concat(inspectValue(expected));
|
||
|
||
if (_res.length > 512) {
|
||
_res = "".concat(_res.slice(0, 509), "...");
|
||
}
|
||
|
||
if (other.length > 512) {
|
||
other = "".concat(other.slice(0, 509), "...");
|
||
}
|
||
|
||
if (operator === 'deepEqual' || operator === 'equal') {
|
||
_res = "".concat(knownOperators, "\n\n").concat(_res, "\n\nshould equal\n\n");
|
||
} else {
|
||
other = " ".concat(operator, " ").concat(other);
|
||
}
|
||
}
|
||
|
||
_this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, "".concat(_res).concat(other)));
|
||
}
|
||
}
|
||
|
||
Error.stackTraceLimit = limit;
|
||
_this.generatedMessage = !message;
|
||
Object.defineProperty(_assertThisInitialized(_this), 'name', {
|
||
value: 'AssertionError [ERR_ASSERTION]',
|
||
enumerable: false,
|
||
writable: true,
|
||
configurable: true
|
||
});
|
||
_this.code = 'ERR_ASSERTION';
|
||
_this.actual = actual;
|
||
_this.expected = expected;
|
||
_this.operator = operator;
|
||
|
||
if (Error.captureStackTrace) {
|
||
// eslint-disable-next-line no-restricted-syntax
|
||
Error.captureStackTrace(_assertThisInitialized(_this), stackStartFn);
|
||
} // Create error message including the error code in the name.
|
||
|
||
|
||
_this.stack; // Reset the name.
|
||
|
||
_this.name = 'AssertionError';
|
||
return _possibleConstructorReturn(_this);
|
||
}
|
||
|
||
_createClass(AssertionError, [{
|
||
key: "toString",
|
||
value: function toString() {
|
||
return "".concat(this.name, " [").concat(this.code, "]: ").concat(this.message);
|
||
}
|
||
}, {
|
||
key: inspect.custom,
|
||
value: function value(recurseTimes, ctx) {
|
||
// This limits the `actual` and `expected` property default inspection to
|
||
// the minimum depth. Otherwise those values would be too verbose compared
|
||
// to the actual error message which contains a combined view of these two
|
||
// input values.
|
||
return inspect(this, _objectSpread({}, ctx, {
|
||
customInspect: false,
|
||
depth: 0
|
||
}));
|
||
}
|
||
}]);
|
||
|
||
return AssertionError;
|
||
}(_wrapNativeSuper(Error));
|
||
|
||
module.exports = AssertionError;
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/assert/build/internal/errors.js":
|
||
/*!******************************************************!*\
|
||
!*** ./node_modules/assert/build/internal/errors.js ***!
|
||
\******************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
// Currently in sync with Node.js lib/internal/errors.js
|
||
// https://github.com/nodejs/node/commit/3b044962c48fe313905877a96b5d0894a5404f6f
|
||
|
||
/* eslint node-core/documented-errors: "error" */
|
||
|
||
/* eslint node-core/alphabetize-errors: "error" */
|
||
|
||
/* eslint node-core/prefer-util-format-errors: "error" */
|
||
// The whole point behind this internal module is to allow Node.js to no
|
||
// longer be forced to treat every error message change as a semver-major
|
||
// change. The NodeError classes here all expose a `code` property whose
|
||
// value statically and permanently identifies the error. While the error
|
||
// message may change, the code should not.
|
||
|
||
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
||
|
||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||
|
||
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
|
||
|
||
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
||
|
||
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
||
|
||
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
||
|
||
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
||
|
||
var codes = {}; // Lazy loaded
|
||
|
||
var assert;
|
||
var util;
|
||
|
||
function createErrorType(code, message, Base) {
|
||
if (!Base) {
|
||
Base = Error;
|
||
}
|
||
|
||
function getMessage(arg1, arg2, arg3) {
|
||
if (typeof message === 'string') {
|
||
return message;
|
||
} else {
|
||
return message(arg1, arg2, arg3);
|
||
}
|
||
}
|
||
|
||
var NodeError =
|
||
/*#__PURE__*/
|
||
function (_Base) {
|
||
_inherits(NodeError, _Base);
|
||
|
||
function NodeError(arg1, arg2, arg3) {
|
||
var _this;
|
||
|
||
_classCallCheck(this, NodeError);
|
||
|
||
_this = _possibleConstructorReturn(this, _getPrototypeOf(NodeError).call(this, getMessage(arg1, arg2, arg3)));
|
||
_this.code = code;
|
||
return _this;
|
||
}
|
||
|
||
return NodeError;
|
||
}(Base);
|
||
|
||
codes[code] = NodeError;
|
||
} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js
|
||
|
||
|
||
function oneOf(expected, thing) {
|
||
if (Array.isArray(expected)) {
|
||
var len = expected.length;
|
||
expected = expected.map(function (i) {
|
||
return String(i);
|
||
});
|
||
|
||
if (len > 2) {
|
||
return "one of ".concat(thing, " ").concat(expected.slice(0, len - 1).join(', '), ", or ") + expected[len - 1];
|
||
} else if (len === 2) {
|
||
return "one of ".concat(thing, " ").concat(expected[0], " or ").concat(expected[1]);
|
||
} else {
|
||
return "of ".concat(thing, " ").concat(expected[0]);
|
||
}
|
||
} else {
|
||
return "of ".concat(thing, " ").concat(String(expected));
|
||
}
|
||
} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith
|
||
|
||
|
||
function startsWith(str, search, pos) {
|
||
return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;
|
||
} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith
|
||
|
||
|
||
function endsWith(str, search, this_len) {
|
||
if (this_len === undefined || this_len > str.length) {
|
||
this_len = str.length;
|
||
}
|
||
|
||
return str.substring(this_len - search.length, this_len) === search;
|
||
} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes
|
||
|
||
|
||
function includes(str, search, start) {
|
||
if (typeof start !== 'number') {
|
||
start = 0;
|
||
}
|
||
|
||
if (start + search.length > str.length) {
|
||
return false;
|
||
} else {
|
||
return str.indexOf(search, start) !== -1;
|
||
}
|
||
}
|
||
|
||
createErrorType('ERR_AMBIGUOUS_ARGUMENT', 'The "%s" argument is ambiguous. %s', TypeError);
|
||
createErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {
|
||
if (assert === undefined) assert = __webpack_require__(/*! ../assert */ "./node_modules/assert/build/assert.js");
|
||
assert(typeof name === 'string', "'name' must be a string"); // determiner: 'must be' or 'must not be'
|
||
|
||
var determiner;
|
||
|
||
if (typeof expected === 'string' && startsWith(expected, 'not ')) {
|
||
determiner = 'must not be';
|
||
expected = expected.replace(/^not /, '');
|
||
} else {
|
||
determiner = 'must be';
|
||
}
|
||
|
||
var msg;
|
||
|
||
if (endsWith(name, ' argument')) {
|
||
// For cases like 'first argument'
|
||
msg = "The ".concat(name, " ").concat(determiner, " ").concat(oneOf(expected, 'type'));
|
||
} else {
|
||
var type = includes(name, '.') ? 'property' : 'argument';
|
||
msg = "The \"".concat(name, "\" ").concat(type, " ").concat(determiner, " ").concat(oneOf(expected, 'type'));
|
||
} // TODO(BridgeAR): Improve the output by showing `null` and similar.
|
||
|
||
|
||
msg += ". Received type ".concat(_typeof(actual));
|
||
return msg;
|
||
}, TypeError);
|
||
createErrorType('ERR_INVALID_ARG_VALUE', function (name, value) {
|
||
var reason = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'is invalid';
|
||
if (util === undefined) util = __webpack_require__(/*! util/ */ "./node_modules/util/util.js");
|
||
var inspected = util.inspect(value);
|
||
|
||
if (inspected.length > 128) {
|
||
inspected = "".concat(inspected.slice(0, 128), "...");
|
||
}
|
||
|
||
return "The argument '".concat(name, "' ").concat(reason, ". Received ").concat(inspected);
|
||
}, TypeError, RangeError);
|
||
createErrorType('ERR_INVALID_RETURN_VALUE', function (input, name, value) {
|
||
var type;
|
||
|
||
if (value && value.constructor && value.constructor.name) {
|
||
type = "instance of ".concat(value.constructor.name);
|
||
} else {
|
||
type = "type ".concat(_typeof(value));
|
||
}
|
||
|
||
return "Expected ".concat(input, " to be returned from the \"").concat(name, "\"") + " function but got ".concat(type, ".");
|
||
}, TypeError);
|
||
createErrorType('ERR_MISSING_ARGS', function () {
|
||
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
||
args[_key] = arguments[_key];
|
||
}
|
||
|
||
if (assert === undefined) assert = __webpack_require__(/*! ../assert */ "./node_modules/assert/build/assert.js");
|
||
assert(args.length > 0, 'At least one arg needs to be specified');
|
||
var msg = 'The ';
|
||
var len = args.length;
|
||
args = args.map(function (a) {
|
||
return "\"".concat(a, "\"");
|
||
});
|
||
|
||
switch (len) {
|
||
case 1:
|
||
msg += "".concat(args[0], " argument");
|
||
break;
|
||
|
||
case 2:
|
||
msg += "".concat(args[0], " and ").concat(args[1], " arguments");
|
||
break;
|
||
|
||
default:
|
||
msg += args.slice(0, len - 1).join(', ');
|
||
msg += ", and ".concat(args[len - 1], " arguments");
|
||
break;
|
||
}
|
||
|
||
return "".concat(msg, " must be specified");
|
||
}, TypeError);
|
||
module.exports.codes = codes;
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/assert/build/internal/util/comparisons.js":
|
||
/*!****************************************************************!*\
|
||
!*** ./node_modules/assert/build/internal/util/comparisons.js ***!
|
||
\****************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
// Currently in sync with Node.js lib/internal/util/comparisons.js
|
||
// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9
|
||
|
||
|
||
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
|
||
|
||
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
|
||
|
||
function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
||
|
||
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
||
|
||
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
||
|
||
var regexFlagsSupported = /a/g.flags !== undefined;
|
||
|
||
var arrayFromSet = function arrayFromSet(set) {
|
||
var array = [];
|
||
set.forEach(function (value) {
|
||
return array.push(value);
|
||
});
|
||
return array;
|
||
};
|
||
|
||
var arrayFromMap = function arrayFromMap(map) {
|
||
var array = [];
|
||
map.forEach(function (value, key) {
|
||
return array.push([key, value]);
|
||
});
|
||
return array;
|
||
};
|
||
|
||
var objectIs = Object.is ? Object.is : __webpack_require__(/*! object-is */ "./node_modules/object-is/index.js");
|
||
var objectGetOwnPropertySymbols = Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols : function () {
|
||
return [];
|
||
};
|
||
var numberIsNaN = Number.isNaN ? Number.isNaN : __webpack_require__(/*! is-nan */ "./node_modules/is-nan/index.js");
|
||
|
||
function uncurryThis(f) {
|
||
return f.call.bind(f);
|
||
}
|
||
|
||
var hasOwnProperty = uncurryThis(Object.prototype.hasOwnProperty);
|
||
var propertyIsEnumerable = uncurryThis(Object.prototype.propertyIsEnumerable);
|
||
var objectToString = uncurryThis(Object.prototype.toString);
|
||
|
||
var _require$types = __webpack_require__(/*! util/ */ "./node_modules/util/util.js").types,
|
||
isAnyArrayBuffer = _require$types.isAnyArrayBuffer,
|
||
isArrayBufferView = _require$types.isArrayBufferView,
|
||
isDate = _require$types.isDate,
|
||
isMap = _require$types.isMap,
|
||
isRegExp = _require$types.isRegExp,
|
||
isSet = _require$types.isSet,
|
||
isNativeError = _require$types.isNativeError,
|
||
isBoxedPrimitive = _require$types.isBoxedPrimitive,
|
||
isNumberObject = _require$types.isNumberObject,
|
||
isStringObject = _require$types.isStringObject,
|
||
isBooleanObject = _require$types.isBooleanObject,
|
||
isBigIntObject = _require$types.isBigIntObject,
|
||
isSymbolObject = _require$types.isSymbolObject,
|
||
isFloat32Array = _require$types.isFloat32Array,
|
||
isFloat64Array = _require$types.isFloat64Array;
|
||
|
||
function isNonIndex(key) {
|
||
if (key.length === 0 || key.length > 10) return true;
|
||
|
||
for (var i = 0; i < key.length; i++) {
|
||
var code = key.charCodeAt(i);
|
||
if (code < 48 || code > 57) return true;
|
||
} // The maximum size for an array is 2 ** 32 -1.
|
||
|
||
|
||
return key.length === 10 && key >= Math.pow(2, 32);
|
||
}
|
||
|
||
function getOwnNonIndexProperties(value) {
|
||
return Object.keys(value).filter(isNonIndex).concat(objectGetOwnPropertySymbols(value).filter(Object.prototype.propertyIsEnumerable.bind(value)));
|
||
} // Taken from https://github.com/feross/buffer/blob/680e9e5e488f22aac27599a57dc844a6315928dd/index.js
|
||
// original notice:
|
||
|
||
/*!
|
||
* The buffer module from node.js, for the browser.
|
||
*
|
||
* @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
|
||
* @license MIT
|
||
*/
|
||
|
||
|
||
function compare(a, b) {
|
||
if (a === b) {
|
||
return 0;
|
||
}
|
||
|
||
var x = a.length;
|
||
var y = b.length;
|
||
|
||
for (var i = 0, len = Math.min(x, y); i < len; ++i) {
|
||
if (a[i] !== b[i]) {
|
||
x = a[i];
|
||
y = b[i];
|
||
break;
|
||
}
|
||
}
|
||
|
||
if (x < y) {
|
||
return -1;
|
||
}
|
||
|
||
if (y < x) {
|
||
return 1;
|
||
}
|
||
|
||
return 0;
|
||
}
|
||
|
||
var ONLY_ENUMERABLE = undefined;
|
||
var kStrict = true;
|
||
var kLoose = false;
|
||
var kNoIterator = 0;
|
||
var kIsArray = 1;
|
||
var kIsSet = 2;
|
||
var kIsMap = 3; // Check if they have the same source and flags
|
||
|
||
function areSimilarRegExps(a, b) {
|
||
return regexFlagsSupported ? a.source === b.source && a.flags === b.flags : RegExp.prototype.toString.call(a) === RegExp.prototype.toString.call(b);
|
||
}
|
||
|
||
function areSimilarFloatArrays(a, b) {
|
||
if (a.byteLength !== b.byteLength) {
|
||
return false;
|
||
}
|
||
|
||
for (var offset = 0; offset < a.byteLength; offset++) {
|
||
if (a[offset] !== b[offset]) {
|
||
return false;
|
||
}
|
||
}
|
||
|
||
return true;
|
||
}
|
||
|
||
function areSimilarTypedArrays(a, b) {
|
||
if (a.byteLength !== b.byteLength) {
|
||
return false;
|
||
}
|
||
|
||
return compare(new Uint8Array(a.buffer, a.byteOffset, a.byteLength), new Uint8Array(b.buffer, b.byteOffset, b.byteLength)) === 0;
|
||
}
|
||
|
||
function areEqualArrayBuffers(buf1, buf2) {
|
||
return buf1.byteLength === buf2.byteLength && compare(new Uint8Array(buf1), new Uint8Array(buf2)) === 0;
|
||
}
|
||
|
||
function isEqualBoxedPrimitive(val1, val2) {
|
||
if (isNumberObject(val1)) {
|
||
return isNumberObject(val2) && objectIs(Number.prototype.valueOf.call(val1), Number.prototype.valueOf.call(val2));
|
||
}
|
||
|
||
if (isStringObject(val1)) {
|
||
return isStringObject(val2) && String.prototype.valueOf.call(val1) === String.prototype.valueOf.call(val2);
|
||
}
|
||
|
||
if (isBooleanObject(val1)) {
|
||
return isBooleanObject(val2) && Boolean.prototype.valueOf.call(val1) === Boolean.prototype.valueOf.call(val2);
|
||
}
|
||
|
||
if (isBigIntObject(val1)) {
|
||
return isBigIntObject(val2) && BigInt.prototype.valueOf.call(val1) === BigInt.prototype.valueOf.call(val2);
|
||
}
|
||
|
||
return isSymbolObject(val2) && Symbol.prototype.valueOf.call(val1) === Symbol.prototype.valueOf.call(val2);
|
||
} // Notes: Type tags are historical [[Class]] properties that can be set by
|
||
// FunctionTemplate::SetClassName() in C++ or Symbol.toStringTag in JS
|
||
// and retrieved using Object.prototype.toString.call(obj) in JS
|
||
// See https://tc39.github.io/ecma262/#sec-object.prototype.tostring
|
||
// for a list of tags pre-defined in the spec.
|
||
// There are some unspecified tags in the wild too (e.g. typed array tags).
|
||
// Since tags can be altered, they only serve fast failures
|
||
//
|
||
// Typed arrays and buffers are checked by comparing the content in their
|
||
// underlying ArrayBuffer. This optimization requires that it's
|
||
// reasonable to interpret their underlying memory in the same way,
|
||
// which is checked by comparing their type tags.
|
||
// (e.g. a Uint8Array and a Uint16Array with the same memory content
|
||
// could still be different because they will be interpreted differently).
|
||
//
|
||
// For strict comparison, objects should have
|
||
// a) The same built-in type tags
|
||
// b) The same prototypes.
|
||
|
||
|
||
function innerDeepEqual(val1, val2, strict, memos) {
|
||
// All identical values are equivalent, as determined by ===.
|
||
if (val1 === val2) {
|
||
if (val1 !== 0) return true;
|
||
return strict ? objectIs(val1, val2) : true;
|
||
} // Check more closely if val1 and val2 are equal.
|
||
|
||
|
||
if (strict) {
|
||
if (_typeof(val1) !== 'object') {
|
||
return typeof val1 === 'number' && numberIsNaN(val1) && numberIsNaN(val2);
|
||
}
|
||
|
||
if (_typeof(val2) !== 'object' || val1 === null || val2 === null) {
|
||
return false;
|
||
}
|
||
|
||
if (Object.getPrototypeOf(val1) !== Object.getPrototypeOf(val2)) {
|
||
return false;
|
||
}
|
||
} else {
|
||
if (val1 === null || _typeof(val1) !== 'object') {
|
||
if (val2 === null || _typeof(val2) !== 'object') {
|
||
// eslint-disable-next-line eqeqeq
|
||
return val1 == val2;
|
||
}
|
||
|
||
return false;
|
||
}
|
||
|
||
if (val2 === null || _typeof(val2) !== 'object') {
|
||
return false;
|
||
}
|
||
}
|
||
|
||
var val1Tag = objectToString(val1);
|
||
var val2Tag = objectToString(val2);
|
||
|
||
if (val1Tag !== val2Tag) {
|
||
return false;
|
||
}
|
||
|
||
if (Array.isArray(val1)) {
|
||
// Check for sparse arrays and general fast path
|
||
if (val1.length !== val2.length) {
|
||
return false;
|
||
}
|
||
|
||
var keys1 = getOwnNonIndexProperties(val1, ONLY_ENUMERABLE);
|
||
var keys2 = getOwnNonIndexProperties(val2, ONLY_ENUMERABLE);
|
||
|
||
if (keys1.length !== keys2.length) {
|
||
return false;
|
||
}
|
||
|
||
return keyCheck(val1, val2, strict, memos, kIsArray, keys1);
|
||
} // [browserify] This triggers on certain types in IE (Map/Set) so we don't
|
||
// wan't to early return out of the rest of the checks. However we can check
|
||
// if the second value is one of these values and the first isn't.
|
||
|
||
|
||
if (val1Tag === '[object Object]') {
|
||
// return keyCheck(val1, val2, strict, memos, kNoIterator);
|
||
if (!isMap(val1) && isMap(val2) || !isSet(val1) && isSet(val2)) {
|
||
return false;
|
||
}
|
||
}
|
||
|
||
if (isDate(val1)) {
|
||
if (!isDate(val2) || Date.prototype.getTime.call(val1) !== Date.prototype.getTime.call(val2)) {
|
||
return false;
|
||
}
|
||
} else if (isRegExp(val1)) {
|
||
if (!isRegExp(val2) || !areSimilarRegExps(val1, val2)) {
|
||
return false;
|
||
}
|
||
} else if (isNativeError(val1) || val1 instanceof Error) {
|
||
// Do not compare the stack as it might differ even though the error itself
|
||
// is otherwise identical.
|
||
if (val1.message !== val2.message || val1.name !== val2.name) {
|
||
return false;
|
||
}
|
||
} else if (isArrayBufferView(val1)) {
|
||
if (!strict && (isFloat32Array(val1) || isFloat64Array(val1))) {
|
||
if (!areSimilarFloatArrays(val1, val2)) {
|
||
return false;
|
||
}
|
||
} else if (!areSimilarTypedArrays(val1, val2)) {
|
||
return false;
|
||
} // Buffer.compare returns true, so val1.length === val2.length. If they both
|
||
// only contain numeric keys, we don't need to exam further than checking
|
||
// the symbols.
|
||
|
||
|
||
var _keys = getOwnNonIndexProperties(val1, ONLY_ENUMERABLE);
|
||
|
||
var _keys2 = getOwnNonIndexProperties(val2, ONLY_ENUMERABLE);
|
||
|
||
if (_keys.length !== _keys2.length) {
|
||
return false;
|
||
}
|
||
|
||
return keyCheck(val1, val2, strict, memos, kNoIterator, _keys);
|
||
} else if (isSet(val1)) {
|
||
if (!isSet(val2) || val1.size !== val2.size) {
|
||
return false;
|
||
}
|
||
|
||
return keyCheck(val1, val2, strict, memos, kIsSet);
|
||
} else if (isMap(val1)) {
|
||
if (!isMap(val2) || val1.size !== val2.size) {
|
||
return false;
|
||
}
|
||
|
||
return keyCheck(val1, val2, strict, memos, kIsMap);
|
||
} else if (isAnyArrayBuffer(val1)) {
|
||
if (!areEqualArrayBuffers(val1, val2)) {
|
||
return false;
|
||
}
|
||
} else if (isBoxedPrimitive(val1) && !isEqualBoxedPrimitive(val1, val2)) {
|
||
return false;
|
||
}
|
||
|
||
return keyCheck(val1, val2, strict, memos, kNoIterator);
|
||
}
|
||
|
||
function getEnumerables(val, keys) {
|
||
return keys.filter(function (k) {
|
||
return propertyIsEnumerable(val, k);
|
||
});
|
||
}
|
||
|
||
function keyCheck(val1, val2, strict, memos, iterationType, aKeys) {
|
||
// For all remaining Object pairs, including Array, objects and Maps,
|
||
// equivalence is determined by having:
|
||
// a) The same number of owned enumerable properties
|
||
// b) The same set of keys/indexes (although not necessarily the same order)
|
||
// c) Equivalent values for every corresponding key/index
|
||
// d) For Sets and Maps, equal contents
|
||
// Note: this accounts for both named and indexed properties on Arrays.
|
||
if (arguments.length === 5) {
|
||
aKeys = Object.keys(val1);
|
||
var bKeys = Object.keys(val2); // The pair must have the same number of owned properties.
|
||
|
||
if (aKeys.length !== bKeys.length) {
|
||
return false;
|
||
}
|
||
} // Cheap key test
|
||
|
||
|
||
var i = 0;
|
||
|
||
for (; i < aKeys.length; i++) {
|
||
if (!hasOwnProperty(val2, aKeys[i])) {
|
||
return false;
|
||
}
|
||
}
|
||
|
||
if (strict && arguments.length === 5) {
|
||
var symbolKeysA = objectGetOwnPropertySymbols(val1);
|
||
|
||
if (symbolKeysA.length !== 0) {
|
||
var count = 0;
|
||
|
||
for (i = 0; i < symbolKeysA.length; i++) {
|
||
var key = symbolKeysA[i];
|
||
|
||
if (propertyIsEnumerable(val1, key)) {
|
||
if (!propertyIsEnumerable(val2, key)) {
|
||
return false;
|
||
}
|
||
|
||
aKeys.push(key);
|
||
count++;
|
||
} else if (propertyIsEnumerable(val2, key)) {
|
||
return false;
|
||
}
|
||
}
|
||
|
||
var symbolKeysB = objectGetOwnPropertySymbols(val2);
|
||
|
||
if (symbolKeysA.length !== symbolKeysB.length && getEnumerables(val2, symbolKeysB).length !== count) {
|
||
return false;
|
||
}
|
||
} else {
|
||
var _symbolKeysB = objectGetOwnPropertySymbols(val2);
|
||
|
||
if (_symbolKeysB.length !== 0 && getEnumerables(val2, _symbolKeysB).length !== 0) {
|
||
return false;
|
||
}
|
||
}
|
||
}
|
||
|
||
if (aKeys.length === 0 && (iterationType === kNoIterator || iterationType === kIsArray && val1.length === 0 || val1.size === 0)) {
|
||
return true;
|
||
} // Use memos to handle cycles.
|
||
|
||
|
||
if (memos === undefined) {
|
||
memos = {
|
||
val1: new Map(),
|
||
val2: new Map(),
|
||
position: 0
|
||
};
|
||
} else {
|
||
// We prevent up to two map.has(x) calls by directly retrieving the value
|
||
// and checking for undefined. The map can only contain numbers, so it is
|
||
// safe to check for undefined only.
|
||
var val2MemoA = memos.val1.get(val1);
|
||
|
||
if (val2MemoA !== undefined) {
|
||
var val2MemoB = memos.val2.get(val2);
|
||
|
||
if (val2MemoB !== undefined) {
|
||
return val2MemoA === val2MemoB;
|
||
}
|
||
}
|
||
|
||
memos.position++;
|
||
}
|
||
|
||
memos.val1.set(val1, memos.position);
|
||
memos.val2.set(val2, memos.position);
|
||
var areEq = objEquiv(val1, val2, strict, aKeys, memos, iterationType);
|
||
memos.val1.delete(val1);
|
||
memos.val2.delete(val2);
|
||
return areEq;
|
||
}
|
||
|
||
function setHasEqualElement(set, val1, strict, memo) {
|
||
// Go looking.
|
||
var setValues = arrayFromSet(set);
|
||
|
||
for (var i = 0; i < setValues.length; i++) {
|
||
var val2 = setValues[i];
|
||
|
||
if (innerDeepEqual(val1, val2, strict, memo)) {
|
||
// Remove the matching element to make sure we do not check that again.
|
||
set.delete(val2);
|
||
return true;
|
||
}
|
||
}
|
||
|
||
return false;
|
||
} // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness#Loose_equality_using
|
||
// Sadly it is not possible to detect corresponding values properly in case the
|
||
// type is a string, number, bigint or boolean. The reason is that those values
|
||
// can match lots of different string values (e.g., 1n == '+00001').
|
||
|
||
|
||
function findLooseMatchingPrimitives(prim) {
|
||
switch (_typeof(prim)) {
|
||
case 'undefined':
|
||
return null;
|
||
|
||
case 'object':
|
||
// Only pass in null as object!
|
||
return undefined;
|
||
|
||
case 'symbol':
|
||
return false;
|
||
|
||
case 'string':
|
||
prim = +prim;
|
||
// Loose equal entries exist only if the string is possible to convert to
|
||
// a regular number and not NaN.
|
||
// Fall through
|
||
|
||
case 'number':
|
||
if (numberIsNaN(prim)) {
|
||
return false;
|
||
}
|
||
|
||
}
|
||
|
||
return true;
|
||
}
|
||
|
||
function setMightHaveLoosePrim(a, b, prim) {
|
||
var altValue = findLooseMatchingPrimitives(prim);
|
||
if (altValue != null) return altValue;
|
||
return b.has(altValue) && !a.has(altValue);
|
||
}
|
||
|
||
function mapMightHaveLoosePrim(a, b, prim, item, memo) {
|
||
var altValue = findLooseMatchingPrimitives(prim);
|
||
|
||
if (altValue != null) {
|
||
return altValue;
|
||
}
|
||
|
||
var curB = b.get(altValue);
|
||
|
||
if (curB === undefined && !b.has(altValue) || !innerDeepEqual(item, curB, false, memo)) {
|
||
return false;
|
||
}
|
||
|
||
return !a.has(altValue) && innerDeepEqual(item, curB, false, memo);
|
||
}
|
||
|
||
function setEquiv(a, b, strict, memo) {
|
||
// This is a lazily initiated Set of entries which have to be compared
|
||
// pairwise.
|
||
var set = null;
|
||
var aValues = arrayFromSet(a);
|
||
|
||
for (var i = 0; i < aValues.length; i++) {
|
||
var val = aValues[i]; // Note: Checking for the objects first improves the performance for object
|
||
// heavy sets but it is a minor slow down for primitives. As they are fast
|
||
// to check this improves the worst case scenario instead.
|
||
|
||
if (_typeof(val) === 'object' && val !== null) {
|
||
if (set === null) {
|
||
set = new Set();
|
||
} // If the specified value doesn't exist in the second set its an not null
|
||
// object (or non strict only: a not matching primitive) we'll need to go
|
||
// hunting for something thats deep-(strict-)equal to it. To make this
|
||
// O(n log n) complexity we have to copy these values in a new set first.
|
||
|
||
|
||
set.add(val);
|
||
} else if (!b.has(val)) {
|
||
if (strict) return false; // Fast path to detect missing string, symbol, undefined and null values.
|
||
|
||
if (!setMightHaveLoosePrim(a, b, val)) {
|
||
return false;
|
||
}
|
||
|
||
if (set === null) {
|
||
set = new Set();
|
||
}
|
||
|
||
set.add(val);
|
||
}
|
||
}
|
||
|
||
if (set !== null) {
|
||
var bValues = arrayFromSet(b);
|
||
|
||
for (var _i = 0; _i < bValues.length; _i++) {
|
||
var _val = bValues[_i]; // We have to check if a primitive value is already
|
||
// matching and only if it's not, go hunting for it.
|
||
|
||
if (_typeof(_val) === 'object' && _val !== null) {
|
||
if (!setHasEqualElement(set, _val, strict, memo)) return false;
|
||
} else if (!strict && !a.has(_val) && !setHasEqualElement(set, _val, strict, memo)) {
|
||
return false;
|
||
}
|
||
}
|
||
|
||
return set.size === 0;
|
||
}
|
||
|
||
return true;
|
||
}
|
||
|
||
function mapHasEqualEntry(set, map, key1, item1, strict, memo) {
|
||
// To be able to handle cases like:
|
||
// Map([[{}, 'a'], [{}, 'b']]) vs Map([[{}, 'b'], [{}, 'a']])
|
||
// ... we need to consider *all* matching keys, not just the first we find.
|
||
var setValues = arrayFromSet(set);
|
||
|
||
for (var i = 0; i < setValues.length; i++) {
|
||
var key2 = setValues[i];
|
||
|
||
if (innerDeepEqual(key1, key2, strict, memo) && innerDeepEqual(item1, map.get(key2), strict, memo)) {
|
||
set.delete(key2);
|
||
return true;
|
||
}
|
||
}
|
||
|
||
return false;
|
||
}
|
||
|
||
function mapEquiv(a, b, strict, memo) {
|
||
var set = null;
|
||
var aEntries = arrayFromMap(a);
|
||
|
||
for (var i = 0; i < aEntries.length; i++) {
|
||
var _aEntries$i = _slicedToArray(aEntries[i], 2),
|
||
key = _aEntries$i[0],
|
||
item1 = _aEntries$i[1];
|
||
|
||
if (_typeof(key) === 'object' && key !== null) {
|
||
if (set === null) {
|
||
set = new Set();
|
||
}
|
||
|
||
set.add(key);
|
||
} else {
|
||
// By directly retrieving the value we prevent another b.has(key) check in
|
||
// almost all possible cases.
|
||
var item2 = b.get(key);
|
||
|
||
if (item2 === undefined && !b.has(key) || !innerDeepEqual(item1, item2, strict, memo)) {
|
||
if (strict) return false; // Fast path to detect missing string, symbol, undefined and null
|
||
// keys.
|
||
|
||
if (!mapMightHaveLoosePrim(a, b, key, item1, memo)) return false;
|
||
|
||
if (set === null) {
|
||
set = new Set();
|
||
}
|
||
|
||
set.add(key);
|
||
}
|
||
}
|
||
}
|
||
|
||
if (set !== null) {
|
||
var bEntries = arrayFromMap(b);
|
||
|
||
for (var _i2 = 0; _i2 < bEntries.length; _i2++) {
|
||
var _bEntries$_i = _slicedToArray(bEntries[_i2], 2),
|
||
key = _bEntries$_i[0],
|
||
item = _bEntries$_i[1];
|
||
|
||
if (_typeof(key) === 'object' && key !== null) {
|
||
if (!mapHasEqualEntry(set, a, key, item, strict, memo)) return false;
|
||
} else if (!strict && (!a.has(key) || !innerDeepEqual(a.get(key), item, false, memo)) && !mapHasEqualEntry(set, a, key, item, false, memo)) {
|
||
return false;
|
||
}
|
||
}
|
||
|
||
return set.size === 0;
|
||
}
|
||
|
||
return true;
|
||
}
|
||
|
||
function objEquiv(a, b, strict, keys, memos, iterationType) {
|
||
// Sets and maps don't have their entries accessible via normal object
|
||
// properties.
|
||
var i = 0;
|
||
|
||
if (iterationType === kIsSet) {
|
||
if (!setEquiv(a, b, strict, memos)) {
|
||
return false;
|
||
}
|
||
} else if (iterationType === kIsMap) {
|
||
if (!mapEquiv(a, b, strict, memos)) {
|
||
return false;
|
||
}
|
||
} else if (iterationType === kIsArray) {
|
||
for (; i < a.length; i++) {
|
||
if (hasOwnProperty(a, i)) {
|
||
if (!hasOwnProperty(b, i) || !innerDeepEqual(a[i], b[i], strict, memos)) {
|
||
return false;
|
||
}
|
||
} else if (hasOwnProperty(b, i)) {
|
||
return false;
|
||
} else {
|
||
// Array is sparse.
|
||
var keysA = Object.keys(a);
|
||
|
||
for (; i < keysA.length; i++) {
|
||
var key = keysA[i];
|
||
|
||
if (!hasOwnProperty(b, key) || !innerDeepEqual(a[key], b[key], strict, memos)) {
|
||
return false;
|
||
}
|
||
}
|
||
|
||
if (keysA.length !== Object.keys(b).length) {
|
||
return false;
|
||
}
|
||
|
||
return true;
|
||
}
|
||
}
|
||
} // The pair must have equivalent values for every corresponding key.
|
||
// Possibly expensive deep test:
|
||
|
||
|
||
for (i = 0; i < keys.length; i++) {
|
||
var _key = keys[i];
|
||
|
||
if (!innerDeepEqual(a[_key], b[_key], strict, memos)) {
|
||
return false;
|
||
}
|
||
}
|
||
|
||
return true;
|
||
}
|
||
|
||
function isDeepEqual(val1, val2) {
|
||
return innerDeepEqual(val1, val2, kLoose);
|
||
}
|
||
|
||
function isDeepStrictEqual(val1, val2) {
|
||
return innerDeepEqual(val1, val2, kStrict);
|
||
}
|
||
|
||
module.exports = {
|
||
isDeepEqual: isDeepEqual,
|
||
isDeepStrictEqual: isDeepStrictEqual
|
||
};
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/available-typed-arrays/index.js":
|
||
/*!******************************************************!*\
|
||
!*** ./node_modules/available-typed-arrays/index.js ***!
|
||
\******************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var filter = __webpack_require__(/*! array-filter */ "./node_modules/array-filter/index.js");
|
||
|
||
module.exports = function availableTypedArrays() {
|
||
return filter([
|
||
'BigInt64Array',
|
||
'BigUint64Array',
|
||
'Float32Array',
|
||
'Float64Array',
|
||
'Int16Array',
|
||
'Int32Array',
|
||
'Int8Array',
|
||
'Uint16Array',
|
||
'Uint32Array',
|
||
'Uint8Array',
|
||
'Uint8ClampedArray'
|
||
], function (typedArray) {
|
||
return typeof __webpack_require__.g[typedArray] === 'function';
|
||
});
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/axios/index.js":
|
||
/*!*************************************!*\
|
||
!*** ./node_modules/axios/index.js ***!
|
||
\*************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
module.exports = __webpack_require__(/*! ./lib/axios */ "./node_modules/axios/lib/axios.js");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/axios/lib/adapters/xhr.js":
|
||
/*!************************************************!*\
|
||
!*** ./node_modules/axios/lib/adapters/xhr.js ***!
|
||
\************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
|
||
var settle = __webpack_require__(/*! ./../core/settle */ "./node_modules/axios/lib/core/settle.js");
|
||
var cookies = __webpack_require__(/*! ./../helpers/cookies */ "./node_modules/axios/lib/helpers/cookies.js");
|
||
var buildURL = __webpack_require__(/*! ./../helpers/buildURL */ "./node_modules/axios/lib/helpers/buildURL.js");
|
||
var buildFullPath = __webpack_require__(/*! ../core/buildFullPath */ "./node_modules/axios/lib/core/buildFullPath.js");
|
||
var parseHeaders = __webpack_require__(/*! ./../helpers/parseHeaders */ "./node_modules/axios/lib/helpers/parseHeaders.js");
|
||
var isURLSameOrigin = __webpack_require__(/*! ./../helpers/isURLSameOrigin */ "./node_modules/axios/lib/helpers/isURLSameOrigin.js");
|
||
var createError = __webpack_require__(/*! ../core/createError */ "./node_modules/axios/lib/core/createError.js");
|
||
|
||
module.exports = function xhrAdapter(config) {
|
||
return new Promise(function dispatchXhrRequest(resolve, reject) {
|
||
var requestData = config.data;
|
||
var requestHeaders = config.headers;
|
||
|
||
if (utils.isFormData(requestData)) {
|
||
delete requestHeaders['Content-Type']; // Let the browser set it
|
||
}
|
||
|
||
var request = new XMLHttpRequest();
|
||
|
||
// HTTP basic authentication
|
||
if (config.auth) {
|
||
var username = config.auth.username || '';
|
||
var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';
|
||
requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);
|
||
}
|
||
|
||
var fullPath = buildFullPath(config.baseURL, config.url);
|
||
request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);
|
||
|
||
// Set the request timeout in MS
|
||
request.timeout = config.timeout;
|
||
|
||
// Listen for ready state
|
||
request.onreadystatechange = function handleLoad() {
|
||
if (!request || request.readyState !== 4) {
|
||
return;
|
||
}
|
||
|
||
// The request errored out and we didn't get a response, this will be
|
||
// handled by onerror instead
|
||
// With one exception: request that using file: protocol, most browsers
|
||
// will return status as 0 even though it's a successful request
|
||
if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {
|
||
return;
|
||
}
|
||
|
||
// Prepare the response
|
||
var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;
|
||
var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;
|
||
var response = {
|
||
data: responseData,
|
||
status: request.status,
|
||
statusText: request.statusText,
|
||
headers: responseHeaders,
|
||
config: config,
|
||
request: request
|
||
};
|
||
|
||
settle(resolve, reject, response);
|
||
|
||
// Clean up request
|
||
request = null;
|
||
};
|
||
|
||
// Handle browser request cancellation (as opposed to a manual cancellation)
|
||
request.onabort = function handleAbort() {
|
||
if (!request) {
|
||
return;
|
||
}
|
||
|
||
reject(createError('Request aborted', config, 'ECONNABORTED', request));
|
||
|
||
// Clean up request
|
||
request = null;
|
||
};
|
||
|
||
// Handle low level network errors
|
||
request.onerror = function handleError() {
|
||
// Real errors are hidden from us by the browser
|
||
// onerror should only fire if it's a network error
|
||
reject(createError('Network Error', config, null, request));
|
||
|
||
// Clean up request
|
||
request = null;
|
||
};
|
||
|
||
// Handle timeout
|
||
request.ontimeout = function handleTimeout() {
|
||
var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';
|
||
if (config.timeoutErrorMessage) {
|
||
timeoutErrorMessage = config.timeoutErrorMessage;
|
||
}
|
||
reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',
|
||
request));
|
||
|
||
// Clean up request
|
||
request = null;
|
||
};
|
||
|
||
// Add xsrf header
|
||
// This is only done if running in a standard browser environment.
|
||
// Specifically not if we're in a web worker, or react-native.
|
||
if (utils.isStandardBrowserEnv()) {
|
||
// Add xsrf header
|
||
var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?
|
||
cookies.read(config.xsrfCookieName) :
|
||
undefined;
|
||
|
||
if (xsrfValue) {
|
||
requestHeaders[config.xsrfHeaderName] = xsrfValue;
|
||
}
|
||
}
|
||
|
||
// Add headers to the request
|
||
if ('setRequestHeader' in request) {
|
||
utils.forEach(requestHeaders, function setRequestHeader(val, key) {
|
||
if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {
|
||
// Remove Content-Type if data is undefined
|
||
delete requestHeaders[key];
|
||
} else {
|
||
// Otherwise add header to the request
|
||
request.setRequestHeader(key, val);
|
||
}
|
||
});
|
||
}
|
||
|
||
// Add withCredentials to request if needed
|
||
if (!utils.isUndefined(config.withCredentials)) {
|
||
request.withCredentials = !!config.withCredentials;
|
||
}
|
||
|
||
// Add responseType to request if needed
|
||
if (config.responseType) {
|
||
try {
|
||
request.responseType = config.responseType;
|
||
} catch (e) {
|
||
// Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.
|
||
// But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.
|
||
if (config.responseType !== 'json') {
|
||
throw e;
|
||
}
|
||
}
|
||
}
|
||
|
||
// Handle progress if needed
|
||
if (typeof config.onDownloadProgress === 'function') {
|
||
request.addEventListener('progress', config.onDownloadProgress);
|
||
}
|
||
|
||
// Not all browsers support upload events
|
||
if (typeof config.onUploadProgress === 'function' && request.upload) {
|
||
request.upload.addEventListener('progress', config.onUploadProgress);
|
||
}
|
||
|
||
if (config.cancelToken) {
|
||
// Handle cancellation
|
||
config.cancelToken.promise.then(function onCanceled(cancel) {
|
||
if (!request) {
|
||
return;
|
||
}
|
||
|
||
request.abort();
|
||
reject(cancel);
|
||
// Clean up request
|
||
request = null;
|
||
});
|
||
}
|
||
|
||
if (!requestData) {
|
||
requestData = null;
|
||
}
|
||
|
||
// Send the request
|
||
request.send(requestData);
|
||
});
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/axios/lib/axios.js":
|
||
/*!*****************************************!*\
|
||
!*** ./node_modules/axios/lib/axios.js ***!
|
||
\*****************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var utils = __webpack_require__(/*! ./utils */ "./node_modules/axios/lib/utils.js");
|
||
var bind = __webpack_require__(/*! ./helpers/bind */ "./node_modules/axios/lib/helpers/bind.js");
|
||
var Axios = __webpack_require__(/*! ./core/Axios */ "./node_modules/axios/lib/core/Axios.js");
|
||
var mergeConfig = __webpack_require__(/*! ./core/mergeConfig */ "./node_modules/axios/lib/core/mergeConfig.js");
|
||
var defaults = __webpack_require__(/*! ./defaults */ "./node_modules/axios/lib/defaults.js");
|
||
|
||
/**
|
||
* Create an instance of Axios
|
||
*
|
||
* @param {Object} defaultConfig The default config for the instance
|
||
* @return {Axios} A new instance of Axios
|
||
*/
|
||
function createInstance(defaultConfig) {
|
||
var context = new Axios(defaultConfig);
|
||
var instance = bind(Axios.prototype.request, context);
|
||
|
||
// Copy axios.prototype to instance
|
||
utils.extend(instance, Axios.prototype, context);
|
||
|
||
// Copy context to instance
|
||
utils.extend(instance, context);
|
||
|
||
return instance;
|
||
}
|
||
|
||
// Create the default instance to be exported
|
||
var axios = createInstance(defaults);
|
||
|
||
// Expose Axios class to allow class inheritance
|
||
axios.Axios = Axios;
|
||
|
||
// Factory for creating new instances
|
||
axios.create = function create(instanceConfig) {
|
||
return createInstance(mergeConfig(axios.defaults, instanceConfig));
|
||
};
|
||
|
||
// Expose Cancel & CancelToken
|
||
axios.Cancel = __webpack_require__(/*! ./cancel/Cancel */ "./node_modules/axios/lib/cancel/Cancel.js");
|
||
axios.CancelToken = __webpack_require__(/*! ./cancel/CancelToken */ "./node_modules/axios/lib/cancel/CancelToken.js");
|
||
axios.isCancel = __webpack_require__(/*! ./cancel/isCancel */ "./node_modules/axios/lib/cancel/isCancel.js");
|
||
|
||
// Expose all/spread
|
||
axios.all = function all(promises) {
|
||
return Promise.all(promises);
|
||
};
|
||
axios.spread = __webpack_require__(/*! ./helpers/spread */ "./node_modules/axios/lib/helpers/spread.js");
|
||
|
||
// Expose isAxiosError
|
||
axios.isAxiosError = __webpack_require__(/*! ./helpers/isAxiosError */ "./node_modules/axios/lib/helpers/isAxiosError.js");
|
||
|
||
module.exports = axios;
|
||
|
||
// Allow use of default import syntax in TypeScript
|
||
module.exports.default = axios;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/axios/lib/cancel/Cancel.js":
|
||
/*!*************************************************!*\
|
||
!*** ./node_modules/axios/lib/cancel/Cancel.js ***!
|
||
\*************************************************/
|
||
/***/ (function(module) {
|
||
|
||
"use strict";
|
||
|
||
|
||
/**
|
||
* A `Cancel` is an object that is thrown when an operation is canceled.
|
||
*
|
||
* @class
|
||
* @param {string=} message The message.
|
||
*/
|
||
function Cancel(message) {
|
||
this.message = message;
|
||
}
|
||
|
||
Cancel.prototype.toString = function toString() {
|
||
return 'Cancel' + (this.message ? ': ' + this.message : '');
|
||
};
|
||
|
||
Cancel.prototype.__CANCEL__ = true;
|
||
|
||
module.exports = Cancel;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/axios/lib/cancel/CancelToken.js":
|
||
/*!******************************************************!*\
|
||
!*** ./node_modules/axios/lib/cancel/CancelToken.js ***!
|
||
\******************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var Cancel = __webpack_require__(/*! ./Cancel */ "./node_modules/axios/lib/cancel/Cancel.js");
|
||
|
||
/**
|
||
* A `CancelToken` is an object that can be used to request cancellation of an operation.
|
||
*
|
||
* @class
|
||
* @param {Function} executor The executor function.
|
||
*/
|
||
function CancelToken(executor) {
|
||
if (typeof executor !== 'function') {
|
||
throw new TypeError('executor must be a function.');
|
||
}
|
||
|
||
var resolvePromise;
|
||
this.promise = new Promise(function promiseExecutor(resolve) {
|
||
resolvePromise = resolve;
|
||
});
|
||
|
||
var token = this;
|
||
executor(function cancel(message) {
|
||
if (token.reason) {
|
||
// Cancellation has already been requested
|
||
return;
|
||
}
|
||
|
||
token.reason = new Cancel(message);
|
||
resolvePromise(token.reason);
|
||
});
|
||
}
|
||
|
||
/**
|
||
* Throws a `Cancel` if cancellation has been requested.
|
||
*/
|
||
CancelToken.prototype.throwIfRequested = function throwIfRequested() {
|
||
if (this.reason) {
|
||
throw this.reason;
|
||
}
|
||
};
|
||
|
||
/**
|
||
* Returns an object that contains a new `CancelToken` and a function that, when called,
|
||
* cancels the `CancelToken`.
|
||
*/
|
||
CancelToken.source = function source() {
|
||
var cancel;
|
||
var token = new CancelToken(function executor(c) {
|
||
cancel = c;
|
||
});
|
||
return {
|
||
token: token,
|
||
cancel: cancel
|
||
};
|
||
};
|
||
|
||
module.exports = CancelToken;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/axios/lib/cancel/isCancel.js":
|
||
/*!***************************************************!*\
|
||
!*** ./node_modules/axios/lib/cancel/isCancel.js ***!
|
||
\***************************************************/
|
||
/***/ (function(module) {
|
||
|
||
"use strict";
|
||
|
||
|
||
module.exports = function isCancel(value) {
|
||
return !!(value && value.__CANCEL__);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/axios/lib/core/Axios.js":
|
||
/*!**********************************************!*\
|
||
!*** ./node_modules/axios/lib/core/Axios.js ***!
|
||
\**********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
|
||
var buildURL = __webpack_require__(/*! ../helpers/buildURL */ "./node_modules/axios/lib/helpers/buildURL.js");
|
||
var InterceptorManager = __webpack_require__(/*! ./InterceptorManager */ "./node_modules/axios/lib/core/InterceptorManager.js");
|
||
var dispatchRequest = __webpack_require__(/*! ./dispatchRequest */ "./node_modules/axios/lib/core/dispatchRequest.js");
|
||
var mergeConfig = __webpack_require__(/*! ./mergeConfig */ "./node_modules/axios/lib/core/mergeConfig.js");
|
||
|
||
/**
|
||
* Create a new instance of Axios
|
||
*
|
||
* @param {Object} instanceConfig The default config for the instance
|
||
*/
|
||
function Axios(instanceConfig) {
|
||
this.defaults = instanceConfig;
|
||
this.interceptors = {
|
||
request: new InterceptorManager(),
|
||
response: new InterceptorManager()
|
||
};
|
||
}
|
||
|
||
/**
|
||
* Dispatch a request
|
||
*
|
||
* @param {Object} config The config specific for this request (merged with this.defaults)
|
||
*/
|
||
Axios.prototype.request = function request(config) {
|
||
/*eslint no-param-reassign:0*/
|
||
// Allow for axios('example/url'[, config]) a la fetch API
|
||
if (typeof config === 'string') {
|
||
config = arguments[1] || {};
|
||
config.url = arguments[0];
|
||
} else {
|
||
config = config || {};
|
||
}
|
||
|
||
config = mergeConfig(this.defaults, config);
|
||
|
||
// Set config.method
|
||
if (config.method) {
|
||
config.method = config.method.toLowerCase();
|
||
} else if (this.defaults.method) {
|
||
config.method = this.defaults.method.toLowerCase();
|
||
} else {
|
||
config.method = 'get';
|
||
}
|
||
|
||
// Hook up interceptors middleware
|
||
var chain = [dispatchRequest, undefined];
|
||
var promise = Promise.resolve(config);
|
||
|
||
this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {
|
||
chain.unshift(interceptor.fulfilled, interceptor.rejected);
|
||
});
|
||
|
||
this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {
|
||
chain.push(interceptor.fulfilled, interceptor.rejected);
|
||
});
|
||
|
||
while (chain.length) {
|
||
promise = promise.then(chain.shift(), chain.shift());
|
||
}
|
||
|
||
return promise;
|
||
};
|
||
|
||
Axios.prototype.getUri = function getUri(config) {
|
||
config = mergeConfig(this.defaults, config);
|
||
return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\?/, '');
|
||
};
|
||
|
||
// Provide aliases for supported request methods
|
||
utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {
|
||
/*eslint func-names:0*/
|
||
Axios.prototype[method] = function(url, config) {
|
||
return this.request(mergeConfig(config || {}, {
|
||
method: method,
|
||
url: url,
|
||
data: (config || {}).data
|
||
}));
|
||
};
|
||
});
|
||
|
||
utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
|
||
/*eslint func-names:0*/
|
||
Axios.prototype[method] = function(url, data, config) {
|
||
return this.request(mergeConfig(config || {}, {
|
||
method: method,
|
||
url: url,
|
||
data: data
|
||
}));
|
||
};
|
||
});
|
||
|
||
module.exports = Axios;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/axios/lib/core/InterceptorManager.js":
|
||
/*!***********************************************************!*\
|
||
!*** ./node_modules/axios/lib/core/InterceptorManager.js ***!
|
||
\***********************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
|
||
|
||
function InterceptorManager() {
|
||
this.handlers = [];
|
||
}
|
||
|
||
/**
|
||
* Add a new interceptor to the stack
|
||
*
|
||
* @param {Function} fulfilled The function to handle `then` for a `Promise`
|
||
* @param {Function} rejected The function to handle `reject` for a `Promise`
|
||
*
|
||
* @return {Number} An ID used to remove interceptor later
|
||
*/
|
||
InterceptorManager.prototype.use = function use(fulfilled, rejected) {
|
||
this.handlers.push({
|
||
fulfilled: fulfilled,
|
||
rejected: rejected
|
||
});
|
||
return this.handlers.length - 1;
|
||
};
|
||
|
||
/**
|
||
* Remove an interceptor from the stack
|
||
*
|
||
* @param {Number} id The ID that was returned by `use`
|
||
*/
|
||
InterceptorManager.prototype.eject = function eject(id) {
|
||
if (this.handlers[id]) {
|
||
this.handlers[id] = null;
|
||
}
|
||
};
|
||
|
||
/**
|
||
* Iterate over all the registered interceptors
|
||
*
|
||
* This method is particularly useful for skipping over any
|
||
* interceptors that may have become `null` calling `eject`.
|
||
*
|
||
* @param {Function} fn The function to call for each interceptor
|
||
*/
|
||
InterceptorManager.prototype.forEach = function forEach(fn) {
|
||
utils.forEach(this.handlers, function forEachHandler(h) {
|
||
if (h !== null) {
|
||
fn(h);
|
||
}
|
||
});
|
||
};
|
||
|
||
module.exports = InterceptorManager;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/axios/lib/core/buildFullPath.js":
|
||
/*!******************************************************!*\
|
||
!*** ./node_modules/axios/lib/core/buildFullPath.js ***!
|
||
\******************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var isAbsoluteURL = __webpack_require__(/*! ../helpers/isAbsoluteURL */ "./node_modules/axios/lib/helpers/isAbsoluteURL.js");
|
||
var combineURLs = __webpack_require__(/*! ../helpers/combineURLs */ "./node_modules/axios/lib/helpers/combineURLs.js");
|
||
|
||
/**
|
||
* Creates a new URL by combining the baseURL with the requestedURL,
|
||
* only when the requestedURL is not already an absolute URL.
|
||
* If the requestURL is absolute, this function returns the requestedURL untouched.
|
||
*
|
||
* @param {string} baseURL The base URL
|
||
* @param {string} requestedURL Absolute or relative URL to combine
|
||
* @returns {string} The combined full path
|
||
*/
|
||
module.exports = function buildFullPath(baseURL, requestedURL) {
|
||
if (baseURL && !isAbsoluteURL(requestedURL)) {
|
||
return combineURLs(baseURL, requestedURL);
|
||
}
|
||
return requestedURL;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/axios/lib/core/createError.js":
|
||
/*!****************************************************!*\
|
||
!*** ./node_modules/axios/lib/core/createError.js ***!
|
||
\****************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var enhanceError = __webpack_require__(/*! ./enhanceError */ "./node_modules/axios/lib/core/enhanceError.js");
|
||
|
||
/**
|
||
* Create an Error with the specified message, config, error code, request and response.
|
||
*
|
||
* @param {string} message The error message.
|
||
* @param {Object} config The config.
|
||
* @param {string} [code] The error code (for example, 'ECONNABORTED').
|
||
* @param {Object} [request] The request.
|
||
* @param {Object} [response] The response.
|
||
* @returns {Error} The created error.
|
||
*/
|
||
module.exports = function createError(message, config, code, request, response) {
|
||
var error = new Error(message);
|
||
return enhanceError(error, config, code, request, response);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/axios/lib/core/dispatchRequest.js":
|
||
/*!********************************************************!*\
|
||
!*** ./node_modules/axios/lib/core/dispatchRequest.js ***!
|
||
\********************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
|
||
var transformData = __webpack_require__(/*! ./transformData */ "./node_modules/axios/lib/core/transformData.js");
|
||
var isCancel = __webpack_require__(/*! ../cancel/isCancel */ "./node_modules/axios/lib/cancel/isCancel.js");
|
||
var defaults = __webpack_require__(/*! ../defaults */ "./node_modules/axios/lib/defaults.js");
|
||
|
||
/**
|
||
* Throws a `Cancel` if cancellation has been requested.
|
||
*/
|
||
function throwIfCancellationRequested(config) {
|
||
if (config.cancelToken) {
|
||
config.cancelToken.throwIfRequested();
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Dispatch a request to the server using the configured adapter.
|
||
*
|
||
* @param {object} config The config that is to be used for the request
|
||
* @returns {Promise} The Promise to be fulfilled
|
||
*/
|
||
module.exports = function dispatchRequest(config) {
|
||
throwIfCancellationRequested(config);
|
||
|
||
// Ensure headers exist
|
||
config.headers = config.headers || {};
|
||
|
||
// Transform request data
|
||
config.data = transformData(
|
||
config.data,
|
||
config.headers,
|
||
config.transformRequest
|
||
);
|
||
|
||
// Flatten headers
|
||
config.headers = utils.merge(
|
||
config.headers.common || {},
|
||
config.headers[config.method] || {},
|
||
config.headers
|
||
);
|
||
|
||
utils.forEach(
|
||
['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],
|
||
function cleanHeaderConfig(method) {
|
||
delete config.headers[method];
|
||
}
|
||
);
|
||
|
||
var adapter = config.adapter || defaults.adapter;
|
||
|
||
return adapter(config).then(function onAdapterResolution(response) {
|
||
throwIfCancellationRequested(config);
|
||
|
||
// Transform response data
|
||
response.data = transformData(
|
||
response.data,
|
||
response.headers,
|
||
config.transformResponse
|
||
);
|
||
|
||
return response;
|
||
}, function onAdapterRejection(reason) {
|
||
if (!isCancel(reason)) {
|
||
throwIfCancellationRequested(config);
|
||
|
||
// Transform response data
|
||
if (reason && reason.response) {
|
||
reason.response.data = transformData(
|
||
reason.response.data,
|
||
reason.response.headers,
|
||
config.transformResponse
|
||
);
|
||
}
|
||
}
|
||
|
||
return Promise.reject(reason);
|
||
});
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/axios/lib/core/enhanceError.js":
|
||
/*!*****************************************************!*\
|
||
!*** ./node_modules/axios/lib/core/enhanceError.js ***!
|
||
\*****************************************************/
|
||
/***/ (function(module) {
|
||
|
||
"use strict";
|
||
|
||
|
||
/**
|
||
* Update an Error with the specified config, error code, and response.
|
||
*
|
||
* @param {Error} error The error to update.
|
||
* @param {Object} config The config.
|
||
* @param {string} [code] The error code (for example, 'ECONNABORTED').
|
||
* @param {Object} [request] The request.
|
||
* @param {Object} [response] The response.
|
||
* @returns {Error} The error.
|
||
*/
|
||
module.exports = function enhanceError(error, config, code, request, response) {
|
||
error.config = config;
|
||
if (code) {
|
||
error.code = code;
|
||
}
|
||
|
||
error.request = request;
|
||
error.response = response;
|
||
error.isAxiosError = true;
|
||
|
||
error.toJSON = function toJSON() {
|
||
return {
|
||
// Standard
|
||
message: this.message,
|
||
name: this.name,
|
||
// Microsoft
|
||
description: this.description,
|
||
number: this.number,
|
||
// Mozilla
|
||
fileName: this.fileName,
|
||
lineNumber: this.lineNumber,
|
||
columnNumber: this.columnNumber,
|
||
stack: this.stack,
|
||
// Axios
|
||
config: this.config,
|
||
code: this.code
|
||
};
|
||
};
|
||
return error;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/axios/lib/core/mergeConfig.js":
|
||
/*!****************************************************!*\
|
||
!*** ./node_modules/axios/lib/core/mergeConfig.js ***!
|
||
\****************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var utils = __webpack_require__(/*! ../utils */ "./node_modules/axios/lib/utils.js");
|
||
|
||
/**
|
||
* Config-specific merge-function which creates a new config-object
|
||
* by merging two configuration objects together.
|
||
*
|
||
* @param {Object} config1
|
||
* @param {Object} config2
|
||
* @returns {Object} New object resulting from merging config2 to config1
|
||
*/
|
||
module.exports = function mergeConfig(config1, config2) {
|
||
// eslint-disable-next-line no-param-reassign
|
||
config2 = config2 || {};
|
||
var config = {};
|
||
|
||
var valueFromConfig2Keys = ['url', 'method', 'data'];
|
||
var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];
|
||
var defaultToConfig2Keys = [
|
||
'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',
|
||
'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',
|
||
'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',
|
||
'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',
|
||
'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'
|
||
];
|
||
var directMergeKeys = ['validateStatus'];
|
||
|
||
function getMergedValue(target, source) {
|
||
if (utils.isPlainObject(target) && utils.isPlainObject(source)) {
|
||
return utils.merge(target, source);
|
||
} else if (utils.isPlainObject(source)) {
|
||
return utils.merge({}, source);
|
||
} else if (utils.isArray(source)) {
|
||
return source.slice();
|
||
}
|
||
return source;
|
||
}
|
||
|
||
function mergeDeepProperties(prop) {
|
||
if (!utils.isUndefined(config2[prop])) {
|
||
config[prop] = getMergedValue(config1[prop], config2[prop]);
|
||
} else if (!utils.isUndefined(config1[prop])) {
|
||
config[prop] = getMergedValue(undefined, config1[prop]);
|
||
}
|
||
}
|
||
|
||
utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {
|
||
if (!utils.isUndefined(config2[prop])) {
|
||
config[prop] = getMergedValue(undefined, config2[prop]);
|
||
}
|
||
});
|
||
|
||
utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);
|
||
|
||
utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {
|
||
if (!utils.isUndefined(config2[prop])) {
|
||
config[prop] = getMergedValue(undefined, config2[prop]);
|
||
} else if (!utils.isUndefined(config1[prop])) {
|
||
config[prop] = getMergedValue(undefined, config1[prop]);
|
||
}
|
||
});
|
||
|
||
utils.forEach(directMergeKeys, function merge(prop) {
|
||
if (prop in config2) {
|
||
config[prop] = getMergedValue(config1[prop], config2[prop]);
|
||
} else if (prop in config1) {
|
||
config[prop] = getMergedValue(undefined, config1[prop]);
|
||
}
|
||
});
|
||
|
||
var axiosKeys = valueFromConfig2Keys
|
||
.concat(mergeDeepPropertiesKeys)
|
||
.concat(defaultToConfig2Keys)
|
||
.concat(directMergeKeys);
|
||
|
||
var otherKeys = Object
|
||
.keys(config1)
|
||
.concat(Object.keys(config2))
|
||
.filter(function filterAxiosKeys(key) {
|
||
return axiosKeys.indexOf(key) === -1;
|
||
});
|
||
|
||
utils.forEach(otherKeys, mergeDeepProperties);
|
||
|
||
return config;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/axios/lib/core/settle.js":
|
||
/*!***********************************************!*\
|
||
!*** ./node_modules/axios/lib/core/settle.js ***!
|
||
\***********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var createError = __webpack_require__(/*! ./createError */ "./node_modules/axios/lib/core/createError.js");
|
||
|
||
/**
|
||
* Resolve or reject a Promise based on response status.
|
||
*
|
||
* @param {Function} resolve A function that resolves the promise.
|
||
* @param {Function} reject A function that rejects the promise.
|
||
* @param {object} response The response.
|
||
*/
|
||
module.exports = function settle(resolve, reject, response) {
|
||
var validateStatus = response.config.validateStatus;
|
||
if (!response.status || !validateStatus || validateStatus(response.status)) {
|
||
resolve(response);
|
||
} else {
|
||
reject(createError(
|
||
'Request failed with status code ' + response.status,
|
||
response.config,
|
||
null,
|
||
response.request,
|
||
response
|
||
));
|
||
}
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/axios/lib/core/transformData.js":
|
||
/*!******************************************************!*\
|
||
!*** ./node_modules/axios/lib/core/transformData.js ***!
|
||
\******************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
|
||
|
||
/**
|
||
* Transform the data for a request or a response
|
||
*
|
||
* @param {Object|String} data The data to be transformed
|
||
* @param {Array} headers The headers for the request or response
|
||
* @param {Array|Function} fns A single function or Array of functions
|
||
* @returns {*} The resulting transformed data
|
||
*/
|
||
module.exports = function transformData(data, headers, fns) {
|
||
/*eslint no-param-reassign:0*/
|
||
utils.forEach(fns, function transform(fn) {
|
||
data = fn(data, headers);
|
||
});
|
||
|
||
return data;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/axios/lib/defaults.js":
|
||
/*!********************************************!*\
|
||
!*** ./node_modules/axios/lib/defaults.js ***!
|
||
\********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
/* provided dependency */ var process = __webpack_require__(/*! process/browser */ "./node_modules/process/browser.js");
|
||
|
||
|
||
var utils = __webpack_require__(/*! ./utils */ "./node_modules/axios/lib/utils.js");
|
||
var normalizeHeaderName = __webpack_require__(/*! ./helpers/normalizeHeaderName */ "./node_modules/axios/lib/helpers/normalizeHeaderName.js");
|
||
|
||
var DEFAULT_CONTENT_TYPE = {
|
||
'Content-Type': 'application/x-www-form-urlencoded'
|
||
};
|
||
|
||
function setContentTypeIfUnset(headers, value) {
|
||
if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {
|
||
headers['Content-Type'] = value;
|
||
}
|
||
}
|
||
|
||
function getDefaultAdapter() {
|
||
var adapter;
|
||
if (typeof XMLHttpRequest !== 'undefined') {
|
||
// For browsers use XHR adapter
|
||
adapter = __webpack_require__(/*! ./adapters/xhr */ "./node_modules/axios/lib/adapters/xhr.js");
|
||
} else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {
|
||
// For node use HTTP adapter
|
||
adapter = __webpack_require__(/*! ./adapters/http */ "./node_modules/axios/lib/adapters/xhr.js");
|
||
}
|
||
return adapter;
|
||
}
|
||
|
||
var defaults = {
|
||
adapter: getDefaultAdapter(),
|
||
|
||
transformRequest: [function transformRequest(data, headers) {
|
||
normalizeHeaderName(headers, 'Accept');
|
||
normalizeHeaderName(headers, 'Content-Type');
|
||
if (utils.isFormData(data) ||
|
||
utils.isArrayBuffer(data) ||
|
||
utils.isBuffer(data) ||
|
||
utils.isStream(data) ||
|
||
utils.isFile(data) ||
|
||
utils.isBlob(data)
|
||
) {
|
||
return data;
|
||
}
|
||
if (utils.isArrayBufferView(data)) {
|
||
return data.buffer;
|
||
}
|
||
if (utils.isURLSearchParams(data)) {
|
||
setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');
|
||
return data.toString();
|
||
}
|
||
if (utils.isObject(data)) {
|
||
setContentTypeIfUnset(headers, 'application/json;charset=utf-8');
|
||
return JSON.stringify(data);
|
||
}
|
||
return data;
|
||
}],
|
||
|
||
transformResponse: [function transformResponse(data) {
|
||
/*eslint no-param-reassign:0*/
|
||
if (typeof data === 'string') {
|
||
try {
|
||
data = JSON.parse(data);
|
||
} catch (e) { /* Ignore */ }
|
||
}
|
||
return data;
|
||
}],
|
||
|
||
/**
|
||
* A timeout in milliseconds to abort a request. If set to 0 (default) a
|
||
* timeout is not created.
|
||
*/
|
||
timeout: 0,
|
||
|
||
xsrfCookieName: 'XSRF-TOKEN',
|
||
xsrfHeaderName: 'X-XSRF-TOKEN',
|
||
|
||
maxContentLength: -1,
|
||
maxBodyLength: -1,
|
||
|
||
validateStatus: function validateStatus(status) {
|
||
return status >= 200 && status < 300;
|
||
}
|
||
};
|
||
|
||
defaults.headers = {
|
||
common: {
|
||
'Accept': 'application/json, text/plain, */*'
|
||
}
|
||
};
|
||
|
||
utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {
|
||
defaults.headers[method] = {};
|
||
});
|
||
|
||
utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
|
||
defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);
|
||
});
|
||
|
||
module.exports = defaults;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/axios/lib/helpers/bind.js":
|
||
/*!************************************************!*\
|
||
!*** ./node_modules/axios/lib/helpers/bind.js ***!
|
||
\************************************************/
|
||
/***/ (function(module) {
|
||
|
||
"use strict";
|
||
|
||
|
||
module.exports = function bind(fn, thisArg) {
|
||
return function wrap() {
|
||
var args = new Array(arguments.length);
|
||
for (var i = 0; i < args.length; i++) {
|
||
args[i] = arguments[i];
|
||
}
|
||
return fn.apply(thisArg, args);
|
||
};
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/axios/lib/helpers/buildURL.js":
|
||
/*!****************************************************!*\
|
||
!*** ./node_modules/axios/lib/helpers/buildURL.js ***!
|
||
\****************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
|
||
|
||
function encode(val) {
|
||
return encodeURIComponent(val).
|
||
replace(/%3A/gi, ':').
|
||
replace(/%24/g, '$').
|
||
replace(/%2C/gi, ',').
|
||
replace(/%20/g, '+').
|
||
replace(/%5B/gi, '[').
|
||
replace(/%5D/gi, ']');
|
||
}
|
||
|
||
/**
|
||
* Build a URL by appending params to the end
|
||
*
|
||
* @param {string} url The base of the url (e.g., http://www.google.com)
|
||
* @param {object} [params] The params to be appended
|
||
* @returns {string} The formatted url
|
||
*/
|
||
module.exports = function buildURL(url, params, paramsSerializer) {
|
||
/*eslint no-param-reassign:0*/
|
||
if (!params) {
|
||
return url;
|
||
}
|
||
|
||
var serializedParams;
|
||
if (paramsSerializer) {
|
||
serializedParams = paramsSerializer(params);
|
||
} else if (utils.isURLSearchParams(params)) {
|
||
serializedParams = params.toString();
|
||
} else {
|
||
var parts = [];
|
||
|
||
utils.forEach(params, function serialize(val, key) {
|
||
if (val === null || typeof val === 'undefined') {
|
||
return;
|
||
}
|
||
|
||
if (utils.isArray(val)) {
|
||
key = key + '[]';
|
||
} else {
|
||
val = [val];
|
||
}
|
||
|
||
utils.forEach(val, function parseValue(v) {
|
||
if (utils.isDate(v)) {
|
||
v = v.toISOString();
|
||
} else if (utils.isObject(v)) {
|
||
v = JSON.stringify(v);
|
||
}
|
||
parts.push(encode(key) + '=' + encode(v));
|
||
});
|
||
});
|
||
|
||
serializedParams = parts.join('&');
|
||
}
|
||
|
||
if (serializedParams) {
|
||
var hashmarkIndex = url.indexOf('#');
|
||
if (hashmarkIndex !== -1) {
|
||
url = url.slice(0, hashmarkIndex);
|
||
}
|
||
|
||
url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;
|
||
}
|
||
|
||
return url;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/axios/lib/helpers/combineURLs.js":
|
||
/*!*******************************************************!*\
|
||
!*** ./node_modules/axios/lib/helpers/combineURLs.js ***!
|
||
\*******************************************************/
|
||
/***/ (function(module) {
|
||
|
||
"use strict";
|
||
|
||
|
||
/**
|
||
* Creates a new URL by combining the specified URLs
|
||
*
|
||
* @param {string} baseURL The base URL
|
||
* @param {string} relativeURL The relative URL
|
||
* @returns {string} The combined URL
|
||
*/
|
||
module.exports = function combineURLs(baseURL, relativeURL) {
|
||
return relativeURL
|
||
? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '')
|
||
: baseURL;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/axios/lib/helpers/cookies.js":
|
||
/*!***************************************************!*\
|
||
!*** ./node_modules/axios/lib/helpers/cookies.js ***!
|
||
\***************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
|
||
|
||
module.exports = (
|
||
utils.isStandardBrowserEnv() ?
|
||
|
||
// Standard browser envs support document.cookie
|
||
(function standardBrowserEnv() {
|
||
return {
|
||
write: function write(name, value, expires, path, domain, secure) {
|
||
var cookie = [];
|
||
cookie.push(name + '=' + encodeURIComponent(value));
|
||
|
||
if (utils.isNumber(expires)) {
|
||
cookie.push('expires=' + new Date(expires).toGMTString());
|
||
}
|
||
|
||
if (utils.isString(path)) {
|
||
cookie.push('path=' + path);
|
||
}
|
||
|
||
if (utils.isString(domain)) {
|
||
cookie.push('domain=' + domain);
|
||
}
|
||
|
||
if (secure === true) {
|
||
cookie.push('secure');
|
||
}
|
||
|
||
document.cookie = cookie.join('; ');
|
||
},
|
||
|
||
read: function read(name) {
|
||
var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)'));
|
||
return (match ? decodeURIComponent(match[3]) : null);
|
||
},
|
||
|
||
remove: function remove(name) {
|
||
this.write(name, '', Date.now() - 86400000);
|
||
}
|
||
};
|
||
})() :
|
||
|
||
// Non standard browser env (web workers, react-native) lack needed support.
|
||
(function nonStandardBrowserEnv() {
|
||
return {
|
||
write: function write() {},
|
||
read: function read() { return null; },
|
||
remove: function remove() {}
|
||
};
|
||
})()
|
||
);
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/axios/lib/helpers/isAbsoluteURL.js":
|
||
/*!*********************************************************!*\
|
||
!*** ./node_modules/axios/lib/helpers/isAbsoluteURL.js ***!
|
||
\*********************************************************/
|
||
/***/ (function(module) {
|
||
|
||
"use strict";
|
||
|
||
|
||
/**
|
||
* Determines whether the specified URL is absolute
|
||
*
|
||
* @param {string} url The URL to test
|
||
* @returns {boolean} True if the specified URL is absolute, otherwise false
|
||
*/
|
||
module.exports = function isAbsoluteURL(url) {
|
||
// A URL is considered absolute if it begins with "<scheme>://" or "//" (protocol-relative URL).
|
||
// RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed
|
||
// by any combination of letters, digits, plus, period, or hyphen.
|
||
return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/axios/lib/helpers/isAxiosError.js":
|
||
/*!********************************************************!*\
|
||
!*** ./node_modules/axios/lib/helpers/isAxiosError.js ***!
|
||
\********************************************************/
|
||
/***/ (function(module) {
|
||
|
||
"use strict";
|
||
|
||
|
||
/**
|
||
* Determines whether the payload is an error thrown by Axios
|
||
*
|
||
* @param {*} payload The value to test
|
||
* @returns {boolean} True if the payload is an error thrown by Axios, otherwise false
|
||
*/
|
||
module.exports = function isAxiosError(payload) {
|
||
return (typeof payload === 'object') && (payload.isAxiosError === true);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/axios/lib/helpers/isURLSameOrigin.js":
|
||
/*!***********************************************************!*\
|
||
!*** ./node_modules/axios/lib/helpers/isURLSameOrigin.js ***!
|
||
\***********************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
|
||
|
||
module.exports = (
|
||
utils.isStandardBrowserEnv() ?
|
||
|
||
// Standard browser envs have full support of the APIs needed to test
|
||
// whether the request URL is of the same origin as current location.
|
||
(function standardBrowserEnv() {
|
||
var msie = /(msie|trident)/i.test(navigator.userAgent);
|
||
var urlParsingNode = document.createElement('a');
|
||
var originURL;
|
||
|
||
/**
|
||
* Parse a URL to discover it's components
|
||
*
|
||
* @param {String} url The URL to be parsed
|
||
* @returns {Object}
|
||
*/
|
||
function resolveURL(url) {
|
||
var href = url;
|
||
|
||
if (msie) {
|
||
// IE needs attribute set twice to normalize properties
|
||
urlParsingNode.setAttribute('href', href);
|
||
href = urlParsingNode.href;
|
||
}
|
||
|
||
urlParsingNode.setAttribute('href', href);
|
||
|
||
// urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils
|
||
return {
|
||
href: urlParsingNode.href,
|
||
protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',
|
||
host: urlParsingNode.host,
|
||
search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '',
|
||
hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',
|
||
hostname: urlParsingNode.hostname,
|
||
port: urlParsingNode.port,
|
||
pathname: (urlParsingNode.pathname.charAt(0) === '/') ?
|
||
urlParsingNode.pathname :
|
||
'/' + urlParsingNode.pathname
|
||
};
|
||
}
|
||
|
||
originURL = resolveURL(window.location.href);
|
||
|
||
/**
|
||
* Determine if a URL shares the same origin as the current location
|
||
*
|
||
* @param {String} requestURL The URL to test
|
||
* @returns {boolean} True if URL shares the same origin, otherwise false
|
||
*/
|
||
return function isURLSameOrigin(requestURL) {
|
||
var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;
|
||
return (parsed.protocol === originURL.protocol &&
|
||
parsed.host === originURL.host);
|
||
};
|
||
})() :
|
||
|
||
// Non standard browser envs (web workers, react-native) lack needed support.
|
||
(function nonStandardBrowserEnv() {
|
||
return function isURLSameOrigin() {
|
||
return true;
|
||
};
|
||
})()
|
||
);
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/axios/lib/helpers/normalizeHeaderName.js":
|
||
/*!***************************************************************!*\
|
||
!*** ./node_modules/axios/lib/helpers/normalizeHeaderName.js ***!
|
||
\***************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var utils = __webpack_require__(/*! ../utils */ "./node_modules/axios/lib/utils.js");
|
||
|
||
module.exports = function normalizeHeaderName(headers, normalizedName) {
|
||
utils.forEach(headers, function processHeader(value, name) {
|
||
if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {
|
||
headers[normalizedName] = value;
|
||
delete headers[name];
|
||
}
|
||
});
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/axios/lib/helpers/parseHeaders.js":
|
||
/*!********************************************************!*\
|
||
!*** ./node_modules/axios/lib/helpers/parseHeaders.js ***!
|
||
\********************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
|
||
|
||
// Headers whose duplicates are ignored by node
|
||
// c.f. https://nodejs.org/api/http.html#http_message_headers
|
||
var ignoreDuplicateOf = [
|
||
'age', 'authorization', 'content-length', 'content-type', 'etag',
|
||
'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',
|
||
'last-modified', 'location', 'max-forwards', 'proxy-authorization',
|
||
'referer', 'retry-after', 'user-agent'
|
||
];
|
||
|
||
/**
|
||
* Parse headers into an object
|
||
*
|
||
* ```
|
||
* Date: Wed, 27 Aug 2014 08:58:49 GMT
|
||
* Content-Type: application/json
|
||
* Connection: keep-alive
|
||
* Transfer-Encoding: chunked
|
||
* ```
|
||
*
|
||
* @param {String} headers Headers needing to be parsed
|
||
* @returns {Object} Headers parsed into an object
|
||
*/
|
||
module.exports = function parseHeaders(headers) {
|
||
var parsed = {};
|
||
var key;
|
||
var val;
|
||
var i;
|
||
|
||
if (!headers) { return parsed; }
|
||
|
||
utils.forEach(headers.split('\n'), function parser(line) {
|
||
i = line.indexOf(':');
|
||
key = utils.trim(line.substr(0, i)).toLowerCase();
|
||
val = utils.trim(line.substr(i + 1));
|
||
|
||
if (key) {
|
||
if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {
|
||
return;
|
||
}
|
||
if (key === 'set-cookie') {
|
||
parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);
|
||
} else {
|
||
parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;
|
||
}
|
||
}
|
||
});
|
||
|
||
return parsed;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/axios/lib/helpers/spread.js":
|
||
/*!**************************************************!*\
|
||
!*** ./node_modules/axios/lib/helpers/spread.js ***!
|
||
\**************************************************/
|
||
/***/ (function(module) {
|
||
|
||
"use strict";
|
||
|
||
|
||
/**
|
||
* Syntactic sugar for invoking a function and expanding an array for arguments.
|
||
*
|
||
* Common use case would be to use `Function.prototype.apply`.
|
||
*
|
||
* ```js
|
||
* function f(x, y, z) {}
|
||
* var args = [1, 2, 3];
|
||
* f.apply(null, args);
|
||
* ```
|
||
*
|
||
* With `spread` this example can be re-written.
|
||
*
|
||
* ```js
|
||
* spread(function(x, y, z) {})([1, 2, 3]);
|
||
* ```
|
||
*
|
||
* @param {Function} callback
|
||
* @returns {Function}
|
||
*/
|
||
module.exports = function spread(callback) {
|
||
return function wrap(arr) {
|
||
return callback.apply(null, arr);
|
||
};
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/axios/lib/utils.js":
|
||
/*!*****************************************!*\
|
||
!*** ./node_modules/axios/lib/utils.js ***!
|
||
\*****************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var bind = __webpack_require__(/*! ./helpers/bind */ "./node_modules/axios/lib/helpers/bind.js");
|
||
|
||
/*global toString:true*/
|
||
|
||
// utils is a library of generic helper functions non-specific to axios
|
||
|
||
var toString = Object.prototype.toString;
|
||
|
||
/**
|
||
* Determine if a value is an Array
|
||
*
|
||
* @param {Object} val The value to test
|
||
* @returns {boolean} True if value is an Array, otherwise false
|
||
*/
|
||
function isArray(val) {
|
||
return toString.call(val) === '[object Array]';
|
||
}
|
||
|
||
/**
|
||
* Determine if a value is undefined
|
||
*
|
||
* @param {Object} val The value to test
|
||
* @returns {boolean} True if the value is undefined, otherwise false
|
||
*/
|
||
function isUndefined(val) {
|
||
return typeof val === 'undefined';
|
||
}
|
||
|
||
/**
|
||
* Determine if a value is a Buffer
|
||
*
|
||
* @param {Object} val The value to test
|
||
* @returns {boolean} True if value is a Buffer, otherwise false
|
||
*/
|
||
function isBuffer(val) {
|
||
return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)
|
||
&& typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);
|
||
}
|
||
|
||
/**
|
||
* Determine if a value is an ArrayBuffer
|
||
*
|
||
* @param {Object} val The value to test
|
||
* @returns {boolean} True if value is an ArrayBuffer, otherwise false
|
||
*/
|
||
function isArrayBuffer(val) {
|
||
return toString.call(val) === '[object ArrayBuffer]';
|
||
}
|
||
|
||
/**
|
||
* Determine if a value is a FormData
|
||
*
|
||
* @param {Object} val The value to test
|
||
* @returns {boolean} True if value is an FormData, otherwise false
|
||
*/
|
||
function isFormData(val) {
|
||
return (typeof FormData !== 'undefined') && (val instanceof FormData);
|
||
}
|
||
|
||
/**
|
||
* Determine if a value is a view on an ArrayBuffer
|
||
*
|
||
* @param {Object} val The value to test
|
||
* @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false
|
||
*/
|
||
function isArrayBufferView(val) {
|
||
var result;
|
||
if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {
|
||
result = ArrayBuffer.isView(val);
|
||
} else {
|
||
result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);
|
||
}
|
||
return result;
|
||
}
|
||
|
||
/**
|
||
* Determine if a value is a String
|
||
*
|
||
* @param {Object} val The value to test
|
||
* @returns {boolean} True if value is a String, otherwise false
|
||
*/
|
||
function isString(val) {
|
||
return typeof val === 'string';
|
||
}
|
||
|
||
/**
|
||
* Determine if a value is a Number
|
||
*
|
||
* @param {Object} val The value to test
|
||
* @returns {boolean} True if value is a Number, otherwise false
|
||
*/
|
||
function isNumber(val) {
|
||
return typeof val === 'number';
|
||
}
|
||
|
||
/**
|
||
* Determine if a value is an Object
|
||
*
|
||
* @param {Object} val The value to test
|
||
* @returns {boolean} True if value is an Object, otherwise false
|
||
*/
|
||
function isObject(val) {
|
||
return val !== null && typeof val === 'object';
|
||
}
|
||
|
||
/**
|
||
* Determine if a value is a plain Object
|
||
*
|
||
* @param {Object} val The value to test
|
||
* @return {boolean} True if value is a plain Object, otherwise false
|
||
*/
|
||
function isPlainObject(val) {
|
||
if (toString.call(val) !== '[object Object]') {
|
||
return false;
|
||
}
|
||
|
||
var prototype = Object.getPrototypeOf(val);
|
||
return prototype === null || prototype === Object.prototype;
|
||
}
|
||
|
||
/**
|
||
* Determine if a value is a Date
|
||
*
|
||
* @param {Object} val The value to test
|
||
* @returns {boolean} True if value is a Date, otherwise false
|
||
*/
|
||
function isDate(val) {
|
||
return toString.call(val) === '[object Date]';
|
||
}
|
||
|
||
/**
|
||
* Determine if a value is a File
|
||
*
|
||
* @param {Object} val The value to test
|
||
* @returns {boolean} True if value is a File, otherwise false
|
||
*/
|
||
function isFile(val) {
|
||
return toString.call(val) === '[object File]';
|
||
}
|
||
|
||
/**
|
||
* Determine if a value is a Blob
|
||
*
|
||
* @param {Object} val The value to test
|
||
* @returns {boolean} True if value is a Blob, otherwise false
|
||
*/
|
||
function isBlob(val) {
|
||
return toString.call(val) === '[object Blob]';
|
||
}
|
||
|
||
/**
|
||
* Determine if a value is a Function
|
||
*
|
||
* @param {Object} val The value to test
|
||
* @returns {boolean} True if value is a Function, otherwise false
|
||
*/
|
||
function isFunction(val) {
|
||
return toString.call(val) === '[object Function]';
|
||
}
|
||
|
||
/**
|
||
* Determine if a value is a Stream
|
||
*
|
||
* @param {Object} val The value to test
|
||
* @returns {boolean} True if value is a Stream, otherwise false
|
||
*/
|
||
function isStream(val) {
|
||
return isObject(val) && isFunction(val.pipe);
|
||
}
|
||
|
||
/**
|
||
* Determine if a value is a URLSearchParams object
|
||
*
|
||
* @param {Object} val The value to test
|
||
* @returns {boolean} True if value is a URLSearchParams object, otherwise false
|
||
*/
|
||
function isURLSearchParams(val) {
|
||
return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;
|
||
}
|
||
|
||
/**
|
||
* Trim excess whitespace off the beginning and end of a string
|
||
*
|
||
* @param {String} str The String to trim
|
||
* @returns {String} The String freed of excess whitespace
|
||
*/
|
||
function trim(str) {
|
||
return str.replace(/^\s*/, '').replace(/\s*$/, '');
|
||
}
|
||
|
||
/**
|
||
* Determine if we're running in a standard browser environment
|
||
*
|
||
* This allows axios to run in a web worker, and react-native.
|
||
* Both environments support XMLHttpRequest, but not fully standard globals.
|
||
*
|
||
* web workers:
|
||
* typeof window -> undefined
|
||
* typeof document -> undefined
|
||
*
|
||
* react-native:
|
||
* navigator.product -> 'ReactNative'
|
||
* nativescript
|
||
* navigator.product -> 'NativeScript' or 'NS'
|
||
*/
|
||
function isStandardBrowserEnv() {
|
||
if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||
|
||
navigator.product === 'NativeScript' ||
|
||
navigator.product === 'NS')) {
|
||
return false;
|
||
}
|
||
return (
|
||
typeof window !== 'undefined' &&
|
||
typeof document !== 'undefined'
|
||
);
|
||
}
|
||
|
||
/**
|
||
* Iterate over an Array or an Object invoking a function for each item.
|
||
*
|
||
* If `obj` is an Array callback will be called passing
|
||
* the value, index, and complete array for each item.
|
||
*
|
||
* If 'obj' is an Object callback will be called passing
|
||
* the value, key, and complete object for each property.
|
||
*
|
||
* @param {Object|Array} obj The object to iterate
|
||
* @param {Function} fn The callback to invoke for each item
|
||
*/
|
||
function forEach(obj, fn) {
|
||
// Don't bother if no value provided
|
||
if (obj === null || typeof obj === 'undefined') {
|
||
return;
|
||
}
|
||
|
||
// Force an array if not already something iterable
|
||
if (typeof obj !== 'object') {
|
||
/*eslint no-param-reassign:0*/
|
||
obj = [obj];
|
||
}
|
||
|
||
if (isArray(obj)) {
|
||
// Iterate over array values
|
||
for (var i = 0, l = obj.length; i < l; i++) {
|
||
fn.call(null, obj[i], i, obj);
|
||
}
|
||
} else {
|
||
// Iterate over object keys
|
||
for (var key in obj) {
|
||
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
||
fn.call(null, obj[key], key, obj);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Accepts varargs expecting each argument to be an object, then
|
||
* immutably merges the properties of each object and returns result.
|
||
*
|
||
* When multiple objects contain the same key the later object in
|
||
* the arguments list will take precedence.
|
||
*
|
||
* Example:
|
||
*
|
||
* ```js
|
||
* var result = merge({foo: 123}, {foo: 456});
|
||
* console.log(result.foo); // outputs 456
|
||
* ```
|
||
*
|
||
* @param {Object} obj1 Object to merge
|
||
* @returns {Object} Result of all merge properties
|
||
*/
|
||
function merge(/* obj1, obj2, obj3, ... */) {
|
||
var result = {};
|
||
function assignValue(val, key) {
|
||
if (isPlainObject(result[key]) && isPlainObject(val)) {
|
||
result[key] = merge(result[key], val);
|
||
} else if (isPlainObject(val)) {
|
||
result[key] = merge({}, val);
|
||
} else if (isArray(val)) {
|
||
result[key] = val.slice();
|
||
} else {
|
||
result[key] = val;
|
||
}
|
||
}
|
||
|
||
for (var i = 0, l = arguments.length; i < l; i++) {
|
||
forEach(arguments[i], assignValue);
|
||
}
|
||
return result;
|
||
}
|
||
|
||
/**
|
||
* Extends object a by mutably adding to it the properties of object b.
|
||
*
|
||
* @param {Object} a The object to be extended
|
||
* @param {Object} b The object to copy properties from
|
||
* @param {Object} thisArg The object to bind function to
|
||
* @return {Object} The resulting value of object a
|
||
*/
|
||
function extend(a, b, thisArg) {
|
||
forEach(b, function assignValue(val, key) {
|
||
if (thisArg && typeof val === 'function') {
|
||
a[key] = bind(val, thisArg);
|
||
} else {
|
||
a[key] = val;
|
||
}
|
||
});
|
||
return a;
|
||
}
|
||
|
||
/**
|
||
* Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)
|
||
*
|
||
* @param {string} content with BOM
|
||
* @return {string} content value without BOM
|
||
*/
|
||
function stripBOM(content) {
|
||
if (content.charCodeAt(0) === 0xFEFF) {
|
||
content = content.slice(1);
|
||
}
|
||
return content;
|
||
}
|
||
|
||
module.exports = {
|
||
isArray: isArray,
|
||
isArrayBuffer: isArrayBuffer,
|
||
isBuffer: isBuffer,
|
||
isFormData: isFormData,
|
||
isArrayBufferView: isArrayBufferView,
|
||
isString: isString,
|
||
isNumber: isNumber,
|
||
isObject: isObject,
|
||
isPlainObject: isPlainObject,
|
||
isUndefined: isUndefined,
|
||
isDate: isDate,
|
||
isFile: isFile,
|
||
isBlob: isBlob,
|
||
isFunction: isFunction,
|
||
isStream: isStream,
|
||
isURLSearchParams: isURLSearchParams,
|
||
isStandardBrowserEnv: isStandardBrowserEnv,
|
||
forEach: forEach,
|
||
merge: merge,
|
||
extend: extend,
|
||
trim: trim,
|
||
stripBOM: stripBOM
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/AdminSettings.vue?vue&type=script&lang=js&":
|
||
/*!************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/AdminSettings.vue?vue&type=script&lang=js& ***!
|
||
\************************************************************************************************************************************************************/
|
||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
/* provided dependency */ var console = __webpack_require__(/*! console-browserify */ "./node_modules/console-browserify/index.js");
|
||
|
||
|
||
Object.defineProperty(exports, "__esModule", ({
|
||
value: true
|
||
}));
|
||
exports.default = void 0;
|
||
|
||
var _Multiselect = _interopRequireDefault(__webpack_require__(/*! @nextcloud/vue/dist/Components/Multiselect */ "./node_modules/@nextcloud/vue/dist/Components/Multiselect.js"));
|
||
|
||
var _SettingsSection = _interopRequireDefault(__webpack_require__(/*! @nextcloud/vue/dist/Components/SettingsSection */ "./node_modules/@nextcloud/vue/dist/Components/SettingsSection.js"));
|
||
|
||
var _axios = _interopRequireDefault(__webpack_require__(/*! @nextcloud/axios */ "./node_modules/@nextcloud/axios/dist/index.js"));
|
||
|
||
var _dialogs = __webpack_require__(/*! @nextcloud/dialogs */ "./node_modules/@nextcloud/dialogs/dist/index.es.js");
|
||
|
||
__webpack_require__(/*! @nextcloud/dialogs/styles/toast.scss */ "./node_modules/@nextcloud/dialogs/styles/toast.scss");
|
||
|
||
var _initialState = __webpack_require__(/*! @nextcloud/initial-state */ "./node_modules/@nextcloud/initial-state/dist/index.js");
|
||
|
||
var _router = __webpack_require__(/*! @nextcloud/router */ "./node_modules/@nextcloud/router/dist/index.js");
|
||
|
||
var _debounce = _interopRequireDefault(__webpack_require__(/*! debounce */ "./node_modules/debounce/index.js"));
|
||
|
||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||
|
||
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
||
|
||
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
||
|
||
var _default = {
|
||
name: 'AdminSettings',
|
||
components: {
|
||
Multiselect: _Multiselect.default,
|
||
SettingsSection: _SettingsSection.default
|
||
},
|
||
data: function data() {
|
||
return {
|
||
loading: false,
|
||
loadingGroups: false,
|
||
groups: [],
|
||
saveNotification: null,
|
||
adminApproval: false,
|
||
registeredUserGroup: '',
|
||
allowedDomains: '',
|
||
domainsIsBlocklist: false,
|
||
showDomains: false,
|
||
disableEmailVerification: false,
|
||
emailIsLogin: false,
|
||
usernamePolicyRegex: '',
|
||
showFullname: false,
|
||
enforceFullname: false,
|
||
canShowPhone: false,
|
||
showPhone: false,
|
||
enforcePhone: false,
|
||
additionalHint: '',
|
||
emailVerificationHint: ''
|
||
};
|
||
},
|
||
computed: {
|
||
domainListLabel: function domainListLabel() {
|
||
if (this.domainsIsBlocklist) {
|
||
return t('registration', 'Blocked email domains');
|
||
}
|
||
|
||
return t('registration', 'Allowed email domains');
|
||
},
|
||
showDomainListLabel: function showDomainListLabel() {
|
||
if (this.domainsIsBlocklist) {
|
||
return t('registration', 'Show the blocked email domains to users');
|
||
}
|
||
|
||
return t('registration', 'Show the allowed email domains to users');
|
||
}
|
||
},
|
||
mounted: function mounted() {
|
||
this.adminApproval = (0, _initialState.loadState)('registration', 'admin_approval_required');
|
||
this.registeredUserGroup = (0, _initialState.loadState)('registration', 'registered_user_group');
|
||
this.allowedDomains = (0, _initialState.loadState)('registration', 'allowed_domains');
|
||
this.domainsIsBlocklist = (0, _initialState.loadState)('registration', 'domains_is_blocklist');
|
||
this.showDomains = (0, _initialState.loadState)('registration', 'show_domains');
|
||
this.disableEmailVerification = (0, _initialState.loadState)('registration', 'disable_email_verification');
|
||
this.emailIsLogin = (0, _initialState.loadState)('registration', 'email_is_login');
|
||
this.usernamePolicyRegex = (0, _initialState.loadState)('registration', 'username_policy_regex');
|
||
this.showFullname = (0, _initialState.loadState)('registration', 'show_fullname');
|
||
this.enforceFullname = (0, _initialState.loadState)('registration', 'enforce_fullname');
|
||
this.canShowPhone = (0, _initialState.loadState)('registration', 'can_show_phone');
|
||
this.showPhone = (0, _initialState.loadState)('registration', 'show_phone');
|
||
this.enforcePhone = (0, _initialState.loadState)('registration', 'enforce_phone');
|
||
this.additionalHint = (0, _initialState.loadState)('registration', 'additional_hint');
|
||
this.emailVerificationHint = (0, _initialState.loadState)('registration', 'email_verification_hint');
|
||
this.searchGroup('');
|
||
},
|
||
methods: {
|
||
debounceSavingSlow: (0, _debounce.default)(function () {
|
||
this.saveData();
|
||
}, 2000),
|
||
saveData: function () {
|
||
var _saveData = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
|
||
var _this$registeredUserG, _response$data, _response$data2, _response$data2$data, _response$data3, _response$data3$data, response, _e$response, _e$response$data, _e$response$data$data;
|
||
|
||
return regeneratorRuntime.wrap(function _callee$(_context) {
|
||
while (1) {
|
||
switch (_context.prev = _context.next) {
|
||
case 0:
|
||
this.loading = true;
|
||
|
||
if (!this.saveNotification) {
|
||
_context.next = 4;
|
||
break;
|
||
}
|
||
|
||
_context.next = 4;
|
||
return this.saveNotification.hideToast();
|
||
|
||
case 4:
|
||
_context.prev = 4;
|
||
_context.next = 7;
|
||
return _axios.default.post((0, _router.generateUrl)('/apps/registration/settings'), {
|
||
admin_approval_required: this.adminApproval,
|
||
registered_user_group: (_this$registeredUserG = this.registeredUserGroup) === null || _this$registeredUserG === void 0 ? void 0 : _this$registeredUserG.id,
|
||
allowed_domains: this.allowedDomains,
|
||
domains_is_blocklist: this.domainsIsBlocklist,
|
||
show_domains: this.showDomains,
|
||
disable_email_verification: this.disableEmailVerification,
|
||
email_is_login: this.emailIsLogin,
|
||
username_policy_regex: this.usernamePolicyRegex,
|
||
show_fullname: this.showFullname,
|
||
enforce_fullname: this.enforceFullname,
|
||
show_phone: this.showPhone,
|
||
enforce_phone: this.enforcePhone,
|
||
additional_hint: this.additionalHint,
|
||
email_verification_hint: this.emailVerificationHint
|
||
});
|
||
|
||
case 7:
|
||
response = _context.sent;
|
||
|
||
if ((response === null || response === void 0 ? void 0 : (_response$data = response.data) === null || _response$data === void 0 ? void 0 : _response$data.status) === 'success' && response !== null && response !== void 0 && (_response$data2 = response.data) !== null && _response$data2 !== void 0 && (_response$data2$data = _response$data2.data) !== null && _response$data2$data !== void 0 && _response$data2$data.message) {
|
||
this.saveNotification = (0, _dialogs.showSuccess)(response.data.data.message);
|
||
} else if (response !== null && response !== void 0 && (_response$data3 = response.data) !== null && _response$data3 !== void 0 && (_response$data3$data = _response$data3.data) !== null && _response$data3$data !== void 0 && _response$data3$data.message) {
|
||
this.saveNotification = (0, _dialogs.showError)(response.data.data.message);
|
||
} else {
|
||
this.saveNotification = (0, _dialogs.showError)(t('registration', 'An error occurred while saving the settings'));
|
||
}
|
||
|
||
_context.next = 14;
|
||
break;
|
||
|
||
case 11:
|
||
_context.prev = 11;
|
||
_context.t0 = _context["catch"](4);
|
||
|
||
if ((_e$response = _context.t0.response) !== null && _e$response !== void 0 && (_e$response$data = _e$response.data) !== null && _e$response$data !== void 0 && (_e$response$data$data = _e$response$data.data) !== null && _e$response$data$data !== void 0 && _e$response$data$data.message) {
|
||
this.saveNotification = (0, _dialogs.showError)(_context.t0.response.data.data.message);
|
||
} else {
|
||
this.saveNotification = (0, _dialogs.showError)(t('registration', 'An error occurred while saving the settings'));
|
||
console.error(_context.t0);
|
||
}
|
||
|
||
case 14:
|
||
this.loading = false;
|
||
|
||
case 15:
|
||
case "end":
|
||
return _context.stop();
|
||
}
|
||
}
|
||
}, _callee, this, [[4, 11]]);
|
||
}));
|
||
|
||
function saveData() {
|
||
return _saveData.apply(this, arguments);
|
||
}
|
||
|
||
return saveData;
|
||
}(),
|
||
searchGroup: (0, _debounce.default)( /*#__PURE__*/function () {
|
||
var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(query) {
|
||
var response;
|
||
return regeneratorRuntime.wrap(function _callee2$(_context2) {
|
||
while (1) {
|
||
switch (_context2.prev = _context2.next) {
|
||
case 0:
|
||
this.loadingGroups = true;
|
||
_context2.prev = 1;
|
||
_context2.next = 4;
|
||
return _axios.default.get((0, _router.generateOcsUrl)('cloud', 2) + 'groups/details', {
|
||
search: query,
|
||
limit: 20,
|
||
offset: 0
|
||
});
|
||
|
||
case 4:
|
||
response = _context2.sent;
|
||
this.groups = response.data.ocs.data.groups.sort(function (a, b) {
|
||
return a.displayname.localeCompare(b.displayname);
|
||
});
|
||
_context2.next = 11;
|
||
break;
|
||
|
||
case 8:
|
||
_context2.prev = 8;
|
||
_context2.t0 = _context2["catch"](1);
|
||
console.error('Could not fetch groups', _context2.t0);
|
||
|
||
case 11:
|
||
_context2.prev = 11;
|
||
this.loadingGroups = false;
|
||
return _context2.finish(11);
|
||
|
||
case 14:
|
||
case "end":
|
||
return _context2.stop();
|
||
}
|
||
}
|
||
}, _callee2, this, [[1, 8, 11, 14]]);
|
||
}));
|
||
|
||
return function (_x) {
|
||
return _ref.apply(this, arguments);
|
||
};
|
||
}(), 500)
|
||
}
|
||
};
|
||
exports.default = _default;
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/call-bind/callBound.js":
|
||
/*!*********************************************!*\
|
||
!*** ./node_modules/call-bind/callBound.js ***!
|
||
\*********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var GetIntrinsic = __webpack_require__(/*! get-intrinsic */ "./node_modules/get-intrinsic/index.js");
|
||
|
||
var callBind = __webpack_require__(/*! ./ */ "./node_modules/call-bind/index.js");
|
||
|
||
var $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));
|
||
|
||
module.exports = function callBoundIntrinsic(name, allowMissing) {
|
||
var intrinsic = GetIntrinsic(name, !!allowMissing);
|
||
if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {
|
||
return callBind(intrinsic);
|
||
}
|
||
return intrinsic;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/call-bind/index.js":
|
||
/*!*****************************************!*\
|
||
!*** ./node_modules/call-bind/index.js ***!
|
||
\*****************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var bind = __webpack_require__(/*! function-bind */ "./node_modules/function-bind/index.js");
|
||
var GetIntrinsic = __webpack_require__(/*! get-intrinsic */ "./node_modules/get-intrinsic/index.js");
|
||
|
||
var $apply = GetIntrinsic('%Function.prototype.apply%');
|
||
var $call = GetIntrinsic('%Function.prototype.call%');
|
||
var $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);
|
||
|
||
var $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);
|
||
var $defineProperty = GetIntrinsic('%Object.defineProperty%', true);
|
||
var $max = GetIntrinsic('%Math.max%');
|
||
|
||
if ($defineProperty) {
|
||
try {
|
||
$defineProperty({}, 'a', { value: 1 });
|
||
} catch (e) {
|
||
// IE 8 has a broken defineProperty
|
||
$defineProperty = null;
|
||
}
|
||
}
|
||
|
||
module.exports = function callBind(originalFunction) {
|
||
var func = $reflectApply(bind, $call, arguments);
|
||
if ($gOPD && $defineProperty) {
|
||
var desc = $gOPD(func, 'length');
|
||
if (desc.configurable) {
|
||
// original length, plus the receiver, minus any additional arguments (after the receiver)
|
||
$defineProperty(
|
||
func,
|
||
'length',
|
||
{ value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }
|
||
);
|
||
}
|
||
}
|
||
return func;
|
||
};
|
||
|
||
var applyBind = function applyBind() {
|
||
return $reflectApply(bind, $apply, arguments);
|
||
};
|
||
|
||
if ($defineProperty) {
|
||
$defineProperty(module.exports, 'apply', { value: applyBind });
|
||
} else {
|
||
module.exports.apply = applyBind;
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/charenc/charenc.js":
|
||
/*!*****************************************!*\
|
||
!*** ./node_modules/charenc/charenc.js ***!
|
||
\*****************************************/
|
||
/***/ (function(module) {
|
||
|
||
var charenc = {
|
||
// UTF-8 encoding
|
||
utf8: {
|
||
// Convert a string to a byte array
|
||
stringToBytes: function(str) {
|
||
return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));
|
||
},
|
||
|
||
// Convert a byte array to a string
|
||
bytesToString: function(bytes) {
|
||
return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));
|
||
}
|
||
},
|
||
|
||
// Binary encoding
|
||
bin: {
|
||
// Convert a string to a byte array
|
||
stringToBytes: function(str) {
|
||
for (var bytes = [], i = 0; i < str.length; i++)
|
||
bytes.push(str.charCodeAt(i) & 0xFF);
|
||
return bytes;
|
||
},
|
||
|
||
// Convert a byte array to a string
|
||
bytesToString: function(bytes) {
|
||
for (var str = [], i = 0; i < bytes.length; i++)
|
||
str.push(String.fromCharCode(bytes[i]));
|
||
return str.join('');
|
||
}
|
||
}
|
||
};
|
||
|
||
module.exports = charenc;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/console-browserify/index.js":
|
||
/*!**************************************************!*\
|
||
!*** ./node_modules/console-browserify/index.js ***!
|
||
\**************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
/*global window, global*/
|
||
var util = __webpack_require__(/*! util */ "./node_modules/util/util.js")
|
||
var assert = __webpack_require__(/*! assert */ "./node_modules/assert/build/assert.js")
|
||
function now() { return new Date().getTime() }
|
||
|
||
var slice = Array.prototype.slice
|
||
var console
|
||
var times = {}
|
||
|
||
if (typeof __webpack_require__.g !== "undefined" && __webpack_require__.g.console) {
|
||
console = __webpack_require__.g.console
|
||
} else if (typeof window !== "undefined" && window.console) {
|
||
console = window.console
|
||
} else {
|
||
console = {}
|
||
}
|
||
|
||
var functions = [
|
||
[log, "log"],
|
||
[info, "info"],
|
||
[warn, "warn"],
|
||
[error, "error"],
|
||
[time, "time"],
|
||
[timeEnd, "timeEnd"],
|
||
[trace, "trace"],
|
||
[dir, "dir"],
|
||
[consoleAssert, "assert"]
|
||
]
|
||
|
||
for (var i = 0; i < functions.length; i++) {
|
||
var tuple = functions[i]
|
||
var f = tuple[0]
|
||
var name = tuple[1]
|
||
|
||
if (!console[name]) {
|
||
console[name] = f
|
||
}
|
||
}
|
||
|
||
module.exports = console
|
||
|
||
function log() {}
|
||
|
||
function info() {
|
||
console.log.apply(console, arguments)
|
||
}
|
||
|
||
function warn() {
|
||
console.log.apply(console, arguments)
|
||
}
|
||
|
||
function error() {
|
||
console.warn.apply(console, arguments)
|
||
}
|
||
|
||
function time(label) {
|
||
times[label] = now()
|
||
}
|
||
|
||
function timeEnd(label) {
|
||
var time = times[label]
|
||
if (!time) {
|
||
throw new Error("No such label: " + label)
|
||
}
|
||
|
||
delete times[label]
|
||
var duration = now() - time
|
||
console.log(label + ": " + duration + "ms")
|
||
}
|
||
|
||
function trace() {
|
||
var err = new Error()
|
||
err.name = "Trace"
|
||
err.message = util.format.apply(null, arguments)
|
||
console.error(err.stack)
|
||
}
|
||
|
||
function dir(object) {
|
||
console.log(util.inspect(object) + "\n")
|
||
}
|
||
|
||
function consoleAssert(expression) {
|
||
if (!expression) {
|
||
var arr = slice.call(arguments, 1)
|
||
assert.ok(false, util.format.apply(null, arr))
|
||
}
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/a-function.js":
|
||
/*!******************************************************!*\
|
||
!*** ./node_modules/core-js/internals/a-function.js ***!
|
||
\******************************************************/
|
||
/***/ (function(module) {
|
||
|
||
module.exports = function (it) {
|
||
if (typeof it != 'function') {
|
||
throw TypeError(String(it) + ' is not a function');
|
||
} return it;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/a-possible-prototype.js":
|
||
/*!****************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/a-possible-prototype.js ***!
|
||
\****************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
|
||
|
||
module.exports = function (it) {
|
||
if (!isObject(it) && it !== null) {
|
||
throw TypeError("Can't set " + String(it) + ' as a prototype');
|
||
} return it;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/add-to-unscopables.js":
|
||
/*!**************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/add-to-unscopables.js ***!
|
||
\**************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
|
||
var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js");
|
||
var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js");
|
||
|
||
var UNSCOPABLES = wellKnownSymbol('unscopables');
|
||
var ArrayPrototype = Array.prototype;
|
||
|
||
// Array.prototype[@@unscopables]
|
||
// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
|
||
if (ArrayPrototype[UNSCOPABLES] == undefined) {
|
||
definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {
|
||
configurable: true,
|
||
value: create(null)
|
||
});
|
||
}
|
||
|
||
// add a key to Array.prototype[@@unscopables]
|
||
module.exports = function (key) {
|
||
ArrayPrototype[UNSCOPABLES][key] = true;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/advance-string-index.js":
|
||
/*!****************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/advance-string-index.js ***!
|
||
\****************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var charAt = __webpack_require__(/*! ../internals/string-multibyte */ "./node_modules/core-js/internals/string-multibyte.js").charAt;
|
||
|
||
// `AdvanceStringIndex` abstract operation
|
||
// https://tc39.es/ecma262/#sec-advancestringindex
|
||
module.exports = function (S, index, unicode) {
|
||
return index + (unicode ? charAt(S, index).length : 1);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/an-instance.js":
|
||
/*!*******************************************************!*\
|
||
!*** ./node_modules/core-js/internals/an-instance.js ***!
|
||
\*******************************************************/
|
||
/***/ (function(module) {
|
||
|
||
module.exports = function (it, Constructor, name) {
|
||
if (!(it instanceof Constructor)) {
|
||
throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');
|
||
} return it;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/an-object.js":
|
||
/*!*****************************************************!*\
|
||
!*** ./node_modules/core-js/internals/an-object.js ***!
|
||
\*****************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
|
||
|
||
module.exports = function (it) {
|
||
if (!isObject(it)) {
|
||
throw TypeError(String(it) + ' is not an object');
|
||
} return it;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/array-for-each.js":
|
||
/*!**********************************************************!*\
|
||
!*** ./node_modules/core-js/internals/array-for-each.js ***!
|
||
\**********************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var $forEach = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").forEach;
|
||
var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js/internals/array-method-is-strict.js");
|
||
|
||
var STRICT_METHOD = arrayMethodIsStrict('forEach');
|
||
|
||
// `Array.prototype.forEach` method implementation
|
||
// https://tc39.es/ecma262/#sec-array.prototype.foreach
|
||
module.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {
|
||
return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
||
// eslint-disable-next-line es/no-array-prototype-foreach -- safe
|
||
} : [].forEach;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/array-from.js":
|
||
/*!******************************************************!*\
|
||
!*** ./node_modules/core-js/internals/array-from.js ***!
|
||
\******************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js/internals/function-bind-context.js");
|
||
var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
|
||
var callWithSafeIterationClosing = __webpack_require__(/*! ../internals/call-with-safe-iteration-closing */ "./node_modules/core-js/internals/call-with-safe-iteration-closing.js");
|
||
var isArrayIteratorMethod = __webpack_require__(/*! ../internals/is-array-iterator-method */ "./node_modules/core-js/internals/is-array-iterator-method.js");
|
||
var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
|
||
var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/core-js/internals/create-property.js");
|
||
var getIteratorMethod = __webpack_require__(/*! ../internals/get-iterator-method */ "./node_modules/core-js/internals/get-iterator-method.js");
|
||
|
||
// `Array.from` method implementation
|
||
// https://tc39.es/ecma262/#sec-array.from
|
||
module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {
|
||
var O = toObject(arrayLike);
|
||
var C = typeof this == 'function' ? this : Array;
|
||
var argumentsLength = arguments.length;
|
||
var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
|
||
var mapping = mapfn !== undefined;
|
||
var iteratorMethod = getIteratorMethod(O);
|
||
var index = 0;
|
||
var length, result, step, iterator, next, value;
|
||
if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);
|
||
// if the target is not iterable or it's an array with the default iterator - use a simple case
|
||
if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {
|
||
iterator = iteratorMethod.call(O);
|
||
next = iterator.next;
|
||
result = new C();
|
||
for (;!(step = next.call(iterator)).done; index++) {
|
||
value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;
|
||
createProperty(result, index, value);
|
||
}
|
||
} else {
|
||
length = toLength(O.length);
|
||
result = new C(length);
|
||
for (;length > index; index++) {
|
||
value = mapping ? mapfn(O[index], index) : O[index];
|
||
createProperty(result, index, value);
|
||
}
|
||
}
|
||
result.length = index;
|
||
return result;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/array-includes.js":
|
||
/*!**********************************************************!*\
|
||
!*** ./node_modules/core-js/internals/array-includes.js ***!
|
||
\**********************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js");
|
||
var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
|
||
var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js");
|
||
|
||
// `Array.prototype.{ indexOf, includes }` methods implementation
|
||
var createMethod = function (IS_INCLUDES) {
|
||
return function ($this, el, fromIndex) {
|
||
var O = toIndexedObject($this);
|
||
var length = toLength(O.length);
|
||
var index = toAbsoluteIndex(fromIndex, length);
|
||
var value;
|
||
// Array#includes uses SameValueZero equality algorithm
|
||
// eslint-disable-next-line no-self-compare -- NaN check
|
||
if (IS_INCLUDES && el != el) while (length > index) {
|
||
value = O[index++];
|
||
// eslint-disable-next-line no-self-compare -- NaN check
|
||
if (value != value) return true;
|
||
// Array#indexOf ignores holes, Array#includes - not
|
||
} else for (;length > index; index++) {
|
||
if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
|
||
} return !IS_INCLUDES && -1;
|
||
};
|
||
};
|
||
|
||
module.exports = {
|
||
// `Array.prototype.includes` method
|
||
// https://tc39.es/ecma262/#sec-array.prototype.includes
|
||
includes: createMethod(true),
|
||
// `Array.prototype.indexOf` method
|
||
// https://tc39.es/ecma262/#sec-array.prototype.indexof
|
||
indexOf: createMethod(false)
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/array-iteration.js":
|
||
/*!***********************************************************!*\
|
||
!*** ./node_modules/core-js/internals/array-iteration.js ***!
|
||
\***********************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js/internals/function-bind-context.js");
|
||
var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/core-js/internals/indexed-object.js");
|
||
var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
|
||
var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
|
||
var arraySpeciesCreate = __webpack_require__(/*! ../internals/array-species-create */ "./node_modules/core-js/internals/array-species-create.js");
|
||
|
||
var push = [].push;
|
||
|
||
// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation
|
||
var createMethod = function (TYPE) {
|
||
var IS_MAP = TYPE == 1;
|
||
var IS_FILTER = TYPE == 2;
|
||
var IS_SOME = TYPE == 3;
|
||
var IS_EVERY = TYPE == 4;
|
||
var IS_FIND_INDEX = TYPE == 6;
|
||
var IS_FILTER_OUT = TYPE == 7;
|
||
var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
|
||
return function ($this, callbackfn, that, specificCreate) {
|
||
var O = toObject($this);
|
||
var self = IndexedObject(O);
|
||
var boundFunction = bind(callbackfn, that, 3);
|
||
var length = toLength(self.length);
|
||
var index = 0;
|
||
var create = specificCreate || arraySpeciesCreate;
|
||
var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined;
|
||
var value, result;
|
||
for (;length > index; index++) if (NO_HOLES || index in self) {
|
||
value = self[index];
|
||
result = boundFunction(value, index, O);
|
||
if (TYPE) {
|
||
if (IS_MAP) target[index] = result; // map
|
||
else if (result) switch (TYPE) {
|
||
case 3: return true; // some
|
||
case 5: return value; // find
|
||
case 6: return index; // findIndex
|
||
case 2: push.call(target, value); // filter
|
||
} else switch (TYPE) {
|
||
case 4: return false; // every
|
||
case 7: push.call(target, value); // filterOut
|
||
}
|
||
}
|
||
}
|
||
return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
|
||
};
|
||
};
|
||
|
||
module.exports = {
|
||
// `Array.prototype.forEach` method
|
||
// https://tc39.es/ecma262/#sec-array.prototype.foreach
|
||
forEach: createMethod(0),
|
||
// `Array.prototype.map` method
|
||
// https://tc39.es/ecma262/#sec-array.prototype.map
|
||
map: createMethod(1),
|
||
// `Array.prototype.filter` method
|
||
// https://tc39.es/ecma262/#sec-array.prototype.filter
|
||
filter: createMethod(2),
|
||
// `Array.prototype.some` method
|
||
// https://tc39.es/ecma262/#sec-array.prototype.some
|
||
some: createMethod(3),
|
||
// `Array.prototype.every` method
|
||
// https://tc39.es/ecma262/#sec-array.prototype.every
|
||
every: createMethod(4),
|
||
// `Array.prototype.find` method
|
||
// https://tc39.es/ecma262/#sec-array.prototype.find
|
||
find: createMethod(5),
|
||
// `Array.prototype.findIndex` method
|
||
// https://tc39.es/ecma262/#sec-array.prototype.findIndex
|
||
findIndex: createMethod(6),
|
||
// `Array.prototype.filterOut` method
|
||
// https://github.com/tc39/proposal-array-filtering
|
||
filterOut: createMethod(7)
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/array-method-has-species-support.js":
|
||
/*!****************************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/array-method-has-species-support.js ***!
|
||
\****************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
||
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
|
||
var V8_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ "./node_modules/core-js/internals/engine-v8-version.js");
|
||
|
||
var SPECIES = wellKnownSymbol('species');
|
||
|
||
module.exports = function (METHOD_NAME) {
|
||
// We can't use this feature detection in V8 since it causes
|
||
// deoptimization and serious performance degradation
|
||
// https://github.com/zloirock/core-js/issues/677
|
||
return V8_VERSION >= 51 || !fails(function () {
|
||
var array = [];
|
||
var constructor = array.constructor = {};
|
||
constructor[SPECIES] = function () {
|
||
return { foo: 1 };
|
||
};
|
||
return array[METHOD_NAME](Boolean).foo !== 1;
|
||
});
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/array-method-is-strict.js":
|
||
/*!******************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/array-method-is-strict.js ***!
|
||
\******************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
||
|
||
module.exports = function (METHOD_NAME, argument) {
|
||
var method = [][METHOD_NAME];
|
||
return !!method && fails(function () {
|
||
// eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing
|
||
method.call(null, argument || function () { throw 1; }, 1);
|
||
});
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/array-reduce.js":
|
||
/*!********************************************************!*\
|
||
!*** ./node_modules/core-js/internals/array-reduce.js ***!
|
||
\********************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js");
|
||
var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
|
||
var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/core-js/internals/indexed-object.js");
|
||
var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
|
||
|
||
// `Array.prototype.{ reduce, reduceRight }` methods implementation
|
||
var createMethod = function (IS_RIGHT) {
|
||
return function (that, callbackfn, argumentsLength, memo) {
|
||
aFunction(callbackfn);
|
||
var O = toObject(that);
|
||
var self = IndexedObject(O);
|
||
var length = toLength(O.length);
|
||
var index = IS_RIGHT ? length - 1 : 0;
|
||
var i = IS_RIGHT ? -1 : 1;
|
||
if (argumentsLength < 2) while (true) {
|
||
if (index in self) {
|
||
memo = self[index];
|
||
index += i;
|
||
break;
|
||
}
|
||
index += i;
|
||
if (IS_RIGHT ? index < 0 : length <= index) {
|
||
throw TypeError('Reduce of empty array with no initial value');
|
||
}
|
||
}
|
||
for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {
|
||
memo = callbackfn(memo, self[index], index, O);
|
||
}
|
||
return memo;
|
||
};
|
||
};
|
||
|
||
module.exports = {
|
||
// `Array.prototype.reduce` method
|
||
// https://tc39.es/ecma262/#sec-array.prototype.reduce
|
||
left: createMethod(false),
|
||
// `Array.prototype.reduceRight` method
|
||
// https://tc39.es/ecma262/#sec-array.prototype.reduceright
|
||
right: createMethod(true)
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/array-species-create.js":
|
||
/*!****************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/array-species-create.js ***!
|
||
\****************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
|
||
var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js/internals/is-array.js");
|
||
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
|
||
|
||
var SPECIES = wellKnownSymbol('species');
|
||
|
||
// `ArraySpeciesCreate` abstract operation
|
||
// https://tc39.es/ecma262/#sec-arrayspeciescreate
|
||
module.exports = function (originalArray, length) {
|
||
var C;
|
||
if (isArray(originalArray)) {
|
||
C = originalArray.constructor;
|
||
// cross-realm fallback
|
||
if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
|
||
else if (isObject(C)) {
|
||
C = C[SPECIES];
|
||
if (C === null) C = undefined;
|
||
}
|
||
} return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/call-with-safe-iteration-closing.js":
|
||
/*!****************************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/call-with-safe-iteration-closing.js ***!
|
||
\****************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
|
||
var iteratorClose = __webpack_require__(/*! ../internals/iterator-close */ "./node_modules/core-js/internals/iterator-close.js");
|
||
|
||
// call something on iterator step with safe closing on error
|
||
module.exports = function (iterator, fn, value, ENTRIES) {
|
||
try {
|
||
return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);
|
||
// 7.4.6 IteratorClose(iterator, completion)
|
||
} catch (error) {
|
||
iteratorClose(iterator);
|
||
throw error;
|
||
}
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/check-correctness-of-iteration.js":
|
||
/*!**************************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/check-correctness-of-iteration.js ***!
|
||
\**************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
|
||
|
||
var ITERATOR = wellKnownSymbol('iterator');
|
||
var SAFE_CLOSING = false;
|
||
|
||
try {
|
||
var called = 0;
|
||
var iteratorWithReturn = {
|
||
next: function () {
|
||
return { done: !!called++ };
|
||
},
|
||
'return': function () {
|
||
SAFE_CLOSING = true;
|
||
}
|
||
};
|
||
iteratorWithReturn[ITERATOR] = function () {
|
||
return this;
|
||
};
|
||
// eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing
|
||
Array.from(iteratorWithReturn, function () { throw 2; });
|
||
} catch (error) { /* empty */ }
|
||
|
||
module.exports = function (exec, SKIP_CLOSING) {
|
||
if (!SKIP_CLOSING && !SAFE_CLOSING) return false;
|
||
var ITERATION_SUPPORT = false;
|
||
try {
|
||
var object = {};
|
||
object[ITERATOR] = function () {
|
||
return {
|
||
next: function () {
|
||
return { done: ITERATION_SUPPORT = true };
|
||
}
|
||
};
|
||
};
|
||
exec(object);
|
||
} catch (error) { /* empty */ }
|
||
return ITERATION_SUPPORT;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/classof-raw.js":
|
||
/*!*******************************************************!*\
|
||
!*** ./node_modules/core-js/internals/classof-raw.js ***!
|
||
\*******************************************************/
|
||
/***/ (function(module) {
|
||
|
||
var toString = {}.toString;
|
||
|
||
module.exports = function (it) {
|
||
return toString.call(it).slice(8, -1);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/classof.js":
|
||
/*!***************************************************!*\
|
||
!*** ./node_modules/core-js/internals/classof.js ***!
|
||
\***************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var TO_STRING_TAG_SUPPORT = __webpack_require__(/*! ../internals/to-string-tag-support */ "./node_modules/core-js/internals/to-string-tag-support.js");
|
||
var classofRaw = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js");
|
||
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
|
||
|
||
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
|
||
// ES3 wrong here
|
||
var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
|
||
|
||
// fallback for IE11 Script Access Denied error
|
||
var tryGet = function (it, key) {
|
||
try {
|
||
return it[key];
|
||
} catch (error) { /* empty */ }
|
||
};
|
||
|
||
// getting tag from ES6+ `Object.prototype.toString`
|
||
module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
|
||
var O, tag, result;
|
||
return it === undefined ? 'Undefined' : it === null ? 'Null'
|
||
// @@toStringTag case
|
||
: typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag
|
||
// builtinTag case
|
||
: CORRECT_ARGUMENTS ? classofRaw(O)
|
||
// ES3 arguments fallback
|
||
: (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/collection-strong.js":
|
||
/*!*************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/collection-strong.js ***!
|
||
\*************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f;
|
||
var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js");
|
||
var redefineAll = __webpack_require__(/*! ../internals/redefine-all */ "./node_modules/core-js/internals/redefine-all.js");
|
||
var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js/internals/function-bind-context.js");
|
||
var anInstance = __webpack_require__(/*! ../internals/an-instance */ "./node_modules/core-js/internals/an-instance.js");
|
||
var iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/core-js/internals/iterate.js");
|
||
var defineIterator = __webpack_require__(/*! ../internals/define-iterator */ "./node_modules/core-js/internals/define-iterator.js");
|
||
var setSpecies = __webpack_require__(/*! ../internals/set-species */ "./node_modules/core-js/internals/set-species.js");
|
||
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
|
||
var fastKey = __webpack_require__(/*! ../internals/internal-metadata */ "./node_modules/core-js/internals/internal-metadata.js").fastKey;
|
||
var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js");
|
||
|
||
var setInternalState = InternalStateModule.set;
|
||
var internalStateGetterFor = InternalStateModule.getterFor;
|
||
|
||
module.exports = {
|
||
getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
|
||
var C = wrapper(function (that, iterable) {
|
||
anInstance(that, C, CONSTRUCTOR_NAME);
|
||
setInternalState(that, {
|
||
type: CONSTRUCTOR_NAME,
|
||
index: create(null),
|
||
first: undefined,
|
||
last: undefined,
|
||
size: 0
|
||
});
|
||
if (!DESCRIPTORS) that.size = 0;
|
||
if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });
|
||
});
|
||
|
||
var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);
|
||
|
||
var define = function (that, key, value) {
|
||
var state = getInternalState(that);
|
||
var entry = getEntry(that, key);
|
||
var previous, index;
|
||
// change existing entry
|
||
if (entry) {
|
||
entry.value = value;
|
||
// create new entry
|
||
} else {
|
||
state.last = entry = {
|
||
index: index = fastKey(key, true),
|
||
key: key,
|
||
value: value,
|
||
previous: previous = state.last,
|
||
next: undefined,
|
||
removed: false
|
||
};
|
||
if (!state.first) state.first = entry;
|
||
if (previous) previous.next = entry;
|
||
if (DESCRIPTORS) state.size++;
|
||
else that.size++;
|
||
// add to index
|
||
if (index !== 'F') state.index[index] = entry;
|
||
} return that;
|
||
};
|
||
|
||
var getEntry = function (that, key) {
|
||
var state = getInternalState(that);
|
||
// fast case
|
||
var index = fastKey(key);
|
||
var entry;
|
||
if (index !== 'F') return state.index[index];
|
||
// frozen object case
|
||
for (entry = state.first; entry; entry = entry.next) {
|
||
if (entry.key == key) return entry;
|
||
}
|
||
};
|
||
|
||
redefineAll(C.prototype, {
|
||
// 23.1.3.1 Map.prototype.clear()
|
||
// 23.2.3.2 Set.prototype.clear()
|
||
clear: function clear() {
|
||
var that = this;
|
||
var state = getInternalState(that);
|
||
var data = state.index;
|
||
var entry = state.first;
|
||
while (entry) {
|
||
entry.removed = true;
|
||
if (entry.previous) entry.previous = entry.previous.next = undefined;
|
||
delete data[entry.index];
|
||
entry = entry.next;
|
||
}
|
||
state.first = state.last = undefined;
|
||
if (DESCRIPTORS) state.size = 0;
|
||
else that.size = 0;
|
||
},
|
||
// 23.1.3.3 Map.prototype.delete(key)
|
||
// 23.2.3.4 Set.prototype.delete(value)
|
||
'delete': function (key) {
|
||
var that = this;
|
||
var state = getInternalState(that);
|
||
var entry = getEntry(that, key);
|
||
if (entry) {
|
||
var next = entry.next;
|
||
var prev = entry.previous;
|
||
delete state.index[entry.index];
|
||
entry.removed = true;
|
||
if (prev) prev.next = next;
|
||
if (next) next.previous = prev;
|
||
if (state.first == entry) state.first = next;
|
||
if (state.last == entry) state.last = prev;
|
||
if (DESCRIPTORS) state.size--;
|
||
else that.size--;
|
||
} return !!entry;
|
||
},
|
||
// 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
|
||
// 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
|
||
forEach: function forEach(callbackfn /* , that = undefined */) {
|
||
var state = getInternalState(this);
|
||
var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
|
||
var entry;
|
||
while (entry = entry ? entry.next : state.first) {
|
||
boundFunction(entry.value, entry.key, this);
|
||
// revert to the last existing entry
|
||
while (entry && entry.removed) entry = entry.previous;
|
||
}
|
||
},
|
||
// 23.1.3.7 Map.prototype.has(key)
|
||
// 23.2.3.7 Set.prototype.has(value)
|
||
has: function has(key) {
|
||
return !!getEntry(this, key);
|
||
}
|
||
});
|
||
|
||
redefineAll(C.prototype, IS_MAP ? {
|
||
// 23.1.3.6 Map.prototype.get(key)
|
||
get: function get(key) {
|
||
var entry = getEntry(this, key);
|
||
return entry && entry.value;
|
||
},
|
||
// 23.1.3.9 Map.prototype.set(key, value)
|
||
set: function set(key, value) {
|
||
return define(this, key === 0 ? 0 : key, value);
|
||
}
|
||
} : {
|
||
// 23.2.3.1 Set.prototype.add(value)
|
||
add: function add(value) {
|
||
return define(this, value = value === 0 ? 0 : value, value);
|
||
}
|
||
});
|
||
if (DESCRIPTORS) defineProperty(C.prototype, 'size', {
|
||
get: function () {
|
||
return getInternalState(this).size;
|
||
}
|
||
});
|
||
return C;
|
||
},
|
||
setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {
|
||
var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';
|
||
var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);
|
||
var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);
|
||
// add .keys, .values, .entries, [@@iterator]
|
||
// 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
|
||
defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {
|
||
setInternalState(this, {
|
||
type: ITERATOR_NAME,
|
||
target: iterated,
|
||
state: getInternalCollectionState(iterated),
|
||
kind: kind,
|
||
last: undefined
|
||
});
|
||
}, function () {
|
||
var state = getInternalIteratorState(this);
|
||
var kind = state.kind;
|
||
var entry = state.last;
|
||
// revert to the last existing entry
|
||
while (entry && entry.removed) entry = entry.previous;
|
||
// get next entry
|
||
if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {
|
||
// or finish the iteration
|
||
state.target = undefined;
|
||
return { value: undefined, done: true };
|
||
}
|
||
// return step by kind
|
||
if (kind == 'keys') return { value: entry.key, done: false };
|
||
if (kind == 'values') return { value: entry.value, done: false };
|
||
return { value: [entry.key, entry.value], done: false };
|
||
}, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
|
||
|
||
// add [@@species], 23.1.2.2, 23.2.2.2
|
||
setSpecies(CONSTRUCTOR_NAME);
|
||
}
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/collection.js":
|
||
/*!******************************************************!*\
|
||
!*** ./node_modules/core-js/internals/collection.js ***!
|
||
\******************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
|
||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||
var isForced = __webpack_require__(/*! ../internals/is-forced */ "./node_modules/core-js/internals/is-forced.js");
|
||
var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");
|
||
var InternalMetadataModule = __webpack_require__(/*! ../internals/internal-metadata */ "./node_modules/core-js/internals/internal-metadata.js");
|
||
var iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/core-js/internals/iterate.js");
|
||
var anInstance = __webpack_require__(/*! ../internals/an-instance */ "./node_modules/core-js/internals/an-instance.js");
|
||
var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
|
||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
||
var checkCorrectnessOfIteration = __webpack_require__(/*! ../internals/check-correctness-of-iteration */ "./node_modules/core-js/internals/check-correctness-of-iteration.js");
|
||
var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js");
|
||
var inheritIfRequired = __webpack_require__(/*! ../internals/inherit-if-required */ "./node_modules/core-js/internals/inherit-if-required.js");
|
||
|
||
module.exports = function (CONSTRUCTOR_NAME, wrapper, common) {
|
||
var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;
|
||
var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;
|
||
var ADDER = IS_MAP ? 'set' : 'add';
|
||
var NativeConstructor = global[CONSTRUCTOR_NAME];
|
||
var NativePrototype = NativeConstructor && NativeConstructor.prototype;
|
||
var Constructor = NativeConstructor;
|
||
var exported = {};
|
||
|
||
var fixMethod = function (KEY) {
|
||
var nativeMethod = NativePrototype[KEY];
|
||
redefine(NativePrototype, KEY,
|
||
KEY == 'add' ? function add(value) {
|
||
nativeMethod.call(this, value === 0 ? 0 : value);
|
||
return this;
|
||
} : KEY == 'delete' ? function (key) {
|
||
return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
|
||
} : KEY == 'get' ? function get(key) {
|
||
return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);
|
||
} : KEY == 'has' ? function has(key) {
|
||
return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
|
||
} : function set(key, value) {
|
||
nativeMethod.call(this, key === 0 ? 0 : key, value);
|
||
return this;
|
||
}
|
||
);
|
||
};
|
||
|
||
var REPLACE = isForced(
|
||
CONSTRUCTOR_NAME,
|
||
typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {
|
||
new NativeConstructor().entries().next();
|
||
}))
|
||
);
|
||
|
||
if (REPLACE) {
|
||
// create collection constructor
|
||
Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);
|
||
InternalMetadataModule.REQUIRED = true;
|
||
} else if (isForced(CONSTRUCTOR_NAME, true)) {
|
||
var instance = new Constructor();
|
||
// early implementations not supports chaining
|
||
var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;
|
||
// V8 ~ Chromium 40- weak-collections throws on primitives, but should return false
|
||
var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });
|
||
// most early implementations doesn't supports iterables, most modern - not close it correctly
|
||
// eslint-disable-next-line no-new -- required for testing
|
||
var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });
|
||
// for early implementations -0 and +0 not the same
|
||
var BUGGY_ZERO = !IS_WEAK && fails(function () {
|
||
// V8 ~ Chromium 42- fails only with 5+ elements
|
||
var $instance = new NativeConstructor();
|
||
var index = 5;
|
||
while (index--) $instance[ADDER](index, index);
|
||
return !$instance.has(-0);
|
||
});
|
||
|
||
if (!ACCEPT_ITERABLES) {
|
||
Constructor = wrapper(function (dummy, iterable) {
|
||
anInstance(dummy, Constructor, CONSTRUCTOR_NAME);
|
||
var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);
|
||
if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });
|
||
return that;
|
||
});
|
||
Constructor.prototype = NativePrototype;
|
||
NativePrototype.constructor = Constructor;
|
||
}
|
||
|
||
if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {
|
||
fixMethod('delete');
|
||
fixMethod('has');
|
||
IS_MAP && fixMethod('get');
|
||
}
|
||
|
||
if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);
|
||
|
||
// weak collections should not contains .clear method
|
||
if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;
|
||
}
|
||
|
||
exported[CONSTRUCTOR_NAME] = Constructor;
|
||
$({ global: true, forced: Constructor != NativeConstructor }, exported);
|
||
|
||
setToStringTag(Constructor, CONSTRUCTOR_NAME);
|
||
|
||
if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);
|
||
|
||
return Constructor;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/copy-constructor-properties.js":
|
||
/*!***********************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/copy-constructor-properties.js ***!
|
||
\***********************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
|
||
var ownKeys = __webpack_require__(/*! ../internals/own-keys */ "./node_modules/core-js/internals/own-keys.js");
|
||
var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js");
|
||
var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js");
|
||
|
||
module.exports = function (target, source) {
|
||
var keys = ownKeys(source);
|
||
var defineProperty = definePropertyModule.f;
|
||
var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
|
||
for (var i = 0; i < keys.length; i++) {
|
||
var key = keys[i];
|
||
if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
|
||
}
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/correct-is-regexp-logic.js":
|
||
/*!*******************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/correct-is-regexp-logic.js ***!
|
||
\*******************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
|
||
|
||
var MATCH = wellKnownSymbol('match');
|
||
|
||
module.exports = function (METHOD_NAME) {
|
||
var regexp = /./;
|
||
try {
|
||
'/./'[METHOD_NAME](regexp);
|
||
} catch (error1) {
|
||
try {
|
||
regexp[MATCH] = false;
|
||
return '/./'[METHOD_NAME](regexp);
|
||
} catch (error2) { /* empty */ }
|
||
} return false;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/correct-prototype-getter.js":
|
||
/*!********************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/correct-prototype-getter.js ***!
|
||
\********************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
||
|
||
module.exports = !fails(function () {
|
||
function F() { /* empty */ }
|
||
F.prototype.constructor = null;
|
||
// eslint-disable-next-line es/no-object-getprototypeof -- required for testing
|
||
return Object.getPrototypeOf(new F()) !== F.prototype;
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/create-iterator-constructor.js":
|
||
/*!***********************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/create-iterator-constructor.js ***!
|
||
\***********************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var IteratorPrototype = __webpack_require__(/*! ../internals/iterators-core */ "./node_modules/core-js/internals/iterators-core.js").IteratorPrototype;
|
||
var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js");
|
||
var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js");
|
||
var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js");
|
||
var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js");
|
||
|
||
var returnThis = function () { return this; };
|
||
|
||
module.exports = function (IteratorConstructor, NAME, next) {
|
||
var TO_STRING_TAG = NAME + ' Iterator';
|
||
IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });
|
||
setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);
|
||
Iterators[TO_STRING_TAG] = returnThis;
|
||
return IteratorConstructor;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/create-non-enumerable-property.js":
|
||
/*!**************************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/create-non-enumerable-property.js ***!
|
||
\**************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
|
||
var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js");
|
||
var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js");
|
||
|
||
module.exports = DESCRIPTORS ? function (object, key, value) {
|
||
return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
|
||
} : function (object, key, value) {
|
||
object[key] = value;
|
||
return object;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/create-property-descriptor.js":
|
||
/*!**********************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/create-property-descriptor.js ***!
|
||
\**********************************************************************/
|
||
/***/ (function(module) {
|
||
|
||
module.exports = function (bitmap, value) {
|
||
return {
|
||
enumerable: !(bitmap & 1),
|
||
configurable: !(bitmap & 2),
|
||
writable: !(bitmap & 4),
|
||
value: value
|
||
};
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/create-property.js":
|
||
/*!***********************************************************!*\
|
||
!*** ./node_modules/core-js/internals/create-property.js ***!
|
||
\***********************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js");
|
||
var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js");
|
||
var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js");
|
||
|
||
module.exports = function (object, key, value) {
|
||
var propertyKey = toPrimitive(key);
|
||
if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));
|
||
else object[propertyKey] = value;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/define-iterator.js":
|
||
/*!***********************************************************!*\
|
||
!*** ./node_modules/core-js/internals/define-iterator.js ***!
|
||
\***********************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
|
||
var createIteratorConstructor = __webpack_require__(/*! ../internals/create-iterator-constructor */ "./node_modules/core-js/internals/create-iterator-constructor.js");
|
||
var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js");
|
||
var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/core-js/internals/object-set-prototype-of.js");
|
||
var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js");
|
||
var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js");
|
||
var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");
|
||
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
|
||
var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js");
|
||
var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js");
|
||
var IteratorsCore = __webpack_require__(/*! ../internals/iterators-core */ "./node_modules/core-js/internals/iterators-core.js");
|
||
|
||
var IteratorPrototype = IteratorsCore.IteratorPrototype;
|
||
var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
|
||
var ITERATOR = wellKnownSymbol('iterator');
|
||
var KEYS = 'keys';
|
||
var VALUES = 'values';
|
||
var ENTRIES = 'entries';
|
||
|
||
var returnThis = function () { return this; };
|
||
|
||
module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
|
||
createIteratorConstructor(IteratorConstructor, NAME, next);
|
||
|
||
var getIterationMethod = function (KIND) {
|
||
if (KIND === DEFAULT && defaultIterator) return defaultIterator;
|
||
if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];
|
||
switch (KIND) {
|
||
case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };
|
||
case VALUES: return function values() { return new IteratorConstructor(this, KIND); };
|
||
case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };
|
||
} return function () { return new IteratorConstructor(this); };
|
||
};
|
||
|
||
var TO_STRING_TAG = NAME + ' Iterator';
|
||
var INCORRECT_VALUES_NAME = false;
|
||
var IterablePrototype = Iterable.prototype;
|
||
var nativeIterator = IterablePrototype[ITERATOR]
|
||
|| IterablePrototype['@@iterator']
|
||
|| DEFAULT && IterablePrototype[DEFAULT];
|
||
var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);
|
||
var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
|
||
var CurrentIteratorPrototype, methods, KEY;
|
||
|
||
// fix native
|
||
if (anyNativeIterator) {
|
||
CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));
|
||
if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {
|
||
if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
|
||
if (setPrototypeOf) {
|
||
setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);
|
||
} else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {
|
||
createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);
|
||
}
|
||
}
|
||
// Set @@toStringTag to native iterators
|
||
setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);
|
||
if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;
|
||
}
|
||
}
|
||
|
||
// fix Array#{values, @@iterator}.name in V8 / FF
|
||
if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
|
||
INCORRECT_VALUES_NAME = true;
|
||
defaultIterator = function values() { return nativeIterator.call(this); };
|
||
}
|
||
|
||
// define iterator
|
||
if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {
|
||
createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);
|
||
}
|
||
Iterators[NAME] = defaultIterator;
|
||
|
||
// export additional methods
|
||
if (DEFAULT) {
|
||
methods = {
|
||
values: getIterationMethod(VALUES),
|
||
keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
|
||
entries: getIterationMethod(ENTRIES)
|
||
};
|
||
if (FORCED) for (KEY in methods) {
|
||
if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
|
||
redefine(IterablePrototype, KEY, methods[KEY]);
|
||
}
|
||
} else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
|
||
}
|
||
|
||
return methods;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/define-well-known-symbol.js":
|
||
/*!********************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/define-well-known-symbol.js ***!
|
||
\********************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var path = __webpack_require__(/*! ../internals/path */ "./node_modules/core-js/internals/path.js");
|
||
var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
|
||
var wrappedWellKnownSymbolModule = __webpack_require__(/*! ../internals/well-known-symbol-wrapped */ "./node_modules/core-js/internals/well-known-symbol-wrapped.js");
|
||
var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f;
|
||
|
||
module.exports = function (NAME) {
|
||
var Symbol = path.Symbol || (path.Symbol = {});
|
||
if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {
|
||
value: wrappedWellKnownSymbolModule.f(NAME)
|
||
});
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/descriptors.js":
|
||
/*!*******************************************************!*\
|
||
!*** ./node_modules/core-js/internals/descriptors.js ***!
|
||
\*******************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
||
|
||
// Detect IE8's incomplete defineProperty implementation
|
||
module.exports = !fails(function () {
|
||
// eslint-disable-next-line es/no-object-defineproperty -- required for testing
|
||
return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/document-create-element.js":
|
||
/*!*******************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/document-create-element.js ***!
|
||
\*******************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||
var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
|
||
|
||
var document = global.document;
|
||
// typeof document.createElement is 'object' in old IE
|
||
var EXISTS = isObject(document) && isObject(document.createElement);
|
||
|
||
module.exports = function (it) {
|
||
return EXISTS ? document.createElement(it) : {};
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/dom-iterables.js":
|
||
/*!*********************************************************!*\
|
||
!*** ./node_modules/core-js/internals/dom-iterables.js ***!
|
||
\*********************************************************/
|
||
/***/ (function(module) {
|
||
|
||
// iterable DOM collections
|
||
// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
|
||
module.exports = {
|
||
CSSRuleList: 0,
|
||
CSSStyleDeclaration: 0,
|
||
CSSValueList: 0,
|
||
ClientRectList: 0,
|
||
DOMRectList: 0,
|
||
DOMStringList: 0,
|
||
DOMTokenList: 1,
|
||
DataTransferItemList: 0,
|
||
FileList: 0,
|
||
HTMLAllCollection: 0,
|
||
HTMLCollection: 0,
|
||
HTMLFormElement: 0,
|
||
HTMLSelectElement: 0,
|
||
MediaList: 0,
|
||
MimeTypeArray: 0,
|
||
NamedNodeMap: 0,
|
||
NodeList: 1,
|
||
PaintRequestList: 0,
|
||
Plugin: 0,
|
||
PluginArray: 0,
|
||
SVGLengthList: 0,
|
||
SVGNumberList: 0,
|
||
SVGPathSegList: 0,
|
||
SVGPointList: 0,
|
||
SVGStringList: 0,
|
||
SVGTransformList: 0,
|
||
SourceBufferList: 0,
|
||
StyleSheetList: 0,
|
||
TextTrackCueList: 0,
|
||
TextTrackList: 0,
|
||
TouchList: 0
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/engine-is-ios.js":
|
||
/*!*********************************************************!*\
|
||
!*** ./node_modules/core-js/internals/engine-is-ios.js ***!
|
||
\*********************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var userAgent = __webpack_require__(/*! ../internals/engine-user-agent */ "./node_modules/core-js/internals/engine-user-agent.js");
|
||
|
||
module.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/engine-is-node.js":
|
||
/*!**********************************************************!*\
|
||
!*** ./node_modules/core-js/internals/engine-is-node.js ***!
|
||
\**********************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js");
|
||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||
|
||
module.exports = classof(global.process) == 'process';
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/engine-is-webos-webkit.js":
|
||
/*!******************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/engine-is-webos-webkit.js ***!
|
||
\******************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var userAgent = __webpack_require__(/*! ../internals/engine-user-agent */ "./node_modules/core-js/internals/engine-user-agent.js");
|
||
|
||
module.exports = /web0s(?!.*chrome)/i.test(userAgent);
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/engine-user-agent.js":
|
||
/*!*************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/engine-user-agent.js ***!
|
||
\*************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js");
|
||
|
||
module.exports = getBuiltIn('navigator', 'userAgent') || '';
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/engine-v8-version.js":
|
||
/*!*************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/engine-v8-version.js ***!
|
||
\*************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||
var userAgent = __webpack_require__(/*! ../internals/engine-user-agent */ "./node_modules/core-js/internals/engine-user-agent.js");
|
||
|
||
var process = global.process;
|
||
var versions = process && process.versions;
|
||
var v8 = versions && versions.v8;
|
||
var match, version;
|
||
|
||
if (v8) {
|
||
match = v8.split('.');
|
||
version = match[0] + match[1];
|
||
} else if (userAgent) {
|
||
match = userAgent.match(/Edge\/(\d+)/);
|
||
if (!match || match[1] >= 74) {
|
||
match = userAgent.match(/Chrome\/(\d+)/);
|
||
if (match) version = match[1];
|
||
}
|
||
}
|
||
|
||
module.exports = version && +version;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/enum-bug-keys.js":
|
||
/*!*********************************************************!*\
|
||
!*** ./node_modules/core-js/internals/enum-bug-keys.js ***!
|
||
\*********************************************************/
|
||
/***/ (function(module) {
|
||
|
||
// IE8- don't enum bug keys
|
||
module.exports = [
|
||
'constructor',
|
||
'hasOwnProperty',
|
||
'isPrototypeOf',
|
||
'propertyIsEnumerable',
|
||
'toLocaleString',
|
||
'toString',
|
||
'valueOf'
|
||
];
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/export.js":
|
||
/*!**************************************************!*\
|
||
!*** ./node_modules/core-js/internals/export.js ***!
|
||
\**************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||
var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f;
|
||
var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js");
|
||
var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");
|
||
var setGlobal = __webpack_require__(/*! ../internals/set-global */ "./node_modules/core-js/internals/set-global.js");
|
||
var copyConstructorProperties = __webpack_require__(/*! ../internals/copy-constructor-properties */ "./node_modules/core-js/internals/copy-constructor-properties.js");
|
||
var isForced = __webpack_require__(/*! ../internals/is-forced */ "./node_modules/core-js/internals/is-forced.js");
|
||
|
||
/*
|
||
options.target - name of the target object
|
||
options.global - target is the global object
|
||
options.stat - export as static methods of target
|
||
options.proto - export as prototype methods of target
|
||
options.real - real prototype method for the `pure` version
|
||
options.forced - export even if the native feature is available
|
||
options.bind - bind methods to the target, required for the `pure` version
|
||
options.wrap - wrap constructors to preventing global pollution, required for the `pure` version
|
||
options.unsafe - use the simple assignment of property instead of delete + defineProperty
|
||
options.sham - add a flag to not completely full polyfills
|
||
options.enumerable - export as enumerable property
|
||
options.noTargetGet - prevent calling a getter on target
|
||
*/
|
||
module.exports = function (options, source) {
|
||
var TARGET = options.target;
|
||
var GLOBAL = options.global;
|
||
var STATIC = options.stat;
|
||
var FORCED, target, key, targetProperty, sourceProperty, descriptor;
|
||
if (GLOBAL) {
|
||
target = global;
|
||
} else if (STATIC) {
|
||
target = global[TARGET] || setGlobal(TARGET, {});
|
||
} else {
|
||
target = (global[TARGET] || {}).prototype;
|
||
}
|
||
if (target) for (key in source) {
|
||
sourceProperty = source[key];
|
||
if (options.noTargetGet) {
|
||
descriptor = getOwnPropertyDescriptor(target, key);
|
||
targetProperty = descriptor && descriptor.value;
|
||
} else targetProperty = target[key];
|
||
FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
|
||
// contained in target
|
||
if (!FORCED && targetProperty !== undefined) {
|
||
if (typeof sourceProperty === typeof targetProperty) continue;
|
||
copyConstructorProperties(sourceProperty, targetProperty);
|
||
}
|
||
// add a flag to not completely full polyfills
|
||
if (options.sham || (targetProperty && targetProperty.sham)) {
|
||
createNonEnumerableProperty(sourceProperty, 'sham', true);
|
||
}
|
||
// extend global
|
||
redefine(target, key, sourceProperty, options);
|
||
}
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/fails.js":
|
||
/*!*************************************************!*\
|
||
!*** ./node_modules/core-js/internals/fails.js ***!
|
||
\*************************************************/
|
||
/***/ (function(module) {
|
||
|
||
module.exports = function (exec) {
|
||
try {
|
||
return !!exec();
|
||
} catch (error) {
|
||
return true;
|
||
}
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js":
|
||
/*!******************************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js ***!
|
||
\******************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
// TODO: Remove from `core-js@4` since it's moved to entry points
|
||
__webpack_require__(/*! ../modules/es.regexp.exec */ "./node_modules/core-js/modules/es.regexp.exec.js");
|
||
var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");
|
||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
||
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
|
||
var regexpExec = __webpack_require__(/*! ../internals/regexp-exec */ "./node_modules/core-js/internals/regexp-exec.js");
|
||
var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js");
|
||
|
||
var SPECIES = wellKnownSymbol('species');
|
||
|
||
var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
|
||
// #replace needs built-in support for named groups.
|
||
// #match works fine because it just return the exec results, even if it has
|
||
// a "grops" property.
|
||
var re = /./;
|
||
re.exec = function () {
|
||
var result = [];
|
||
result.groups = { a: '7' };
|
||
return result;
|
||
};
|
||
return ''.replace(re, '$<a>') !== '7';
|
||
});
|
||
|
||
// IE <= 11 replaces $0 with the whole match, as if it was $&
|
||
// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
|
||
var REPLACE_KEEPS_$0 = (function () {
|
||
// eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing
|
||
return 'a'.replace(/./, '$0') === '$0';
|
||
})();
|
||
|
||
var REPLACE = wellKnownSymbol('replace');
|
||
// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string
|
||
var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {
|
||
if (/./[REPLACE]) {
|
||
return /./[REPLACE]('a', '$0') === '';
|
||
}
|
||
return false;
|
||
})();
|
||
|
||
// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
|
||
// Weex JS has frozen built-in prototypes, so use try / catch wrapper
|
||
var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
|
||
// eslint-disable-next-line regexp/no-empty-group -- required for testing
|
||
var re = /(?:)/;
|
||
var originalExec = re.exec;
|
||
re.exec = function () { return originalExec.apply(this, arguments); };
|
||
var result = 'ab'.split(re);
|
||
return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
|
||
});
|
||
|
||
module.exports = function (KEY, length, exec, sham) {
|
||
var SYMBOL = wellKnownSymbol(KEY);
|
||
|
||
var DELEGATES_TO_SYMBOL = !fails(function () {
|
||
// String methods call symbol-named RegEp methods
|
||
var O = {};
|
||
O[SYMBOL] = function () { return 7; };
|
||
return ''[KEY](O) != 7;
|
||
});
|
||
|
||
var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {
|
||
// Symbol-named RegExp methods call .exec
|
||
var execCalled = false;
|
||
var re = /a/;
|
||
|
||
if (KEY === 'split') {
|
||
// We can't use real regex here since it causes deoptimization
|
||
// and serious performance degradation in V8
|
||
// https://github.com/zloirock/core-js/issues/306
|
||
re = {};
|
||
// RegExp[@@split] doesn't call the regex's exec method, but first creates
|
||
// a new one. We need to return the patched regex when creating the new one.
|
||
re.constructor = {};
|
||
re.constructor[SPECIES] = function () { return re; };
|
||
re.flags = '';
|
||
re[SYMBOL] = /./[SYMBOL];
|
||
}
|
||
|
||
re.exec = function () { execCalled = true; return null; };
|
||
|
||
re[SYMBOL]('');
|
||
return !execCalled;
|
||
});
|
||
|
||
if (
|
||
!DELEGATES_TO_SYMBOL ||
|
||
!DELEGATES_TO_EXEC ||
|
||
(KEY === 'replace' && !(
|
||
REPLACE_SUPPORTS_NAMED_GROUPS &&
|
||
REPLACE_KEEPS_$0 &&
|
||
!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE
|
||
)) ||
|
||
(KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
|
||
) {
|
||
var nativeRegExpMethod = /./[SYMBOL];
|
||
var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
|
||
if (regexp.exec === regexpExec) {
|
||
if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
|
||
// The native String method already delegates to @@method (this
|
||
// polyfilled function), leasing to infinite recursion.
|
||
// We avoid it by directly calling the native @@method method.
|
||
return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
|
||
}
|
||
return { done: true, value: nativeMethod.call(str, regexp, arg2) };
|
||
}
|
||
return { done: false };
|
||
}, {
|
||
REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,
|
||
REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE
|
||
});
|
||
var stringMethod = methods[0];
|
||
var regexMethod = methods[1];
|
||
|
||
redefine(String.prototype, KEY, stringMethod);
|
||
redefine(RegExp.prototype, SYMBOL, length == 2
|
||
// 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
|
||
// 21.2.5.11 RegExp.prototype[@@split](string, limit)
|
||
? function (string, arg) { return regexMethod.call(string, this, arg); }
|
||
// 21.2.5.6 RegExp.prototype[@@match](string)
|
||
// 21.2.5.9 RegExp.prototype[@@search](string)
|
||
: function (string) { return regexMethod.call(string, this); }
|
||
);
|
||
}
|
||
|
||
if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/flatten-into-array.js":
|
||
/*!**************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/flatten-into-array.js ***!
|
||
\**************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js/internals/is-array.js");
|
||
var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
|
||
var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js/internals/function-bind-context.js");
|
||
|
||
// `FlattenIntoArray` abstract operation
|
||
// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray
|
||
var flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {
|
||
var targetIndex = start;
|
||
var sourceIndex = 0;
|
||
var mapFn = mapper ? bind(mapper, thisArg, 3) : false;
|
||
var element;
|
||
|
||
while (sourceIndex < sourceLen) {
|
||
if (sourceIndex in source) {
|
||
element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];
|
||
|
||
if (depth > 0 && isArray(element)) {
|
||
targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1;
|
||
} else {
|
||
if (targetIndex >= 0x1FFFFFFFFFFFFF) throw TypeError('Exceed the acceptable array length');
|
||
target[targetIndex] = element;
|
||
}
|
||
|
||
targetIndex++;
|
||
}
|
||
sourceIndex++;
|
||
}
|
||
return targetIndex;
|
||
};
|
||
|
||
module.exports = flattenIntoArray;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/freezing.js":
|
||
/*!****************************************************!*\
|
||
!*** ./node_modules/core-js/internals/freezing.js ***!
|
||
\****************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
||
|
||
module.exports = !fails(function () {
|
||
// eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing
|
||
return Object.isExtensible(Object.preventExtensions({}));
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/function-bind-context.js":
|
||
/*!*****************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/function-bind-context.js ***!
|
||
\*****************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js");
|
||
|
||
// optional / simple context binding
|
||
module.exports = function (fn, that, length) {
|
||
aFunction(fn);
|
||
if (that === undefined) return fn;
|
||
switch (length) {
|
||
case 0: return function () {
|
||
return fn.call(that);
|
||
};
|
||
case 1: return function (a) {
|
||
return fn.call(that, a);
|
||
};
|
||
case 2: return function (a, b) {
|
||
return fn.call(that, a, b);
|
||
};
|
||
case 3: return function (a, b, c) {
|
||
return fn.call(that, a, b, c);
|
||
};
|
||
}
|
||
return function (/* ...args */) {
|
||
return fn.apply(that, arguments);
|
||
};
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/get-built-in.js":
|
||
/*!********************************************************!*\
|
||
!*** ./node_modules/core-js/internals/get-built-in.js ***!
|
||
\********************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var path = __webpack_require__(/*! ../internals/path */ "./node_modules/core-js/internals/path.js");
|
||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||
|
||
var aFunction = function (variable) {
|
||
return typeof variable == 'function' ? variable : undefined;
|
||
};
|
||
|
||
module.exports = function (namespace, method) {
|
||
return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])
|
||
: path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/get-iterator-method.js":
|
||
/*!***************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/get-iterator-method.js ***!
|
||
\***************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var classof = __webpack_require__(/*! ../internals/classof */ "./node_modules/core-js/internals/classof.js");
|
||
var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js");
|
||
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
|
||
|
||
var ITERATOR = wellKnownSymbol('iterator');
|
||
|
||
module.exports = function (it) {
|
||
if (it != undefined) return it[ITERATOR]
|
||
|| it['@@iterator']
|
||
|| Iterators[classof(it)];
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/get-iterator.js":
|
||
/*!********************************************************!*\
|
||
!*** ./node_modules/core-js/internals/get-iterator.js ***!
|
||
\********************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
|
||
var getIteratorMethod = __webpack_require__(/*! ../internals/get-iterator-method */ "./node_modules/core-js/internals/get-iterator-method.js");
|
||
|
||
module.exports = function (it) {
|
||
var iteratorMethod = getIteratorMethod(it);
|
||
if (typeof iteratorMethod != 'function') {
|
||
throw TypeError(String(it) + ' is not iterable');
|
||
} return anObject(iteratorMethod.call(it));
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/get-substitution.js":
|
||
/*!************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/get-substitution.js ***!
|
||
\************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
|
||
|
||
var floor = Math.floor;
|
||
var replace = ''.replace;
|
||
var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d{1,2}|<[^>]*>)/g;
|
||
var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d{1,2})/g;
|
||
|
||
// https://tc39.es/ecma262/#sec-getsubstitution
|
||
module.exports = function (matched, str, position, captures, namedCaptures, replacement) {
|
||
var tailPos = position + matched.length;
|
||
var m = captures.length;
|
||
var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
|
||
if (namedCaptures !== undefined) {
|
||
namedCaptures = toObject(namedCaptures);
|
||
symbols = SUBSTITUTION_SYMBOLS;
|
||
}
|
||
return replace.call(replacement, symbols, function (match, ch) {
|
||
var capture;
|
||
switch (ch.charAt(0)) {
|
||
case '$': return '$';
|
||
case '&': return matched;
|
||
case '`': return str.slice(0, position);
|
||
case "'": return str.slice(tailPos);
|
||
case '<':
|
||
capture = namedCaptures[ch.slice(1, -1)];
|
||
break;
|
||
default: // \d\d?
|
||
var n = +ch;
|
||
if (n === 0) return match;
|
||
if (n > m) {
|
||
var f = floor(n / 10);
|
||
if (f === 0) return match;
|
||
if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
|
||
return match;
|
||
}
|
||
capture = captures[n - 1];
|
||
}
|
||
return capture === undefined ? '' : capture;
|
||
});
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/global.js":
|
||
/*!**************************************************!*\
|
||
!*** ./node_modules/core-js/internals/global.js ***!
|
||
\**************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var check = function (it) {
|
||
return it && it.Math == Math && it;
|
||
};
|
||
|
||
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
|
||
module.exports =
|
||
// eslint-disable-next-line es/no-global-this -- safe
|
||
check(typeof globalThis == 'object' && globalThis) ||
|
||
check(typeof window == 'object' && window) ||
|
||
// eslint-disable-next-line no-restricted-globals -- safe
|
||
check(typeof self == 'object' && self) ||
|
||
check(typeof __webpack_require__.g == 'object' && __webpack_require__.g) ||
|
||
// eslint-disable-next-line no-new-func -- fallback
|
||
(function () { return this; })() || Function('return this')();
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/has.js":
|
||
/*!***********************************************!*\
|
||
!*** ./node_modules/core-js/internals/has.js ***!
|
||
\***********************************************/
|
||
/***/ (function(module) {
|
||
|
||
var hasOwnProperty = {}.hasOwnProperty;
|
||
|
||
module.exports = function (it, key) {
|
||
return hasOwnProperty.call(it, key);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/hidden-keys.js":
|
||
/*!*******************************************************!*\
|
||
!*** ./node_modules/core-js/internals/hidden-keys.js ***!
|
||
\*******************************************************/
|
||
/***/ (function(module) {
|
||
|
||
module.exports = {};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/host-report-errors.js":
|
||
/*!**************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/host-report-errors.js ***!
|
||
\**************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||
|
||
module.exports = function (a, b) {
|
||
var console = global.console;
|
||
if (console && console.error) {
|
||
arguments.length === 1 ? console.error(a) : console.error(a, b);
|
||
}
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/html.js":
|
||
/*!************************************************!*\
|
||
!*** ./node_modules/core-js/internals/html.js ***!
|
||
\************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js");
|
||
|
||
module.exports = getBuiltIn('document', 'documentElement');
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/ie8-dom-define.js":
|
||
/*!**********************************************************!*\
|
||
!*** ./node_modules/core-js/internals/ie8-dom-define.js ***!
|
||
\**********************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
|
||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
||
var createElement = __webpack_require__(/*! ../internals/document-create-element */ "./node_modules/core-js/internals/document-create-element.js");
|
||
|
||
// Thank's IE8 for his funny defineProperty
|
||
module.exports = !DESCRIPTORS && !fails(function () {
|
||
// eslint-disable-next-line es/no-object-defineproperty -- requied for testing
|
||
return Object.defineProperty(createElement('div'), 'a', {
|
||
get: function () { return 7; }
|
||
}).a != 7;
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/indexed-object.js":
|
||
/*!**********************************************************!*\
|
||
!*** ./node_modules/core-js/internals/indexed-object.js ***!
|
||
\**********************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
||
var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js");
|
||
|
||
var split = ''.split;
|
||
|
||
// fallback for non-array-like ES3 and non-enumerable old V8 strings
|
||
module.exports = fails(function () {
|
||
// throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
|
||
// eslint-disable-next-line no-prototype-builtins -- safe
|
||
return !Object('z').propertyIsEnumerable(0);
|
||
}) ? function (it) {
|
||
return classof(it) == 'String' ? split.call(it, '') : Object(it);
|
||
} : Object;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/inherit-if-required.js":
|
||
/*!***************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/inherit-if-required.js ***!
|
||
\***************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
|
||
var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/core-js/internals/object-set-prototype-of.js");
|
||
|
||
// makes subclassing work correct for wrapped built-ins
|
||
module.exports = function ($this, dummy, Wrapper) {
|
||
var NewTarget, NewTargetPrototype;
|
||
if (
|
||
// it can work only with native `setPrototypeOf`
|
||
setPrototypeOf &&
|
||
// we haven't completely correct pre-ES6 way for getting `new.target`, so use this
|
||
typeof (NewTarget = dummy.constructor) == 'function' &&
|
||
NewTarget !== Wrapper &&
|
||
isObject(NewTargetPrototype = NewTarget.prototype) &&
|
||
NewTargetPrototype !== Wrapper.prototype
|
||
) setPrototypeOf($this, NewTargetPrototype);
|
||
return $this;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/inspect-source.js":
|
||
/*!**********************************************************!*\
|
||
!*** ./node_modules/core-js/internals/inspect-source.js ***!
|
||
\**********************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var store = __webpack_require__(/*! ../internals/shared-store */ "./node_modules/core-js/internals/shared-store.js");
|
||
|
||
var functionToString = Function.toString;
|
||
|
||
// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
|
||
if (typeof store.inspectSource != 'function') {
|
||
store.inspectSource = function (it) {
|
||
return functionToString.call(it);
|
||
};
|
||
}
|
||
|
||
module.exports = store.inspectSource;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/internal-metadata.js":
|
||
/*!*************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/internal-metadata.js ***!
|
||
\*************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js");
|
||
var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
|
||
var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
|
||
var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f;
|
||
var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/core-js/internals/uid.js");
|
||
var FREEZING = __webpack_require__(/*! ../internals/freezing */ "./node_modules/core-js/internals/freezing.js");
|
||
|
||
var METADATA = uid('meta');
|
||
var id = 0;
|
||
|
||
// eslint-disable-next-line es/no-object-isextensible -- safe
|
||
var isExtensible = Object.isExtensible || function () {
|
||
return true;
|
||
};
|
||
|
||
var setMetadata = function (it) {
|
||
defineProperty(it, METADATA, { value: {
|
||
objectID: 'O' + ++id, // object ID
|
||
weakData: {} // weak collections IDs
|
||
} });
|
||
};
|
||
|
||
var fastKey = function (it, create) {
|
||
// return a primitive with prefix
|
||
if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
|
||
if (!has(it, METADATA)) {
|
||
// can't set metadata to uncaught frozen object
|
||
if (!isExtensible(it)) return 'F';
|
||
// not necessary to add metadata
|
||
if (!create) return 'E';
|
||
// add missing metadata
|
||
setMetadata(it);
|
||
// return object ID
|
||
} return it[METADATA].objectID;
|
||
};
|
||
|
||
var getWeakData = function (it, create) {
|
||
if (!has(it, METADATA)) {
|
||
// can't set metadata to uncaught frozen object
|
||
if (!isExtensible(it)) return true;
|
||
// not necessary to add metadata
|
||
if (!create) return false;
|
||
// add missing metadata
|
||
setMetadata(it);
|
||
// return the store of weak collections IDs
|
||
} return it[METADATA].weakData;
|
||
};
|
||
|
||
// add metadata on freeze-family methods calling
|
||
var onFreeze = function (it) {
|
||
if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);
|
||
return it;
|
||
};
|
||
|
||
var meta = module.exports = {
|
||
REQUIRED: false,
|
||
fastKey: fastKey,
|
||
getWeakData: getWeakData,
|
||
onFreeze: onFreeze
|
||
};
|
||
|
||
hiddenKeys[METADATA] = true;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/internal-state.js":
|
||
/*!**********************************************************!*\
|
||
!*** ./node_modules/core-js/internals/internal-state.js ***!
|
||
\**********************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var NATIVE_WEAK_MAP = __webpack_require__(/*! ../internals/native-weak-map */ "./node_modules/core-js/internals/native-weak-map.js");
|
||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||
var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
|
||
var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js");
|
||
var objectHas = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
|
||
var shared = __webpack_require__(/*! ../internals/shared-store */ "./node_modules/core-js/internals/shared-store.js");
|
||
var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/core-js/internals/shared-key.js");
|
||
var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js");
|
||
|
||
var WeakMap = global.WeakMap;
|
||
var set, get, has;
|
||
|
||
var enforce = function (it) {
|
||
return has(it) ? get(it) : set(it, {});
|
||
};
|
||
|
||
var getterFor = function (TYPE) {
|
||
return function (it) {
|
||
var state;
|
||
if (!isObject(it) || (state = get(it)).type !== TYPE) {
|
||
throw TypeError('Incompatible receiver, ' + TYPE + ' required');
|
||
} return state;
|
||
};
|
||
};
|
||
|
||
if (NATIVE_WEAK_MAP) {
|
||
var store = shared.state || (shared.state = new WeakMap());
|
||
var wmget = store.get;
|
||
var wmhas = store.has;
|
||
var wmset = store.set;
|
||
set = function (it, metadata) {
|
||
metadata.facade = it;
|
||
wmset.call(store, it, metadata);
|
||
return metadata;
|
||
};
|
||
get = function (it) {
|
||
return wmget.call(store, it) || {};
|
||
};
|
||
has = function (it) {
|
||
return wmhas.call(store, it);
|
||
};
|
||
} else {
|
||
var STATE = sharedKey('state');
|
||
hiddenKeys[STATE] = true;
|
||
set = function (it, metadata) {
|
||
metadata.facade = it;
|
||
createNonEnumerableProperty(it, STATE, metadata);
|
||
return metadata;
|
||
};
|
||
get = function (it) {
|
||
return objectHas(it, STATE) ? it[STATE] : {};
|
||
};
|
||
has = function (it) {
|
||
return objectHas(it, STATE);
|
||
};
|
||
}
|
||
|
||
module.exports = {
|
||
set: set,
|
||
get: get,
|
||
has: has,
|
||
enforce: enforce,
|
||
getterFor: getterFor
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/is-array-iterator-method.js":
|
||
/*!********************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/is-array-iterator-method.js ***!
|
||
\********************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
|
||
var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js");
|
||
|
||
var ITERATOR = wellKnownSymbol('iterator');
|
||
var ArrayPrototype = Array.prototype;
|
||
|
||
// check on default Array iterator
|
||
module.exports = function (it) {
|
||
return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/is-array.js":
|
||
/*!****************************************************!*\
|
||
!*** ./node_modules/core-js/internals/is-array.js ***!
|
||
\****************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js");
|
||
|
||
// `IsArray` abstract operation
|
||
// https://tc39.es/ecma262/#sec-isarray
|
||
// eslint-disable-next-line es/no-array-isarray -- safe
|
||
module.exports = Array.isArray || function isArray(arg) {
|
||
return classof(arg) == 'Array';
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/is-forced.js":
|
||
/*!*****************************************************!*\
|
||
!*** ./node_modules/core-js/internals/is-forced.js ***!
|
||
\*****************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
||
|
||
var replacement = /#|\.prototype\./;
|
||
|
||
var isForced = function (feature, detection) {
|
||
var value = data[normalize(feature)];
|
||
return value == POLYFILL ? true
|
||
: value == NATIVE ? false
|
||
: typeof detection == 'function' ? fails(detection)
|
||
: !!detection;
|
||
};
|
||
|
||
var normalize = isForced.normalize = function (string) {
|
||
return String(string).replace(replacement, '.').toLowerCase();
|
||
};
|
||
|
||
var data = isForced.data = {};
|
||
var NATIVE = isForced.NATIVE = 'N';
|
||
var POLYFILL = isForced.POLYFILL = 'P';
|
||
|
||
module.exports = isForced;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/is-object.js":
|
||
/*!*****************************************************!*\
|
||
!*** ./node_modules/core-js/internals/is-object.js ***!
|
||
\*****************************************************/
|
||
/***/ (function(module) {
|
||
|
||
module.exports = function (it) {
|
||
return typeof it === 'object' ? it !== null : typeof it === 'function';
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/is-pure.js":
|
||
/*!***************************************************!*\
|
||
!*** ./node_modules/core-js/internals/is-pure.js ***!
|
||
\***************************************************/
|
||
/***/ (function(module) {
|
||
|
||
module.exports = false;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/is-regexp.js":
|
||
/*!*****************************************************!*\
|
||
!*** ./node_modules/core-js/internals/is-regexp.js ***!
|
||
\*****************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
|
||
var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js");
|
||
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
|
||
|
||
var MATCH = wellKnownSymbol('match');
|
||
|
||
// `IsRegExp` abstract operation
|
||
// https://tc39.es/ecma262/#sec-isregexp
|
||
module.exports = function (it) {
|
||
var isRegExp;
|
||
return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/iterate.js":
|
||
/*!***************************************************!*\
|
||
!*** ./node_modules/core-js/internals/iterate.js ***!
|
||
\***************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
|
||
var isArrayIteratorMethod = __webpack_require__(/*! ../internals/is-array-iterator-method */ "./node_modules/core-js/internals/is-array-iterator-method.js");
|
||
var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
|
||
var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js/internals/function-bind-context.js");
|
||
var getIteratorMethod = __webpack_require__(/*! ../internals/get-iterator-method */ "./node_modules/core-js/internals/get-iterator-method.js");
|
||
var iteratorClose = __webpack_require__(/*! ../internals/iterator-close */ "./node_modules/core-js/internals/iterator-close.js");
|
||
|
||
var Result = function (stopped, result) {
|
||
this.stopped = stopped;
|
||
this.result = result;
|
||
};
|
||
|
||
module.exports = function (iterable, unboundFunction, options) {
|
||
var that = options && options.that;
|
||
var AS_ENTRIES = !!(options && options.AS_ENTRIES);
|
||
var IS_ITERATOR = !!(options && options.IS_ITERATOR);
|
||
var INTERRUPTED = !!(options && options.INTERRUPTED);
|
||
var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);
|
||
var iterator, iterFn, index, length, result, next, step;
|
||
|
||
var stop = function (condition) {
|
||
if (iterator) iteratorClose(iterator);
|
||
return new Result(true, condition);
|
||
};
|
||
|
||
var callFn = function (value) {
|
||
if (AS_ENTRIES) {
|
||
anObject(value);
|
||
return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);
|
||
} return INTERRUPTED ? fn(value, stop) : fn(value);
|
||
};
|
||
|
||
if (IS_ITERATOR) {
|
||
iterator = iterable;
|
||
} else {
|
||
iterFn = getIteratorMethod(iterable);
|
||
if (typeof iterFn != 'function') throw TypeError('Target is not iterable');
|
||
// optimisation for array iterators
|
||
if (isArrayIteratorMethod(iterFn)) {
|
||
for (index = 0, length = toLength(iterable.length); length > index; index++) {
|
||
result = callFn(iterable[index]);
|
||
if (result && result instanceof Result) return result;
|
||
} return new Result(false);
|
||
}
|
||
iterator = iterFn.call(iterable);
|
||
}
|
||
|
||
next = iterator.next;
|
||
while (!(step = next.call(iterator)).done) {
|
||
try {
|
||
result = callFn(step.value);
|
||
} catch (error) {
|
||
iteratorClose(iterator);
|
||
throw error;
|
||
}
|
||
if (typeof result == 'object' && result && result instanceof Result) return result;
|
||
} return new Result(false);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/iterator-close.js":
|
||
/*!**********************************************************!*\
|
||
!*** ./node_modules/core-js/internals/iterator-close.js ***!
|
||
\**********************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
|
||
|
||
module.exports = function (iterator) {
|
||
var returnMethod = iterator['return'];
|
||
if (returnMethod !== undefined) {
|
||
return anObject(returnMethod.call(iterator)).value;
|
||
}
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/iterators-core.js":
|
||
/*!**********************************************************!*\
|
||
!*** ./node_modules/core-js/internals/iterators-core.js ***!
|
||
\**********************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
||
var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js");
|
||
var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js");
|
||
var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
|
||
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
|
||
var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js");
|
||
|
||
var ITERATOR = wellKnownSymbol('iterator');
|
||
var BUGGY_SAFARI_ITERATORS = false;
|
||
|
||
var returnThis = function () { return this; };
|
||
|
||
// `%IteratorPrototype%` object
|
||
// https://tc39.es/ecma262/#sec-%iteratorprototype%-object
|
||
var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
|
||
|
||
/* eslint-disable es/no-array-prototype-keys -- safe */
|
||
if ([].keys) {
|
||
arrayIterator = [].keys();
|
||
// Safari 8 has buggy iterators w/o `next`
|
||
if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;
|
||
else {
|
||
PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));
|
||
if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;
|
||
}
|
||
}
|
||
|
||
var NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {
|
||
var test = {};
|
||
// FF44- legacy iterators case
|
||
return IteratorPrototype[ITERATOR].call(test) !== test;
|
||
});
|
||
|
||
if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};
|
||
|
||
// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
|
||
if ((!IS_PURE || NEW_ITERATOR_PROTOTYPE) && !has(IteratorPrototype, ITERATOR)) {
|
||
createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);
|
||
}
|
||
|
||
module.exports = {
|
||
IteratorPrototype: IteratorPrototype,
|
||
BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/iterators.js":
|
||
/*!*****************************************************!*\
|
||
!*** ./node_modules/core-js/internals/iterators.js ***!
|
||
\*****************************************************/
|
||
/***/ (function(module) {
|
||
|
||
module.exports = {};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/microtask.js":
|
||
/*!*****************************************************!*\
|
||
!*** ./node_modules/core-js/internals/microtask.js ***!
|
||
\*****************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||
var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f;
|
||
var macrotask = __webpack_require__(/*! ../internals/task */ "./node_modules/core-js/internals/task.js").set;
|
||
var IS_IOS = __webpack_require__(/*! ../internals/engine-is-ios */ "./node_modules/core-js/internals/engine-is-ios.js");
|
||
var IS_WEBOS_WEBKIT = __webpack_require__(/*! ../internals/engine-is-webos-webkit */ "./node_modules/core-js/internals/engine-is-webos-webkit.js");
|
||
var IS_NODE = __webpack_require__(/*! ../internals/engine-is-node */ "./node_modules/core-js/internals/engine-is-node.js");
|
||
|
||
var MutationObserver = global.MutationObserver || global.WebKitMutationObserver;
|
||
var document = global.document;
|
||
var process = global.process;
|
||
var Promise = global.Promise;
|
||
// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`
|
||
var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');
|
||
var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;
|
||
|
||
var flush, head, last, notify, toggle, node, promise, then;
|
||
|
||
// modern engines have queueMicrotask method
|
||
if (!queueMicrotask) {
|
||
flush = function () {
|
||
var parent, fn;
|
||
if (IS_NODE && (parent = process.domain)) parent.exit();
|
||
while (head) {
|
||
fn = head.fn;
|
||
head = head.next;
|
||
try {
|
||
fn();
|
||
} catch (error) {
|
||
if (head) notify();
|
||
else last = undefined;
|
||
throw error;
|
||
}
|
||
} last = undefined;
|
||
if (parent) parent.enter();
|
||
};
|
||
|
||
// browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339
|
||
// also except WebOS Webkit https://github.com/zloirock/core-js/issues/898
|
||
if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {
|
||
toggle = true;
|
||
node = document.createTextNode('');
|
||
new MutationObserver(flush).observe(node, { characterData: true });
|
||
notify = function () {
|
||
node.data = toggle = !toggle;
|
||
};
|
||
// environments with maybe non-completely correct, but existent Promise
|
||
} else if (Promise && Promise.resolve) {
|
||
// Promise.resolve without an argument throws an error in LG WebOS 2
|
||
promise = Promise.resolve(undefined);
|
||
then = promise.then;
|
||
notify = function () {
|
||
then.call(promise, flush);
|
||
};
|
||
// Node.js without promises
|
||
} else if (IS_NODE) {
|
||
notify = function () {
|
||
process.nextTick(flush);
|
||
};
|
||
// for other environments - macrotask based on:
|
||
// - setImmediate
|
||
// - MessageChannel
|
||
// - window.postMessag
|
||
// - onreadystatechange
|
||
// - setTimeout
|
||
} else {
|
||
notify = function () {
|
||
// strange IE + webpack dev server bug - use .call(global)
|
||
macrotask.call(global, flush);
|
||
};
|
||
}
|
||
}
|
||
|
||
module.exports = queueMicrotask || function (fn) {
|
||
var task = { fn: fn, next: undefined };
|
||
if (last) last.next = task;
|
||
if (!head) {
|
||
head = task;
|
||
notify();
|
||
} last = task;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/native-promise-constructor.js":
|
||
/*!**********************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/native-promise-constructor.js ***!
|
||
\**********************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||
|
||
module.exports = global.Promise;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/native-symbol.js":
|
||
/*!*********************************************************!*\
|
||
!*** ./node_modules/core-js/internals/native-symbol.js ***!
|
||
\*********************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var IS_NODE = __webpack_require__(/*! ../internals/engine-is-node */ "./node_modules/core-js/internals/engine-is-node.js");
|
||
var V8_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ "./node_modules/core-js/internals/engine-v8-version.js");
|
||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
||
|
||
// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
|
||
module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
|
||
// eslint-disable-next-line es/no-symbol -- required for testing
|
||
return !Symbol.sham &&
|
||
// Chrome 38 Symbol has incorrect toString conversion
|
||
// Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
|
||
(IS_NODE ? V8_VERSION === 38 : V8_VERSION > 37 && V8_VERSION < 41);
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/native-url.js":
|
||
/*!******************************************************!*\
|
||
!*** ./node_modules/core-js/internals/native-url.js ***!
|
||
\******************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
||
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
|
||
var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js");
|
||
|
||
var ITERATOR = wellKnownSymbol('iterator');
|
||
|
||
module.exports = !fails(function () {
|
||
var url = new URL('b?a=1&b=2&c=3', 'http://a');
|
||
var searchParams = url.searchParams;
|
||
var result = '';
|
||
url.pathname = 'c%20d';
|
||
searchParams.forEach(function (value, key) {
|
||
searchParams['delete']('b');
|
||
result += key + value;
|
||
});
|
||
return (IS_PURE && !url.toJSON)
|
||
|| !searchParams.sort
|
||
|| url.href !== 'http://a/c%20d?a=1&c=3'
|
||
|| searchParams.get('c') !== '3'
|
||
|| String(new URLSearchParams('?a=1')) !== 'a=1'
|
||
|| !searchParams[ITERATOR]
|
||
// throws in Edge
|
||
|| new URL('https://a@b').username !== 'a'
|
||
|| new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'
|
||
// not punycoded in Edge
|
||
|| new URL('http://тест').host !== 'xn--e1aybc'
|
||
// not escaped in Chrome 62-
|
||
|| new URL('http://a#б').hash !== '#%D0%B1'
|
||
// fails in Chrome 66-
|
||
|| result !== 'a1c3'
|
||
// throws in Safari
|
||
|| new URL('http://x', undefined).host !== 'x';
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/native-weak-map.js":
|
||
/*!***********************************************************!*\
|
||
!*** ./node_modules/core-js/internals/native-weak-map.js ***!
|
||
\***********************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||
var inspectSource = __webpack_require__(/*! ../internals/inspect-source */ "./node_modules/core-js/internals/inspect-source.js");
|
||
|
||
var WeakMap = global.WeakMap;
|
||
|
||
module.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/new-promise-capability.js":
|
||
/*!******************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/new-promise-capability.js ***!
|
||
\******************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js");
|
||
|
||
var PromiseCapability = function (C) {
|
||
var resolve, reject;
|
||
this.promise = new C(function ($$resolve, $$reject) {
|
||
if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');
|
||
resolve = $$resolve;
|
||
reject = $$reject;
|
||
});
|
||
this.resolve = aFunction(resolve);
|
||
this.reject = aFunction(reject);
|
||
};
|
||
|
||
// 25.4.1.5 NewPromiseCapability(C)
|
||
module.exports.f = function (C) {
|
||
return new PromiseCapability(C);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/not-a-regexp.js":
|
||
/*!********************************************************!*\
|
||
!*** ./node_modules/core-js/internals/not-a-regexp.js ***!
|
||
\********************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var isRegExp = __webpack_require__(/*! ../internals/is-regexp */ "./node_modules/core-js/internals/is-regexp.js");
|
||
|
||
module.exports = function (it) {
|
||
if (isRegExp(it)) {
|
||
throw TypeError("The method doesn't accept regular expressions");
|
||
} return it;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/object-assign.js":
|
||
/*!*********************************************************!*\
|
||
!*** ./node_modules/core-js/internals/object-assign.js ***!
|
||
\*********************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
|
||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
||
var objectKeys = __webpack_require__(/*! ../internals/object-keys */ "./node_modules/core-js/internals/object-keys.js");
|
||
var getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ "./node_modules/core-js/internals/object-get-own-property-symbols.js");
|
||
var propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ "./node_modules/core-js/internals/object-property-is-enumerable.js");
|
||
var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
|
||
var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/core-js/internals/indexed-object.js");
|
||
|
||
// eslint-disable-next-line es/no-object-assign -- safe
|
||
var $assign = Object.assign;
|
||
// eslint-disable-next-line es/no-object-defineproperty -- required for testing
|
||
var defineProperty = Object.defineProperty;
|
||
|
||
// `Object.assign` method
|
||
// https://tc39.es/ecma262/#sec-object.assign
|
||
module.exports = !$assign || fails(function () {
|
||
// should have correct order of operations (Edge bug)
|
||
if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {
|
||
enumerable: true,
|
||
get: function () {
|
||
defineProperty(this, 'b', {
|
||
value: 3,
|
||
enumerable: false
|
||
});
|
||
}
|
||
}), { b: 2 })).b !== 1) return true;
|
||
// should work with symbols and should have deterministic property order (V8 bug)
|
||
var A = {};
|
||
var B = {};
|
||
// eslint-disable-next-line es/no-symbol -- safe
|
||
var symbol = Symbol();
|
||
var alphabet = 'abcdefghijklmnopqrst';
|
||
A[symbol] = 7;
|
||
alphabet.split('').forEach(function (chr) { B[chr] = chr; });
|
||
return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;
|
||
}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`
|
||
var T = toObject(target);
|
||
var argumentsLength = arguments.length;
|
||
var index = 1;
|
||
var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
|
||
var propertyIsEnumerable = propertyIsEnumerableModule.f;
|
||
while (argumentsLength > index) {
|
||
var S = IndexedObject(arguments[index++]);
|
||
var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);
|
||
var length = keys.length;
|
||
var j = 0;
|
||
var key;
|
||
while (length > j) {
|
||
key = keys[j++];
|
||
if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];
|
||
}
|
||
} return T;
|
||
} : $assign;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/object-create.js":
|
||
/*!*********************************************************!*\
|
||
!*** ./node_modules/core-js/internals/object-create.js ***!
|
||
\*********************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
|
||
var defineProperties = __webpack_require__(/*! ../internals/object-define-properties */ "./node_modules/core-js/internals/object-define-properties.js");
|
||
var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "./node_modules/core-js/internals/enum-bug-keys.js");
|
||
var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js");
|
||
var html = __webpack_require__(/*! ../internals/html */ "./node_modules/core-js/internals/html.js");
|
||
var documentCreateElement = __webpack_require__(/*! ../internals/document-create-element */ "./node_modules/core-js/internals/document-create-element.js");
|
||
var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/core-js/internals/shared-key.js");
|
||
|
||
var GT = '>';
|
||
var LT = '<';
|
||
var PROTOTYPE = 'prototype';
|
||
var SCRIPT = 'script';
|
||
var IE_PROTO = sharedKey('IE_PROTO');
|
||
|
||
var EmptyConstructor = function () { /* empty */ };
|
||
|
||
var scriptTag = function (content) {
|
||
return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
|
||
};
|
||
|
||
// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
|
||
var NullProtoObjectViaActiveX = function (activeXDocument) {
|
||
activeXDocument.write(scriptTag(''));
|
||
activeXDocument.close();
|
||
var temp = activeXDocument.parentWindow.Object;
|
||
activeXDocument = null; // avoid memory leak
|
||
return temp;
|
||
};
|
||
|
||
// Create object with fake `null` prototype: use iframe Object with cleared prototype
|
||
var NullProtoObjectViaIFrame = function () {
|
||
// Thrash, waste and sodomy: IE GC bug
|
||
var iframe = documentCreateElement('iframe');
|
||
var JS = 'java' + SCRIPT + ':';
|
||
var iframeDocument;
|
||
iframe.style.display = 'none';
|
||
html.appendChild(iframe);
|
||
// https://github.com/zloirock/core-js/issues/475
|
||
iframe.src = String(JS);
|
||
iframeDocument = iframe.contentWindow.document;
|
||
iframeDocument.open();
|
||
iframeDocument.write(scriptTag('document.F=Object'));
|
||
iframeDocument.close();
|
||
return iframeDocument.F;
|
||
};
|
||
|
||
// Check for document.domain and active x support
|
||
// No need to use active x approach when document.domain is not set
|
||
// see https://github.com/es-shims/es5-shim/issues/150
|
||
// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
|
||
// avoid IE GC bug
|
||
var activeXDocument;
|
||
var NullProtoObject = function () {
|
||
try {
|
||
/* global ActiveXObject -- old IE */
|
||
activeXDocument = document.domain && new ActiveXObject('htmlfile');
|
||
} catch (error) { /* ignore */ }
|
||
NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
|
||
var length = enumBugKeys.length;
|
||
while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
|
||
return NullProtoObject();
|
||
};
|
||
|
||
hiddenKeys[IE_PROTO] = true;
|
||
|
||
// `Object.create` method
|
||
// https://tc39.es/ecma262/#sec-object.create
|
||
module.exports = Object.create || function create(O, Properties) {
|
||
var result;
|
||
if (O !== null) {
|
||
EmptyConstructor[PROTOTYPE] = anObject(O);
|
||
result = new EmptyConstructor();
|
||
EmptyConstructor[PROTOTYPE] = null;
|
||
// add "__proto__" for Object.getPrototypeOf polyfill
|
||
result[IE_PROTO] = O;
|
||
} else result = NullProtoObject();
|
||
return Properties === undefined ? result : defineProperties(result, Properties);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/object-define-properties.js":
|
||
/*!********************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/object-define-properties.js ***!
|
||
\********************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
|
||
var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js");
|
||
var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
|
||
var objectKeys = __webpack_require__(/*! ../internals/object-keys */ "./node_modules/core-js/internals/object-keys.js");
|
||
|
||
// `Object.defineProperties` method
|
||
// https://tc39.es/ecma262/#sec-object.defineproperties
|
||
// eslint-disable-next-line es/no-object-defineproperties -- safe
|
||
module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {
|
||
anObject(O);
|
||
var keys = objectKeys(Properties);
|
||
var length = keys.length;
|
||
var index = 0;
|
||
var key;
|
||
while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);
|
||
return O;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/object-define-property.js":
|
||
/*!******************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/object-define-property.js ***!
|
||
\******************************************************************/
|
||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
||
|
||
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
|
||
var IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ "./node_modules/core-js/internals/ie8-dom-define.js");
|
||
var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
|
||
var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js");
|
||
|
||
// eslint-disable-next-line es/no-object-defineproperty -- safe
|
||
var $defineProperty = Object.defineProperty;
|
||
|
||
// `Object.defineProperty` method
|
||
// https://tc39.es/ecma262/#sec-object.defineproperty
|
||
exports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {
|
||
anObject(O);
|
||
P = toPrimitive(P, true);
|
||
anObject(Attributes);
|
||
if (IE8_DOM_DEFINE) try {
|
||
return $defineProperty(O, P, Attributes);
|
||
} catch (error) { /* empty */ }
|
||
if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
|
||
if ('value' in Attributes) O[P] = Attributes.value;
|
||
return O;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/object-get-own-property-descriptor.js":
|
||
/*!******************************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/object-get-own-property-descriptor.js ***!
|
||
\******************************************************************************/
|
||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
||
|
||
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
|
||
var propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ "./node_modules/core-js/internals/object-property-is-enumerable.js");
|
||
var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js");
|
||
var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js");
|
||
var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js");
|
||
var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
|
||
var IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ "./node_modules/core-js/internals/ie8-dom-define.js");
|
||
|
||
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
|
||
var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
|
||
|
||
// `Object.getOwnPropertyDescriptor` method
|
||
// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
|
||
exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
|
||
O = toIndexedObject(O);
|
||
P = toPrimitive(P, true);
|
||
if (IE8_DOM_DEFINE) try {
|
||
return $getOwnPropertyDescriptor(O, P);
|
||
} catch (error) { /* empty */ }
|
||
if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/object-get-own-property-names-external.js":
|
||
/*!**********************************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/object-get-own-property-names-external.js ***!
|
||
\**********************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
/* eslint-disable es/no-object-getownpropertynames -- safe */
|
||
var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js");
|
||
var $getOwnPropertyNames = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js").f;
|
||
|
||
var toString = {}.toString;
|
||
|
||
var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
|
||
? Object.getOwnPropertyNames(window) : [];
|
||
|
||
var getWindowNames = function (it) {
|
||
try {
|
||
return $getOwnPropertyNames(it);
|
||
} catch (error) {
|
||
return windowNames.slice();
|
||
}
|
||
};
|
||
|
||
// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
|
||
module.exports.f = function getOwnPropertyNames(it) {
|
||
return windowNames && toString.call(it) == '[object Window]'
|
||
? getWindowNames(it)
|
||
: $getOwnPropertyNames(toIndexedObject(it));
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/object-get-own-property-names.js":
|
||
/*!*************************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/object-get-own-property-names.js ***!
|
||
\*************************************************************************/
|
||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
||
|
||
var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ "./node_modules/core-js/internals/object-keys-internal.js");
|
||
var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "./node_modules/core-js/internals/enum-bug-keys.js");
|
||
|
||
var hiddenKeys = enumBugKeys.concat('length', 'prototype');
|
||
|
||
// `Object.getOwnPropertyNames` method
|
||
// https://tc39.es/ecma262/#sec-object.getownpropertynames
|
||
// eslint-disable-next-line es/no-object-getownpropertynames -- safe
|
||
exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
|
||
return internalObjectKeys(O, hiddenKeys);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/object-get-own-property-symbols.js":
|
||
/*!***************************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/object-get-own-property-symbols.js ***!
|
||
\***************************************************************************/
|
||
/***/ (function(__unused_webpack_module, exports) {
|
||
|
||
// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe
|
||
exports.f = Object.getOwnPropertySymbols;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/object-get-prototype-of.js":
|
||
/*!*******************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/object-get-prototype-of.js ***!
|
||
\*******************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
|
||
var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
|
||
var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/core-js/internals/shared-key.js");
|
||
var CORRECT_PROTOTYPE_GETTER = __webpack_require__(/*! ../internals/correct-prototype-getter */ "./node_modules/core-js/internals/correct-prototype-getter.js");
|
||
|
||
var IE_PROTO = sharedKey('IE_PROTO');
|
||
var ObjectPrototype = Object.prototype;
|
||
|
||
// `Object.getPrototypeOf` method
|
||
// https://tc39.es/ecma262/#sec-object.getprototypeof
|
||
// eslint-disable-next-line es/no-object-getprototypeof -- safe
|
||
module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {
|
||
O = toObject(O);
|
||
if (has(O, IE_PROTO)) return O[IE_PROTO];
|
||
if (typeof O.constructor == 'function' && O instanceof O.constructor) {
|
||
return O.constructor.prototype;
|
||
} return O instanceof Object ? ObjectPrototype : null;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/object-keys-internal.js":
|
||
/*!****************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/object-keys-internal.js ***!
|
||
\****************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
|
||
var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js");
|
||
var indexOf = __webpack_require__(/*! ../internals/array-includes */ "./node_modules/core-js/internals/array-includes.js").indexOf;
|
||
var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js");
|
||
|
||
module.exports = function (object, names) {
|
||
var O = toIndexedObject(object);
|
||
var i = 0;
|
||
var result = [];
|
||
var key;
|
||
for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
|
||
// Don't enum bug & hidden keys
|
||
while (names.length > i) if (has(O, key = names[i++])) {
|
||
~indexOf(result, key) || result.push(key);
|
||
}
|
||
return result;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/object-keys.js":
|
||
/*!*******************************************************!*\
|
||
!*** ./node_modules/core-js/internals/object-keys.js ***!
|
||
\*******************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ "./node_modules/core-js/internals/object-keys-internal.js");
|
||
var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "./node_modules/core-js/internals/enum-bug-keys.js");
|
||
|
||
// `Object.keys` method
|
||
// https://tc39.es/ecma262/#sec-object.keys
|
||
// eslint-disable-next-line es/no-object-keys -- safe
|
||
module.exports = Object.keys || function keys(O) {
|
||
return internalObjectKeys(O, enumBugKeys);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/object-property-is-enumerable.js":
|
||
/*!*************************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/object-property-is-enumerable.js ***!
|
||
\*************************************************************************/
|
||
/***/ (function(__unused_webpack_module, exports) {
|
||
|
||
"use strict";
|
||
|
||
var $propertyIsEnumerable = {}.propertyIsEnumerable;
|
||
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
|
||
var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
|
||
|
||
// Nashorn ~ JDK8 bug
|
||
var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);
|
||
|
||
// `Object.prototype.propertyIsEnumerable` method implementation
|
||
// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
|
||
exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
|
||
var descriptor = getOwnPropertyDescriptor(this, V);
|
||
return !!descriptor && descriptor.enumerable;
|
||
} : $propertyIsEnumerable;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/object-set-prototype-of.js":
|
||
/*!*******************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/object-set-prototype-of.js ***!
|
||
\*******************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
/* eslint-disable no-proto -- safe */
|
||
var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
|
||
var aPossiblePrototype = __webpack_require__(/*! ../internals/a-possible-prototype */ "./node_modules/core-js/internals/a-possible-prototype.js");
|
||
|
||
// `Object.setPrototypeOf` method
|
||
// https://tc39.es/ecma262/#sec-object.setprototypeof
|
||
// Works with __proto__ only. Old v8 can't work with null proto objects.
|
||
// eslint-disable-next-line es/no-object-setprototypeof -- safe
|
||
module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
|
||
var CORRECT_SETTER = false;
|
||
var test = {};
|
||
var setter;
|
||
try {
|
||
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
|
||
setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
|
||
setter.call(test, []);
|
||
CORRECT_SETTER = test instanceof Array;
|
||
} catch (error) { /* empty */ }
|
||
return function setPrototypeOf(O, proto) {
|
||
anObject(O);
|
||
aPossiblePrototype(proto);
|
||
if (CORRECT_SETTER) setter.call(O, proto);
|
||
else O.__proto__ = proto;
|
||
return O;
|
||
};
|
||
}() : undefined);
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/object-to-string.js":
|
||
/*!************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/object-to-string.js ***!
|
||
\************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var TO_STRING_TAG_SUPPORT = __webpack_require__(/*! ../internals/to-string-tag-support */ "./node_modules/core-js/internals/to-string-tag-support.js");
|
||
var classof = __webpack_require__(/*! ../internals/classof */ "./node_modules/core-js/internals/classof.js");
|
||
|
||
// `Object.prototype.toString` method implementation
|
||
// https://tc39.es/ecma262/#sec-object.prototype.tostring
|
||
module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {
|
||
return '[object ' + classof(this) + ']';
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/own-keys.js":
|
||
/*!****************************************************!*\
|
||
!*** ./node_modules/core-js/internals/own-keys.js ***!
|
||
\****************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js");
|
||
var getOwnPropertyNamesModule = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js");
|
||
var getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ "./node_modules/core-js/internals/object-get-own-property-symbols.js");
|
||
var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
|
||
|
||
// all object keys, includes non-enumerable and symbols
|
||
module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
|
||
var keys = getOwnPropertyNamesModule.f(anObject(it));
|
||
var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
|
||
return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/path.js":
|
||
/*!************************************************!*\
|
||
!*** ./node_modules/core-js/internals/path.js ***!
|
||
\************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||
|
||
module.exports = global;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/perform.js":
|
||
/*!***************************************************!*\
|
||
!*** ./node_modules/core-js/internals/perform.js ***!
|
||
\***************************************************/
|
||
/***/ (function(module) {
|
||
|
||
module.exports = function (exec) {
|
||
try {
|
||
return { error: false, value: exec() };
|
||
} catch (error) {
|
||
return { error: true, value: error };
|
||
}
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/promise-resolve.js":
|
||
/*!***********************************************************!*\
|
||
!*** ./node_modules/core-js/internals/promise-resolve.js ***!
|
||
\***********************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
|
||
var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
|
||
var newPromiseCapability = __webpack_require__(/*! ../internals/new-promise-capability */ "./node_modules/core-js/internals/new-promise-capability.js");
|
||
|
||
module.exports = function (C, x) {
|
||
anObject(C);
|
||
if (isObject(x) && x.constructor === C) return x;
|
||
var promiseCapability = newPromiseCapability.f(C);
|
||
var resolve = promiseCapability.resolve;
|
||
resolve(x);
|
||
return promiseCapability.promise;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/redefine-all.js":
|
||
/*!********************************************************!*\
|
||
!*** ./node_modules/core-js/internals/redefine-all.js ***!
|
||
\********************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");
|
||
|
||
module.exports = function (target, src, options) {
|
||
for (var key in src) redefine(target, key, src[key], options);
|
||
return target;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/redefine.js":
|
||
/*!****************************************************!*\
|
||
!*** ./node_modules/core-js/internals/redefine.js ***!
|
||
\****************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||
var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js");
|
||
var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
|
||
var setGlobal = __webpack_require__(/*! ../internals/set-global */ "./node_modules/core-js/internals/set-global.js");
|
||
var inspectSource = __webpack_require__(/*! ../internals/inspect-source */ "./node_modules/core-js/internals/inspect-source.js");
|
||
var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js");
|
||
|
||
var getInternalState = InternalStateModule.get;
|
||
var enforceInternalState = InternalStateModule.enforce;
|
||
var TEMPLATE = String(String).split('String');
|
||
|
||
(module.exports = function (O, key, value, options) {
|
||
var unsafe = options ? !!options.unsafe : false;
|
||
var simple = options ? !!options.enumerable : false;
|
||
var noTargetGet = options ? !!options.noTargetGet : false;
|
||
var state;
|
||
if (typeof value == 'function') {
|
||
if (typeof key == 'string' && !has(value, 'name')) {
|
||
createNonEnumerableProperty(value, 'name', key);
|
||
}
|
||
state = enforceInternalState(value);
|
||
if (!state.source) {
|
||
state.source = TEMPLATE.join(typeof key == 'string' ? key : '');
|
||
}
|
||
}
|
||
if (O === global) {
|
||
if (simple) O[key] = value;
|
||
else setGlobal(key, value);
|
||
return;
|
||
} else if (!unsafe) {
|
||
delete O[key];
|
||
} else if (!noTargetGet && O[key]) {
|
||
simple = true;
|
||
}
|
||
if (simple) O[key] = value;
|
||
else createNonEnumerableProperty(O, key, value);
|
||
// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
|
||
})(Function.prototype, 'toString', function toString() {
|
||
return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/regexp-exec-abstract.js":
|
||
/*!****************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/regexp-exec-abstract.js ***!
|
||
\****************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var classof = __webpack_require__(/*! ./classof-raw */ "./node_modules/core-js/internals/classof-raw.js");
|
||
var regexpExec = __webpack_require__(/*! ./regexp-exec */ "./node_modules/core-js/internals/regexp-exec.js");
|
||
|
||
// `RegExpExec` abstract operation
|
||
// https://tc39.es/ecma262/#sec-regexpexec
|
||
module.exports = function (R, S) {
|
||
var exec = R.exec;
|
||
if (typeof exec === 'function') {
|
||
var result = exec.call(R, S);
|
||
if (typeof result !== 'object') {
|
||
throw TypeError('RegExp exec method returned something other than an Object or null');
|
||
}
|
||
return result;
|
||
}
|
||
|
||
if (classof(R) !== 'RegExp') {
|
||
throw TypeError('RegExp#exec called on incompatible receiver');
|
||
}
|
||
|
||
return regexpExec.call(R, S);
|
||
};
|
||
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/regexp-exec.js":
|
||
/*!*******************************************************!*\
|
||
!*** ./node_modules/core-js/internals/regexp-exec.js ***!
|
||
\*******************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var regexpFlags = __webpack_require__(/*! ./regexp-flags */ "./node_modules/core-js/internals/regexp-flags.js");
|
||
var stickyHelpers = __webpack_require__(/*! ./regexp-sticky-helpers */ "./node_modules/core-js/internals/regexp-sticky-helpers.js");
|
||
var shared = __webpack_require__(/*! ./shared */ "./node_modules/core-js/internals/shared.js");
|
||
|
||
var nativeExec = RegExp.prototype.exec;
|
||
// This always refers to the native implementation, because the
|
||
// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
|
||
// which loads this file before patching the method.
|
||
var nativeReplace = shared('native-string-replace', String.prototype.replace);
|
||
|
||
var patchedExec = nativeExec;
|
||
|
||
var UPDATES_LAST_INDEX_WRONG = (function () {
|
||
var re1 = /a/;
|
||
var re2 = /b*/g;
|
||
nativeExec.call(re1, 'a');
|
||
nativeExec.call(re2, 'a');
|
||
return re1.lastIndex !== 0 || re2.lastIndex !== 0;
|
||
})();
|
||
|
||
var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;
|
||
|
||
// nonparticipating capturing group, copied from es5-shim's String#split patch.
|
||
// eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing
|
||
var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
|
||
|
||
var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;
|
||
|
||
if (PATCH) {
|
||
patchedExec = function exec(str) {
|
||
var re = this;
|
||
var lastIndex, reCopy, match, i;
|
||
var sticky = UNSUPPORTED_Y && re.sticky;
|
||
var flags = regexpFlags.call(re);
|
||
var source = re.source;
|
||
var charsAdded = 0;
|
||
var strCopy = str;
|
||
|
||
if (sticky) {
|
||
flags = flags.replace('y', '');
|
||
if (flags.indexOf('g') === -1) {
|
||
flags += 'g';
|
||
}
|
||
|
||
strCopy = String(str).slice(re.lastIndex);
|
||
// Support anchored sticky behavior.
|
||
if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) {
|
||
source = '(?: ' + source + ')';
|
||
strCopy = ' ' + strCopy;
|
||
charsAdded++;
|
||
}
|
||
// ^(? + rx + ) is needed, in combination with some str slicing, to
|
||
// simulate the 'y' flag.
|
||
reCopy = new RegExp('^(?:' + source + ')', flags);
|
||
}
|
||
|
||
if (NPCG_INCLUDED) {
|
||
reCopy = new RegExp('^' + source + '$(?!\\s)', flags);
|
||
}
|
||
if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
|
||
|
||
match = nativeExec.call(sticky ? reCopy : re, strCopy);
|
||
|
||
if (sticky) {
|
||
if (match) {
|
||
match.input = match.input.slice(charsAdded);
|
||
match[0] = match[0].slice(charsAdded);
|
||
match.index = re.lastIndex;
|
||
re.lastIndex += match[0].length;
|
||
} else re.lastIndex = 0;
|
||
} else if (UPDATES_LAST_INDEX_WRONG && match) {
|
||
re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
|
||
}
|
||
if (NPCG_INCLUDED && match && match.length > 1) {
|
||
// Fix browsers whose `exec` methods don't consistently return `undefined`
|
||
// for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
|
||
nativeReplace.call(match[0], reCopy, function () {
|
||
for (i = 1; i < arguments.length - 2; i++) {
|
||
if (arguments[i] === undefined) match[i] = undefined;
|
||
}
|
||
});
|
||
}
|
||
|
||
return match;
|
||
};
|
||
}
|
||
|
||
module.exports = patchedExec;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/regexp-flags.js":
|
||
/*!********************************************************!*\
|
||
!*** ./node_modules/core-js/internals/regexp-flags.js ***!
|
||
\********************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
|
||
|
||
// `RegExp.prototype.flags` getter implementation
|
||
// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
|
||
module.exports = function () {
|
||
var that = anObject(this);
|
||
var result = '';
|
||
if (that.global) result += 'g';
|
||
if (that.ignoreCase) result += 'i';
|
||
if (that.multiline) result += 'm';
|
||
if (that.dotAll) result += 's';
|
||
if (that.unicode) result += 'u';
|
||
if (that.sticky) result += 'y';
|
||
return result;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/regexp-sticky-helpers.js":
|
||
/*!*****************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/regexp-sticky-helpers.js ***!
|
||
\*****************************************************************/
|
||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var fails = __webpack_require__(/*! ./fails */ "./node_modules/core-js/internals/fails.js");
|
||
|
||
// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,
|
||
// so we use an intermediate function.
|
||
function RE(s, f) {
|
||
return RegExp(s, f);
|
||
}
|
||
|
||
exports.UNSUPPORTED_Y = fails(function () {
|
||
// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
|
||
var re = RE('a', 'y');
|
||
re.lastIndex = 2;
|
||
return re.exec('abcd') != null;
|
||
});
|
||
|
||
exports.BROKEN_CARET = fails(function () {
|
||
// https://bugzilla.mozilla.org/show_bug.cgi?id=773687
|
||
var re = RE('^r', 'gy');
|
||
re.lastIndex = 2;
|
||
return re.exec('str') != null;
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/require-object-coercible.js":
|
||
/*!********************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/require-object-coercible.js ***!
|
||
\********************************************************************/
|
||
/***/ (function(module) {
|
||
|
||
// `RequireObjectCoercible` abstract operation
|
||
// https://tc39.es/ecma262/#sec-requireobjectcoercible
|
||
module.exports = function (it) {
|
||
if (it == undefined) throw TypeError("Can't call method on " + it);
|
||
return it;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/same-value.js":
|
||
/*!******************************************************!*\
|
||
!*** ./node_modules/core-js/internals/same-value.js ***!
|
||
\******************************************************/
|
||
/***/ (function(module) {
|
||
|
||
// `SameValue` abstract operation
|
||
// https://tc39.es/ecma262/#sec-samevalue
|
||
// eslint-disable-next-line es/no-object-is -- safe
|
||
module.exports = Object.is || function is(x, y) {
|
||
// eslint-disable-next-line no-self-compare -- NaN check
|
||
return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/set-global.js":
|
||
/*!******************************************************!*\
|
||
!*** ./node_modules/core-js/internals/set-global.js ***!
|
||
\******************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||
var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js");
|
||
|
||
module.exports = function (key, value) {
|
||
try {
|
||
createNonEnumerableProperty(global, key, value);
|
||
} catch (error) {
|
||
global[key] = value;
|
||
} return value;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/set-species.js":
|
||
/*!*******************************************************!*\
|
||
!*** ./node_modules/core-js/internals/set-species.js ***!
|
||
\*******************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js");
|
||
var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js");
|
||
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
|
||
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
|
||
|
||
var SPECIES = wellKnownSymbol('species');
|
||
|
||
module.exports = function (CONSTRUCTOR_NAME) {
|
||
var Constructor = getBuiltIn(CONSTRUCTOR_NAME);
|
||
var defineProperty = definePropertyModule.f;
|
||
|
||
if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {
|
||
defineProperty(Constructor, SPECIES, {
|
||
configurable: true,
|
||
get: function () { return this; }
|
||
});
|
||
}
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/set-to-string-tag.js":
|
||
/*!*************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/set-to-string-tag.js ***!
|
||
\*************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f;
|
||
var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
|
||
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
|
||
|
||
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
|
||
|
||
module.exports = function (it, TAG, STATIC) {
|
||
if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {
|
||
defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });
|
||
}
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/shared-key.js":
|
||
/*!******************************************************!*\
|
||
!*** ./node_modules/core-js/internals/shared-key.js ***!
|
||
\******************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var shared = __webpack_require__(/*! ../internals/shared */ "./node_modules/core-js/internals/shared.js");
|
||
var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/core-js/internals/uid.js");
|
||
|
||
var keys = shared('keys');
|
||
|
||
module.exports = function (key) {
|
||
return keys[key] || (keys[key] = uid(key));
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/shared-store.js":
|
||
/*!********************************************************!*\
|
||
!*** ./node_modules/core-js/internals/shared-store.js ***!
|
||
\********************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||
var setGlobal = __webpack_require__(/*! ../internals/set-global */ "./node_modules/core-js/internals/set-global.js");
|
||
|
||
var SHARED = '__core-js_shared__';
|
||
var store = global[SHARED] || setGlobal(SHARED, {});
|
||
|
||
module.exports = store;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/shared.js":
|
||
/*!**************************************************!*\
|
||
!*** ./node_modules/core-js/internals/shared.js ***!
|
||
\**************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js");
|
||
var store = __webpack_require__(/*! ../internals/shared-store */ "./node_modules/core-js/internals/shared-store.js");
|
||
|
||
(module.exports = function (key, value) {
|
||
return store[key] || (store[key] = value !== undefined ? value : {});
|
||
})('versions', []).push({
|
||
version: '3.10.0',
|
||
mode: IS_PURE ? 'pure' : 'global',
|
||
copyright: '© 2021 Denis Pushkarev (zloirock.ru)'
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/species-constructor.js":
|
||
/*!***************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/species-constructor.js ***!
|
||
\***************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
|
||
var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js");
|
||
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
|
||
|
||
var SPECIES = wellKnownSymbol('species');
|
||
|
||
// `SpeciesConstructor` abstract operation
|
||
// https://tc39.es/ecma262/#sec-speciesconstructor
|
||
module.exports = function (O, defaultConstructor) {
|
||
var C = anObject(O).constructor;
|
||
var S;
|
||
return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/string-multibyte.js":
|
||
/*!************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/string-multibyte.js ***!
|
||
\************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js");
|
||
var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js");
|
||
|
||
// `String.prototype.{ codePointAt, at }` methods implementation
|
||
var createMethod = function (CONVERT_TO_STRING) {
|
||
return function ($this, pos) {
|
||
var S = String(requireObjectCoercible($this));
|
||
var position = toInteger(pos);
|
||
var size = S.length;
|
||
var first, second;
|
||
if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
|
||
first = S.charCodeAt(position);
|
||
return first < 0xD800 || first > 0xDBFF || position + 1 === size
|
||
|| (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
|
||
? CONVERT_TO_STRING ? S.charAt(position) : first
|
||
: CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
|
||
};
|
||
};
|
||
|
||
module.exports = {
|
||
// `String.prototype.codePointAt` method
|
||
// https://tc39.es/ecma262/#sec-string.prototype.codepointat
|
||
codeAt: createMethod(false),
|
||
// `String.prototype.at` method
|
||
// https://github.com/mathiasbynens/String.prototype.at
|
||
charAt: createMethod(true)
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/string-punycode-to-ascii.js":
|
||
/*!********************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/string-punycode-to-ascii.js ***!
|
||
\********************************************************************/
|
||
/***/ (function(module) {
|
||
|
||
"use strict";
|
||
|
||
// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js
|
||
var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1
|
||
var base = 36;
|
||
var tMin = 1;
|
||
var tMax = 26;
|
||
var skew = 38;
|
||
var damp = 700;
|
||
var initialBias = 72;
|
||
var initialN = 128; // 0x80
|
||
var delimiter = '-'; // '\x2D'
|
||
var regexNonASCII = /[^\0-\u007E]/; // non-ASCII chars
|
||
var regexSeparators = /[.\u3002\uFF0E\uFF61]/g; // RFC 3490 separators
|
||
var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';
|
||
var baseMinusTMin = base - tMin;
|
||
var floor = Math.floor;
|
||
var stringFromCharCode = String.fromCharCode;
|
||
|
||
/**
|
||
* Creates an array containing the numeric code points of each Unicode
|
||
* character in the string. While JavaScript uses UCS-2 internally,
|
||
* this function will convert a pair of surrogate halves (each of which
|
||
* UCS-2 exposes as separate characters) into a single code point,
|
||
* matching UTF-16.
|
||
*/
|
||
var ucs2decode = function (string) {
|
||
var output = [];
|
||
var counter = 0;
|
||
var length = string.length;
|
||
while (counter < length) {
|
||
var value = string.charCodeAt(counter++);
|
||
if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
|
||
// It's a high surrogate, and there is a next character.
|
||
var extra = string.charCodeAt(counter++);
|
||
if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.
|
||
output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
|
||
} else {
|
||
// It's an unmatched surrogate; only append this code unit, in case the
|
||
// next code unit is the high surrogate of a surrogate pair.
|
||
output.push(value);
|
||
counter--;
|
||
}
|
||
} else {
|
||
output.push(value);
|
||
}
|
||
}
|
||
return output;
|
||
};
|
||
|
||
/**
|
||
* Converts a digit/integer into a basic code point.
|
||
*/
|
||
var digitToBasic = function (digit) {
|
||
// 0..25 map to ASCII a..z or A..Z
|
||
// 26..35 map to ASCII 0..9
|
||
return digit + 22 + 75 * (digit < 26);
|
||
};
|
||
|
||
/**
|
||
* Bias adaptation function as per section 3.4 of RFC 3492.
|
||
* https://tools.ietf.org/html/rfc3492#section-3.4
|
||
*/
|
||
var adapt = function (delta, numPoints, firstTime) {
|
||
var k = 0;
|
||
delta = firstTime ? floor(delta / damp) : delta >> 1;
|
||
delta += floor(delta / numPoints);
|
||
for (; delta > baseMinusTMin * tMax >> 1; k += base) {
|
||
delta = floor(delta / baseMinusTMin);
|
||
}
|
||
return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
|
||
};
|
||
|
||
/**
|
||
* Converts a string of Unicode symbols (e.g. a domain name label) to a
|
||
* Punycode string of ASCII-only symbols.
|
||
*/
|
||
// eslint-disable-next-line max-statements -- TODO
|
||
var encode = function (input) {
|
||
var output = [];
|
||
|
||
// Convert the input in UCS-2 to an array of Unicode code points.
|
||
input = ucs2decode(input);
|
||
|
||
// Cache the length.
|
||
var inputLength = input.length;
|
||
|
||
// Initialize the state.
|
||
var n = initialN;
|
||
var delta = 0;
|
||
var bias = initialBias;
|
||
var i, currentValue;
|
||
|
||
// Handle the basic code points.
|
||
for (i = 0; i < input.length; i++) {
|
||
currentValue = input[i];
|
||
if (currentValue < 0x80) {
|
||
output.push(stringFromCharCode(currentValue));
|
||
}
|
||
}
|
||
|
||
var basicLength = output.length; // number of basic code points.
|
||
var handledCPCount = basicLength; // number of code points that have been handled;
|
||
|
||
// Finish the basic string with a delimiter unless it's empty.
|
||
if (basicLength) {
|
||
output.push(delimiter);
|
||
}
|
||
|
||
// Main encoding loop:
|
||
while (handledCPCount < inputLength) {
|
||
// All non-basic code points < n have been handled already. Find the next larger one:
|
||
var m = maxInt;
|
||
for (i = 0; i < input.length; i++) {
|
||
currentValue = input[i];
|
||
if (currentValue >= n && currentValue < m) {
|
||
m = currentValue;
|
||
}
|
||
}
|
||
|
||
// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, but guard against overflow.
|
||
var handledCPCountPlusOne = handledCPCount + 1;
|
||
if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
|
||
throw RangeError(OVERFLOW_ERROR);
|
||
}
|
||
|
||
delta += (m - n) * handledCPCountPlusOne;
|
||
n = m;
|
||
|
||
for (i = 0; i < input.length; i++) {
|
||
currentValue = input[i];
|
||
if (currentValue < n && ++delta > maxInt) {
|
||
throw RangeError(OVERFLOW_ERROR);
|
||
}
|
||
if (currentValue == n) {
|
||
// Represent delta as a generalized variable-length integer.
|
||
var q = delta;
|
||
for (var k = base; /* no condition */; k += base) {
|
||
var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
|
||
if (q < t) break;
|
||
var qMinusT = q - t;
|
||
var baseMinusT = base - t;
|
||
output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));
|
||
q = floor(qMinusT / baseMinusT);
|
||
}
|
||
|
||
output.push(stringFromCharCode(digitToBasic(q)));
|
||
bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
|
||
delta = 0;
|
||
++handledCPCount;
|
||
}
|
||
}
|
||
|
||
++delta;
|
||
++n;
|
||
}
|
||
return output.join('');
|
||
};
|
||
|
||
module.exports = function (input) {
|
||
var encoded = [];
|
||
var labels = input.toLowerCase().replace(regexSeparators, '\u002E').split('.');
|
||
var i, label;
|
||
for (i = 0; i < labels.length; i++) {
|
||
label = labels[i];
|
||
encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);
|
||
}
|
||
return encoded.join('.');
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/string-trim-forced.js":
|
||
/*!**************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/string-trim-forced.js ***!
|
||
\**************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
||
var whitespaces = __webpack_require__(/*! ../internals/whitespaces */ "./node_modules/core-js/internals/whitespaces.js");
|
||
|
||
var non = '\u200B\u0085\u180E';
|
||
|
||
// check that a method works with the correct list
|
||
// of whitespaces and has a correct name
|
||
module.exports = function (METHOD_NAME) {
|
||
return fails(function () {
|
||
return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;
|
||
});
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/string-trim.js":
|
||
/*!*******************************************************!*\
|
||
!*** ./node_modules/core-js/internals/string-trim.js ***!
|
||
\*******************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js");
|
||
var whitespaces = __webpack_require__(/*! ../internals/whitespaces */ "./node_modules/core-js/internals/whitespaces.js");
|
||
|
||
var whitespace = '[' + whitespaces + ']';
|
||
var ltrim = RegExp('^' + whitespace + whitespace + '*');
|
||
var rtrim = RegExp(whitespace + whitespace + '*$');
|
||
|
||
// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
|
||
var createMethod = function (TYPE) {
|
||
return function ($this) {
|
||
var string = String(requireObjectCoercible($this));
|
||
if (TYPE & 1) string = string.replace(ltrim, '');
|
||
if (TYPE & 2) string = string.replace(rtrim, '');
|
||
return string;
|
||
};
|
||
};
|
||
|
||
module.exports = {
|
||
// `String.prototype.{ trimLeft, trimStart }` methods
|
||
// https://tc39.es/ecma262/#sec-string.prototype.trimstart
|
||
start: createMethod(1),
|
||
// `String.prototype.{ trimRight, trimEnd }` methods
|
||
// https://tc39.es/ecma262/#sec-string.prototype.trimend
|
||
end: createMethod(2),
|
||
// `String.prototype.trim` method
|
||
// https://tc39.es/ecma262/#sec-string.prototype.trim
|
||
trim: createMethod(3)
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/task.js":
|
||
/*!************************************************!*\
|
||
!*** ./node_modules/core-js/internals/task.js ***!
|
||
\************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
||
var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js/internals/function-bind-context.js");
|
||
var html = __webpack_require__(/*! ../internals/html */ "./node_modules/core-js/internals/html.js");
|
||
var createElement = __webpack_require__(/*! ../internals/document-create-element */ "./node_modules/core-js/internals/document-create-element.js");
|
||
var IS_IOS = __webpack_require__(/*! ../internals/engine-is-ios */ "./node_modules/core-js/internals/engine-is-ios.js");
|
||
var IS_NODE = __webpack_require__(/*! ../internals/engine-is-node */ "./node_modules/core-js/internals/engine-is-node.js");
|
||
|
||
var location = global.location;
|
||
var set = global.setImmediate;
|
||
var clear = global.clearImmediate;
|
||
var process = global.process;
|
||
var MessageChannel = global.MessageChannel;
|
||
var Dispatch = global.Dispatch;
|
||
var counter = 0;
|
||
var queue = {};
|
||
var ONREADYSTATECHANGE = 'onreadystatechange';
|
||
var defer, channel, port;
|
||
|
||
var run = function (id) {
|
||
// eslint-disable-next-line no-prototype-builtins -- safe
|
||
if (queue.hasOwnProperty(id)) {
|
||
var fn = queue[id];
|
||
delete queue[id];
|
||
fn();
|
||
}
|
||
};
|
||
|
||
var runner = function (id) {
|
||
return function () {
|
||
run(id);
|
||
};
|
||
};
|
||
|
||
var listener = function (event) {
|
||
run(event.data);
|
||
};
|
||
|
||
var post = function (id) {
|
||
// old engines have not location.origin
|
||
global.postMessage(id + '', location.protocol + '//' + location.host);
|
||
};
|
||
|
||
// Node.js 0.9+ & IE10+ has setImmediate, otherwise:
|
||
if (!set || !clear) {
|
||
set = function setImmediate(fn) {
|
||
var args = [];
|
||
var i = 1;
|
||
while (arguments.length > i) args.push(arguments[i++]);
|
||
queue[++counter] = function () {
|
||
// eslint-disable-next-line no-new-func -- spec requirement
|
||
(typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);
|
||
};
|
||
defer(counter);
|
||
return counter;
|
||
};
|
||
clear = function clearImmediate(id) {
|
||
delete queue[id];
|
||
};
|
||
// Node.js 0.8-
|
||
if (IS_NODE) {
|
||
defer = function (id) {
|
||
process.nextTick(runner(id));
|
||
};
|
||
// Sphere (JS game engine) Dispatch API
|
||
} else if (Dispatch && Dispatch.now) {
|
||
defer = function (id) {
|
||
Dispatch.now(runner(id));
|
||
};
|
||
// Browsers with MessageChannel, includes WebWorkers
|
||
// except iOS - https://github.com/zloirock/core-js/issues/624
|
||
} else if (MessageChannel && !IS_IOS) {
|
||
channel = new MessageChannel();
|
||
port = channel.port2;
|
||
channel.port1.onmessage = listener;
|
||
defer = bind(port.postMessage, port, 1);
|
||
// Browsers with postMessage, skip WebWorkers
|
||
// IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
|
||
} else if (
|
||
global.addEventListener &&
|
||
typeof postMessage == 'function' &&
|
||
!global.importScripts &&
|
||
location && location.protocol !== 'file:' &&
|
||
!fails(post)
|
||
) {
|
||
defer = post;
|
||
global.addEventListener('message', listener, false);
|
||
// IE8-
|
||
} else if (ONREADYSTATECHANGE in createElement('script')) {
|
||
defer = function (id) {
|
||
html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {
|
||
html.removeChild(this);
|
||
run(id);
|
||
};
|
||
};
|
||
// Rest old browsers
|
||
} else {
|
||
defer = function (id) {
|
||
setTimeout(runner(id), 0);
|
||
};
|
||
}
|
||
}
|
||
|
||
module.exports = {
|
||
set: set,
|
||
clear: clear
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/to-absolute-index.js":
|
||
/*!*************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/to-absolute-index.js ***!
|
||
\*************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js");
|
||
|
||
var max = Math.max;
|
||
var min = Math.min;
|
||
|
||
// Helper for a popular repeating case of the spec:
|
||
// Let integer be ? ToInteger(index).
|
||
// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
|
||
module.exports = function (index, length) {
|
||
var integer = toInteger(index);
|
||
return integer < 0 ? max(integer + length, 0) : min(integer, length);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/to-indexed-object.js":
|
||
/*!*************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/to-indexed-object.js ***!
|
||
\*************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
// toObject with fallback for non-array-like ES3 strings
|
||
var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/core-js/internals/indexed-object.js");
|
||
var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js");
|
||
|
||
module.exports = function (it) {
|
||
return IndexedObject(requireObjectCoercible(it));
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/to-integer.js":
|
||
/*!******************************************************!*\
|
||
!*** ./node_modules/core-js/internals/to-integer.js ***!
|
||
\******************************************************/
|
||
/***/ (function(module) {
|
||
|
||
var ceil = Math.ceil;
|
||
var floor = Math.floor;
|
||
|
||
// `ToInteger` abstract operation
|
||
// https://tc39.es/ecma262/#sec-tointeger
|
||
module.exports = function (argument) {
|
||
return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/to-length.js":
|
||
/*!*****************************************************!*\
|
||
!*** ./node_modules/core-js/internals/to-length.js ***!
|
||
\*****************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js");
|
||
|
||
var min = Math.min;
|
||
|
||
// `ToLength` abstract operation
|
||
// https://tc39.es/ecma262/#sec-tolength
|
||
module.exports = function (argument) {
|
||
return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/to-object.js":
|
||
/*!*****************************************************!*\
|
||
!*** ./node_modules/core-js/internals/to-object.js ***!
|
||
\*****************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js");
|
||
|
||
// `ToObject` abstract operation
|
||
// https://tc39.es/ecma262/#sec-toobject
|
||
module.exports = function (argument) {
|
||
return Object(requireObjectCoercible(argument));
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/to-primitive.js":
|
||
/*!********************************************************!*\
|
||
!*** ./node_modules/core-js/internals/to-primitive.js ***!
|
||
\********************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
|
||
|
||
// `ToPrimitive` abstract operation
|
||
// https://tc39.es/ecma262/#sec-toprimitive
|
||
// instead of the ES6 spec version, we didn't implement @@toPrimitive case
|
||
// and the second argument - flag - preferred type is a string
|
||
module.exports = function (input, PREFERRED_STRING) {
|
||
if (!isObject(input)) return input;
|
||
var fn, val;
|
||
if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
|
||
if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
|
||
if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
|
||
throw TypeError("Can't convert object to primitive value");
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/to-string-tag-support.js":
|
||
/*!*****************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/to-string-tag-support.js ***!
|
||
\*****************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
|
||
|
||
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
|
||
var test = {};
|
||
|
||
test[TO_STRING_TAG] = 'z';
|
||
|
||
module.exports = String(test) === '[object z]';
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/uid.js":
|
||
/*!***********************************************!*\
|
||
!*** ./node_modules/core-js/internals/uid.js ***!
|
||
\***********************************************/
|
||
/***/ (function(module) {
|
||
|
||
var id = 0;
|
||
var postfix = Math.random();
|
||
|
||
module.exports = function (key) {
|
||
return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/use-symbol-as-uid.js":
|
||
/*!*************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/use-symbol-as-uid.js ***!
|
||
\*************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
/* eslint-disable es/no-symbol -- required for testing */
|
||
var NATIVE_SYMBOL = __webpack_require__(/*! ../internals/native-symbol */ "./node_modules/core-js/internals/native-symbol.js");
|
||
|
||
module.exports = NATIVE_SYMBOL
|
||
&& !Symbol.sham
|
||
&& typeof Symbol.iterator == 'symbol';
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/well-known-symbol-wrapped.js":
|
||
/*!*********************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/well-known-symbol-wrapped.js ***!
|
||
\*********************************************************************/
|
||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
||
|
||
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
|
||
|
||
exports.f = wellKnownSymbol;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/well-known-symbol.js":
|
||
/*!*************************************************************!*\
|
||
!*** ./node_modules/core-js/internals/well-known-symbol.js ***!
|
||
\*************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||
var shared = __webpack_require__(/*! ../internals/shared */ "./node_modules/core-js/internals/shared.js");
|
||
var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
|
||
var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/core-js/internals/uid.js");
|
||
var NATIVE_SYMBOL = __webpack_require__(/*! ../internals/native-symbol */ "./node_modules/core-js/internals/native-symbol.js");
|
||
var USE_SYMBOL_AS_UID = __webpack_require__(/*! ../internals/use-symbol-as-uid */ "./node_modules/core-js/internals/use-symbol-as-uid.js");
|
||
|
||
var WellKnownSymbolsStore = shared('wks');
|
||
var Symbol = global.Symbol;
|
||
var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;
|
||
|
||
module.exports = function (name) {
|
||
if (!has(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {
|
||
if (NATIVE_SYMBOL && has(Symbol, name)) {
|
||
WellKnownSymbolsStore[name] = Symbol[name];
|
||
} else {
|
||
WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
|
||
}
|
||
} return WellKnownSymbolsStore[name];
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/internals/whitespaces.js":
|
||
/*!*******************************************************!*\
|
||
!*** ./node_modules/core-js/internals/whitespaces.js ***!
|
||
\*******************************************************/
|
||
/***/ (function(module) {
|
||
|
||
// a string of all valid unicode whitespaces
|
||
module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' +
|
||
'\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/es.array.concat.js":
|
||
/*!*********************************************************!*\
|
||
!*** ./node_modules/core-js/modules/es.array.concat.js ***!
|
||
\*********************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
|
||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
||
var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js/internals/is-array.js");
|
||
var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
|
||
var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
|
||
var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
|
||
var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/core-js/internals/create-property.js");
|
||
var arraySpeciesCreate = __webpack_require__(/*! ../internals/array-species-create */ "./node_modules/core-js/internals/array-species-create.js");
|
||
var arrayMethodHasSpeciesSupport = __webpack_require__(/*! ../internals/array-method-has-species-support */ "./node_modules/core-js/internals/array-method-has-species-support.js");
|
||
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
|
||
var V8_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ "./node_modules/core-js/internals/engine-v8-version.js");
|
||
|
||
var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
|
||
var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
|
||
var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
|
||
|
||
// We can't use this feature detection in V8 since it causes
|
||
// deoptimization and serious performance degradation
|
||
// https://github.com/zloirock/core-js/issues/679
|
||
var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {
|
||
var array = [];
|
||
array[IS_CONCAT_SPREADABLE] = false;
|
||
return array.concat()[0] !== array;
|
||
});
|
||
|
||
var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
|
||
|
||
var isConcatSpreadable = function (O) {
|
||
if (!isObject(O)) return false;
|
||
var spreadable = O[IS_CONCAT_SPREADABLE];
|
||
return spreadable !== undefined ? !!spreadable : isArray(O);
|
||
};
|
||
|
||
var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
|
||
|
||
// `Array.prototype.concat` method
|
||
// https://tc39.es/ecma262/#sec-array.prototype.concat
|
||
// with adding support of @@isConcatSpreadable and @@species
|
||
$({ target: 'Array', proto: true, forced: FORCED }, {
|
||
// eslint-disable-next-line no-unused-vars -- required for `.length`
|
||
concat: function concat(arg) {
|
||
var O = toObject(this);
|
||
var A = arraySpeciesCreate(O, 0);
|
||
var n = 0;
|
||
var i, k, length, len, E;
|
||
for (i = -1, length = arguments.length; i < length; i++) {
|
||
E = i === -1 ? O : arguments[i];
|
||
if (isConcatSpreadable(E)) {
|
||
len = toLength(E.length);
|
||
if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
|
||
for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
|
||
} else {
|
||
if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
|
||
createProperty(A, n++, E);
|
||
}
|
||
}
|
||
A.length = n;
|
||
return A;
|
||
}
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/es.array.filter.js":
|
||
/*!*********************************************************!*\
|
||
!*** ./node_modules/core-js/modules/es.array.filter.js ***!
|
||
\*********************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
|
||
var $filter = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").filter;
|
||
var arrayMethodHasSpeciesSupport = __webpack_require__(/*! ../internals/array-method-has-species-support */ "./node_modules/core-js/internals/array-method-has-species-support.js");
|
||
|
||
var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');
|
||
|
||
// `Array.prototype.filter` method
|
||
// https://tc39.es/ecma262/#sec-array.prototype.filter
|
||
// with adding support of @@species
|
||
$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
|
||
filter: function filter(callbackfn /* , thisArg */) {
|
||
return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
||
}
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/es.array.flat.js":
|
||
/*!*******************************************************!*\
|
||
!*** ./node_modules/core-js/modules/es.array.flat.js ***!
|
||
\*******************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
|
||
var flattenIntoArray = __webpack_require__(/*! ../internals/flatten-into-array */ "./node_modules/core-js/internals/flatten-into-array.js");
|
||
var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
|
||
var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
|
||
var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js");
|
||
var arraySpeciesCreate = __webpack_require__(/*! ../internals/array-species-create */ "./node_modules/core-js/internals/array-species-create.js");
|
||
|
||
// `Array.prototype.flat` method
|
||
// https://tc39.es/ecma262/#sec-array.prototype.flat
|
||
$({ target: 'Array', proto: true }, {
|
||
flat: function flat(/* depthArg = 1 */) {
|
||
var depthArg = arguments.length ? arguments[0] : undefined;
|
||
var O = toObject(this);
|
||
var sourceLen = toLength(O.length);
|
||
var A = arraySpeciesCreate(O, 0);
|
||
A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg));
|
||
return A;
|
||
}
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/es.array.for-each.js":
|
||
/*!***********************************************************!*\
|
||
!*** ./node_modules/core-js/modules/es.array.for-each.js ***!
|
||
\***********************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
|
||
var forEach = __webpack_require__(/*! ../internals/array-for-each */ "./node_modules/core-js/internals/array-for-each.js");
|
||
|
||
// `Array.prototype.forEach` method
|
||
// https://tc39.es/ecma262/#sec-array.prototype.foreach
|
||
// eslint-disable-next-line es/no-array-prototype-foreach -- safe
|
||
$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {
|
||
forEach: forEach
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/es.array.from.js":
|
||
/*!*******************************************************!*\
|
||
!*** ./node_modules/core-js/modules/es.array.from.js ***!
|
||
\*******************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
|
||
var from = __webpack_require__(/*! ../internals/array-from */ "./node_modules/core-js/internals/array-from.js");
|
||
var checkCorrectnessOfIteration = __webpack_require__(/*! ../internals/check-correctness-of-iteration */ "./node_modules/core-js/internals/check-correctness-of-iteration.js");
|
||
|
||
var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {
|
||
// eslint-disable-next-line es/no-array-from -- required for testing
|
||
Array.from(iterable);
|
||
});
|
||
|
||
// `Array.from` method
|
||
// https://tc39.es/ecma262/#sec-array.from
|
||
$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {
|
||
from: from
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/es.array.includes.js":
|
||
/*!***********************************************************!*\
|
||
!*** ./node_modules/core-js/modules/es.array.includes.js ***!
|
||
\***********************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
|
||
var $includes = __webpack_require__(/*! ../internals/array-includes */ "./node_modules/core-js/internals/array-includes.js").includes;
|
||
var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "./node_modules/core-js/internals/add-to-unscopables.js");
|
||
|
||
// `Array.prototype.includes` method
|
||
// https://tc39.es/ecma262/#sec-array.prototype.includes
|
||
$({ target: 'Array', proto: true }, {
|
||
includes: function includes(el /* , fromIndex = 0 */) {
|
||
return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
|
||
}
|
||
});
|
||
|
||
// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
|
||
addToUnscopables('includes');
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/es.array.index-of.js":
|
||
/*!***********************************************************!*\
|
||
!*** ./node_modules/core-js/modules/es.array.index-of.js ***!
|
||
\***********************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
/* eslint-disable es/no-array-prototype-indexof -- required for testing */
|
||
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
|
||
var $indexOf = __webpack_require__(/*! ../internals/array-includes */ "./node_modules/core-js/internals/array-includes.js").indexOf;
|
||
var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js/internals/array-method-is-strict.js");
|
||
|
||
var nativeIndexOf = [].indexOf;
|
||
|
||
var NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;
|
||
var STRICT_METHOD = arrayMethodIsStrict('indexOf');
|
||
|
||
// `Array.prototype.indexOf` method
|
||
// https://tc39.es/ecma262/#sec-array.prototype.indexof
|
||
$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD }, {
|
||
indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {
|
||
return NEGATIVE_ZERO
|
||
// convert -0 to +0
|
||
? nativeIndexOf.apply(this, arguments) || 0
|
||
: $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);
|
||
}
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/es.array.iterator.js":
|
||
/*!***********************************************************!*\
|
||
!*** ./node_modules/core-js/modules/es.array.iterator.js ***!
|
||
\***********************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js");
|
||
var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "./node_modules/core-js/internals/add-to-unscopables.js");
|
||
var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js");
|
||
var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js");
|
||
var defineIterator = __webpack_require__(/*! ../internals/define-iterator */ "./node_modules/core-js/internals/define-iterator.js");
|
||
|
||
var ARRAY_ITERATOR = 'Array Iterator';
|
||
var setInternalState = InternalStateModule.set;
|
||
var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);
|
||
|
||
// `Array.prototype.entries` method
|
||
// https://tc39.es/ecma262/#sec-array.prototype.entries
|
||
// `Array.prototype.keys` method
|
||
// https://tc39.es/ecma262/#sec-array.prototype.keys
|
||
// `Array.prototype.values` method
|
||
// https://tc39.es/ecma262/#sec-array.prototype.values
|
||
// `Array.prototype[@@iterator]` method
|
||
// https://tc39.es/ecma262/#sec-array.prototype-@@iterator
|
||
// `CreateArrayIterator` internal method
|
||
// https://tc39.es/ecma262/#sec-createarrayiterator
|
||
module.exports = defineIterator(Array, 'Array', function (iterated, kind) {
|
||
setInternalState(this, {
|
||
type: ARRAY_ITERATOR,
|
||
target: toIndexedObject(iterated), // target
|
||
index: 0, // next index
|
||
kind: kind // kind
|
||
});
|
||
// `%ArrayIteratorPrototype%.next` method
|
||
// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next
|
||
}, function () {
|
||
var state = getInternalState(this);
|
||
var target = state.target;
|
||
var kind = state.kind;
|
||
var index = state.index++;
|
||
if (!target || index >= target.length) {
|
||
state.target = undefined;
|
||
return { value: undefined, done: true };
|
||
}
|
||
if (kind == 'keys') return { value: index, done: false };
|
||
if (kind == 'values') return { value: target[index], done: false };
|
||
return { value: [index, target[index]], done: false };
|
||
}, 'values');
|
||
|
||
// argumentsList[@@iterator] is %ArrayProto_values%
|
||
// https://tc39.es/ecma262/#sec-createunmappedargumentsobject
|
||
// https://tc39.es/ecma262/#sec-createmappedargumentsobject
|
||
Iterators.Arguments = Iterators.Array;
|
||
|
||
// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
|
||
addToUnscopables('keys');
|
||
addToUnscopables('values');
|
||
addToUnscopables('entries');
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/es.array.join.js":
|
||
/*!*******************************************************!*\
|
||
!*** ./node_modules/core-js/modules/es.array.join.js ***!
|
||
\*******************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
|
||
var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/core-js/internals/indexed-object.js");
|
||
var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js");
|
||
var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js/internals/array-method-is-strict.js");
|
||
|
||
var nativeJoin = [].join;
|
||
|
||
var ES3_STRINGS = IndexedObject != Object;
|
||
var STRICT_METHOD = arrayMethodIsStrict('join', ',');
|
||
|
||
// `Array.prototype.join` method
|
||
// https://tc39.es/ecma262/#sec-array.prototype.join
|
||
$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {
|
||
join: function join(separator) {
|
||
return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);
|
||
}
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/es.array.map.js":
|
||
/*!******************************************************!*\
|
||
!*** ./node_modules/core-js/modules/es.array.map.js ***!
|
||
\******************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
|
||
var $map = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").map;
|
||
var arrayMethodHasSpeciesSupport = __webpack_require__(/*! ../internals/array-method-has-species-support */ "./node_modules/core-js/internals/array-method-has-species-support.js");
|
||
|
||
var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');
|
||
|
||
// `Array.prototype.map` method
|
||
// https://tc39.es/ecma262/#sec-array.prototype.map
|
||
// with adding support of @@species
|
||
$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
|
||
map: function map(callbackfn /* , thisArg */) {
|
||
return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
||
}
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/es.array.reduce.js":
|
||
/*!*********************************************************!*\
|
||
!*** ./node_modules/core-js/modules/es.array.reduce.js ***!
|
||
\*********************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
|
||
var $reduce = __webpack_require__(/*! ../internals/array-reduce */ "./node_modules/core-js/internals/array-reduce.js").left;
|
||
var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js/internals/array-method-is-strict.js");
|
||
var CHROME_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ "./node_modules/core-js/internals/engine-v8-version.js");
|
||
var IS_NODE = __webpack_require__(/*! ../internals/engine-is-node */ "./node_modules/core-js/internals/engine-is-node.js");
|
||
|
||
var STRICT_METHOD = arrayMethodIsStrict('reduce');
|
||
// Chrome 80-82 has a critical bug
|
||
// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982
|
||
var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;
|
||
|
||
// `Array.prototype.reduce` method
|
||
// https://tc39.es/ecma262/#sec-array.prototype.reduce
|
||
$({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {
|
||
reduce: function reduce(callbackfn /* , initialValue */) {
|
||
return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);
|
||
}
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/es.array.slice.js":
|
||
/*!********************************************************!*\
|
||
!*** ./node_modules/core-js/modules/es.array.slice.js ***!
|
||
\********************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
|
||
var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
|
||
var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js/internals/is-array.js");
|
||
var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js");
|
||
var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
|
||
var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js");
|
||
var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/core-js/internals/create-property.js");
|
||
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
|
||
var arrayMethodHasSpeciesSupport = __webpack_require__(/*! ../internals/array-method-has-species-support */ "./node_modules/core-js/internals/array-method-has-species-support.js");
|
||
|
||
var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');
|
||
|
||
var SPECIES = wellKnownSymbol('species');
|
||
var nativeSlice = [].slice;
|
||
var max = Math.max;
|
||
|
||
// `Array.prototype.slice` method
|
||
// https://tc39.es/ecma262/#sec-array.prototype.slice
|
||
// fallback for not array-like ES3 strings and DOM objects
|
||
$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
|
||
slice: function slice(start, end) {
|
||
var O = toIndexedObject(this);
|
||
var length = toLength(O.length);
|
||
var k = toAbsoluteIndex(start, length);
|
||
var fin = toAbsoluteIndex(end === undefined ? length : end, length);
|
||
// inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible
|
||
var Constructor, result, n;
|
||
if (isArray(O)) {
|
||
Constructor = O.constructor;
|
||
// cross-realm fallback
|
||
if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {
|
||
Constructor = undefined;
|
||
} else if (isObject(Constructor)) {
|
||
Constructor = Constructor[SPECIES];
|
||
if (Constructor === null) Constructor = undefined;
|
||
}
|
||
if (Constructor === Array || Constructor === undefined) {
|
||
return nativeSlice.call(O, k, fin);
|
||
}
|
||
}
|
||
result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));
|
||
for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);
|
||
result.length = n;
|
||
return result;
|
||
}
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/es.function.name.js":
|
||
/*!**********************************************************!*\
|
||
!*** ./node_modules/core-js/modules/es.function.name.js ***!
|
||
\**********************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
|
||
var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f;
|
||
|
||
var FunctionPrototype = Function.prototype;
|
||
var FunctionPrototypeToString = FunctionPrototype.toString;
|
||
var nameRE = /^\s*function ([^ (]*)/;
|
||
var NAME = 'name';
|
||
|
||
// Function instances `.name` property
|
||
// https://tc39.es/ecma262/#sec-function-instances-name
|
||
if (DESCRIPTORS && !(NAME in FunctionPrototype)) {
|
||
defineProperty(FunctionPrototype, NAME, {
|
||
configurable: true,
|
||
get: function () {
|
||
try {
|
||
return FunctionPrototypeToString.call(this).match(nameRE)[1];
|
||
} catch (error) {
|
||
return '';
|
||
}
|
||
}
|
||
});
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/es.map.js":
|
||
/*!************************************************!*\
|
||
!*** ./node_modules/core-js/modules/es.map.js ***!
|
||
\************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var collection = __webpack_require__(/*! ../internals/collection */ "./node_modules/core-js/internals/collection.js");
|
||
var collectionStrong = __webpack_require__(/*! ../internals/collection-strong */ "./node_modules/core-js/internals/collection-strong.js");
|
||
|
||
// `Map` constructor
|
||
// https://tc39.es/ecma262/#sec-map-objects
|
||
module.exports = collection('Map', function (init) {
|
||
return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };
|
||
}, collectionStrong);
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/es.number.constructor.js":
|
||
/*!***************************************************************!*\
|
||
!*** ./node_modules/core-js/modules/es.number.constructor.js ***!
|
||
\***************************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
|
||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||
var isForced = __webpack_require__(/*! ../internals/is-forced */ "./node_modules/core-js/internals/is-forced.js");
|
||
var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");
|
||
var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
|
||
var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js");
|
||
var inheritIfRequired = __webpack_require__(/*! ../internals/inherit-if-required */ "./node_modules/core-js/internals/inherit-if-required.js");
|
||
var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js");
|
||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
||
var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js");
|
||
var getOwnPropertyNames = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js").f;
|
||
var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f;
|
||
var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f;
|
||
var trim = __webpack_require__(/*! ../internals/string-trim */ "./node_modules/core-js/internals/string-trim.js").trim;
|
||
|
||
var NUMBER = 'Number';
|
||
var NativeNumber = global[NUMBER];
|
||
var NumberPrototype = NativeNumber.prototype;
|
||
|
||
// Opera ~12 has broken Object#toString
|
||
var BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;
|
||
|
||
// `ToNumber` abstract operation
|
||
// https://tc39.es/ecma262/#sec-tonumber
|
||
var toNumber = function (argument) {
|
||
var it = toPrimitive(argument, false);
|
||
var first, third, radix, maxCode, digits, length, index, code;
|
||
if (typeof it == 'string' && it.length > 2) {
|
||
it = trim(it);
|
||
first = it.charCodeAt(0);
|
||
if (first === 43 || first === 45) {
|
||
third = it.charCodeAt(2);
|
||
if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix
|
||
} else if (first === 48) {
|
||
switch (it.charCodeAt(1)) {
|
||
case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i
|
||
case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i
|
||
default: return +it;
|
||
}
|
||
digits = it.slice(2);
|
||
length = digits.length;
|
||
for (index = 0; index < length; index++) {
|
||
code = digits.charCodeAt(index);
|
||
// parseInt parses a string to a first unavailable symbol
|
||
// but ToNumber should return NaN if a string contains unavailable symbols
|
||
if (code < 48 || code > maxCode) return NaN;
|
||
} return parseInt(digits, radix);
|
||
}
|
||
} return +it;
|
||
};
|
||
|
||
// `Number` constructor
|
||
// https://tc39.es/ecma262/#sec-number-constructor
|
||
if (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {
|
||
var NumberWrapper = function Number(value) {
|
||
var it = arguments.length < 1 ? 0 : value;
|
||
var dummy = this;
|
||
return dummy instanceof NumberWrapper
|
||
// check on 1..constructor(foo) case
|
||
&& (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)
|
||
? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);
|
||
};
|
||
for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (
|
||
// ES3:
|
||
'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +
|
||
// ES2015 (in case, if modules with ES2015 Number statics required before):
|
||
'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +
|
||
'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,' +
|
||
// ESNext
|
||
'fromString,range'
|
||
).split(','), j = 0, key; keys.length > j; j++) {
|
||
if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {
|
||
defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));
|
||
}
|
||
}
|
||
NumberWrapper.prototype = NumberPrototype;
|
||
NumberPrototype.constructor = NumberWrapper;
|
||
redefine(global, NUMBER, NumberWrapper);
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/es.object.assign.js":
|
||
/*!**********************************************************!*\
|
||
!*** ./node_modules/core-js/modules/es.object.assign.js ***!
|
||
\**********************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
|
||
var assign = __webpack_require__(/*! ../internals/object-assign */ "./node_modules/core-js/internals/object-assign.js");
|
||
|
||
// `Object.assign` method
|
||
// https://tc39.es/ecma262/#sec-object.assign
|
||
// eslint-disable-next-line es/no-object-assign -- required for testing
|
||
$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {
|
||
assign: assign
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/es.object.get-own-property-descriptor.js":
|
||
/*!*******************************************************************************!*\
|
||
!*** ./node_modules/core-js/modules/es.object.get-own-property-descriptor.js ***!
|
||
\*******************************************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
|
||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
||
var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js");
|
||
var nativeGetOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f;
|
||
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
|
||
|
||
var FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });
|
||
var FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;
|
||
|
||
// `Object.getOwnPropertyDescriptor` method
|
||
// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
|
||
$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {
|
||
getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {
|
||
return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);
|
||
}
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/es.object.get-own-property-descriptors.js":
|
||
/*!********************************************************************************!*\
|
||
!*** ./node_modules/core-js/modules/es.object.get-own-property-descriptors.js ***!
|
||
\********************************************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
|
||
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
|
||
var ownKeys = __webpack_require__(/*! ../internals/own-keys */ "./node_modules/core-js/internals/own-keys.js");
|
||
var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js");
|
||
var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js");
|
||
var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/core-js/internals/create-property.js");
|
||
|
||
// `Object.getOwnPropertyDescriptors` method
|
||
// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors
|
||
$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {
|
||
getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {
|
||
var O = toIndexedObject(object);
|
||
var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
|
||
var keys = ownKeys(O);
|
||
var result = {};
|
||
var index = 0;
|
||
var key, descriptor;
|
||
while (keys.length > index) {
|
||
descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);
|
||
if (descriptor !== undefined) createProperty(result, key, descriptor);
|
||
}
|
||
return result;
|
||
}
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/es.object.keys.js":
|
||
/*!********************************************************!*\
|
||
!*** ./node_modules/core-js/modules/es.object.keys.js ***!
|
||
\********************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
|
||
var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
|
||
var nativeKeys = __webpack_require__(/*! ../internals/object-keys */ "./node_modules/core-js/internals/object-keys.js");
|
||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
||
|
||
var FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });
|
||
|
||
// `Object.keys` method
|
||
// https://tc39.es/ecma262/#sec-object.keys
|
||
$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {
|
||
keys: function keys(it) {
|
||
return nativeKeys(toObject(it));
|
||
}
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/es.object.to-string.js":
|
||
/*!*************************************************************!*\
|
||
!*** ./node_modules/core-js/modules/es.object.to-string.js ***!
|
||
\*************************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var TO_STRING_TAG_SUPPORT = __webpack_require__(/*! ../internals/to-string-tag-support */ "./node_modules/core-js/internals/to-string-tag-support.js");
|
||
var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");
|
||
var toString = __webpack_require__(/*! ../internals/object-to-string */ "./node_modules/core-js/internals/object-to-string.js");
|
||
|
||
// `Object.prototype.toString` method
|
||
// https://tc39.es/ecma262/#sec-object.prototype.tostring
|
||
if (!TO_STRING_TAG_SUPPORT) {
|
||
redefine(Object.prototype, 'toString', toString, { unsafe: true });
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/es.promise.js":
|
||
/*!****************************************************!*\
|
||
!*** ./node_modules/core-js/modules/es.promise.js ***!
|
||
\****************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
|
||
var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js");
|
||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||
var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js");
|
||
var NativePromise = __webpack_require__(/*! ../internals/native-promise-constructor */ "./node_modules/core-js/internals/native-promise-constructor.js");
|
||
var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");
|
||
var redefineAll = __webpack_require__(/*! ../internals/redefine-all */ "./node_modules/core-js/internals/redefine-all.js");
|
||
var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js");
|
||
var setSpecies = __webpack_require__(/*! ../internals/set-species */ "./node_modules/core-js/internals/set-species.js");
|
||
var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
|
||
var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js");
|
||
var anInstance = __webpack_require__(/*! ../internals/an-instance */ "./node_modules/core-js/internals/an-instance.js");
|
||
var inspectSource = __webpack_require__(/*! ../internals/inspect-source */ "./node_modules/core-js/internals/inspect-source.js");
|
||
var iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/core-js/internals/iterate.js");
|
||
var checkCorrectnessOfIteration = __webpack_require__(/*! ../internals/check-correctness-of-iteration */ "./node_modules/core-js/internals/check-correctness-of-iteration.js");
|
||
var speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ "./node_modules/core-js/internals/species-constructor.js");
|
||
var task = __webpack_require__(/*! ../internals/task */ "./node_modules/core-js/internals/task.js").set;
|
||
var microtask = __webpack_require__(/*! ../internals/microtask */ "./node_modules/core-js/internals/microtask.js");
|
||
var promiseResolve = __webpack_require__(/*! ../internals/promise-resolve */ "./node_modules/core-js/internals/promise-resolve.js");
|
||
var hostReportErrors = __webpack_require__(/*! ../internals/host-report-errors */ "./node_modules/core-js/internals/host-report-errors.js");
|
||
var newPromiseCapabilityModule = __webpack_require__(/*! ../internals/new-promise-capability */ "./node_modules/core-js/internals/new-promise-capability.js");
|
||
var perform = __webpack_require__(/*! ../internals/perform */ "./node_modules/core-js/internals/perform.js");
|
||
var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js");
|
||
var isForced = __webpack_require__(/*! ../internals/is-forced */ "./node_modules/core-js/internals/is-forced.js");
|
||
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
|
||
var IS_NODE = __webpack_require__(/*! ../internals/engine-is-node */ "./node_modules/core-js/internals/engine-is-node.js");
|
||
var V8_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ "./node_modules/core-js/internals/engine-v8-version.js");
|
||
|
||
var SPECIES = wellKnownSymbol('species');
|
||
var PROMISE = 'Promise';
|
||
var getInternalState = InternalStateModule.get;
|
||
var setInternalState = InternalStateModule.set;
|
||
var getInternalPromiseState = InternalStateModule.getterFor(PROMISE);
|
||
var PromiseConstructor = NativePromise;
|
||
var TypeError = global.TypeError;
|
||
var document = global.document;
|
||
var process = global.process;
|
||
var $fetch = getBuiltIn('fetch');
|
||
var newPromiseCapability = newPromiseCapabilityModule.f;
|
||
var newGenericPromiseCapability = newPromiseCapability;
|
||
var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);
|
||
var NATIVE_REJECTION_EVENT = typeof PromiseRejectionEvent == 'function';
|
||
var UNHANDLED_REJECTION = 'unhandledrejection';
|
||
var REJECTION_HANDLED = 'rejectionhandled';
|
||
var PENDING = 0;
|
||
var FULFILLED = 1;
|
||
var REJECTED = 2;
|
||
var HANDLED = 1;
|
||
var UNHANDLED = 2;
|
||
var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;
|
||
|
||
var FORCED = isForced(PROMISE, function () {
|
||
var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);
|
||
if (!GLOBAL_CORE_JS_PROMISE) {
|
||
// V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables
|
||
// https://bugs.chromium.org/p/chromium/issues/detail?id=830565
|
||
// We can't detect it synchronously, so just check versions
|
||
if (V8_VERSION === 66) return true;
|
||
// Unhandled rejections tracking support, NodeJS Promise without it fails @@species test
|
||
if (!IS_NODE && !NATIVE_REJECTION_EVENT) return true;
|
||
}
|
||
// We need Promise#finally in the pure version for preventing prototype pollution
|
||
if (IS_PURE && !PromiseConstructor.prototype['finally']) return true;
|
||
// We can't use @@species feature detection in V8 since it causes
|
||
// deoptimization and performance degradation
|
||
// https://github.com/zloirock/core-js/issues/679
|
||
if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;
|
||
// Detect correctness of subclassing with @@species support
|
||
var promise = PromiseConstructor.resolve(1);
|
||
var FakePromise = function (exec) {
|
||
exec(function () { /* empty */ }, function () { /* empty */ });
|
||
};
|
||
var constructor = promise.constructor = {};
|
||
constructor[SPECIES] = FakePromise;
|
||
return !(promise.then(function () { /* empty */ }) instanceof FakePromise);
|
||
});
|
||
|
||
var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {
|
||
PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });
|
||
});
|
||
|
||
// helpers
|
||
var isThenable = function (it) {
|
||
var then;
|
||
return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
|
||
};
|
||
|
||
var notify = function (state, isReject) {
|
||
if (state.notified) return;
|
||
state.notified = true;
|
||
var chain = state.reactions;
|
||
microtask(function () {
|
||
var value = state.value;
|
||
var ok = state.state == FULFILLED;
|
||
var index = 0;
|
||
// variable length - can't use forEach
|
||
while (chain.length > index) {
|
||
var reaction = chain[index++];
|
||
var handler = ok ? reaction.ok : reaction.fail;
|
||
var resolve = reaction.resolve;
|
||
var reject = reaction.reject;
|
||
var domain = reaction.domain;
|
||
var result, then, exited;
|
||
try {
|
||
if (handler) {
|
||
if (!ok) {
|
||
if (state.rejection === UNHANDLED) onHandleUnhandled(state);
|
||
state.rejection = HANDLED;
|
||
}
|
||
if (handler === true) result = value;
|
||
else {
|
||
if (domain) domain.enter();
|
||
result = handler(value); // can throw
|
||
if (domain) {
|
||
domain.exit();
|
||
exited = true;
|
||
}
|
||
}
|
||
if (result === reaction.promise) {
|
||
reject(TypeError('Promise-chain cycle'));
|
||
} else if (then = isThenable(result)) {
|
||
then.call(result, resolve, reject);
|
||
} else resolve(result);
|
||
} else reject(value);
|
||
} catch (error) {
|
||
if (domain && !exited) domain.exit();
|
||
reject(error);
|
||
}
|
||
}
|
||
state.reactions = [];
|
||
state.notified = false;
|
||
if (isReject && !state.rejection) onUnhandled(state);
|
||
});
|
||
};
|
||
|
||
var dispatchEvent = function (name, promise, reason) {
|
||
var event, handler;
|
||
if (DISPATCH_EVENT) {
|
||
event = document.createEvent('Event');
|
||
event.promise = promise;
|
||
event.reason = reason;
|
||
event.initEvent(name, false, true);
|
||
global.dispatchEvent(event);
|
||
} else event = { promise: promise, reason: reason };
|
||
if (!NATIVE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);
|
||
else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);
|
||
};
|
||
|
||
var onUnhandled = function (state) {
|
||
task.call(global, function () {
|
||
var promise = state.facade;
|
||
var value = state.value;
|
||
var IS_UNHANDLED = isUnhandled(state);
|
||
var result;
|
||
if (IS_UNHANDLED) {
|
||
result = perform(function () {
|
||
if (IS_NODE) {
|
||
process.emit('unhandledRejection', value, promise);
|
||
} else dispatchEvent(UNHANDLED_REJECTION, promise, value);
|
||
});
|
||
// Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should
|
||
state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;
|
||
if (result.error) throw result.value;
|
||
}
|
||
});
|
||
};
|
||
|
||
var isUnhandled = function (state) {
|
||
return state.rejection !== HANDLED && !state.parent;
|
||
};
|
||
|
||
var onHandleUnhandled = function (state) {
|
||
task.call(global, function () {
|
||
var promise = state.facade;
|
||
if (IS_NODE) {
|
||
process.emit('rejectionHandled', promise);
|
||
} else dispatchEvent(REJECTION_HANDLED, promise, state.value);
|
||
});
|
||
};
|
||
|
||
var bind = function (fn, state, unwrap) {
|
||
return function (value) {
|
||
fn(state, value, unwrap);
|
||
};
|
||
};
|
||
|
||
var internalReject = function (state, value, unwrap) {
|
||
if (state.done) return;
|
||
state.done = true;
|
||
if (unwrap) state = unwrap;
|
||
state.value = value;
|
||
state.state = REJECTED;
|
||
notify(state, true);
|
||
};
|
||
|
||
var internalResolve = function (state, value, unwrap) {
|
||
if (state.done) return;
|
||
state.done = true;
|
||
if (unwrap) state = unwrap;
|
||
try {
|
||
if (state.facade === value) throw TypeError("Promise can't be resolved itself");
|
||
var then = isThenable(value);
|
||
if (then) {
|
||
microtask(function () {
|
||
var wrapper = { done: false };
|
||
try {
|
||
then.call(value,
|
||
bind(internalResolve, wrapper, state),
|
||
bind(internalReject, wrapper, state)
|
||
);
|
||
} catch (error) {
|
||
internalReject(wrapper, error, state);
|
||
}
|
||
});
|
||
} else {
|
||
state.value = value;
|
||
state.state = FULFILLED;
|
||
notify(state, false);
|
||
}
|
||
} catch (error) {
|
||
internalReject({ done: false }, error, state);
|
||
}
|
||
};
|
||
|
||
// constructor polyfill
|
||
if (FORCED) {
|
||
// 25.4.3.1 Promise(executor)
|
||
PromiseConstructor = function Promise(executor) {
|
||
anInstance(this, PromiseConstructor, PROMISE);
|
||
aFunction(executor);
|
||
Internal.call(this);
|
||
var state = getInternalState(this);
|
||
try {
|
||
executor(bind(internalResolve, state), bind(internalReject, state));
|
||
} catch (error) {
|
||
internalReject(state, error);
|
||
}
|
||
};
|
||
// eslint-disable-next-line no-unused-vars -- required for `.length`
|
||
Internal = function Promise(executor) {
|
||
setInternalState(this, {
|
||
type: PROMISE,
|
||
done: false,
|
||
notified: false,
|
||
parent: false,
|
||
reactions: [],
|
||
rejection: false,
|
||
state: PENDING,
|
||
value: undefined
|
||
});
|
||
};
|
||
Internal.prototype = redefineAll(PromiseConstructor.prototype, {
|
||
// `Promise.prototype.then` method
|
||
// https://tc39.es/ecma262/#sec-promise.prototype.then
|
||
then: function then(onFulfilled, onRejected) {
|
||
var state = getInternalPromiseState(this);
|
||
var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));
|
||
reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
|
||
reaction.fail = typeof onRejected == 'function' && onRejected;
|
||
reaction.domain = IS_NODE ? process.domain : undefined;
|
||
state.parent = true;
|
||
state.reactions.push(reaction);
|
||
if (state.state != PENDING) notify(state, false);
|
||
return reaction.promise;
|
||
},
|
||
// `Promise.prototype.catch` method
|
||
// https://tc39.es/ecma262/#sec-promise.prototype.catch
|
||
'catch': function (onRejected) {
|
||
return this.then(undefined, onRejected);
|
||
}
|
||
});
|
||
OwnPromiseCapability = function () {
|
||
var promise = new Internal();
|
||
var state = getInternalState(promise);
|
||
this.promise = promise;
|
||
this.resolve = bind(internalResolve, state);
|
||
this.reject = bind(internalReject, state);
|
||
};
|
||
newPromiseCapabilityModule.f = newPromiseCapability = function (C) {
|
||
return C === PromiseConstructor || C === PromiseWrapper
|
||
? new OwnPromiseCapability(C)
|
||
: newGenericPromiseCapability(C);
|
||
};
|
||
|
||
if (!IS_PURE && typeof NativePromise == 'function') {
|
||
nativeThen = NativePromise.prototype.then;
|
||
|
||
// wrap native Promise#then for native async functions
|
||
redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {
|
||
var that = this;
|
||
return new PromiseConstructor(function (resolve, reject) {
|
||
nativeThen.call(that, resolve, reject);
|
||
}).then(onFulfilled, onRejected);
|
||
// https://github.com/zloirock/core-js/issues/640
|
||
}, { unsafe: true });
|
||
|
||
// wrap fetch result
|
||
if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, {
|
||
// eslint-disable-next-line no-unused-vars -- required for `.length`
|
||
fetch: function fetch(input /* , init */) {
|
||
return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));
|
||
}
|
||
});
|
||
}
|
||
}
|
||
|
||
$({ global: true, wrap: true, forced: FORCED }, {
|
||
Promise: PromiseConstructor
|
||
});
|
||
|
||
setToStringTag(PromiseConstructor, PROMISE, false, true);
|
||
setSpecies(PROMISE);
|
||
|
||
PromiseWrapper = getBuiltIn(PROMISE);
|
||
|
||
// statics
|
||
$({ target: PROMISE, stat: true, forced: FORCED }, {
|
||
// `Promise.reject` method
|
||
// https://tc39.es/ecma262/#sec-promise.reject
|
||
reject: function reject(r) {
|
||
var capability = newPromiseCapability(this);
|
||
capability.reject.call(undefined, r);
|
||
return capability.promise;
|
||
}
|
||
});
|
||
|
||
$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {
|
||
// `Promise.resolve` method
|
||
// https://tc39.es/ecma262/#sec-promise.resolve
|
||
resolve: function resolve(x) {
|
||
return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);
|
||
}
|
||
});
|
||
|
||
$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {
|
||
// `Promise.all` method
|
||
// https://tc39.es/ecma262/#sec-promise.all
|
||
all: function all(iterable) {
|
||
var C = this;
|
||
var capability = newPromiseCapability(C);
|
||
var resolve = capability.resolve;
|
||
var reject = capability.reject;
|
||
var result = perform(function () {
|
||
var $promiseResolve = aFunction(C.resolve);
|
||
var values = [];
|
||
var counter = 0;
|
||
var remaining = 1;
|
||
iterate(iterable, function (promise) {
|
||
var index = counter++;
|
||
var alreadyCalled = false;
|
||
values.push(undefined);
|
||
remaining++;
|
||
$promiseResolve.call(C, promise).then(function (value) {
|
||
if (alreadyCalled) return;
|
||
alreadyCalled = true;
|
||
values[index] = value;
|
||
--remaining || resolve(values);
|
||
}, reject);
|
||
});
|
||
--remaining || resolve(values);
|
||
});
|
||
if (result.error) reject(result.value);
|
||
return capability.promise;
|
||
},
|
||
// `Promise.race` method
|
||
// https://tc39.es/ecma262/#sec-promise.race
|
||
race: function race(iterable) {
|
||
var C = this;
|
||
var capability = newPromiseCapability(C);
|
||
var reject = capability.reject;
|
||
var result = perform(function () {
|
||
var $promiseResolve = aFunction(C.resolve);
|
||
iterate(iterable, function (promise) {
|
||
$promiseResolve.call(C, promise).then(capability.resolve, reject);
|
||
});
|
||
});
|
||
if (result.error) reject(result.value);
|
||
return capability.promise;
|
||
}
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/es.regexp.constructor.js":
|
||
/*!***************************************************************!*\
|
||
!*** ./node_modules/core-js/modules/es.regexp.constructor.js ***!
|
||
\***************************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
|
||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||
var isForced = __webpack_require__(/*! ../internals/is-forced */ "./node_modules/core-js/internals/is-forced.js");
|
||
var inheritIfRequired = __webpack_require__(/*! ../internals/inherit-if-required */ "./node_modules/core-js/internals/inherit-if-required.js");
|
||
var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f;
|
||
var getOwnPropertyNames = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js").f;
|
||
var isRegExp = __webpack_require__(/*! ../internals/is-regexp */ "./node_modules/core-js/internals/is-regexp.js");
|
||
var getFlags = __webpack_require__(/*! ../internals/regexp-flags */ "./node_modules/core-js/internals/regexp-flags.js");
|
||
var stickyHelpers = __webpack_require__(/*! ../internals/regexp-sticky-helpers */ "./node_modules/core-js/internals/regexp-sticky-helpers.js");
|
||
var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");
|
||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
||
var setInternalState = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js").set;
|
||
var setSpecies = __webpack_require__(/*! ../internals/set-species */ "./node_modules/core-js/internals/set-species.js");
|
||
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
|
||
|
||
var MATCH = wellKnownSymbol('match');
|
||
var NativeRegExp = global.RegExp;
|
||
var RegExpPrototype = NativeRegExp.prototype;
|
||
var re1 = /a/g;
|
||
var re2 = /a/g;
|
||
|
||
// "new" should create a new object, old webkit bug
|
||
var CORRECT_NEW = new NativeRegExp(re1) !== re1;
|
||
|
||
var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;
|
||
|
||
var FORCED = DESCRIPTORS && isForced('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y || fails(function () {
|
||
re2[MATCH] = false;
|
||
// RegExp constructor can alter flags and IsRegExp works correct with @@match
|
||
return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';
|
||
})));
|
||
|
||
// `RegExp` constructor
|
||
// https://tc39.es/ecma262/#sec-regexp-constructor
|
||
if (FORCED) {
|
||
var RegExpWrapper = function RegExp(pattern, flags) {
|
||
var thisIsRegExp = this instanceof RegExpWrapper;
|
||
var patternIsRegExp = isRegExp(pattern);
|
||
var flagsAreUndefined = flags === undefined;
|
||
var sticky;
|
||
|
||
if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {
|
||
return pattern;
|
||
}
|
||
|
||
if (CORRECT_NEW) {
|
||
if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;
|
||
} else if (pattern instanceof RegExpWrapper) {
|
||
if (flagsAreUndefined) flags = getFlags.call(pattern);
|
||
pattern = pattern.source;
|
||
}
|
||
|
||
if (UNSUPPORTED_Y) {
|
||
sticky = !!flags && flags.indexOf('y') > -1;
|
||
if (sticky) flags = flags.replace(/y/g, '');
|
||
}
|
||
|
||
var result = inheritIfRequired(
|
||
CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),
|
||
thisIsRegExp ? this : RegExpPrototype,
|
||
RegExpWrapper
|
||
);
|
||
|
||
if (UNSUPPORTED_Y && sticky) setInternalState(result, { sticky: sticky });
|
||
|
||
return result;
|
||
};
|
||
var proxy = function (key) {
|
||
key in RegExpWrapper || defineProperty(RegExpWrapper, key, {
|
||
configurable: true,
|
||
get: function () { return NativeRegExp[key]; },
|
||
set: function (it) { NativeRegExp[key] = it; }
|
||
});
|
||
};
|
||
var keys = getOwnPropertyNames(NativeRegExp);
|
||
var index = 0;
|
||
while (keys.length > index) proxy(keys[index++]);
|
||
RegExpPrototype.constructor = RegExpWrapper;
|
||
RegExpWrapper.prototype = RegExpPrototype;
|
||
redefine(global, 'RegExp', RegExpWrapper);
|
||
}
|
||
|
||
// https://tc39.es/ecma262/#sec-get-regexp-@@species
|
||
setSpecies('RegExp');
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/es.regexp.exec.js":
|
||
/*!********************************************************!*\
|
||
!*** ./node_modules/core-js/modules/es.regexp.exec.js ***!
|
||
\********************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
|
||
var exec = __webpack_require__(/*! ../internals/regexp-exec */ "./node_modules/core-js/internals/regexp-exec.js");
|
||
|
||
// `RegExp.prototype.exec` method
|
||
// https://tc39.es/ecma262/#sec-regexp.prototype.exec
|
||
$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {
|
||
exec: exec
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/es.regexp.to-string.js":
|
||
/*!*************************************************************!*\
|
||
!*** ./node_modules/core-js/modules/es.regexp.to-string.js ***!
|
||
\*************************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");
|
||
var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
|
||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
||
var flags = __webpack_require__(/*! ../internals/regexp-flags */ "./node_modules/core-js/internals/regexp-flags.js");
|
||
|
||
var TO_STRING = 'toString';
|
||
var RegExpPrototype = RegExp.prototype;
|
||
var nativeToString = RegExpPrototype[TO_STRING];
|
||
|
||
var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });
|
||
// FF44- RegExp#toString has a wrong name
|
||
var INCORRECT_NAME = nativeToString.name != TO_STRING;
|
||
|
||
// `RegExp.prototype.toString` method
|
||
// https://tc39.es/ecma262/#sec-regexp.prototype.tostring
|
||
if (NOT_GENERIC || INCORRECT_NAME) {
|
||
redefine(RegExp.prototype, TO_STRING, function toString() {
|
||
var R = anObject(this);
|
||
var p = String(R.source);
|
||
var rf = R.flags;
|
||
var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);
|
||
return '/' + p + '/' + f;
|
||
}, { unsafe: true });
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/es.string.code-point-at.js":
|
||
/*!*****************************************************************!*\
|
||
!*** ./node_modules/core-js/modules/es.string.code-point-at.js ***!
|
||
\*****************************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
|
||
var codeAt = __webpack_require__(/*! ../internals/string-multibyte */ "./node_modules/core-js/internals/string-multibyte.js").codeAt;
|
||
|
||
// `String.prototype.codePointAt` method
|
||
// https://tc39.es/ecma262/#sec-string.prototype.codepointat
|
||
$({ target: 'String', proto: true }, {
|
||
codePointAt: function codePointAt(pos) {
|
||
return codeAt(this, pos);
|
||
}
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/es.string.from-code-point.js":
|
||
/*!*******************************************************************!*\
|
||
!*** ./node_modules/core-js/modules/es.string.from-code-point.js ***!
|
||
\*******************************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
|
||
var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js");
|
||
|
||
var fromCharCode = String.fromCharCode;
|
||
// eslint-disable-next-line es/no-string-fromcodepoint -- required for testing
|
||
var $fromCodePoint = String.fromCodePoint;
|
||
|
||
// length should be 1, old FF problem
|
||
var INCORRECT_LENGTH = !!$fromCodePoint && $fromCodePoint.length != 1;
|
||
|
||
// `String.fromCodePoint` method
|
||
// https://tc39.es/ecma262/#sec-string.fromcodepoint
|
||
$({ target: 'String', stat: true, forced: INCORRECT_LENGTH }, {
|
||
// eslint-disable-next-line no-unused-vars -- required for `.length`
|
||
fromCodePoint: function fromCodePoint(x) {
|
||
var elements = [];
|
||
var length = arguments.length;
|
||
var i = 0;
|
||
var code;
|
||
while (length > i) {
|
||
code = +arguments[i++];
|
||
if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw RangeError(code + ' is not a valid code point');
|
||
elements.push(code < 0x10000
|
||
? fromCharCode(code)
|
||
: fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00)
|
||
);
|
||
} return elements.join('');
|
||
}
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/es.string.iterator.js":
|
||
/*!************************************************************!*\
|
||
!*** ./node_modules/core-js/modules/es.string.iterator.js ***!
|
||
\************************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var charAt = __webpack_require__(/*! ../internals/string-multibyte */ "./node_modules/core-js/internals/string-multibyte.js").charAt;
|
||
var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js");
|
||
var defineIterator = __webpack_require__(/*! ../internals/define-iterator */ "./node_modules/core-js/internals/define-iterator.js");
|
||
|
||
var STRING_ITERATOR = 'String Iterator';
|
||
var setInternalState = InternalStateModule.set;
|
||
var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);
|
||
|
||
// `String.prototype[@@iterator]` method
|
||
// https://tc39.es/ecma262/#sec-string.prototype-@@iterator
|
||
defineIterator(String, 'String', function (iterated) {
|
||
setInternalState(this, {
|
||
type: STRING_ITERATOR,
|
||
string: String(iterated),
|
||
index: 0
|
||
});
|
||
// `%StringIteratorPrototype%.next` method
|
||
// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next
|
||
}, function next() {
|
||
var state = getInternalState(this);
|
||
var string = state.string;
|
||
var index = state.index;
|
||
var point;
|
||
if (index >= string.length) return { value: undefined, done: true };
|
||
point = charAt(string, index);
|
||
state.index += point.length;
|
||
return { value: point, done: false };
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/es.string.match.js":
|
||
/*!*********************************************************!*\
|
||
!*** ./node_modules/core-js/modules/es.string.match.js ***!
|
||
\*********************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var fixRegExpWellKnownSymbolLogic = __webpack_require__(/*! ../internals/fix-regexp-well-known-symbol-logic */ "./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js");
|
||
var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
|
||
var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
|
||
var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js");
|
||
var advanceStringIndex = __webpack_require__(/*! ../internals/advance-string-index */ "./node_modules/core-js/internals/advance-string-index.js");
|
||
var regExpExec = __webpack_require__(/*! ../internals/regexp-exec-abstract */ "./node_modules/core-js/internals/regexp-exec-abstract.js");
|
||
|
||
// @@match logic
|
||
fixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {
|
||
return [
|
||
// `String.prototype.match` method
|
||
// https://tc39.es/ecma262/#sec-string.prototype.match
|
||
function match(regexp) {
|
||
var O = requireObjectCoercible(this);
|
||
var matcher = regexp == undefined ? undefined : regexp[MATCH];
|
||
return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));
|
||
},
|
||
// `RegExp.prototype[@@match]` method
|
||
// https://tc39.es/ecma262/#sec-regexp.prototype-@@match
|
||
function (regexp) {
|
||
var res = maybeCallNative(nativeMatch, regexp, this);
|
||
if (res.done) return res.value;
|
||
|
||
var rx = anObject(regexp);
|
||
var S = String(this);
|
||
|
||
if (!rx.global) return regExpExec(rx, S);
|
||
|
||
var fullUnicode = rx.unicode;
|
||
rx.lastIndex = 0;
|
||
var A = [];
|
||
var n = 0;
|
||
var result;
|
||
while ((result = regExpExec(rx, S)) !== null) {
|
||
var matchStr = String(result[0]);
|
||
A[n] = matchStr;
|
||
if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
|
||
n++;
|
||
}
|
||
return n === 0 ? null : A;
|
||
}
|
||
];
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/es.string.replace.js":
|
||
/*!***********************************************************!*\
|
||
!*** ./node_modules/core-js/modules/es.string.replace.js ***!
|
||
\***********************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var fixRegExpWellKnownSymbolLogic = __webpack_require__(/*! ../internals/fix-regexp-well-known-symbol-logic */ "./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js");
|
||
var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
|
||
var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
|
||
var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js");
|
||
var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js");
|
||
var advanceStringIndex = __webpack_require__(/*! ../internals/advance-string-index */ "./node_modules/core-js/internals/advance-string-index.js");
|
||
var getSubstitution = __webpack_require__(/*! ../internals/get-substitution */ "./node_modules/core-js/internals/get-substitution.js");
|
||
var regExpExec = __webpack_require__(/*! ../internals/regexp-exec-abstract */ "./node_modules/core-js/internals/regexp-exec-abstract.js");
|
||
|
||
var max = Math.max;
|
||
var min = Math.min;
|
||
|
||
var maybeToString = function (it) {
|
||
return it === undefined ? it : String(it);
|
||
};
|
||
|
||
// @@replace logic
|
||
fixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {
|
||
var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;
|
||
var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;
|
||
var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';
|
||
|
||
return [
|
||
// `String.prototype.replace` method
|
||
// https://tc39.es/ecma262/#sec-string.prototype.replace
|
||
function replace(searchValue, replaceValue) {
|
||
var O = requireObjectCoercible(this);
|
||
var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];
|
||
return replacer !== undefined
|
||
? replacer.call(searchValue, O, replaceValue)
|
||
: nativeReplace.call(String(O), searchValue, replaceValue);
|
||
},
|
||
// `RegExp.prototype[@@replace]` method
|
||
// https://tc39.es/ecma262/#sec-regexp.prototype-@@replace
|
||
function (regexp, replaceValue) {
|
||
if (
|
||
(!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||
|
||
(typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)
|
||
) {
|
||
var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);
|
||
if (res.done) return res.value;
|
||
}
|
||
|
||
var rx = anObject(regexp);
|
||
var S = String(this);
|
||
|
||
var functionalReplace = typeof replaceValue === 'function';
|
||
if (!functionalReplace) replaceValue = String(replaceValue);
|
||
|
||
var global = rx.global;
|
||
if (global) {
|
||
var fullUnicode = rx.unicode;
|
||
rx.lastIndex = 0;
|
||
}
|
||
var results = [];
|
||
while (true) {
|
||
var result = regExpExec(rx, S);
|
||
if (result === null) break;
|
||
|
||
results.push(result);
|
||
if (!global) break;
|
||
|
||
var matchStr = String(result[0]);
|
||
if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
|
||
}
|
||
|
||
var accumulatedResult = '';
|
||
var nextSourcePosition = 0;
|
||
for (var i = 0; i < results.length; i++) {
|
||
result = results[i];
|
||
|
||
var matched = String(result[0]);
|
||
var position = max(min(toInteger(result.index), S.length), 0);
|
||
var captures = [];
|
||
// NOTE: This is equivalent to
|
||
// captures = result.slice(1).map(maybeToString)
|
||
// but for some reason `nativeSlice.call(result, 1, result.length)` (called in
|
||
// the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
|
||
// causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
|
||
for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));
|
||
var namedCaptures = result.groups;
|
||
if (functionalReplace) {
|
||
var replacerArgs = [matched].concat(captures, position, S);
|
||
if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
|
||
var replacement = String(replaceValue.apply(undefined, replacerArgs));
|
||
} else {
|
||
replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
|
||
}
|
||
if (position >= nextSourcePosition) {
|
||
accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
|
||
nextSourcePosition = position + matched.length;
|
||
}
|
||
}
|
||
return accumulatedResult + S.slice(nextSourcePosition);
|
||
}
|
||
];
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/es.string.search.js":
|
||
/*!**********************************************************!*\
|
||
!*** ./node_modules/core-js/modules/es.string.search.js ***!
|
||
\**********************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var fixRegExpWellKnownSymbolLogic = __webpack_require__(/*! ../internals/fix-regexp-well-known-symbol-logic */ "./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js");
|
||
var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
|
||
var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js");
|
||
var sameValue = __webpack_require__(/*! ../internals/same-value */ "./node_modules/core-js/internals/same-value.js");
|
||
var regExpExec = __webpack_require__(/*! ../internals/regexp-exec-abstract */ "./node_modules/core-js/internals/regexp-exec-abstract.js");
|
||
|
||
// @@search logic
|
||
fixRegExpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) {
|
||
return [
|
||
// `String.prototype.search` method
|
||
// https://tc39.es/ecma262/#sec-string.prototype.search
|
||
function search(regexp) {
|
||
var O = requireObjectCoercible(this);
|
||
var searcher = regexp == undefined ? undefined : regexp[SEARCH];
|
||
return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));
|
||
},
|
||
// `RegExp.prototype[@@search]` method
|
||
// https://tc39.es/ecma262/#sec-regexp.prototype-@@search
|
||
function (regexp) {
|
||
var res = maybeCallNative(nativeSearch, regexp, this);
|
||
if (res.done) return res.value;
|
||
|
||
var rx = anObject(regexp);
|
||
var S = String(this);
|
||
|
||
var previousLastIndex = rx.lastIndex;
|
||
if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;
|
||
var result = regExpExec(rx, S);
|
||
if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;
|
||
return result === null ? -1 : result.index;
|
||
}
|
||
];
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/es.string.split.js":
|
||
/*!*********************************************************!*\
|
||
!*** ./node_modules/core-js/modules/es.string.split.js ***!
|
||
\*********************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var fixRegExpWellKnownSymbolLogic = __webpack_require__(/*! ../internals/fix-regexp-well-known-symbol-logic */ "./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js");
|
||
var isRegExp = __webpack_require__(/*! ../internals/is-regexp */ "./node_modules/core-js/internals/is-regexp.js");
|
||
var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
|
||
var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js");
|
||
var speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ "./node_modules/core-js/internals/species-constructor.js");
|
||
var advanceStringIndex = __webpack_require__(/*! ../internals/advance-string-index */ "./node_modules/core-js/internals/advance-string-index.js");
|
||
var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
|
||
var callRegExpExec = __webpack_require__(/*! ../internals/regexp-exec-abstract */ "./node_modules/core-js/internals/regexp-exec-abstract.js");
|
||
var regexpExec = __webpack_require__(/*! ../internals/regexp-exec */ "./node_modules/core-js/internals/regexp-exec.js");
|
||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
||
|
||
var arrayPush = [].push;
|
||
var min = Math.min;
|
||
var MAX_UINT32 = 0xFFFFFFFF;
|
||
|
||
// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError
|
||
var SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });
|
||
|
||
// @@split logic
|
||
fixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {
|
||
var internalSplit;
|
||
if (
|
||
'abbc'.split(/(b)*/)[1] == 'c' ||
|
||
// eslint-disable-next-line regexp/no-empty-group -- required for testing
|
||
'test'.split(/(?:)/, -1).length != 4 ||
|
||
'ab'.split(/(?:ab)*/).length != 2 ||
|
||
'.'.split(/(.?)(.?)/).length != 4 ||
|
||
// eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing
|
||
'.'.split(/()()/).length > 1 ||
|
||
''.split(/.?/).length
|
||
) {
|
||
// based on es5-shim implementation, need to rework it
|
||
internalSplit = function (separator, limit) {
|
||
var string = String(requireObjectCoercible(this));
|
||
var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
|
||
if (lim === 0) return [];
|
||
if (separator === undefined) return [string];
|
||
// If `separator` is not a regex, use native split
|
||
if (!isRegExp(separator)) {
|
||
return nativeSplit.call(string, separator, lim);
|
||
}
|
||
var output = [];
|
||
var flags = (separator.ignoreCase ? 'i' : '') +
|
||
(separator.multiline ? 'm' : '') +
|
||
(separator.unicode ? 'u' : '') +
|
||
(separator.sticky ? 'y' : '');
|
||
var lastLastIndex = 0;
|
||
// Make `global` and avoid `lastIndex` issues by working with a copy
|
||
var separatorCopy = new RegExp(separator.source, flags + 'g');
|
||
var match, lastIndex, lastLength;
|
||
while (match = regexpExec.call(separatorCopy, string)) {
|
||
lastIndex = separatorCopy.lastIndex;
|
||
if (lastIndex > lastLastIndex) {
|
||
output.push(string.slice(lastLastIndex, match.index));
|
||
if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));
|
||
lastLength = match[0].length;
|
||
lastLastIndex = lastIndex;
|
||
if (output.length >= lim) break;
|
||
}
|
||
if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop
|
||
}
|
||
if (lastLastIndex === string.length) {
|
||
if (lastLength || !separatorCopy.test('')) output.push('');
|
||
} else output.push(string.slice(lastLastIndex));
|
||
return output.length > lim ? output.slice(0, lim) : output;
|
||
};
|
||
// Chakra, V8
|
||
} else if ('0'.split(undefined, 0).length) {
|
||
internalSplit = function (separator, limit) {
|
||
return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);
|
||
};
|
||
} else internalSplit = nativeSplit;
|
||
|
||
return [
|
||
// `String.prototype.split` method
|
||
// https://tc39.es/ecma262/#sec-string.prototype.split
|
||
function split(separator, limit) {
|
||
var O = requireObjectCoercible(this);
|
||
var splitter = separator == undefined ? undefined : separator[SPLIT];
|
||
return splitter !== undefined
|
||
? splitter.call(separator, O, limit)
|
||
: internalSplit.call(String(O), separator, limit);
|
||
},
|
||
// `RegExp.prototype[@@split]` method
|
||
// https://tc39.es/ecma262/#sec-regexp.prototype-@@split
|
||
//
|
||
// NOTE: This cannot be properly polyfilled in engines that don't support
|
||
// the 'y' flag.
|
||
function (regexp, limit) {
|
||
var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);
|
||
if (res.done) return res.value;
|
||
|
||
var rx = anObject(regexp);
|
||
var S = String(this);
|
||
var C = speciesConstructor(rx, RegExp);
|
||
|
||
var unicodeMatching = rx.unicode;
|
||
var flags = (rx.ignoreCase ? 'i' : '') +
|
||
(rx.multiline ? 'm' : '') +
|
||
(rx.unicode ? 'u' : '') +
|
||
(SUPPORTS_Y ? 'y' : 'g');
|
||
|
||
// ^(? + rx + ) is needed, in combination with some S slicing, to
|
||
// simulate the 'y' flag.
|
||
var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);
|
||
var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
|
||
if (lim === 0) return [];
|
||
if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];
|
||
var p = 0;
|
||
var q = 0;
|
||
var A = [];
|
||
while (q < S.length) {
|
||
splitter.lastIndex = SUPPORTS_Y ? q : 0;
|
||
var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));
|
||
var e;
|
||
if (
|
||
z === null ||
|
||
(e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p
|
||
) {
|
||
q = advanceStringIndex(S, q, unicodeMatching);
|
||
} else {
|
||
A.push(S.slice(p, q));
|
||
if (A.length === lim) return A;
|
||
for (var i = 1; i <= z.length - 1; i++) {
|
||
A.push(z[i]);
|
||
if (A.length === lim) return A;
|
||
}
|
||
q = p = e;
|
||
}
|
||
}
|
||
A.push(S.slice(p));
|
||
return A;
|
||
}
|
||
];
|
||
}, !SUPPORTS_Y);
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/es.string.starts-with.js":
|
||
/*!***************************************************************!*\
|
||
!*** ./node_modules/core-js/modules/es.string.starts-with.js ***!
|
||
\***************************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
|
||
var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f;
|
||
var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
|
||
var notARegExp = __webpack_require__(/*! ../internals/not-a-regexp */ "./node_modules/core-js/internals/not-a-regexp.js");
|
||
var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js");
|
||
var correctIsRegExpLogic = __webpack_require__(/*! ../internals/correct-is-regexp-logic */ "./node_modules/core-js/internals/correct-is-regexp-logic.js");
|
||
var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js");
|
||
|
||
// eslint-disable-next-line es/no-string-prototype-startswith -- safe
|
||
var $startsWith = ''.startsWith;
|
||
var min = Math.min;
|
||
|
||
var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');
|
||
// https://github.com/zloirock/core-js/pull/702
|
||
var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {
|
||
var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');
|
||
return descriptor && !descriptor.writable;
|
||
}();
|
||
|
||
// `String.prototype.startsWith` method
|
||
// https://tc39.es/ecma262/#sec-string.prototype.startswith
|
||
$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {
|
||
startsWith: function startsWith(searchString /* , position = 0 */) {
|
||
var that = String(requireObjectCoercible(this));
|
||
notARegExp(searchString);
|
||
var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));
|
||
var search = String(searchString);
|
||
return $startsWith
|
||
? $startsWith.call(that, search, index)
|
||
: that.slice(index, index + search.length) === search;
|
||
}
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/es.string.trim.js":
|
||
/*!********************************************************!*\
|
||
!*** ./node_modules/core-js/modules/es.string.trim.js ***!
|
||
\********************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
|
||
var $trim = __webpack_require__(/*! ../internals/string-trim */ "./node_modules/core-js/internals/string-trim.js").trim;
|
||
var forcedStringTrimMethod = __webpack_require__(/*! ../internals/string-trim-forced */ "./node_modules/core-js/internals/string-trim-forced.js");
|
||
|
||
// `String.prototype.trim` method
|
||
// https://tc39.es/ecma262/#sec-string.prototype.trim
|
||
$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {
|
||
trim: function trim() {
|
||
return $trim(this);
|
||
}
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/es.symbol.description.js":
|
||
/*!***************************************************************!*\
|
||
!*** ./node_modules/core-js/modules/es.symbol.description.js ***!
|
||
\***************************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
// `Symbol.prototype.description` getter
|
||
// https://tc39.es/ecma262/#sec-symbol.prototype.description
|
||
|
||
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
|
||
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
|
||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||
var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
|
||
var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
|
||
var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f;
|
||
var copyConstructorProperties = __webpack_require__(/*! ../internals/copy-constructor-properties */ "./node_modules/core-js/internals/copy-constructor-properties.js");
|
||
|
||
var NativeSymbol = global.Symbol;
|
||
|
||
if (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||
|
||
// Safari 12 bug
|
||
NativeSymbol().description !== undefined
|
||
)) {
|
||
var EmptyStringDescriptionStore = {};
|
||
// wrap Symbol constructor for correct work with undefined description
|
||
var SymbolWrapper = function Symbol() {
|
||
var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);
|
||
var result = this instanceof SymbolWrapper
|
||
? new NativeSymbol(description)
|
||
// in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'
|
||
: description === undefined ? NativeSymbol() : NativeSymbol(description);
|
||
if (description === '') EmptyStringDescriptionStore[result] = true;
|
||
return result;
|
||
};
|
||
copyConstructorProperties(SymbolWrapper, NativeSymbol);
|
||
var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;
|
||
symbolPrototype.constructor = SymbolWrapper;
|
||
|
||
var symbolToString = symbolPrototype.toString;
|
||
var native = String(NativeSymbol('test')) == 'Symbol(test)';
|
||
var regexp = /^Symbol\((.*)\)[^)]+$/;
|
||
defineProperty(symbolPrototype, 'description', {
|
||
configurable: true,
|
||
get: function description() {
|
||
var symbol = isObject(this) ? this.valueOf() : this;
|
||
var string = symbolToString.call(symbol);
|
||
if (has(EmptyStringDescriptionStore, symbol)) return '';
|
||
var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');
|
||
return desc === '' ? undefined : desc;
|
||
}
|
||
});
|
||
|
||
$({ global: true, forced: true }, {
|
||
Symbol: SymbolWrapper
|
||
});
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/es.symbol.iterator.js":
|
||
/*!************************************************************!*\
|
||
!*** ./node_modules/core-js/modules/es.symbol.iterator.js ***!
|
||
\************************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js");
|
||
|
||
// `Symbol.iterator` well-known symbol
|
||
// https://tc39.es/ecma262/#sec-symbol.iterator
|
||
defineWellKnownSymbol('iterator');
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/es.symbol.js":
|
||
/*!***************************************************!*\
|
||
!*** ./node_modules/core-js/modules/es.symbol.js ***!
|
||
\***************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
|
||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||
var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js");
|
||
var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js");
|
||
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
|
||
var NATIVE_SYMBOL = __webpack_require__(/*! ../internals/native-symbol */ "./node_modules/core-js/internals/native-symbol.js");
|
||
var USE_SYMBOL_AS_UID = __webpack_require__(/*! ../internals/use-symbol-as-uid */ "./node_modules/core-js/internals/use-symbol-as-uid.js");
|
||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
||
var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
|
||
var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js/internals/is-array.js");
|
||
var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
|
||
var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
|
||
var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
|
||
var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js");
|
||
var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js");
|
||
var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js");
|
||
var nativeObjectCreate = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js");
|
||
var objectKeys = __webpack_require__(/*! ../internals/object-keys */ "./node_modules/core-js/internals/object-keys.js");
|
||
var getOwnPropertyNamesModule = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js");
|
||
var getOwnPropertyNamesExternal = __webpack_require__(/*! ../internals/object-get-own-property-names-external */ "./node_modules/core-js/internals/object-get-own-property-names-external.js");
|
||
var getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ "./node_modules/core-js/internals/object-get-own-property-symbols.js");
|
||
var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js");
|
||
var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js");
|
||
var propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ "./node_modules/core-js/internals/object-property-is-enumerable.js");
|
||
var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js");
|
||
var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");
|
||
var shared = __webpack_require__(/*! ../internals/shared */ "./node_modules/core-js/internals/shared.js");
|
||
var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/core-js/internals/shared-key.js");
|
||
var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js");
|
||
var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/core-js/internals/uid.js");
|
||
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
|
||
var wrappedWellKnownSymbolModule = __webpack_require__(/*! ../internals/well-known-symbol-wrapped */ "./node_modules/core-js/internals/well-known-symbol-wrapped.js");
|
||
var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js");
|
||
var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js");
|
||
var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js");
|
||
var $forEach = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").forEach;
|
||
|
||
var HIDDEN = sharedKey('hidden');
|
||
var SYMBOL = 'Symbol';
|
||
var PROTOTYPE = 'prototype';
|
||
var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
|
||
var setInternalState = InternalStateModule.set;
|
||
var getInternalState = InternalStateModule.getterFor(SYMBOL);
|
||
var ObjectPrototype = Object[PROTOTYPE];
|
||
var $Symbol = global.Symbol;
|
||
var $stringify = getBuiltIn('JSON', 'stringify');
|
||
var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
|
||
var nativeDefineProperty = definePropertyModule.f;
|
||
var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;
|
||
var nativePropertyIsEnumerable = propertyIsEnumerableModule.f;
|
||
var AllSymbols = shared('symbols');
|
||
var ObjectPrototypeSymbols = shared('op-symbols');
|
||
var StringToSymbolRegistry = shared('string-to-symbol-registry');
|
||
var SymbolToStringRegistry = shared('symbol-to-string-registry');
|
||
var WellKnownSymbolsStore = shared('wks');
|
||
var QObject = global.QObject;
|
||
// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
|
||
var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
|
||
|
||
// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
|
||
var setSymbolDescriptor = DESCRIPTORS && fails(function () {
|
||
return nativeObjectCreate(nativeDefineProperty({}, 'a', {
|
||
get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }
|
||
})).a != 7;
|
||
}) ? function (O, P, Attributes) {
|
||
var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);
|
||
if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];
|
||
nativeDefineProperty(O, P, Attributes);
|
||
if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {
|
||
nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);
|
||
}
|
||
} : nativeDefineProperty;
|
||
|
||
var wrap = function (tag, description) {
|
||
var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);
|
||
setInternalState(symbol, {
|
||
type: SYMBOL,
|
||
tag: tag,
|
||
description: description
|
||
});
|
||
if (!DESCRIPTORS) symbol.description = description;
|
||
return symbol;
|
||
};
|
||
|
||
var isSymbol = USE_SYMBOL_AS_UID ? function (it) {
|
||
return typeof it == 'symbol';
|
||
} : function (it) {
|
||
return Object(it) instanceof $Symbol;
|
||
};
|
||
|
||
var $defineProperty = function defineProperty(O, P, Attributes) {
|
||
if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);
|
||
anObject(O);
|
||
var key = toPrimitive(P, true);
|
||
anObject(Attributes);
|
||
if (has(AllSymbols, key)) {
|
||
if (!Attributes.enumerable) {
|
||
if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));
|
||
O[HIDDEN][key] = true;
|
||
} else {
|
||
if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;
|
||
Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });
|
||
} return setSymbolDescriptor(O, key, Attributes);
|
||
} return nativeDefineProperty(O, key, Attributes);
|
||
};
|
||
|
||
var $defineProperties = function defineProperties(O, Properties) {
|
||
anObject(O);
|
||
var properties = toIndexedObject(Properties);
|
||
var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));
|
||
$forEach(keys, function (key) {
|
||
if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);
|
||
});
|
||
return O;
|
||
};
|
||
|
||
var $create = function create(O, Properties) {
|
||
return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);
|
||
};
|
||
|
||
var $propertyIsEnumerable = function propertyIsEnumerable(V) {
|
||
var P = toPrimitive(V, true);
|
||
var enumerable = nativePropertyIsEnumerable.call(this, P);
|
||
if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;
|
||
return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;
|
||
};
|
||
|
||
var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {
|
||
var it = toIndexedObject(O);
|
||
var key = toPrimitive(P, true);
|
||
if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;
|
||
var descriptor = nativeGetOwnPropertyDescriptor(it, key);
|
||
if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {
|
||
descriptor.enumerable = true;
|
||
}
|
||
return descriptor;
|
||
};
|
||
|
||
var $getOwnPropertyNames = function getOwnPropertyNames(O) {
|
||
var names = nativeGetOwnPropertyNames(toIndexedObject(O));
|
||
var result = [];
|
||
$forEach(names, function (key) {
|
||
if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);
|
||
});
|
||
return result;
|
||
};
|
||
|
||
var $getOwnPropertySymbols = function getOwnPropertySymbols(O) {
|
||
var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;
|
||
var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));
|
||
var result = [];
|
||
$forEach(names, function (key) {
|
||
if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {
|
||
result.push(AllSymbols[key]);
|
||
}
|
||
});
|
||
return result;
|
||
};
|
||
|
||
// `Symbol` constructor
|
||
// https://tc39.es/ecma262/#sec-symbol-constructor
|
||
if (!NATIVE_SYMBOL) {
|
||
$Symbol = function Symbol() {
|
||
if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');
|
||
var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);
|
||
var tag = uid(description);
|
||
var setter = function (value) {
|
||
if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);
|
||
if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
|
||
setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));
|
||
};
|
||
if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });
|
||
return wrap(tag, description);
|
||
};
|
||
|
||
redefine($Symbol[PROTOTYPE], 'toString', function toString() {
|
||
return getInternalState(this).tag;
|
||
});
|
||
|
||
redefine($Symbol, 'withoutSetter', function (description) {
|
||
return wrap(uid(description), description);
|
||
});
|
||
|
||
propertyIsEnumerableModule.f = $propertyIsEnumerable;
|
||
definePropertyModule.f = $defineProperty;
|
||
getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;
|
||
getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;
|
||
getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;
|
||
|
||
wrappedWellKnownSymbolModule.f = function (name) {
|
||
return wrap(wellKnownSymbol(name), name);
|
||
};
|
||
|
||
if (DESCRIPTORS) {
|
||
// https://github.com/tc39/proposal-Symbol-description
|
||
nativeDefineProperty($Symbol[PROTOTYPE], 'description', {
|
||
configurable: true,
|
||
get: function description() {
|
||
return getInternalState(this).description;
|
||
}
|
||
});
|
||
if (!IS_PURE) {
|
||
redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });
|
||
}
|
||
}
|
||
}
|
||
|
||
$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {
|
||
Symbol: $Symbol
|
||
});
|
||
|
||
$forEach(objectKeys(WellKnownSymbolsStore), function (name) {
|
||
defineWellKnownSymbol(name);
|
||
});
|
||
|
||
$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {
|
||
// `Symbol.for` method
|
||
// https://tc39.es/ecma262/#sec-symbol.for
|
||
'for': function (key) {
|
||
var string = String(key);
|
||
if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];
|
||
var symbol = $Symbol(string);
|
||
StringToSymbolRegistry[string] = symbol;
|
||
SymbolToStringRegistry[symbol] = string;
|
||
return symbol;
|
||
},
|
||
// `Symbol.keyFor` method
|
||
// https://tc39.es/ecma262/#sec-symbol.keyfor
|
||
keyFor: function keyFor(sym) {
|
||
if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');
|
||
if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];
|
||
},
|
||
useSetter: function () { USE_SETTER = true; },
|
||
useSimple: function () { USE_SETTER = false; }
|
||
});
|
||
|
||
$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {
|
||
// `Object.create` method
|
||
// https://tc39.es/ecma262/#sec-object.create
|
||
create: $create,
|
||
// `Object.defineProperty` method
|
||
// https://tc39.es/ecma262/#sec-object.defineproperty
|
||
defineProperty: $defineProperty,
|
||
// `Object.defineProperties` method
|
||
// https://tc39.es/ecma262/#sec-object.defineproperties
|
||
defineProperties: $defineProperties,
|
||
// `Object.getOwnPropertyDescriptor` method
|
||
// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors
|
||
getOwnPropertyDescriptor: $getOwnPropertyDescriptor
|
||
});
|
||
|
||
$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {
|
||
// `Object.getOwnPropertyNames` method
|
||
// https://tc39.es/ecma262/#sec-object.getownpropertynames
|
||
getOwnPropertyNames: $getOwnPropertyNames,
|
||
// `Object.getOwnPropertySymbols` method
|
||
// https://tc39.es/ecma262/#sec-object.getownpropertysymbols
|
||
getOwnPropertySymbols: $getOwnPropertySymbols
|
||
});
|
||
|
||
// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives
|
||
// https://bugs.chromium.org/p/v8/issues/detail?id=3443
|
||
$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {
|
||
getOwnPropertySymbols: function getOwnPropertySymbols(it) {
|
||
return getOwnPropertySymbolsModule.f(toObject(it));
|
||
}
|
||
});
|
||
|
||
// `JSON.stringify` method behavior with symbols
|
||
// https://tc39.es/ecma262/#sec-json.stringify
|
||
if ($stringify) {
|
||
var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {
|
||
var symbol = $Symbol();
|
||
// MS Edge converts symbol values to JSON as {}
|
||
return $stringify([symbol]) != '[null]'
|
||
// WebKit converts symbol values to JSON as null
|
||
|| $stringify({ a: symbol }) != '{}'
|
||
// V8 throws on boxed symbols
|
||
|| $stringify(Object(symbol)) != '{}';
|
||
});
|
||
|
||
$({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {
|
||
// eslint-disable-next-line no-unused-vars -- required for `.length`
|
||
stringify: function stringify(it, replacer, space) {
|
||
var args = [it];
|
||
var index = 1;
|
||
var $replacer;
|
||
while (arguments.length > index) args.push(arguments[index++]);
|
||
$replacer = replacer;
|
||
if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
|
||
if (!isArray(replacer)) replacer = function (key, value) {
|
||
if (typeof $replacer == 'function') value = $replacer.call(this, key, value);
|
||
if (!isSymbol(value)) return value;
|
||
};
|
||
args[1] = replacer;
|
||
return $stringify.apply(null, args);
|
||
}
|
||
});
|
||
}
|
||
|
||
// `Symbol.prototype[@@toPrimitive]` method
|
||
// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive
|
||
if (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {
|
||
createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
|
||
}
|
||
// `Symbol.prototype[@@toStringTag]` property
|
||
// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag
|
||
setToStringTag($Symbol, SYMBOL);
|
||
|
||
hiddenKeys[HIDDEN] = true;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/web.dom-collections.for-each.js":
|
||
/*!**********************************************************************!*\
|
||
!*** ./node_modules/core-js/modules/web.dom-collections.for-each.js ***!
|
||
\**********************************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||
var DOMIterables = __webpack_require__(/*! ../internals/dom-iterables */ "./node_modules/core-js/internals/dom-iterables.js");
|
||
var forEach = __webpack_require__(/*! ../internals/array-for-each */ "./node_modules/core-js/internals/array-for-each.js");
|
||
var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js");
|
||
|
||
for (var COLLECTION_NAME in DOMIterables) {
|
||
var Collection = global[COLLECTION_NAME];
|
||
var CollectionPrototype = Collection && Collection.prototype;
|
||
// some Chrome versions have non-configurable methods on DOMTokenList
|
||
if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {
|
||
createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);
|
||
} catch (error) {
|
||
CollectionPrototype.forEach = forEach;
|
||
}
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/web.dom-collections.iterator.js":
|
||
/*!**********************************************************************!*\
|
||
!*** ./node_modules/core-js/modules/web.dom-collections.iterator.js ***!
|
||
\**********************************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||
var DOMIterables = __webpack_require__(/*! ../internals/dom-iterables */ "./node_modules/core-js/internals/dom-iterables.js");
|
||
var ArrayIteratorMethods = __webpack_require__(/*! ../modules/es.array.iterator */ "./node_modules/core-js/modules/es.array.iterator.js");
|
||
var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js");
|
||
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
|
||
|
||
var ITERATOR = wellKnownSymbol('iterator');
|
||
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
|
||
var ArrayValues = ArrayIteratorMethods.values;
|
||
|
||
for (var COLLECTION_NAME in DOMIterables) {
|
||
var Collection = global[COLLECTION_NAME];
|
||
var CollectionPrototype = Collection && Collection.prototype;
|
||
if (CollectionPrototype) {
|
||
// some Chrome versions have non-configurable methods on DOMTokenList
|
||
if (CollectionPrototype[ITERATOR] !== ArrayValues) try {
|
||
createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);
|
||
} catch (error) {
|
||
CollectionPrototype[ITERATOR] = ArrayValues;
|
||
}
|
||
if (!CollectionPrototype[TO_STRING_TAG]) {
|
||
createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);
|
||
}
|
||
if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {
|
||
// some Chrome versions have non-configurable methods on DOMTokenList
|
||
if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {
|
||
createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);
|
||
} catch (error) {
|
||
CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/web.url-search-params.js":
|
||
/*!***************************************************************!*\
|
||
!*** ./node_modules/core-js/modules/web.url-search-params.js ***!
|
||
\***************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`
|
||
__webpack_require__(/*! ../modules/es.array.iterator */ "./node_modules/core-js/modules/es.array.iterator.js");
|
||
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
|
||
var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js");
|
||
var USE_NATIVE_URL = __webpack_require__(/*! ../internals/native-url */ "./node_modules/core-js/internals/native-url.js");
|
||
var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");
|
||
var redefineAll = __webpack_require__(/*! ../internals/redefine-all */ "./node_modules/core-js/internals/redefine-all.js");
|
||
var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js");
|
||
var createIteratorConstructor = __webpack_require__(/*! ../internals/create-iterator-constructor */ "./node_modules/core-js/internals/create-iterator-constructor.js");
|
||
var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js");
|
||
var anInstance = __webpack_require__(/*! ../internals/an-instance */ "./node_modules/core-js/internals/an-instance.js");
|
||
var hasOwn = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
|
||
var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js/internals/function-bind-context.js");
|
||
var classof = __webpack_require__(/*! ../internals/classof */ "./node_modules/core-js/internals/classof.js");
|
||
var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
|
||
var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
|
||
var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js");
|
||
var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js");
|
||
var getIterator = __webpack_require__(/*! ../internals/get-iterator */ "./node_modules/core-js/internals/get-iterator.js");
|
||
var getIteratorMethod = __webpack_require__(/*! ../internals/get-iterator-method */ "./node_modules/core-js/internals/get-iterator-method.js");
|
||
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
|
||
|
||
var $fetch = getBuiltIn('fetch');
|
||
var Headers = getBuiltIn('Headers');
|
||
var ITERATOR = wellKnownSymbol('iterator');
|
||
var URL_SEARCH_PARAMS = 'URLSearchParams';
|
||
var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';
|
||
var setInternalState = InternalStateModule.set;
|
||
var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);
|
||
var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);
|
||
|
||
var plus = /\+/g;
|
||
var sequences = Array(4);
|
||
|
||
var percentSequence = function (bytes) {
|
||
return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\da-f]{2}){' + bytes + '})', 'gi'));
|
||
};
|
||
|
||
var percentDecode = function (sequence) {
|
||
try {
|
||
return decodeURIComponent(sequence);
|
||
} catch (error) {
|
||
return sequence;
|
||
}
|
||
};
|
||
|
||
var deserialize = function (it) {
|
||
var result = it.replace(plus, ' ');
|
||
var bytes = 4;
|
||
try {
|
||
return decodeURIComponent(result);
|
||
} catch (error) {
|
||
while (bytes) {
|
||
result = result.replace(percentSequence(bytes--), percentDecode);
|
||
}
|
||
return result;
|
||
}
|
||
};
|
||
|
||
var find = /[!'()~]|%20/g;
|
||
|
||
var replace = {
|
||
'!': '%21',
|
||
"'": '%27',
|
||
'(': '%28',
|
||
')': '%29',
|
||
'~': '%7E',
|
||
'%20': '+'
|
||
};
|
||
|
||
var replacer = function (match) {
|
||
return replace[match];
|
||
};
|
||
|
||
var serialize = function (it) {
|
||
return encodeURIComponent(it).replace(find, replacer);
|
||
};
|
||
|
||
var parseSearchParams = function (result, query) {
|
||
if (query) {
|
||
var attributes = query.split('&');
|
||
var index = 0;
|
||
var attribute, entry;
|
||
while (index < attributes.length) {
|
||
attribute = attributes[index++];
|
||
if (attribute.length) {
|
||
entry = attribute.split('=');
|
||
result.push({
|
||
key: deserialize(entry.shift()),
|
||
value: deserialize(entry.join('='))
|
||
});
|
||
}
|
||
}
|
||
}
|
||
};
|
||
|
||
var updateSearchParams = function (query) {
|
||
this.entries.length = 0;
|
||
parseSearchParams(this.entries, query);
|
||
};
|
||
|
||
var validateArgumentsLength = function (passed, required) {
|
||
if (passed < required) throw TypeError('Not enough arguments');
|
||
};
|
||
|
||
var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {
|
||
setInternalState(this, {
|
||
type: URL_SEARCH_PARAMS_ITERATOR,
|
||
iterator: getIterator(getInternalParamsState(params).entries),
|
||
kind: kind
|
||
});
|
||
}, 'Iterator', function next() {
|
||
var state = getInternalIteratorState(this);
|
||
var kind = state.kind;
|
||
var step = state.iterator.next();
|
||
var entry = step.value;
|
||
if (!step.done) {
|
||
step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];
|
||
} return step;
|
||
});
|
||
|
||
// `URLSearchParams` constructor
|
||
// https://url.spec.whatwg.org/#interface-urlsearchparams
|
||
var URLSearchParamsConstructor = function URLSearchParams(/* init */) {
|
||
anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);
|
||
var init = arguments.length > 0 ? arguments[0] : undefined;
|
||
var that = this;
|
||
var entries = [];
|
||
var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;
|
||
|
||
setInternalState(that, {
|
||
type: URL_SEARCH_PARAMS,
|
||
entries: entries,
|
||
updateURL: function () { /* empty */ },
|
||
updateSearchParams: updateSearchParams
|
||
});
|
||
|
||
if (init !== undefined) {
|
||
if (isObject(init)) {
|
||
iteratorMethod = getIteratorMethod(init);
|
||
if (typeof iteratorMethod === 'function') {
|
||
iterator = iteratorMethod.call(init);
|
||
next = iterator.next;
|
||
while (!(step = next.call(iterator)).done) {
|
||
entryIterator = getIterator(anObject(step.value));
|
||
entryNext = entryIterator.next;
|
||
if (
|
||
(first = entryNext.call(entryIterator)).done ||
|
||
(second = entryNext.call(entryIterator)).done ||
|
||
!entryNext.call(entryIterator).done
|
||
) throw TypeError('Expected sequence with length 2');
|
||
entries.push({ key: first.value + '', value: second.value + '' });
|
||
}
|
||
} else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' });
|
||
} else {
|
||
parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');
|
||
}
|
||
}
|
||
};
|
||
|
||
var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;
|
||
|
||
redefineAll(URLSearchParamsPrototype, {
|
||
// `URLSearchParams.prototype.append` method
|
||
// https://url.spec.whatwg.org/#dom-urlsearchparams-append
|
||
append: function append(name, value) {
|
||
validateArgumentsLength(arguments.length, 2);
|
||
var state = getInternalParamsState(this);
|
||
state.entries.push({ key: name + '', value: value + '' });
|
||
state.updateURL();
|
||
},
|
||
// `URLSearchParams.prototype.delete` method
|
||
// https://url.spec.whatwg.org/#dom-urlsearchparams-delete
|
||
'delete': function (name) {
|
||
validateArgumentsLength(arguments.length, 1);
|
||
var state = getInternalParamsState(this);
|
||
var entries = state.entries;
|
||
var key = name + '';
|
||
var index = 0;
|
||
while (index < entries.length) {
|
||
if (entries[index].key === key) entries.splice(index, 1);
|
||
else index++;
|
||
}
|
||
state.updateURL();
|
||
},
|
||
// `URLSearchParams.prototype.get` method
|
||
// https://url.spec.whatwg.org/#dom-urlsearchparams-get
|
||
get: function get(name) {
|
||
validateArgumentsLength(arguments.length, 1);
|
||
var entries = getInternalParamsState(this).entries;
|
||
var key = name + '';
|
||
var index = 0;
|
||
for (; index < entries.length; index++) {
|
||
if (entries[index].key === key) return entries[index].value;
|
||
}
|
||
return null;
|
||
},
|
||
// `URLSearchParams.prototype.getAll` method
|
||
// https://url.spec.whatwg.org/#dom-urlsearchparams-getall
|
||
getAll: function getAll(name) {
|
||
validateArgumentsLength(arguments.length, 1);
|
||
var entries = getInternalParamsState(this).entries;
|
||
var key = name + '';
|
||
var result = [];
|
||
var index = 0;
|
||
for (; index < entries.length; index++) {
|
||
if (entries[index].key === key) result.push(entries[index].value);
|
||
}
|
||
return result;
|
||
},
|
||
// `URLSearchParams.prototype.has` method
|
||
// https://url.spec.whatwg.org/#dom-urlsearchparams-has
|
||
has: function has(name) {
|
||
validateArgumentsLength(arguments.length, 1);
|
||
var entries = getInternalParamsState(this).entries;
|
||
var key = name + '';
|
||
var index = 0;
|
||
while (index < entries.length) {
|
||
if (entries[index++].key === key) return true;
|
||
}
|
||
return false;
|
||
},
|
||
// `URLSearchParams.prototype.set` method
|
||
// https://url.spec.whatwg.org/#dom-urlsearchparams-set
|
||
set: function set(name, value) {
|
||
validateArgumentsLength(arguments.length, 1);
|
||
var state = getInternalParamsState(this);
|
||
var entries = state.entries;
|
||
var found = false;
|
||
var key = name + '';
|
||
var val = value + '';
|
||
var index = 0;
|
||
var entry;
|
||
for (; index < entries.length; index++) {
|
||
entry = entries[index];
|
||
if (entry.key === key) {
|
||
if (found) entries.splice(index--, 1);
|
||
else {
|
||
found = true;
|
||
entry.value = val;
|
||
}
|
||
}
|
||
}
|
||
if (!found) entries.push({ key: key, value: val });
|
||
state.updateURL();
|
||
},
|
||
// `URLSearchParams.prototype.sort` method
|
||
// https://url.spec.whatwg.org/#dom-urlsearchparams-sort
|
||
sort: function sort() {
|
||
var state = getInternalParamsState(this);
|
||
var entries = state.entries;
|
||
// Array#sort is not stable in some engines
|
||
var slice = entries.slice();
|
||
var entry, entriesIndex, sliceIndex;
|
||
entries.length = 0;
|
||
for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {
|
||
entry = slice[sliceIndex];
|
||
for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {
|
||
if (entries[entriesIndex].key > entry.key) {
|
||
entries.splice(entriesIndex, 0, entry);
|
||
break;
|
||
}
|
||
}
|
||
if (entriesIndex === sliceIndex) entries.push(entry);
|
||
}
|
||
state.updateURL();
|
||
},
|
||
// `URLSearchParams.prototype.forEach` method
|
||
forEach: function forEach(callback /* , thisArg */) {
|
||
var entries = getInternalParamsState(this).entries;
|
||
var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);
|
||
var index = 0;
|
||
var entry;
|
||
while (index < entries.length) {
|
||
entry = entries[index++];
|
||
boundFunction(entry.value, entry.key, this);
|
||
}
|
||
},
|
||
// `URLSearchParams.prototype.keys` method
|
||
keys: function keys() {
|
||
return new URLSearchParamsIterator(this, 'keys');
|
||
},
|
||
// `URLSearchParams.prototype.values` method
|
||
values: function values() {
|
||
return new URLSearchParamsIterator(this, 'values');
|
||
},
|
||
// `URLSearchParams.prototype.entries` method
|
||
entries: function entries() {
|
||
return new URLSearchParamsIterator(this, 'entries');
|
||
}
|
||
}, { enumerable: true });
|
||
|
||
// `URLSearchParams.prototype[@@iterator]` method
|
||
redefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);
|
||
|
||
// `URLSearchParams.prototype.toString` method
|
||
// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior
|
||
redefine(URLSearchParamsPrototype, 'toString', function toString() {
|
||
var entries = getInternalParamsState(this).entries;
|
||
var result = [];
|
||
var index = 0;
|
||
var entry;
|
||
while (index < entries.length) {
|
||
entry = entries[index++];
|
||
result.push(serialize(entry.key) + '=' + serialize(entry.value));
|
||
} return result.join('&');
|
||
}, { enumerable: true });
|
||
|
||
setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);
|
||
|
||
$({ global: true, forced: !USE_NATIVE_URL }, {
|
||
URLSearchParams: URLSearchParamsConstructor
|
||
});
|
||
|
||
// Wrap `fetch` for correct work with polyfilled `URLSearchParams`
|
||
// https://github.com/zloirock/core-js/issues/674
|
||
if (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {
|
||
$({ global: true, enumerable: true, forced: true }, {
|
||
fetch: function fetch(input /* , init */) {
|
||
var args = [input];
|
||
var init, body, headers;
|
||
if (arguments.length > 1) {
|
||
init = arguments[1];
|
||
if (isObject(init)) {
|
||
body = init.body;
|
||
if (classof(body) === URL_SEARCH_PARAMS) {
|
||
headers = init.headers ? new Headers(init.headers) : new Headers();
|
||
if (!headers.has('content-type')) {
|
||
headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');
|
||
}
|
||
init = create(init, {
|
||
body: createPropertyDescriptor(0, String(body)),
|
||
headers: createPropertyDescriptor(0, headers)
|
||
});
|
||
}
|
||
}
|
||
args.push(init);
|
||
} return $fetch.apply(this, args);
|
||
}
|
||
});
|
||
}
|
||
|
||
module.exports = {
|
||
URLSearchParams: URLSearchParamsConstructor,
|
||
getState: getInternalParamsState
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/core-js/modules/web.url.js":
|
||
/*!*************************************************!*\
|
||
!*** ./node_modules/core-js/modules/web.url.js ***!
|
||
\*************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`
|
||
__webpack_require__(/*! ../modules/es.string.iterator */ "./node_modules/core-js/modules/es.string.iterator.js");
|
||
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
|
||
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
|
||
var USE_NATIVE_URL = __webpack_require__(/*! ../internals/native-url */ "./node_modules/core-js/internals/native-url.js");
|
||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||
var defineProperties = __webpack_require__(/*! ../internals/object-define-properties */ "./node_modules/core-js/internals/object-define-properties.js");
|
||
var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");
|
||
var anInstance = __webpack_require__(/*! ../internals/an-instance */ "./node_modules/core-js/internals/an-instance.js");
|
||
var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
|
||
var assign = __webpack_require__(/*! ../internals/object-assign */ "./node_modules/core-js/internals/object-assign.js");
|
||
var arrayFrom = __webpack_require__(/*! ../internals/array-from */ "./node_modules/core-js/internals/array-from.js");
|
||
var codeAt = __webpack_require__(/*! ../internals/string-multibyte */ "./node_modules/core-js/internals/string-multibyte.js").codeAt;
|
||
var toASCII = __webpack_require__(/*! ../internals/string-punycode-to-ascii */ "./node_modules/core-js/internals/string-punycode-to-ascii.js");
|
||
var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js");
|
||
var URLSearchParamsModule = __webpack_require__(/*! ../modules/web.url-search-params */ "./node_modules/core-js/modules/web.url-search-params.js");
|
||
var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js");
|
||
|
||
var NativeURL = global.URL;
|
||
var URLSearchParams = URLSearchParamsModule.URLSearchParams;
|
||
var getInternalSearchParamsState = URLSearchParamsModule.getState;
|
||
var setInternalState = InternalStateModule.set;
|
||
var getInternalURLState = InternalStateModule.getterFor('URL');
|
||
var floor = Math.floor;
|
||
var pow = Math.pow;
|
||
|
||
var INVALID_AUTHORITY = 'Invalid authority';
|
||
var INVALID_SCHEME = 'Invalid scheme';
|
||
var INVALID_HOST = 'Invalid host';
|
||
var INVALID_PORT = 'Invalid port';
|
||
|
||
var ALPHA = /[A-Za-z]/;
|
||
var ALPHANUMERIC = /[\d+-.A-Za-z]/;
|
||
var DIGIT = /\d/;
|
||
var HEX_START = /^(0x|0X)/;
|
||
var OCT = /^[0-7]+$/;
|
||
var DEC = /^\d+$/;
|
||
var HEX = /^[\dA-Fa-f]+$/;
|
||
/* eslint-disable no-control-regex -- safe */
|
||
var FORBIDDEN_HOST_CODE_POINT = /[\u0000\t\u000A\u000D #%/:?@[\\]]/;
|
||
var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\u0000\t\u000A\u000D #/:?@[\\]]/;
|
||
var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g;
|
||
var TAB_AND_NEW_LINE = /[\t\u000A\u000D]/g;
|
||
/* eslint-enable no-control-regex -- safe */
|
||
var EOF;
|
||
|
||
var parseHost = function (url, input) {
|
||
var result, codePoints, index;
|
||
if (input.charAt(0) == '[') {
|
||
if (input.charAt(input.length - 1) != ']') return INVALID_HOST;
|
||
result = parseIPv6(input.slice(1, -1));
|
||
if (!result) return INVALID_HOST;
|
||
url.host = result;
|
||
// opaque host
|
||
} else if (!isSpecial(url)) {
|
||
if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;
|
||
result = '';
|
||
codePoints = arrayFrom(input);
|
||
for (index = 0; index < codePoints.length; index++) {
|
||
result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);
|
||
}
|
||
url.host = result;
|
||
} else {
|
||
input = toASCII(input);
|
||
if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;
|
||
result = parseIPv4(input);
|
||
if (result === null) return INVALID_HOST;
|
||
url.host = result;
|
||
}
|
||
};
|
||
|
||
var parseIPv4 = function (input) {
|
||
var parts = input.split('.');
|
||
var partsLength, numbers, index, part, radix, number, ipv4;
|
||
if (parts.length && parts[parts.length - 1] == '') {
|
||
parts.pop();
|
||
}
|
||
partsLength = parts.length;
|
||
if (partsLength > 4) return input;
|
||
numbers = [];
|
||
for (index = 0; index < partsLength; index++) {
|
||
part = parts[index];
|
||
if (part == '') return input;
|
||
radix = 10;
|
||
if (part.length > 1 && part.charAt(0) == '0') {
|
||
radix = HEX_START.test(part) ? 16 : 8;
|
||
part = part.slice(radix == 8 ? 1 : 2);
|
||
}
|
||
if (part === '') {
|
||
number = 0;
|
||
} else {
|
||
if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;
|
||
number = parseInt(part, radix);
|
||
}
|
||
numbers.push(number);
|
||
}
|
||
for (index = 0; index < partsLength; index++) {
|
||
number = numbers[index];
|
||
if (index == partsLength - 1) {
|
||
if (number >= pow(256, 5 - partsLength)) return null;
|
||
} else if (number > 255) return null;
|
||
}
|
||
ipv4 = numbers.pop();
|
||
for (index = 0; index < numbers.length; index++) {
|
||
ipv4 += numbers[index] * pow(256, 3 - index);
|
||
}
|
||
return ipv4;
|
||
};
|
||
|
||
// eslint-disable-next-line max-statements -- TODO
|
||
var parseIPv6 = function (input) {
|
||
var address = [0, 0, 0, 0, 0, 0, 0, 0];
|
||
var pieceIndex = 0;
|
||
var compress = null;
|
||
var pointer = 0;
|
||
var value, length, numbersSeen, ipv4Piece, number, swaps, swap;
|
||
|
||
var char = function () {
|
||
return input.charAt(pointer);
|
||
};
|
||
|
||
if (char() == ':') {
|
||
if (input.charAt(1) != ':') return;
|
||
pointer += 2;
|
||
pieceIndex++;
|
||
compress = pieceIndex;
|
||
}
|
||
while (char()) {
|
||
if (pieceIndex == 8) return;
|
||
if (char() == ':') {
|
||
if (compress !== null) return;
|
||
pointer++;
|
||
pieceIndex++;
|
||
compress = pieceIndex;
|
||
continue;
|
||
}
|
||
value = length = 0;
|
||
while (length < 4 && HEX.test(char())) {
|
||
value = value * 16 + parseInt(char(), 16);
|
||
pointer++;
|
||
length++;
|
||
}
|
||
if (char() == '.') {
|
||
if (length == 0) return;
|
||
pointer -= length;
|
||
if (pieceIndex > 6) return;
|
||
numbersSeen = 0;
|
||
while (char()) {
|
||
ipv4Piece = null;
|
||
if (numbersSeen > 0) {
|
||
if (char() == '.' && numbersSeen < 4) pointer++;
|
||
else return;
|
||
}
|
||
if (!DIGIT.test(char())) return;
|
||
while (DIGIT.test(char())) {
|
||
number = parseInt(char(), 10);
|
||
if (ipv4Piece === null) ipv4Piece = number;
|
||
else if (ipv4Piece == 0) return;
|
||
else ipv4Piece = ipv4Piece * 10 + number;
|
||
if (ipv4Piece > 255) return;
|
||
pointer++;
|
||
}
|
||
address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;
|
||
numbersSeen++;
|
||
if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;
|
||
}
|
||
if (numbersSeen != 4) return;
|
||
break;
|
||
} else if (char() == ':') {
|
||
pointer++;
|
||
if (!char()) return;
|
||
} else if (char()) return;
|
||
address[pieceIndex++] = value;
|
||
}
|
||
if (compress !== null) {
|
||
swaps = pieceIndex - compress;
|
||
pieceIndex = 7;
|
||
while (pieceIndex != 0 && swaps > 0) {
|
||
swap = address[pieceIndex];
|
||
address[pieceIndex--] = address[compress + swaps - 1];
|
||
address[compress + --swaps] = swap;
|
||
}
|
||
} else if (pieceIndex != 8) return;
|
||
return address;
|
||
};
|
||
|
||
var findLongestZeroSequence = function (ipv6) {
|
||
var maxIndex = null;
|
||
var maxLength = 1;
|
||
var currStart = null;
|
||
var currLength = 0;
|
||
var index = 0;
|
||
for (; index < 8; index++) {
|
||
if (ipv6[index] !== 0) {
|
||
if (currLength > maxLength) {
|
||
maxIndex = currStart;
|
||
maxLength = currLength;
|
||
}
|
||
currStart = null;
|
||
currLength = 0;
|
||
} else {
|
||
if (currStart === null) currStart = index;
|
||
++currLength;
|
||
}
|
||
}
|
||
if (currLength > maxLength) {
|
||
maxIndex = currStart;
|
||
maxLength = currLength;
|
||
}
|
||
return maxIndex;
|
||
};
|
||
|
||
var serializeHost = function (host) {
|
||
var result, index, compress, ignore0;
|
||
// ipv4
|
||
if (typeof host == 'number') {
|
||
result = [];
|
||
for (index = 0; index < 4; index++) {
|
||
result.unshift(host % 256);
|
||
host = floor(host / 256);
|
||
} return result.join('.');
|
||
// ipv6
|
||
} else if (typeof host == 'object') {
|
||
result = '';
|
||
compress = findLongestZeroSequence(host);
|
||
for (index = 0; index < 8; index++) {
|
||
if (ignore0 && host[index] === 0) continue;
|
||
if (ignore0) ignore0 = false;
|
||
if (compress === index) {
|
||
result += index ? ':' : '::';
|
||
ignore0 = true;
|
||
} else {
|
||
result += host[index].toString(16);
|
||
if (index < 7) result += ':';
|
||
}
|
||
}
|
||
return '[' + result + ']';
|
||
} return host;
|
||
};
|
||
|
||
var C0ControlPercentEncodeSet = {};
|
||
var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {
|
||
' ': 1, '"': 1, '<': 1, '>': 1, '`': 1
|
||
});
|
||
var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {
|
||
'#': 1, '?': 1, '{': 1, '}': 1
|
||
});
|
||
var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {
|
||
'/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\': 1, ']': 1, '^': 1, '|': 1
|
||
});
|
||
|
||
var percentEncode = function (char, set) {
|
||
var code = codeAt(char, 0);
|
||
return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);
|
||
};
|
||
|
||
var specialSchemes = {
|
||
ftp: 21,
|
||
file: null,
|
||
http: 80,
|
||
https: 443,
|
||
ws: 80,
|
||
wss: 443
|
||
};
|
||
|
||
var isSpecial = function (url) {
|
||
return has(specialSchemes, url.scheme);
|
||
};
|
||
|
||
var includesCredentials = function (url) {
|
||
return url.username != '' || url.password != '';
|
||
};
|
||
|
||
var cannotHaveUsernamePasswordPort = function (url) {
|
||
return !url.host || url.cannotBeABaseURL || url.scheme == 'file';
|
||
};
|
||
|
||
var isWindowsDriveLetter = function (string, normalized) {
|
||
var second;
|
||
return string.length == 2 && ALPHA.test(string.charAt(0))
|
||
&& ((second = string.charAt(1)) == ':' || (!normalized && second == '|'));
|
||
};
|
||
|
||
var startsWithWindowsDriveLetter = function (string) {
|
||
var third;
|
||
return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (
|
||
string.length == 2 ||
|
||
((third = string.charAt(2)) === '/' || third === '\\' || third === '?' || third === '#')
|
||
);
|
||
};
|
||
|
||
var shortenURLsPath = function (url) {
|
||
var path = url.path;
|
||
var pathSize = path.length;
|
||
if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {
|
||
path.pop();
|
||
}
|
||
};
|
||
|
||
var isSingleDot = function (segment) {
|
||
return segment === '.' || segment.toLowerCase() === '%2e';
|
||
};
|
||
|
||
var isDoubleDot = function (segment) {
|
||
segment = segment.toLowerCase();
|
||
return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';
|
||
};
|
||
|
||
// States:
|
||
var SCHEME_START = {};
|
||
var SCHEME = {};
|
||
var NO_SCHEME = {};
|
||
var SPECIAL_RELATIVE_OR_AUTHORITY = {};
|
||
var PATH_OR_AUTHORITY = {};
|
||
var RELATIVE = {};
|
||
var RELATIVE_SLASH = {};
|
||
var SPECIAL_AUTHORITY_SLASHES = {};
|
||
var SPECIAL_AUTHORITY_IGNORE_SLASHES = {};
|
||
var AUTHORITY = {};
|
||
var HOST = {};
|
||
var HOSTNAME = {};
|
||
var PORT = {};
|
||
var FILE = {};
|
||
var FILE_SLASH = {};
|
||
var FILE_HOST = {};
|
||
var PATH_START = {};
|
||
var PATH = {};
|
||
var CANNOT_BE_A_BASE_URL_PATH = {};
|
||
var QUERY = {};
|
||
var FRAGMENT = {};
|
||
|
||
// eslint-disable-next-line max-statements -- TODO
|
||
var parseURL = function (url, input, stateOverride, base) {
|
||
var state = stateOverride || SCHEME_START;
|
||
var pointer = 0;
|
||
var buffer = '';
|
||
var seenAt = false;
|
||
var seenBracket = false;
|
||
var seenPasswordToken = false;
|
||
var codePoints, char, bufferCodePoints, failure;
|
||
|
||
if (!stateOverride) {
|
||
url.scheme = '';
|
||
url.username = '';
|
||
url.password = '';
|
||
url.host = null;
|
||
url.port = null;
|
||
url.path = [];
|
||
url.query = null;
|
||
url.fragment = null;
|
||
url.cannotBeABaseURL = false;
|
||
input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');
|
||
}
|
||
|
||
input = input.replace(TAB_AND_NEW_LINE, '');
|
||
|
||
codePoints = arrayFrom(input);
|
||
|
||
while (pointer <= codePoints.length) {
|
||
char = codePoints[pointer];
|
||
switch (state) {
|
||
case SCHEME_START:
|
||
if (char && ALPHA.test(char)) {
|
||
buffer += char.toLowerCase();
|
||
state = SCHEME;
|
||
} else if (!stateOverride) {
|
||
state = NO_SCHEME;
|
||
continue;
|
||
} else return INVALID_SCHEME;
|
||
break;
|
||
|
||
case SCHEME:
|
||
if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {
|
||
buffer += char.toLowerCase();
|
||
} else if (char == ':') {
|
||
if (stateOverride && (
|
||
(isSpecial(url) != has(specialSchemes, buffer)) ||
|
||
(buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||
|
||
(url.scheme == 'file' && !url.host)
|
||
)) return;
|
||
url.scheme = buffer;
|
||
if (stateOverride) {
|
||
if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;
|
||
return;
|
||
}
|
||
buffer = '';
|
||
if (url.scheme == 'file') {
|
||
state = FILE;
|
||
} else if (isSpecial(url) && base && base.scheme == url.scheme) {
|
||
state = SPECIAL_RELATIVE_OR_AUTHORITY;
|
||
} else if (isSpecial(url)) {
|
||
state = SPECIAL_AUTHORITY_SLASHES;
|
||
} else if (codePoints[pointer + 1] == '/') {
|
||
state = PATH_OR_AUTHORITY;
|
||
pointer++;
|
||
} else {
|
||
url.cannotBeABaseURL = true;
|
||
url.path.push('');
|
||
state = CANNOT_BE_A_BASE_URL_PATH;
|
||
}
|
||
} else if (!stateOverride) {
|
||
buffer = '';
|
||
state = NO_SCHEME;
|
||
pointer = 0;
|
||
continue;
|
||
} else return INVALID_SCHEME;
|
||
break;
|
||
|
||
case NO_SCHEME:
|
||
if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME;
|
||
if (base.cannotBeABaseURL && char == '#') {
|
||
url.scheme = base.scheme;
|
||
url.path = base.path.slice();
|
||
url.query = base.query;
|
||
url.fragment = '';
|
||
url.cannotBeABaseURL = true;
|
||
state = FRAGMENT;
|
||
break;
|
||
}
|
||
state = base.scheme == 'file' ? FILE : RELATIVE;
|
||
continue;
|
||
|
||
case SPECIAL_RELATIVE_OR_AUTHORITY:
|
||
if (char == '/' && codePoints[pointer + 1] == '/') {
|
||
state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
|
||
pointer++;
|
||
} else {
|
||
state = RELATIVE;
|
||
continue;
|
||
} break;
|
||
|
||
case PATH_OR_AUTHORITY:
|
||
if (char == '/') {
|
||
state = AUTHORITY;
|
||
break;
|
||
} else {
|
||
state = PATH;
|
||
continue;
|
||
}
|
||
|
||
case RELATIVE:
|
||
url.scheme = base.scheme;
|
||
if (char == EOF) {
|
||
url.username = base.username;
|
||
url.password = base.password;
|
||
url.host = base.host;
|
||
url.port = base.port;
|
||
url.path = base.path.slice();
|
||
url.query = base.query;
|
||
} else if (char == '/' || (char == '\\' && isSpecial(url))) {
|
||
state = RELATIVE_SLASH;
|
||
} else if (char == '?') {
|
||
url.username = base.username;
|
||
url.password = base.password;
|
||
url.host = base.host;
|
||
url.port = base.port;
|
||
url.path = base.path.slice();
|
||
url.query = '';
|
||
state = QUERY;
|
||
} else if (char == '#') {
|
||
url.username = base.username;
|
||
url.password = base.password;
|
||
url.host = base.host;
|
||
url.port = base.port;
|
||
url.path = base.path.slice();
|
||
url.query = base.query;
|
||
url.fragment = '';
|
||
state = FRAGMENT;
|
||
} else {
|
||
url.username = base.username;
|
||
url.password = base.password;
|
||
url.host = base.host;
|
||
url.port = base.port;
|
||
url.path = base.path.slice();
|
||
url.path.pop();
|
||
state = PATH;
|
||
continue;
|
||
} break;
|
||
|
||
case RELATIVE_SLASH:
|
||
if (isSpecial(url) && (char == '/' || char == '\\')) {
|
||
state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
|
||
} else if (char == '/') {
|
||
state = AUTHORITY;
|
||
} else {
|
||
url.username = base.username;
|
||
url.password = base.password;
|
||
url.host = base.host;
|
||
url.port = base.port;
|
||
state = PATH;
|
||
continue;
|
||
} break;
|
||
|
||
case SPECIAL_AUTHORITY_SLASHES:
|
||
state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
|
||
if (char != '/' || buffer.charAt(pointer + 1) != '/') continue;
|
||
pointer++;
|
||
break;
|
||
|
||
case SPECIAL_AUTHORITY_IGNORE_SLASHES:
|
||
if (char != '/' && char != '\\') {
|
||
state = AUTHORITY;
|
||
continue;
|
||
} break;
|
||
|
||
case AUTHORITY:
|
||
if (char == '@') {
|
||
if (seenAt) buffer = '%40' + buffer;
|
||
seenAt = true;
|
||
bufferCodePoints = arrayFrom(buffer);
|
||
for (var i = 0; i < bufferCodePoints.length; i++) {
|
||
var codePoint = bufferCodePoints[i];
|
||
if (codePoint == ':' && !seenPasswordToken) {
|
||
seenPasswordToken = true;
|
||
continue;
|
||
}
|
||
var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);
|
||
if (seenPasswordToken) url.password += encodedCodePoints;
|
||
else url.username += encodedCodePoints;
|
||
}
|
||
buffer = '';
|
||
} else if (
|
||
char == EOF || char == '/' || char == '?' || char == '#' ||
|
||
(char == '\\' && isSpecial(url))
|
||
) {
|
||
if (seenAt && buffer == '') return INVALID_AUTHORITY;
|
||
pointer -= arrayFrom(buffer).length + 1;
|
||
buffer = '';
|
||
state = HOST;
|
||
} else buffer += char;
|
||
break;
|
||
|
||
case HOST:
|
||
case HOSTNAME:
|
||
if (stateOverride && url.scheme == 'file') {
|
||
state = FILE_HOST;
|
||
continue;
|
||
} else if (char == ':' && !seenBracket) {
|
||
if (buffer == '') return INVALID_HOST;
|
||
failure = parseHost(url, buffer);
|
||
if (failure) return failure;
|
||
buffer = '';
|
||
state = PORT;
|
||
if (stateOverride == HOSTNAME) return;
|
||
} else if (
|
||
char == EOF || char == '/' || char == '?' || char == '#' ||
|
||
(char == '\\' && isSpecial(url))
|
||
) {
|
||
if (isSpecial(url) && buffer == '') return INVALID_HOST;
|
||
if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;
|
||
failure = parseHost(url, buffer);
|
||
if (failure) return failure;
|
||
buffer = '';
|
||
state = PATH_START;
|
||
if (stateOverride) return;
|
||
continue;
|
||
} else {
|
||
if (char == '[') seenBracket = true;
|
||
else if (char == ']') seenBracket = false;
|
||
buffer += char;
|
||
} break;
|
||
|
||
case PORT:
|
||
if (DIGIT.test(char)) {
|
||
buffer += char;
|
||
} else if (
|
||
char == EOF || char == '/' || char == '?' || char == '#' ||
|
||
(char == '\\' && isSpecial(url)) ||
|
||
stateOverride
|
||
) {
|
||
if (buffer != '') {
|
||
var port = parseInt(buffer, 10);
|
||
if (port > 0xFFFF) return INVALID_PORT;
|
||
url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;
|
||
buffer = '';
|
||
}
|
||
if (stateOverride) return;
|
||
state = PATH_START;
|
||
continue;
|
||
} else return INVALID_PORT;
|
||
break;
|
||
|
||
case FILE:
|
||
url.scheme = 'file';
|
||
if (char == '/' || char == '\\') state = FILE_SLASH;
|
||
else if (base && base.scheme == 'file') {
|
||
if (char == EOF) {
|
||
url.host = base.host;
|
||
url.path = base.path.slice();
|
||
url.query = base.query;
|
||
} else if (char == '?') {
|
||
url.host = base.host;
|
||
url.path = base.path.slice();
|
||
url.query = '';
|
||
state = QUERY;
|
||
} else if (char == '#') {
|
||
url.host = base.host;
|
||
url.path = base.path.slice();
|
||
url.query = base.query;
|
||
url.fragment = '';
|
||
state = FRAGMENT;
|
||
} else {
|
||
if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {
|
||
url.host = base.host;
|
||
url.path = base.path.slice();
|
||
shortenURLsPath(url);
|
||
}
|
||
state = PATH;
|
||
continue;
|
||
}
|
||
} else {
|
||
state = PATH;
|
||
continue;
|
||
} break;
|
||
|
||
case FILE_SLASH:
|
||
if (char == '/' || char == '\\') {
|
||
state = FILE_HOST;
|
||
break;
|
||
}
|
||
if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {
|
||
if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);
|
||
else url.host = base.host;
|
||
}
|
||
state = PATH;
|
||
continue;
|
||
|
||
case FILE_HOST:
|
||
if (char == EOF || char == '/' || char == '\\' || char == '?' || char == '#') {
|
||
if (!stateOverride && isWindowsDriveLetter(buffer)) {
|
||
state = PATH;
|
||
} else if (buffer == '') {
|
||
url.host = '';
|
||
if (stateOverride) return;
|
||
state = PATH_START;
|
||
} else {
|
||
failure = parseHost(url, buffer);
|
||
if (failure) return failure;
|
||
if (url.host == 'localhost') url.host = '';
|
||
if (stateOverride) return;
|
||
buffer = '';
|
||
state = PATH_START;
|
||
} continue;
|
||
} else buffer += char;
|
||
break;
|
||
|
||
case PATH_START:
|
||
if (isSpecial(url)) {
|
||
state = PATH;
|
||
if (char != '/' && char != '\\') continue;
|
||
} else if (!stateOverride && char == '?') {
|
||
url.query = '';
|
||
state = QUERY;
|
||
} else if (!stateOverride && char == '#') {
|
||
url.fragment = '';
|
||
state = FRAGMENT;
|
||
} else if (char != EOF) {
|
||
state = PATH;
|
||
if (char != '/') continue;
|
||
} break;
|
||
|
||
case PATH:
|
||
if (
|
||
char == EOF || char == '/' ||
|
||
(char == '\\' && isSpecial(url)) ||
|
||
(!stateOverride && (char == '?' || char == '#'))
|
||
) {
|
||
if (isDoubleDot(buffer)) {
|
||
shortenURLsPath(url);
|
||
if (char != '/' && !(char == '\\' && isSpecial(url))) {
|
||
url.path.push('');
|
||
}
|
||
} else if (isSingleDot(buffer)) {
|
||
if (char != '/' && !(char == '\\' && isSpecial(url))) {
|
||
url.path.push('');
|
||
}
|
||
} else {
|
||
if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {
|
||
if (url.host) url.host = '';
|
||
buffer = buffer.charAt(0) + ':'; // normalize windows drive letter
|
||
}
|
||
url.path.push(buffer);
|
||
}
|
||
buffer = '';
|
||
if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {
|
||
while (url.path.length > 1 && url.path[0] === '') {
|
||
url.path.shift();
|
||
}
|
||
}
|
||
if (char == '?') {
|
||
url.query = '';
|
||
state = QUERY;
|
||
} else if (char == '#') {
|
||
url.fragment = '';
|
||
state = FRAGMENT;
|
||
}
|
||
} else {
|
||
buffer += percentEncode(char, pathPercentEncodeSet);
|
||
} break;
|
||
|
||
case CANNOT_BE_A_BASE_URL_PATH:
|
||
if (char == '?') {
|
||
url.query = '';
|
||
state = QUERY;
|
||
} else if (char == '#') {
|
||
url.fragment = '';
|
||
state = FRAGMENT;
|
||
} else if (char != EOF) {
|
||
url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);
|
||
} break;
|
||
|
||
case QUERY:
|
||
if (!stateOverride && char == '#') {
|
||
url.fragment = '';
|
||
state = FRAGMENT;
|
||
} else if (char != EOF) {
|
||
if (char == "'" && isSpecial(url)) url.query += '%27';
|
||
else if (char == '#') url.query += '%23';
|
||
else url.query += percentEncode(char, C0ControlPercentEncodeSet);
|
||
} break;
|
||
|
||
case FRAGMENT:
|
||
if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet);
|
||
break;
|
||
}
|
||
|
||
pointer++;
|
||
}
|
||
};
|
||
|
||
// `URL` constructor
|
||
// https://url.spec.whatwg.org/#url-class
|
||
var URLConstructor = function URL(url /* , base */) {
|
||
var that = anInstance(this, URLConstructor, 'URL');
|
||
var base = arguments.length > 1 ? arguments[1] : undefined;
|
||
var urlString = String(url);
|
||
var state = setInternalState(that, { type: 'URL' });
|
||
var baseState, failure;
|
||
if (base !== undefined) {
|
||
if (base instanceof URLConstructor) baseState = getInternalURLState(base);
|
||
else {
|
||
failure = parseURL(baseState = {}, String(base));
|
||
if (failure) throw TypeError(failure);
|
||
}
|
||
}
|
||
failure = parseURL(state, urlString, null, baseState);
|
||
if (failure) throw TypeError(failure);
|
||
var searchParams = state.searchParams = new URLSearchParams();
|
||
var searchParamsState = getInternalSearchParamsState(searchParams);
|
||
searchParamsState.updateSearchParams(state.query);
|
||
searchParamsState.updateURL = function () {
|
||
state.query = String(searchParams) || null;
|
||
};
|
||
if (!DESCRIPTORS) {
|
||
that.href = serializeURL.call(that);
|
||
that.origin = getOrigin.call(that);
|
||
that.protocol = getProtocol.call(that);
|
||
that.username = getUsername.call(that);
|
||
that.password = getPassword.call(that);
|
||
that.host = getHost.call(that);
|
||
that.hostname = getHostname.call(that);
|
||
that.port = getPort.call(that);
|
||
that.pathname = getPathname.call(that);
|
||
that.search = getSearch.call(that);
|
||
that.searchParams = getSearchParams.call(that);
|
||
that.hash = getHash.call(that);
|
||
}
|
||
};
|
||
|
||
var URLPrototype = URLConstructor.prototype;
|
||
|
||
var serializeURL = function () {
|
||
var url = getInternalURLState(this);
|
||
var scheme = url.scheme;
|
||
var username = url.username;
|
||
var password = url.password;
|
||
var host = url.host;
|
||
var port = url.port;
|
||
var path = url.path;
|
||
var query = url.query;
|
||
var fragment = url.fragment;
|
||
var output = scheme + ':';
|
||
if (host !== null) {
|
||
output += '//';
|
||
if (includesCredentials(url)) {
|
||
output += username + (password ? ':' + password : '') + '@';
|
||
}
|
||
output += serializeHost(host);
|
||
if (port !== null) output += ':' + port;
|
||
} else if (scheme == 'file') output += '//';
|
||
output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';
|
||
if (query !== null) output += '?' + query;
|
||
if (fragment !== null) output += '#' + fragment;
|
||
return output;
|
||
};
|
||
|
||
var getOrigin = function () {
|
||
var url = getInternalURLState(this);
|
||
var scheme = url.scheme;
|
||
var port = url.port;
|
||
if (scheme == 'blob') try {
|
||
return new URL(scheme.path[0]).origin;
|
||
} catch (error) {
|
||
return 'null';
|
||
}
|
||
if (scheme == 'file' || !isSpecial(url)) return 'null';
|
||
return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');
|
||
};
|
||
|
||
var getProtocol = function () {
|
||
return getInternalURLState(this).scheme + ':';
|
||
};
|
||
|
||
var getUsername = function () {
|
||
return getInternalURLState(this).username;
|
||
};
|
||
|
||
var getPassword = function () {
|
||
return getInternalURLState(this).password;
|
||
};
|
||
|
||
var getHost = function () {
|
||
var url = getInternalURLState(this);
|
||
var host = url.host;
|
||
var port = url.port;
|
||
return host === null ? ''
|
||
: port === null ? serializeHost(host)
|
||
: serializeHost(host) + ':' + port;
|
||
};
|
||
|
||
var getHostname = function () {
|
||
var host = getInternalURLState(this).host;
|
||
return host === null ? '' : serializeHost(host);
|
||
};
|
||
|
||
var getPort = function () {
|
||
var port = getInternalURLState(this).port;
|
||
return port === null ? '' : String(port);
|
||
};
|
||
|
||
var getPathname = function () {
|
||
var url = getInternalURLState(this);
|
||
var path = url.path;
|
||
return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';
|
||
};
|
||
|
||
var getSearch = function () {
|
||
var query = getInternalURLState(this).query;
|
||
return query ? '?' + query : '';
|
||
};
|
||
|
||
var getSearchParams = function () {
|
||
return getInternalURLState(this).searchParams;
|
||
};
|
||
|
||
var getHash = function () {
|
||
var fragment = getInternalURLState(this).fragment;
|
||
return fragment ? '#' + fragment : '';
|
||
};
|
||
|
||
var accessorDescriptor = function (getter, setter) {
|
||
return { get: getter, set: setter, configurable: true, enumerable: true };
|
||
};
|
||
|
||
if (DESCRIPTORS) {
|
||
defineProperties(URLPrototype, {
|
||
// `URL.prototype.href` accessors pair
|
||
// https://url.spec.whatwg.org/#dom-url-href
|
||
href: accessorDescriptor(serializeURL, function (href) {
|
||
var url = getInternalURLState(this);
|
||
var urlString = String(href);
|
||
var failure = parseURL(url, urlString);
|
||
if (failure) throw TypeError(failure);
|
||
getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);
|
||
}),
|
||
// `URL.prototype.origin` getter
|
||
// https://url.spec.whatwg.org/#dom-url-origin
|
||
origin: accessorDescriptor(getOrigin),
|
||
// `URL.prototype.protocol` accessors pair
|
||
// https://url.spec.whatwg.org/#dom-url-protocol
|
||
protocol: accessorDescriptor(getProtocol, function (protocol) {
|
||
var url = getInternalURLState(this);
|
||
parseURL(url, String(protocol) + ':', SCHEME_START);
|
||
}),
|
||
// `URL.prototype.username` accessors pair
|
||
// https://url.spec.whatwg.org/#dom-url-username
|
||
username: accessorDescriptor(getUsername, function (username) {
|
||
var url = getInternalURLState(this);
|
||
var codePoints = arrayFrom(String(username));
|
||
if (cannotHaveUsernamePasswordPort(url)) return;
|
||
url.username = '';
|
||
for (var i = 0; i < codePoints.length; i++) {
|
||
url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);
|
||
}
|
||
}),
|
||
// `URL.prototype.password` accessors pair
|
||
// https://url.spec.whatwg.org/#dom-url-password
|
||
password: accessorDescriptor(getPassword, function (password) {
|
||
var url = getInternalURLState(this);
|
||
var codePoints = arrayFrom(String(password));
|
||
if (cannotHaveUsernamePasswordPort(url)) return;
|
||
url.password = '';
|
||
for (var i = 0; i < codePoints.length; i++) {
|
||
url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);
|
||
}
|
||
}),
|
||
// `URL.prototype.host` accessors pair
|
||
// https://url.spec.whatwg.org/#dom-url-host
|
||
host: accessorDescriptor(getHost, function (host) {
|
||
var url = getInternalURLState(this);
|
||
if (url.cannotBeABaseURL) return;
|
||
parseURL(url, String(host), HOST);
|
||
}),
|
||
// `URL.prototype.hostname` accessors pair
|
||
// https://url.spec.whatwg.org/#dom-url-hostname
|
||
hostname: accessorDescriptor(getHostname, function (hostname) {
|
||
var url = getInternalURLState(this);
|
||
if (url.cannotBeABaseURL) return;
|
||
parseURL(url, String(hostname), HOSTNAME);
|
||
}),
|
||
// `URL.prototype.port` accessors pair
|
||
// https://url.spec.whatwg.org/#dom-url-port
|
||
port: accessorDescriptor(getPort, function (port) {
|
||
var url = getInternalURLState(this);
|
||
if (cannotHaveUsernamePasswordPort(url)) return;
|
||
port = String(port);
|
||
if (port == '') url.port = null;
|
||
else parseURL(url, port, PORT);
|
||
}),
|
||
// `URL.prototype.pathname` accessors pair
|
||
// https://url.spec.whatwg.org/#dom-url-pathname
|
||
pathname: accessorDescriptor(getPathname, function (pathname) {
|
||
var url = getInternalURLState(this);
|
||
if (url.cannotBeABaseURL) return;
|
||
url.path = [];
|
||
parseURL(url, pathname + '', PATH_START);
|
||
}),
|
||
// `URL.prototype.search` accessors pair
|
||
// https://url.spec.whatwg.org/#dom-url-search
|
||
search: accessorDescriptor(getSearch, function (search) {
|
||
var url = getInternalURLState(this);
|
||
search = String(search);
|
||
if (search == '') {
|
||
url.query = null;
|
||
} else {
|
||
if ('?' == search.charAt(0)) search = search.slice(1);
|
||
url.query = '';
|
||
parseURL(url, search, QUERY);
|
||
}
|
||
getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);
|
||
}),
|
||
// `URL.prototype.searchParams` getter
|
||
// https://url.spec.whatwg.org/#dom-url-searchparams
|
||
searchParams: accessorDescriptor(getSearchParams),
|
||
// `URL.prototype.hash` accessors pair
|
||
// https://url.spec.whatwg.org/#dom-url-hash
|
||
hash: accessorDescriptor(getHash, function (hash) {
|
||
var url = getInternalURLState(this);
|
||
hash = String(hash);
|
||
if (hash == '') {
|
||
url.fragment = null;
|
||
return;
|
||
}
|
||
if ('#' == hash.charAt(0)) hash = hash.slice(1);
|
||
url.fragment = '';
|
||
parseURL(url, hash, FRAGMENT);
|
||
})
|
||
});
|
||
}
|
||
|
||
// `URL.prototype.toJSON` method
|
||
// https://url.spec.whatwg.org/#dom-url-tojson
|
||
redefine(URLPrototype, 'toJSON', function toJSON() {
|
||
return serializeURL.call(this);
|
||
}, { enumerable: true });
|
||
|
||
// `URL.prototype.toString` method
|
||
// https://url.spec.whatwg.org/#URL-stringification-behavior
|
||
redefine(URLPrototype, 'toString', function toString() {
|
||
return serializeURL.call(this);
|
||
}, { enumerable: true });
|
||
|
||
if (NativeURL) {
|
||
var nativeCreateObjectURL = NativeURL.createObjectURL;
|
||
var nativeRevokeObjectURL = NativeURL.revokeObjectURL;
|
||
// `URL.createObjectURL` method
|
||
// https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL
|
||
// eslint-disable-next-line no-unused-vars -- required for `.length`
|
||
if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {
|
||
return nativeCreateObjectURL.apply(NativeURL, arguments);
|
||
});
|
||
// `URL.revokeObjectURL` method
|
||
// https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL
|
||
// eslint-disable-next-line no-unused-vars -- required for `.length`
|
||
if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {
|
||
return nativeRevokeObjectURL.apply(NativeURL, arguments);
|
||
});
|
||
}
|
||
|
||
setToStringTag(URLConstructor, 'URL');
|
||
|
||
$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {
|
||
URL: URLConstructor
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/crypt/crypt.js":
|
||
/*!*************************************!*\
|
||
!*** ./node_modules/crypt/crypt.js ***!
|
||
\*************************************/
|
||
/***/ (function(module) {
|
||
|
||
(function() {
|
||
var base64map
|
||
= 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
|
||
|
||
crypt = {
|
||
// Bit-wise rotation left
|
||
rotl: function(n, b) {
|
||
return (n << b) | (n >>> (32 - b));
|
||
},
|
||
|
||
// Bit-wise rotation right
|
||
rotr: function(n, b) {
|
||
return (n << (32 - b)) | (n >>> b);
|
||
},
|
||
|
||
// Swap big-endian to little-endian and vice versa
|
||
endian: function(n) {
|
||
// If number given, swap endian
|
||
if (n.constructor == Number) {
|
||
return crypt.rotl(n, 8) & 0x00FF00FF | crypt.rotl(n, 24) & 0xFF00FF00;
|
||
}
|
||
|
||
// Else, assume array and swap all items
|
||
for (var i = 0; i < n.length; i++)
|
||
n[i] = crypt.endian(n[i]);
|
||
return n;
|
||
},
|
||
|
||
// Generate an array of any length of random bytes
|
||
randomBytes: function(n) {
|
||
for (var bytes = []; n > 0; n--)
|
||
bytes.push(Math.floor(Math.random() * 256));
|
||
return bytes;
|
||
},
|
||
|
||
// Convert a byte array to big-endian 32-bit words
|
||
bytesToWords: function(bytes) {
|
||
for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)
|
||
words[b >>> 5] |= bytes[i] << (24 - b % 32);
|
||
return words;
|
||
},
|
||
|
||
// Convert big-endian 32-bit words to a byte array
|
||
wordsToBytes: function(words) {
|
||
for (var bytes = [], b = 0; b < words.length * 32; b += 8)
|
||
bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);
|
||
return bytes;
|
||
},
|
||
|
||
// Convert a byte array to a hex string
|
||
bytesToHex: function(bytes) {
|
||
for (var hex = [], i = 0; i < bytes.length; i++) {
|
||
hex.push((bytes[i] >>> 4).toString(16));
|
||
hex.push((bytes[i] & 0xF).toString(16));
|
||
}
|
||
return hex.join('');
|
||
},
|
||
|
||
// Convert a hex string to a byte array
|
||
hexToBytes: function(hex) {
|
||
for (var bytes = [], c = 0; c < hex.length; c += 2)
|
||
bytes.push(parseInt(hex.substr(c, 2), 16));
|
||
return bytes;
|
||
},
|
||
|
||
// Convert a byte array to a base-64 string
|
||
bytesToBase64: function(bytes) {
|
||
for (var base64 = [], i = 0; i < bytes.length; i += 3) {
|
||
var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];
|
||
for (var j = 0; j < 4; j++)
|
||
if (i * 8 + j * 6 <= bytes.length * 8)
|
||
base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F));
|
||
else
|
||
base64.push('=');
|
||
}
|
||
return base64.join('');
|
||
},
|
||
|
||
// Convert a base-64 string to a byte array
|
||
base64ToBytes: function(base64) {
|
||
// Remove non-base-64 characters
|
||
base64 = base64.replace(/[^A-Z0-9+\/]/ig, '');
|
||
|
||
for (var bytes = [], i = 0, imod4 = 0; i < base64.length;
|
||
imod4 = ++i % 4) {
|
||
if (imod4 == 0) continue;
|
||
bytes.push(((base64map.indexOf(base64.charAt(i - 1))
|
||
& (Math.pow(2, -2 * imod4 + 8) - 1)) << (imod4 * 2))
|
||
| (base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));
|
||
}
|
||
return bytes;
|
||
}
|
||
};
|
||
|
||
module.exports = crypt;
|
||
})();
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/@nextcloud/dialogs/styles/toast.scss":
|
||
/*!****************************************************************************************************************************************!*\
|
||
!*** ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/@nextcloud/dialogs/styles/toast.scss ***!
|
||
\****************************************************************************************************************************************/
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
|
||
/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);
|
||
/* harmony import */ var _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../css-loader/dist/runtime/getUrl.js */ "./node_modules/css-loader/dist/runtime/getUrl.js");
|
||
/* harmony import */ var _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_1__);
|
||
/* harmony import */ var _close_svg__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./close.svg */ "./node_modules/@nextcloud/dialogs/styles/close.svg");
|
||
/* harmony import */ var _close_dark_svg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./close-dark.svg */ "./node_modules/@nextcloud/dialogs/styles/close-dark.svg");
|
||
// Imports
|
||
|
||
|
||
|
||
|
||
var ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(false);
|
||
var ___CSS_LOADER_URL_REPLACEMENT_0___ = _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_1___default()(_close_svg__WEBPACK_IMPORTED_MODULE_2__.default);
|
||
var ___CSS_LOADER_URL_REPLACEMENT_1___ = _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_1___default()(_close_dark_svg__WEBPACK_IMPORTED_MODULE_3__.default);
|
||
// Module
|
||
___CSS_LOADER_EXPORT___.push([module.id, "@charset \"UTF-8\";\n/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n.toastify.dialogs {\n min-width: 200px;\n background: none;\n background-color: var(--color-main-background);\n color: var(--color-main-text);\n box-shadow: 0 0 6px 0 var(--color-box-shadow);\n padding: 12px;\n padding-right: 34px;\n margin-top: 45px;\n position: fixed;\n z-index: 10100;\n border-radius: var(--border-radius);\n}\n.toastify.dialogs .toast-undo-button,\n.toastify.dialogs .toast-close {\n position: absolute;\n top: 0;\n right: 0;\n overflow: hidden;\n box-sizing: border-box;\n min-width: 44px;\n height: 100%;\n padding: 12px;\n white-space: nowrap;\n background-repeat: no-repeat;\n background-position: center;\n background-color: transparent;\n min-height: 0;\n}\n.toastify.dialogs .toast-undo-button.toast-close,\n.toastify.dialogs .toast-close.toast-close {\n background-image: url(" + ___CSS_LOADER_URL_REPLACEMENT_0___ + ");\n text-indent: 200%;\n opacity: 0.4;\n}\n.toastify.dialogs .toast-undo-button.toast-undo-button,\n.toastify.dialogs .toast-close.toast-undo-button {\n margin: 3px;\n height: calc(100% - 2 * 3px);\n}\n.toastify.dialogs .toast-undo-button:hover, .toastify.dialogs .toast-undo-button:focus, .toastify.dialogs .toast-undo-button:active,\n.toastify.dialogs .toast-close:hover,\n.toastify.dialogs .toast-close:focus,\n.toastify.dialogs .toast-close:active {\n cursor: pointer;\n opacity: 1;\n}\n.toastify.dialogs.toastify-top {\n right: 10px;\n}\n.toastify.dialogs.toast-with-click {\n cursor: pointer;\n}\n.toastify.dialogs.toast-error {\n border-left: 3px solid var(--color-error);\n}\n.toastify.dialogs.toast-info {\n border-left: 3px solid var(--color-primary);\n}\n.toastify.dialogs.toast-warning {\n border-left: 3px solid var(--color-warning);\n}\n.toastify.dialogs.toast-success {\n border-left: 3px solid var(--color-success);\n}\n.toastify.dialogs.toast-undo {\n border-left: 3px solid var(--color-success);\n}\n\n/* dark theme overrides */\n.theme--dark .toastify.dialogs .toast-close {\n /* close icon style */\n}\n.theme--dark .toastify.dialogs .toast-close.toast-close {\n background-image: url(" + ___CSS_LOADER_URL_REPLACEMENT_1___ + ");\n}", ""]);
|
||
// Exports
|
||
/* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/AdminSettings.vue?vue&type=style&index=0&id=c8770f2e&scoped=true&lang=scss&":
|
||
/*!******************************************************************************************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/AdminSettings.vue?vue&type=style&index=0&id=c8770f2e&scoped=true&lang=scss& ***!
|
||
\******************************************************************************************************************************************************************************************************************************************************************************************/
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
|
||
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);
|
||
// Imports
|
||
|
||
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(false);
|
||
// Module
|
||
___CSS_LOADER_EXPORT___.push([module.id, "p label[data-v-c8770f2e] {\n display: block;\n}\np.indent[data-v-c8770f2e] {\n padding-left: 28px;\n}", ""]);
|
||
// Exports
|
||
/* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/css-loader/dist/runtime/api.js":
|
||
/*!*****************************************************!*\
|
||
!*** ./node_modules/css-loader/dist/runtime/api.js ***!
|
||
\*****************************************************/
|
||
/***/ (function(module) {
|
||
|
||
"use strict";
|
||
|
||
|
||
/*
|
||
MIT License http://www.opensource.org/licenses/mit-license.php
|
||
Author Tobias Koppers @sokra
|
||
*/
|
||
// css base code, injected by the css-loader
|
||
// eslint-disable-next-line func-names
|
||
module.exports = function (useSourceMap) {
|
||
var list = []; // return the list of modules as css string
|
||
|
||
list.toString = function toString() {
|
||
return this.map(function (item) {
|
||
var content = cssWithMappingToString(item, useSourceMap);
|
||
|
||
if (item[2]) {
|
||
return "@media ".concat(item[2], " {").concat(content, "}");
|
||
}
|
||
|
||
return content;
|
||
}).join('');
|
||
}; // import a list of modules into the list
|
||
// eslint-disable-next-line func-names
|
||
|
||
|
||
list.i = function (modules, mediaQuery, dedupe) {
|
||
if (typeof modules === 'string') {
|
||
// eslint-disable-next-line no-param-reassign
|
||
modules = [[null, modules, '']];
|
||
}
|
||
|
||
var alreadyImportedModules = {};
|
||
|
||
if (dedupe) {
|
||
for (var i = 0; i < this.length; i++) {
|
||
// eslint-disable-next-line prefer-destructuring
|
||
var id = this[i][0];
|
||
|
||
if (id != null) {
|
||
alreadyImportedModules[id] = true;
|
||
}
|
||
}
|
||
}
|
||
|
||
for (var _i = 0; _i < modules.length; _i++) {
|
||
var item = [].concat(modules[_i]);
|
||
|
||
if (dedupe && alreadyImportedModules[item[0]]) {
|
||
// eslint-disable-next-line no-continue
|
||
continue;
|
||
}
|
||
|
||
if (mediaQuery) {
|
||
if (!item[2]) {
|
||
item[2] = mediaQuery;
|
||
} else {
|
||
item[2] = "".concat(mediaQuery, " and ").concat(item[2]);
|
||
}
|
||
}
|
||
|
||
list.push(item);
|
||
}
|
||
};
|
||
|
||
return list;
|
||
};
|
||
|
||
function cssWithMappingToString(item, useSourceMap) {
|
||
var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring
|
||
|
||
var cssMapping = item[3];
|
||
|
||
if (!cssMapping) {
|
||
return content;
|
||
}
|
||
|
||
if (useSourceMap && typeof btoa === 'function') {
|
||
var sourceMapping = toComment(cssMapping);
|
||
var sourceURLs = cssMapping.sources.map(function (source) {
|
||
return "/*# sourceURL=".concat(cssMapping.sourceRoot || '').concat(source, " */");
|
||
});
|
||
return [content].concat(sourceURLs).concat([sourceMapping]).join('\n');
|
||
}
|
||
|
||
return [content].join('\n');
|
||
} // Adapted from convert-source-map (MIT)
|
||
|
||
|
||
function toComment(sourceMap) {
|
||
// eslint-disable-next-line no-undef
|
||
var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));
|
||
var data = "sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(base64);
|
||
return "/*# ".concat(data, " */");
|
||
}
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/css-loader/dist/runtime/getUrl.js":
|
||
/*!********************************************************!*\
|
||
!*** ./node_modules/css-loader/dist/runtime/getUrl.js ***!
|
||
\********************************************************/
|
||
/***/ (function(module) {
|
||
|
||
"use strict";
|
||
|
||
|
||
module.exports = function (url, options) {
|
||
if (!options) {
|
||
// eslint-disable-next-line no-param-reassign
|
||
options = {};
|
||
} // eslint-disable-next-line no-underscore-dangle, no-param-reassign
|
||
|
||
|
||
url = url && url.__esModule ? url.default : url;
|
||
|
||
if (typeof url !== 'string') {
|
||
return url;
|
||
} // If url is already wrapped in quotes, remove them
|
||
|
||
|
||
if (/^['"].*['"]$/.test(url)) {
|
||
// eslint-disable-next-line no-param-reassign
|
||
url = url.slice(1, -1);
|
||
}
|
||
|
||
if (options.hash) {
|
||
// eslint-disable-next-line no-param-reassign
|
||
url += options.hash;
|
||
} // Should url be wrapped?
|
||
// See https://drafts.csswg.org/css-values-3/#urls
|
||
|
||
|
||
if (/["'() \t\n]/.test(url) || options.needQuotes) {
|
||
return "\"".concat(url.replace(/"/g, '\\"').replace(/\n/g, '\\n'), "\"");
|
||
}
|
||
|
||
return url;
|
||
};
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/debounce/index.js":
|
||
/*!****************************************!*\
|
||
!*** ./node_modules/debounce/index.js ***!
|
||
\****************************************/
|
||
/***/ (function(module) {
|
||
|
||
/**
|
||
* Returns a function, that, as long as it continues to be invoked, will not
|
||
* be triggered. The function will be called after it stops being called for
|
||
* N milliseconds. If `immediate` is passed, trigger the function on the
|
||
* leading edge, instead of the trailing. The function also has a property 'clear'
|
||
* that is a function which will clear the timer to prevent previously scheduled executions.
|
||
*
|
||
* @source underscore.js
|
||
* @see http://unscriptable.com/2009/03/20/debouncing-javascript-methods/
|
||
* @param {Function} function to wrap
|
||
* @param {Number} timeout in ms (`100`)
|
||
* @param {Boolean} whether to execute at the beginning (`false`)
|
||
* @api public
|
||
*/
|
||
function debounce(func, wait, immediate){
|
||
var timeout, args, context, timestamp, result;
|
||
if (null == wait) wait = 100;
|
||
|
||
function later() {
|
||
var last = Date.now() - timestamp;
|
||
|
||
if (last < wait && last >= 0) {
|
||
timeout = setTimeout(later, wait - last);
|
||
} else {
|
||
timeout = null;
|
||
if (!immediate) {
|
||
result = func.apply(context, args);
|
||
context = args = null;
|
||
}
|
||
}
|
||
};
|
||
|
||
var debounced = function(){
|
||
context = this;
|
||
args = arguments;
|
||
timestamp = Date.now();
|
||
var callNow = immediate && !timeout;
|
||
if (!timeout) timeout = setTimeout(later, wait);
|
||
if (callNow) {
|
||
result = func.apply(context, args);
|
||
context = args = null;
|
||
}
|
||
|
||
return result;
|
||
};
|
||
|
||
debounced.clear = function() {
|
||
if (timeout) {
|
||
clearTimeout(timeout);
|
||
timeout = null;
|
||
}
|
||
};
|
||
|
||
debounced.flush = function() {
|
||
if (timeout) {
|
||
result = func.apply(context, args);
|
||
context = args = null;
|
||
|
||
clearTimeout(timeout);
|
||
timeout = null;
|
||
}
|
||
};
|
||
|
||
return debounced;
|
||
};
|
||
|
||
// Adds compatibility for ES modules
|
||
debounce.debounce = debounce;
|
||
|
||
module.exports = debounce;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/define-properties/index.js":
|
||
/*!*************************************************!*\
|
||
!*** ./node_modules/define-properties/index.js ***!
|
||
\*************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var keys = __webpack_require__(/*! object-keys */ "./node_modules/object-keys/index.js");
|
||
var hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';
|
||
|
||
var toStr = Object.prototype.toString;
|
||
var concat = Array.prototype.concat;
|
||
var origDefineProperty = Object.defineProperty;
|
||
|
||
var isFunction = function (fn) {
|
||
return typeof fn === 'function' && toStr.call(fn) === '[object Function]';
|
||
};
|
||
|
||
var arePropertyDescriptorsSupported = function () {
|
||
var obj = {};
|
||
try {
|
||
origDefineProperty(obj, 'x', { enumerable: false, value: obj });
|
||
// eslint-disable-next-line no-unused-vars, no-restricted-syntax
|
||
for (var _ in obj) { // jscs:ignore disallowUnusedVariables
|
||
return false;
|
||
}
|
||
return obj.x === obj;
|
||
} catch (e) { /* this is IE 8. */
|
||
return false;
|
||
}
|
||
};
|
||
var supportsDescriptors = origDefineProperty && arePropertyDescriptorsSupported();
|
||
|
||
var defineProperty = function (object, name, value, predicate) {
|
||
if (name in object && (!isFunction(predicate) || !predicate())) {
|
||
return;
|
||
}
|
||
if (supportsDescriptors) {
|
||
origDefineProperty(object, name, {
|
||
configurable: true,
|
||
enumerable: false,
|
||
value: value,
|
||
writable: true
|
||
});
|
||
} else {
|
||
object[name] = value;
|
||
}
|
||
};
|
||
|
||
var defineProperties = function (object, map) {
|
||
var predicates = arguments.length > 2 ? arguments[2] : {};
|
||
var props = keys(map);
|
||
if (hasSymbols) {
|
||
props = concat.call(props, Object.getOwnPropertySymbols(map));
|
||
}
|
||
for (var i = 0; i < props.length; i += 1) {
|
||
defineProperty(object, props[i], map[props[i]], predicates[props[i]]);
|
||
}
|
||
};
|
||
|
||
defineProperties.supportsDescriptors = !!supportsDescriptors;
|
||
|
||
module.exports = defineProperties;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/es-abstract/helpers/getOwnPropertyDescriptor.js":
|
||
/*!**********************************************************************!*\
|
||
!*** ./node_modules/es-abstract/helpers/getOwnPropertyDescriptor.js ***!
|
||
\**********************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var GetIntrinsic = __webpack_require__(/*! get-intrinsic */ "./node_modules/get-intrinsic/index.js");
|
||
|
||
var $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%');
|
||
if ($gOPD) {
|
||
try {
|
||
$gOPD([], 'length');
|
||
} catch (e) {
|
||
// IE 8 has a broken gOPD
|
||
$gOPD = null;
|
||
}
|
||
}
|
||
|
||
module.exports = $gOPD;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/es6-object-assign/index.js":
|
||
/*!*************************************************!*\
|
||
!*** ./node_modules/es6-object-assign/index.js ***!
|
||
\*************************************************/
|
||
/***/ (function(module) {
|
||
|
||
"use strict";
|
||
/**
|
||
* Code refactored from Mozilla Developer Network:
|
||
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign
|
||
*/
|
||
|
||
|
||
|
||
function assign(target, firstSource) {
|
||
if (target === undefined || target === null) {
|
||
throw new TypeError('Cannot convert first argument to object');
|
||
}
|
||
|
||
var to = Object(target);
|
||
for (var i = 1; i < arguments.length; i++) {
|
||
var nextSource = arguments[i];
|
||
if (nextSource === undefined || nextSource === null) {
|
||
continue;
|
||
}
|
||
|
||
var keysArray = Object.keys(Object(nextSource));
|
||
for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex++) {
|
||
var nextKey = keysArray[nextIndex];
|
||
var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);
|
||
if (desc !== undefined && desc.enumerable) {
|
||
to[nextKey] = nextSource[nextKey];
|
||
}
|
||
}
|
||
}
|
||
return to;
|
||
}
|
||
|
||
function polyfill() {
|
||
if (!Object.assign) {
|
||
Object.defineProperty(Object, 'assign', {
|
||
enumerable: false,
|
||
configurable: true,
|
||
writable: true,
|
||
value: assign
|
||
});
|
||
}
|
||
}
|
||
|
||
module.exports = {
|
||
assign: assign,
|
||
polyfill: polyfill
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/escape-html/index.js":
|
||
/*!*******************************************!*\
|
||
!*** ./node_modules/escape-html/index.js ***!
|
||
\*******************************************/
|
||
/***/ (function(module) {
|
||
|
||
"use strict";
|
||
/*!
|
||
* escape-html
|
||
* Copyright(c) 2012-2013 TJ Holowaychuk
|
||
* Copyright(c) 2015 Andreas Lubbe
|
||
* Copyright(c) 2015 Tiancheng "Timothy" Gu
|
||
* MIT Licensed
|
||
*/
|
||
|
||
|
||
|
||
/**
|
||
* Module variables.
|
||
* @private
|
||
*/
|
||
|
||
var matchHtmlRegExp = /["'&<>]/;
|
||
|
||
/**
|
||
* Module exports.
|
||
* @public
|
||
*/
|
||
|
||
module.exports = escapeHtml;
|
||
|
||
/**
|
||
* Escape special characters in the given string of html.
|
||
*
|
||
* @param {string} string The string to escape for inserting into HTML
|
||
* @return {string}
|
||
* @public
|
||
*/
|
||
|
||
function escapeHtml(string) {
|
||
var str = '' + string;
|
||
var match = matchHtmlRegExp.exec(str);
|
||
|
||
if (!match) {
|
||
return str;
|
||
}
|
||
|
||
var escape;
|
||
var html = '';
|
||
var index = 0;
|
||
var lastIndex = 0;
|
||
|
||
for (index = match.index; index < str.length; index++) {
|
||
switch (str.charCodeAt(index)) {
|
||
case 34: // "
|
||
escape = '"';
|
||
break;
|
||
case 38: // &
|
||
escape = '&';
|
||
break;
|
||
case 39: // '
|
||
escape = ''';
|
||
break;
|
||
case 60: // <
|
||
escape = '<';
|
||
break;
|
||
case 62: // >
|
||
escape = '>';
|
||
break;
|
||
default:
|
||
continue;
|
||
}
|
||
|
||
if (lastIndex !== index) {
|
||
html += str.substring(lastIndex, index);
|
||
}
|
||
|
||
lastIndex = index + 1;
|
||
html += escape;
|
||
}
|
||
|
||
return lastIndex !== index
|
||
? html + str.substring(lastIndex, index)
|
||
: html;
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/foreach/index.js":
|
||
/*!***************************************!*\
|
||
!*** ./node_modules/foreach/index.js ***!
|
||
\***************************************/
|
||
/***/ (function(module) {
|
||
|
||
|
||
var hasOwn = Object.prototype.hasOwnProperty;
|
||
var toString = Object.prototype.toString;
|
||
|
||
module.exports = function forEach (obj, fn, ctx) {
|
||
if (toString.call(fn) !== '[object Function]') {
|
||
throw new TypeError('iterator must be a function');
|
||
}
|
||
var l = obj.length;
|
||
if (l === +l) {
|
||
for (var i = 0; i < l; i++) {
|
||
fn.call(ctx, obj[i], i, obj);
|
||
}
|
||
} else {
|
||
for (var k in obj) {
|
||
if (hasOwn.call(obj, k)) {
|
||
fn.call(ctx, obj[k], k, obj);
|
||
}
|
||
}
|
||
}
|
||
};
|
||
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/function-bind/implementation.js":
|
||
/*!******************************************************!*\
|
||
!*** ./node_modules/function-bind/implementation.js ***!
|
||
\******************************************************/
|
||
/***/ (function(module) {
|
||
|
||
"use strict";
|
||
|
||
|
||
/* eslint no-invalid-this: 1 */
|
||
|
||
var ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';
|
||
var slice = Array.prototype.slice;
|
||
var toStr = Object.prototype.toString;
|
||
var funcType = '[object Function]';
|
||
|
||
module.exports = function bind(that) {
|
||
var target = this;
|
||
if (typeof target !== 'function' || toStr.call(target) !== funcType) {
|
||
throw new TypeError(ERROR_MESSAGE + target);
|
||
}
|
||
var args = slice.call(arguments, 1);
|
||
|
||
var bound;
|
||
var binder = function () {
|
||
if (this instanceof bound) {
|
||
var result = target.apply(
|
||
this,
|
||
args.concat(slice.call(arguments))
|
||
);
|
||
if (Object(result) === result) {
|
||
return result;
|
||
}
|
||
return this;
|
||
} else {
|
||
return target.apply(
|
||
that,
|
||
args.concat(slice.call(arguments))
|
||
);
|
||
}
|
||
};
|
||
|
||
var boundLength = Math.max(0, target.length - args.length);
|
||
var boundArgs = [];
|
||
for (var i = 0; i < boundLength; i++) {
|
||
boundArgs.push('$' + i);
|
||
}
|
||
|
||
bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);
|
||
|
||
if (target.prototype) {
|
||
var Empty = function Empty() {};
|
||
Empty.prototype = target.prototype;
|
||
bound.prototype = new Empty();
|
||
Empty.prototype = null;
|
||
}
|
||
|
||
return bound;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/function-bind/index.js":
|
||
/*!*********************************************!*\
|
||
!*** ./node_modules/function-bind/index.js ***!
|
||
\*********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var implementation = __webpack_require__(/*! ./implementation */ "./node_modules/function-bind/implementation.js");
|
||
|
||
module.exports = Function.prototype.bind || implementation;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/get-intrinsic/index.js":
|
||
/*!*********************************************!*\
|
||
!*** ./node_modules/get-intrinsic/index.js ***!
|
||
\*********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var undefined;
|
||
|
||
var $SyntaxError = SyntaxError;
|
||
var $Function = Function;
|
||
var $TypeError = TypeError;
|
||
|
||
// eslint-disable-next-line consistent-return
|
||
var getEvalledConstructor = function (expressionSyntax) {
|
||
try {
|
||
return $Function('"use strict"; return (' + expressionSyntax + ').constructor;')();
|
||
} catch (e) {}
|
||
};
|
||
|
||
var $gOPD = Object.getOwnPropertyDescriptor;
|
||
if ($gOPD) {
|
||
try {
|
||
$gOPD({}, '');
|
||
} catch (e) {
|
||
$gOPD = null; // this is IE 8, which has a broken gOPD
|
||
}
|
||
}
|
||
|
||
var throwTypeError = function () {
|
||
throw new $TypeError();
|
||
};
|
||
var ThrowTypeError = $gOPD
|
||
? (function () {
|
||
try {
|
||
// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties
|
||
arguments.callee; // IE 8 does not throw here
|
||
return throwTypeError;
|
||
} catch (calleeThrows) {
|
||
try {
|
||
// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')
|
||
return $gOPD(arguments, 'callee').get;
|
||
} catch (gOPDthrows) {
|
||
return throwTypeError;
|
||
}
|
||
}
|
||
}())
|
||
: throwTypeError;
|
||
|
||
var hasSymbols = __webpack_require__(/*! has-symbols */ "./node_modules/has-symbols/index.js")();
|
||
|
||
var getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto
|
||
|
||
var needsEval = {};
|
||
|
||
var TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);
|
||
|
||
var INTRINSICS = {
|
||
'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,
|
||
'%Array%': Array,
|
||
'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,
|
||
'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,
|
||
'%AsyncFromSyncIteratorPrototype%': undefined,
|
||
'%AsyncFunction%': needsEval,
|
||
'%AsyncGenerator%': needsEval,
|
||
'%AsyncGeneratorFunction%': needsEval,
|
||
'%AsyncIteratorPrototype%': needsEval,
|
||
'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,
|
||
'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,
|
||
'%Boolean%': Boolean,
|
||
'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,
|
||
'%Date%': Date,
|
||
'%decodeURI%': decodeURI,
|
||
'%decodeURIComponent%': decodeURIComponent,
|
||
'%encodeURI%': encodeURI,
|
||
'%encodeURIComponent%': encodeURIComponent,
|
||
'%Error%': Error,
|
||
'%eval%': eval, // eslint-disable-line no-eval
|
||
'%EvalError%': EvalError,
|
||
'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,
|
||
'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,
|
||
'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,
|
||
'%Function%': $Function,
|
||
'%GeneratorFunction%': needsEval,
|
||
'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,
|
||
'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,
|
||
'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,
|
||
'%isFinite%': isFinite,
|
||
'%isNaN%': isNaN,
|
||
'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,
|
||
'%JSON%': typeof JSON === 'object' ? JSON : undefined,
|
||
'%Map%': typeof Map === 'undefined' ? undefined : Map,
|
||
'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),
|
||
'%Math%': Math,
|
||
'%Number%': Number,
|
||
'%Object%': Object,
|
||
'%parseFloat%': parseFloat,
|
||
'%parseInt%': parseInt,
|
||
'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,
|
||
'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,
|
||
'%RangeError%': RangeError,
|
||
'%ReferenceError%': ReferenceError,
|
||
'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,
|
||
'%RegExp%': RegExp,
|
||
'%Set%': typeof Set === 'undefined' ? undefined : Set,
|
||
'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),
|
||
'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,
|
||
'%String%': String,
|
||
'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,
|
||
'%Symbol%': hasSymbols ? Symbol : undefined,
|
||
'%SyntaxError%': $SyntaxError,
|
||
'%ThrowTypeError%': ThrowTypeError,
|
||
'%TypedArray%': TypedArray,
|
||
'%TypeError%': $TypeError,
|
||
'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,
|
||
'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,
|
||
'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,
|
||
'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,
|
||
'%URIError%': URIError,
|
||
'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,
|
||
'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,
|
||
'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet
|
||
};
|
||
|
||
var doEval = function doEval(name) {
|
||
var value;
|
||
if (name === '%AsyncFunction%') {
|
||
value = getEvalledConstructor('async function () {}');
|
||
} else if (name === '%GeneratorFunction%') {
|
||
value = getEvalledConstructor('function* () {}');
|
||
} else if (name === '%AsyncGeneratorFunction%') {
|
||
value = getEvalledConstructor('async function* () {}');
|
||
} else if (name === '%AsyncGenerator%') {
|
||
var fn = doEval('%AsyncGeneratorFunction%');
|
||
if (fn) {
|
||
value = fn.prototype;
|
||
}
|
||
} else if (name === '%AsyncIteratorPrototype%') {
|
||
var gen = doEval('%AsyncGenerator%');
|
||
if (gen) {
|
||
value = getProto(gen.prototype);
|
||
}
|
||
}
|
||
|
||
INTRINSICS[name] = value;
|
||
|
||
return value;
|
||
};
|
||
|
||
var LEGACY_ALIASES = {
|
||
'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],
|
||
'%ArrayPrototype%': ['Array', 'prototype'],
|
||
'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],
|
||
'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],
|
||
'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],
|
||
'%ArrayProto_values%': ['Array', 'prototype', 'values'],
|
||
'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],
|
||
'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],
|
||
'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],
|
||
'%BooleanPrototype%': ['Boolean', 'prototype'],
|
||
'%DataViewPrototype%': ['DataView', 'prototype'],
|
||
'%DatePrototype%': ['Date', 'prototype'],
|
||
'%ErrorPrototype%': ['Error', 'prototype'],
|
||
'%EvalErrorPrototype%': ['EvalError', 'prototype'],
|
||
'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],
|
||
'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],
|
||
'%FunctionPrototype%': ['Function', 'prototype'],
|
||
'%Generator%': ['GeneratorFunction', 'prototype'],
|
||
'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],
|
||
'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],
|
||
'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],
|
||
'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],
|
||
'%JSONParse%': ['JSON', 'parse'],
|
||
'%JSONStringify%': ['JSON', 'stringify'],
|
||
'%MapPrototype%': ['Map', 'prototype'],
|
||
'%NumberPrototype%': ['Number', 'prototype'],
|
||
'%ObjectPrototype%': ['Object', 'prototype'],
|
||
'%ObjProto_toString%': ['Object', 'prototype', 'toString'],
|
||
'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],
|
||
'%PromisePrototype%': ['Promise', 'prototype'],
|
||
'%PromiseProto_then%': ['Promise', 'prototype', 'then'],
|
||
'%Promise_all%': ['Promise', 'all'],
|
||
'%Promise_reject%': ['Promise', 'reject'],
|
||
'%Promise_resolve%': ['Promise', 'resolve'],
|
||
'%RangeErrorPrototype%': ['RangeError', 'prototype'],
|
||
'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],
|
||
'%RegExpPrototype%': ['RegExp', 'prototype'],
|
||
'%SetPrototype%': ['Set', 'prototype'],
|
||
'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],
|
||
'%StringPrototype%': ['String', 'prototype'],
|
||
'%SymbolPrototype%': ['Symbol', 'prototype'],
|
||
'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],
|
||
'%TypedArrayPrototype%': ['TypedArray', 'prototype'],
|
||
'%TypeErrorPrototype%': ['TypeError', 'prototype'],
|
||
'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],
|
||
'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],
|
||
'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],
|
||
'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],
|
||
'%URIErrorPrototype%': ['URIError', 'prototype'],
|
||
'%WeakMapPrototype%': ['WeakMap', 'prototype'],
|
||
'%WeakSetPrototype%': ['WeakSet', 'prototype']
|
||
};
|
||
|
||
var bind = __webpack_require__(/*! function-bind */ "./node_modules/function-bind/index.js");
|
||
var hasOwn = __webpack_require__(/*! has */ "./node_modules/has/src/index.js");
|
||
var $concat = bind.call(Function.call, Array.prototype.concat);
|
||
var $spliceApply = bind.call(Function.apply, Array.prototype.splice);
|
||
var $replace = bind.call(Function.call, String.prototype.replace);
|
||
var $strSlice = bind.call(Function.call, String.prototype.slice);
|
||
|
||
/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */
|
||
var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g;
|
||
var reEscapeChar = /\\(\\)?/g; /** Used to match backslashes in property paths. */
|
||
var stringToPath = function stringToPath(string) {
|
||
var first = $strSlice(string, 0, 1);
|
||
var last = $strSlice(string, -1);
|
||
if (first === '%' && last !== '%') {
|
||
throw new $SyntaxError('invalid intrinsic syntax, expected closing `%`');
|
||
} else if (last === '%' && first !== '%') {
|
||
throw new $SyntaxError('invalid intrinsic syntax, expected opening `%`');
|
||
}
|
||
var result = [];
|
||
$replace(string, rePropName, function (match, number, quote, subString) {
|
||
result[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;
|
||
});
|
||
return result;
|
||
};
|
||
/* end adaptation */
|
||
|
||
var getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {
|
||
var intrinsicName = name;
|
||
var alias;
|
||
if (hasOwn(LEGACY_ALIASES, intrinsicName)) {
|
||
alias = LEGACY_ALIASES[intrinsicName];
|
||
intrinsicName = '%' + alias[0] + '%';
|
||
}
|
||
|
||
if (hasOwn(INTRINSICS, intrinsicName)) {
|
||
var value = INTRINSICS[intrinsicName];
|
||
if (value === needsEval) {
|
||
value = doEval(intrinsicName);
|
||
}
|
||
if (typeof value === 'undefined' && !allowMissing) {
|
||
throw new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');
|
||
}
|
||
|
||
return {
|
||
alias: alias,
|
||
name: intrinsicName,
|
||
value: value
|
||
};
|
||
}
|
||
|
||
throw new $SyntaxError('intrinsic ' + name + ' does not exist!');
|
||
};
|
||
|
||
module.exports = function GetIntrinsic(name, allowMissing) {
|
||
if (typeof name !== 'string' || name.length === 0) {
|
||
throw new $TypeError('intrinsic name must be a non-empty string');
|
||
}
|
||
if (arguments.length > 1 && typeof allowMissing !== 'boolean') {
|
||
throw new $TypeError('"allowMissing" argument must be a boolean');
|
||
}
|
||
|
||
var parts = stringToPath(name);
|
||
var intrinsicBaseName = parts.length > 0 ? parts[0] : '';
|
||
|
||
var intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);
|
||
var intrinsicRealName = intrinsic.name;
|
||
var value = intrinsic.value;
|
||
var skipFurtherCaching = false;
|
||
|
||
var alias = intrinsic.alias;
|
||
if (alias) {
|
||
intrinsicBaseName = alias[0];
|
||
$spliceApply(parts, $concat([0, 1], alias));
|
||
}
|
||
|
||
for (var i = 1, isOwn = true; i < parts.length; i += 1) {
|
||
var part = parts[i];
|
||
var first = $strSlice(part, 0, 1);
|
||
var last = $strSlice(part, -1);
|
||
if (
|
||
(
|
||
(first === '"' || first === "'" || first === '`')
|
||
|| (last === '"' || last === "'" || last === '`')
|
||
)
|
||
&& first !== last
|
||
) {
|
||
throw new $SyntaxError('property names with quotes must have matching quotes');
|
||
}
|
||
if (part === 'constructor' || !isOwn) {
|
||
skipFurtherCaching = true;
|
||
}
|
||
|
||
intrinsicBaseName += '.' + part;
|
||
intrinsicRealName = '%' + intrinsicBaseName + '%';
|
||
|
||
if (hasOwn(INTRINSICS, intrinsicRealName)) {
|
||
value = INTRINSICS[intrinsicRealName];
|
||
} else if (value != null) {
|
||
if (!(part in value)) {
|
||
if (!allowMissing) {
|
||
throw new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');
|
||
}
|
||
return void undefined;
|
||
}
|
||
if ($gOPD && (i + 1) >= parts.length) {
|
||
var desc = $gOPD(value, part);
|
||
isOwn = !!desc;
|
||
|
||
// By convention, when a data property is converted to an accessor
|
||
// property to emulate a data property that does not suffer from
|
||
// the override mistake, that accessor's getter is marked with
|
||
// an `originalValue` property. Here, when we detect this, we
|
||
// uphold the illusion by pretending to see that original data
|
||
// property, i.e., returning the value rather than the getter
|
||
// itself.
|
||
if (isOwn && 'get' in desc && !('originalValue' in desc.get)) {
|
||
value = desc.get;
|
||
} else {
|
||
value = value[part];
|
||
}
|
||
} else {
|
||
isOwn = hasOwn(value, part);
|
||
value = value[part];
|
||
}
|
||
|
||
if (isOwn && !skipFurtherCaching) {
|
||
INTRINSICS[intrinsicRealName] = value;
|
||
}
|
||
}
|
||
}
|
||
return value;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/has-symbols/index.js":
|
||
/*!*******************************************!*\
|
||
!*** ./node_modules/has-symbols/index.js ***!
|
||
\*******************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var origSymbol = typeof Symbol !== 'undefined' && Symbol;
|
||
var hasSymbolSham = __webpack_require__(/*! ./shams */ "./node_modules/has-symbols/shams.js");
|
||
|
||
module.exports = function hasNativeSymbols() {
|
||
if (typeof origSymbol !== 'function') { return false; }
|
||
if (typeof Symbol !== 'function') { return false; }
|
||
if (typeof origSymbol('foo') !== 'symbol') { return false; }
|
||
if (typeof Symbol('bar') !== 'symbol') { return false; }
|
||
|
||
return hasSymbolSham();
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/has-symbols/shams.js":
|
||
/*!*******************************************!*\
|
||
!*** ./node_modules/has-symbols/shams.js ***!
|
||
\*******************************************/
|
||
/***/ (function(module) {
|
||
|
||
"use strict";
|
||
|
||
|
||
/* eslint complexity: [2, 18], max-statements: [2, 33] */
|
||
module.exports = function hasSymbols() {
|
||
if (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }
|
||
if (typeof Symbol.iterator === 'symbol') { return true; }
|
||
|
||
var obj = {};
|
||
var sym = Symbol('test');
|
||
var symObj = Object(sym);
|
||
if (typeof sym === 'string') { return false; }
|
||
|
||
if (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }
|
||
if (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }
|
||
|
||
// temp disabled per https://github.com/ljharb/object.assign/issues/17
|
||
// if (sym instanceof Symbol) { return false; }
|
||
// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4
|
||
// if (!(symObj instanceof Symbol)) { return false; }
|
||
|
||
// if (typeof Symbol.prototype.toString !== 'function') { return false; }
|
||
// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }
|
||
|
||
var symVal = 42;
|
||
obj[sym] = symVal;
|
||
for (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop
|
||
if (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }
|
||
|
||
if (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }
|
||
|
||
var syms = Object.getOwnPropertySymbols(obj);
|
||
if (syms.length !== 1 || syms[0] !== sym) { return false; }
|
||
|
||
if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }
|
||
|
||
if (typeof Object.getOwnPropertyDescriptor === 'function') {
|
||
var descriptor = Object.getOwnPropertyDescriptor(obj, sym);
|
||
if (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }
|
||
}
|
||
|
||
return true;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/has/src/index.js":
|
||
/*!***************************************!*\
|
||
!*** ./node_modules/has/src/index.js ***!
|
||
\***************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var bind = __webpack_require__(/*! function-bind */ "./node_modules/function-bind/index.js");
|
||
|
||
module.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/inherits/inherits_browser.js":
|
||
/*!***************************************************!*\
|
||
!*** ./node_modules/inherits/inherits_browser.js ***!
|
||
\***************************************************/
|
||
/***/ (function(module) {
|
||
|
||
if (typeof Object.create === 'function') {
|
||
// implementation from standard node.js 'util' module
|
||
module.exports = function inherits(ctor, superCtor) {
|
||
if (superCtor) {
|
||
ctor.super_ = superCtor
|
||
ctor.prototype = Object.create(superCtor.prototype, {
|
||
constructor: {
|
||
value: ctor,
|
||
enumerable: false,
|
||
writable: true,
|
||
configurable: true
|
||
}
|
||
})
|
||
}
|
||
};
|
||
} else {
|
||
// old school shim for old browsers
|
||
module.exports = function inherits(ctor, superCtor) {
|
||
if (superCtor) {
|
||
ctor.super_ = superCtor
|
||
var TempCtor = function () {}
|
||
TempCtor.prototype = superCtor.prototype
|
||
ctor.prototype = new TempCtor()
|
||
ctor.prototype.constructor = ctor
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/is-arguments/index.js":
|
||
/*!********************************************!*\
|
||
!*** ./node_modules/is-arguments/index.js ***!
|
||
\********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';
|
||
var callBound = __webpack_require__(/*! call-bind/callBound */ "./node_modules/call-bind/callBound.js");
|
||
|
||
var $toString = callBound('Object.prototype.toString');
|
||
|
||
var isStandardArguments = function isArguments(value) {
|
||
if (hasToStringTag && value && typeof value === 'object' && Symbol.toStringTag in value) {
|
||
return false;
|
||
}
|
||
return $toString(value) === '[object Arguments]';
|
||
};
|
||
|
||
var isLegacyArguments = function isArguments(value) {
|
||
if (isStandardArguments(value)) {
|
||
return true;
|
||
}
|
||
return value !== null &&
|
||
typeof value === 'object' &&
|
||
typeof value.length === 'number' &&
|
||
value.length >= 0 &&
|
||
$toString(value) !== '[object Array]' &&
|
||
$toString(value.callee) === '[object Function]';
|
||
};
|
||
|
||
var supportsStandardArguments = (function () {
|
||
return isStandardArguments(arguments);
|
||
}());
|
||
|
||
isStandardArguments.isLegacyArguments = isLegacyArguments; // for tests
|
||
|
||
module.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/is-buffer/index.js":
|
||
/*!*****************************************!*\
|
||
!*** ./node_modules/is-buffer/index.js ***!
|
||
\*****************************************/
|
||
/***/ (function(module) {
|
||
|
||
/*!
|
||
* Determine if an object is a Buffer
|
||
*
|
||
* @author Feross Aboukhadijeh <https://feross.org>
|
||
* @license MIT
|
||
*/
|
||
|
||
// The _isBuffer check is for Safari 5-7 support, because it's missing
|
||
// Object.prototype.constructor. Remove this eventually
|
||
module.exports = function (obj) {
|
||
return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)
|
||
}
|
||
|
||
function isBuffer (obj) {
|
||
return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)
|
||
}
|
||
|
||
// For Node v0.10 support. Remove this eventually.
|
||
function isSlowBuffer (obj) {
|
||
return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/is-generator-function/index.js":
|
||
/*!*****************************************************!*\
|
||
!*** ./node_modules/is-generator-function/index.js ***!
|
||
\*****************************************************/
|
||
/***/ (function(module) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var toStr = Object.prototype.toString;
|
||
var fnToStr = Function.prototype.toString;
|
||
var isFnRegex = /^\s*(?:function)?\*/;
|
||
var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';
|
||
var getProto = Object.getPrototypeOf;
|
||
var getGeneratorFunc = function () { // eslint-disable-line consistent-return
|
||
if (!hasToStringTag) {
|
||
return false;
|
||
}
|
||
try {
|
||
return Function('return function*() {}')();
|
||
} catch (e) {
|
||
}
|
||
};
|
||
var generatorFunc = getGeneratorFunc();
|
||
var GeneratorFunction = getProto && generatorFunc ? getProto(generatorFunc) : false;
|
||
|
||
module.exports = function isGeneratorFunction(fn) {
|
||
if (typeof fn !== 'function') {
|
||
return false;
|
||
}
|
||
if (isFnRegex.test(fnToStr.call(fn))) {
|
||
return true;
|
||
}
|
||
if (!hasToStringTag) {
|
||
var str = toStr.call(fn);
|
||
return str === '[object GeneratorFunction]';
|
||
}
|
||
return getProto && getProto(fn) === GeneratorFunction;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/is-nan/implementation.js":
|
||
/*!***********************************************!*\
|
||
!*** ./node_modules/is-nan/implementation.js ***!
|
||
\***********************************************/
|
||
/***/ (function(module) {
|
||
|
||
"use strict";
|
||
|
||
|
||
/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */
|
||
|
||
module.exports = function isNaN(value) {
|
||
return value !== value;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/is-nan/index.js":
|
||
/*!**************************************!*\
|
||
!*** ./node_modules/is-nan/index.js ***!
|
||
\**************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var callBind = __webpack_require__(/*! call-bind */ "./node_modules/call-bind/index.js");
|
||
var define = __webpack_require__(/*! define-properties */ "./node_modules/define-properties/index.js");
|
||
|
||
var implementation = __webpack_require__(/*! ./implementation */ "./node_modules/is-nan/implementation.js");
|
||
var getPolyfill = __webpack_require__(/*! ./polyfill */ "./node_modules/is-nan/polyfill.js");
|
||
var shim = __webpack_require__(/*! ./shim */ "./node_modules/is-nan/shim.js");
|
||
|
||
var polyfill = callBind(getPolyfill(), Number);
|
||
|
||
/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */
|
||
|
||
define(polyfill, {
|
||
getPolyfill: getPolyfill,
|
||
implementation: implementation,
|
||
shim: shim
|
||
});
|
||
|
||
module.exports = polyfill;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/is-nan/polyfill.js":
|
||
/*!*****************************************!*\
|
||
!*** ./node_modules/is-nan/polyfill.js ***!
|
||
\*****************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var implementation = __webpack_require__(/*! ./implementation */ "./node_modules/is-nan/implementation.js");
|
||
|
||
module.exports = function getPolyfill() {
|
||
if (Number.isNaN && Number.isNaN(NaN) && !Number.isNaN('a')) {
|
||
return Number.isNaN;
|
||
}
|
||
return implementation;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/is-nan/shim.js":
|
||
/*!*************************************!*\
|
||
!*** ./node_modules/is-nan/shim.js ***!
|
||
\*************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var define = __webpack_require__(/*! define-properties */ "./node_modules/define-properties/index.js");
|
||
var getPolyfill = __webpack_require__(/*! ./polyfill */ "./node_modules/is-nan/polyfill.js");
|
||
|
||
/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */
|
||
|
||
module.exports = function shimNumberIsNaN() {
|
||
var polyfill = getPolyfill();
|
||
define(Number, { isNaN: polyfill }, {
|
||
isNaN: function testIsNaN() {
|
||
return Number.isNaN !== polyfill;
|
||
}
|
||
});
|
||
return polyfill;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/is-typed-array/index.js":
|
||
/*!**********************************************!*\
|
||
!*** ./node_modules/is-typed-array/index.js ***!
|
||
\**********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var forEach = __webpack_require__(/*! foreach */ "./node_modules/foreach/index.js");
|
||
var availableTypedArrays = __webpack_require__(/*! available-typed-arrays */ "./node_modules/available-typed-arrays/index.js");
|
||
var callBound = __webpack_require__(/*! call-bind/callBound */ "./node_modules/call-bind/callBound.js");
|
||
|
||
var $toString = callBound('Object.prototype.toString');
|
||
var hasSymbols = __webpack_require__(/*! has-symbols */ "./node_modules/has-symbols/index.js")();
|
||
var hasToStringTag = hasSymbols && typeof Symbol.toStringTag === 'symbol';
|
||
|
||
var typedArrays = availableTypedArrays();
|
||
|
||
var $indexOf = callBound('Array.prototype.indexOf', true) || function indexOf(array, value) {
|
||
for (var i = 0; i < array.length; i += 1) {
|
||
if (array[i] === value) {
|
||
return i;
|
||
}
|
||
}
|
||
return -1;
|
||
};
|
||
var $slice = callBound('String.prototype.slice');
|
||
var toStrTags = {};
|
||
var gOPD = __webpack_require__(/*! es-abstract/helpers/getOwnPropertyDescriptor */ "./node_modules/es-abstract/helpers/getOwnPropertyDescriptor.js");
|
||
var getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');
|
||
if (hasToStringTag && gOPD && getPrototypeOf) {
|
||
forEach(typedArrays, function (typedArray) {
|
||
var arr = new __webpack_require__.g[typedArray]();
|
||
if (!(Symbol.toStringTag in arr)) {
|
||
throw new EvalError('this engine has support for Symbol.toStringTag, but ' + typedArray + ' does not have the property! Please report this.');
|
||
}
|
||
var proto = getPrototypeOf(arr);
|
||
var descriptor = gOPD(proto, Symbol.toStringTag);
|
||
if (!descriptor) {
|
||
var superProto = getPrototypeOf(proto);
|
||
descriptor = gOPD(superProto, Symbol.toStringTag);
|
||
}
|
||
toStrTags[typedArray] = descriptor.get;
|
||
});
|
||
}
|
||
|
||
var tryTypedArrays = function tryAllTypedArrays(value) {
|
||
var anyTrue = false;
|
||
forEach(toStrTags, function (getter, typedArray) {
|
||
if (!anyTrue) {
|
||
try {
|
||
anyTrue = getter.call(value) === typedArray;
|
||
} catch (e) { /**/ }
|
||
}
|
||
});
|
||
return anyTrue;
|
||
};
|
||
|
||
module.exports = function isTypedArray(value) {
|
||
if (!value || typeof value !== 'object') { return false; }
|
||
if (!hasToStringTag) {
|
||
var tag = $slice($toString(value), 8, -1);
|
||
return $indexOf(typedArrays, tag) > -1;
|
||
}
|
||
if (!gOPD) { return false; }
|
||
return tryTypedArrays(value);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/linkifyjs/lib/linkify-string.js":
|
||
/*!******************************************************!*\
|
||
!*** ./node_modules/linkifyjs/lib/linkify-string.js ***!
|
||
\******************************************************/
|
||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
exports.__esModule = true;
|
||
|
||
var _linkify = __webpack_require__(/*! ./linkify */ "./node_modules/linkifyjs/lib/linkify.js");
|
||
|
||
var linkify = _interopRequireWildcard(_linkify);
|
||
|
||
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; } }
|
||
|
||
var tokenize = linkify.tokenize,
|
||
options = linkify.options; /**
|
||
Convert strings of text into linkable HTML text
|
||
*/
|
||
|
||
var Options = options.Options;
|
||
|
||
|
||
function escapeText(text) {
|
||
return text.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');
|
||
}
|
||
|
||
function escapeAttr(href) {
|
||
return href.replace(/"/g, '"');
|
||
}
|
||
|
||
function attributesToString(attributes) {
|
||
if (!attributes) {
|
||
return '';
|
||
}
|
||
var result = [];
|
||
|
||
for (var attr in attributes) {
|
||
var val = attributes[attr] + '';
|
||
result.push(attr + '="' + escapeAttr(val) + '"');
|
||
}
|
||
return result.join(' ');
|
||
}
|
||
|
||
function linkifyStr(str) {
|
||
var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
||
|
||
opts = new Options(opts);
|
||
|
||
var tokens = tokenize(str);
|
||
var result = [];
|
||
|
||
for (var i = 0; i < tokens.length; i++) {
|
||
var token = tokens[i];
|
||
|
||
if (token.type === 'nl' && opts.nl2br) {
|
||
result.push('<br>\n');
|
||
continue;
|
||
} else if (!token.isLink || !opts.check(token)) {
|
||
result.push(escapeText(token.toString()));
|
||
continue;
|
||
}
|
||
|
||
var _opts$resolve = opts.resolve(token),
|
||
formatted = _opts$resolve.formatted,
|
||
formattedHref = _opts$resolve.formattedHref,
|
||
tagName = _opts$resolve.tagName,
|
||
className = _opts$resolve.className,
|
||
target = _opts$resolve.target,
|
||
attributes = _opts$resolve.attributes;
|
||
|
||
var link = '<' + tagName + ' href="' + escapeAttr(formattedHref) + '"';
|
||
|
||
if (className) {
|
||
link += ' class="' + escapeAttr(className) + '"';
|
||
}
|
||
|
||
if (target) {
|
||
link += ' target="' + escapeAttr(target) + '"';
|
||
}
|
||
|
||
if (attributes) {
|
||
link += ' ' + attributesToString(attributes);
|
||
}
|
||
|
||
link += '>' + escapeText(formatted) + '</' + tagName + '>';
|
||
result.push(link);
|
||
}
|
||
|
||
return result.join('');
|
||
}
|
||
|
||
if (!String.prototype.linkify) {
|
||
try {
|
||
Object.defineProperty(String.prototype, 'linkify', {
|
||
set: function set() {},
|
||
get: function get() {
|
||
return function linkify(opts) {
|
||
return linkifyStr(this, opts);
|
||
};
|
||
}
|
||
});
|
||
} catch (e) {
|
||
// IE 8 doesn't like Object.defineProperty on non-DOM objects
|
||
if (!String.prototype.linkify) {
|
||
String.prototype.linkify = function (opts) {
|
||
return linkifyStr(this, opts);
|
||
};
|
||
}
|
||
}
|
||
}
|
||
|
||
exports.default = linkifyStr;
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/linkifyjs/lib/linkify.js":
|
||
/*!***********************************************!*\
|
||
!*** ./node_modules/linkifyjs/lib/linkify.js ***!
|
||
\***********************************************/
|
||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
exports.__esModule = true;
|
||
exports.tokenize = exports.test = exports.scanner = exports.parser = exports.options = exports.inherits = exports.find = undefined;
|
||
|
||
var _class = __webpack_require__(/*! ./linkify/utils/class */ "./node_modules/linkifyjs/lib/linkify/utils/class.js");
|
||
|
||
var _options = __webpack_require__(/*! ./linkify/utils/options */ "./node_modules/linkifyjs/lib/linkify/utils/options.js");
|
||
|
||
var options = _interopRequireWildcard(_options);
|
||
|
||
var _scanner = __webpack_require__(/*! ./linkify/core/scanner */ "./node_modules/linkifyjs/lib/linkify/core/scanner.js");
|
||
|
||
var scanner = _interopRequireWildcard(_scanner);
|
||
|
||
var _parser = __webpack_require__(/*! ./linkify/core/parser */ "./node_modules/linkifyjs/lib/linkify/core/parser.js");
|
||
|
||
var parser = _interopRequireWildcard(_parser);
|
||
|
||
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; } }
|
||
|
||
if (!Array.isArray) {
|
||
Array.isArray = function (arg) {
|
||
return Object.prototype.toString.call(arg) === '[object Array]';
|
||
};
|
||
}
|
||
|
||
/**
|
||
Converts a string into tokens that represent linkable and non-linkable bits
|
||
@method tokenize
|
||
@param {String} str
|
||
@return {Array} tokens
|
||
*/
|
||
var tokenize = function tokenize(str) {
|
||
return parser.run(scanner.run(str));
|
||
};
|
||
|
||
/**
|
||
Returns a list of linkable items in the given string.
|
||
*/
|
||
var find = function find(str) {
|
||
var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
||
|
||
var tokens = tokenize(str);
|
||
var filtered = [];
|
||
|
||
for (var i = 0; i < tokens.length; i++) {
|
||
var token = tokens[i];
|
||
if (token.isLink && (!type || token.type === type)) {
|
||
filtered.push(token.toObject());
|
||
}
|
||
}
|
||
|
||
return filtered;
|
||
};
|
||
|
||
/**
|
||
Is the given string valid linkable text of some sort
|
||
Note that this does not trim the text for you.
|
||
|
||
Optionally pass in a second `type` param, which is the type of link to test
|
||
for.
|
||
|
||
For example,
|
||
|
||
test(str, 'email');
|
||
|
||
Will return `true` if str is a valid email.
|
||
*/
|
||
var test = function test(str) {
|
||
var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
||
|
||
var tokens = tokenize(str);
|
||
return tokens.length === 1 && tokens[0].isLink && (!type || tokens[0].type === type);
|
||
};
|
||
|
||
// Scanner and parser provide states and tokens for the lexicographic stage
|
||
// (will be used to add additional link types)
|
||
exports.find = find;
|
||
exports.inherits = _class.inherits;
|
||
exports.options = options;
|
||
exports.parser = parser;
|
||
exports.scanner = scanner;
|
||
exports.test = test;
|
||
exports.tokenize = tokenize;
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/linkifyjs/lib/linkify/core/parser.js":
|
||
/*!***********************************************************!*\
|
||
!*** ./node_modules/linkifyjs/lib/linkify/core/parser.js ***!
|
||
\***********************************************************/
|
||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
exports.__esModule = true;
|
||
exports.start = exports.run = exports.TOKENS = exports.State = undefined;
|
||
|
||
var _state = __webpack_require__(/*! ./state */ "./node_modules/linkifyjs/lib/linkify/core/state.js");
|
||
|
||
var _multi = __webpack_require__(/*! ./tokens/multi */ "./node_modules/linkifyjs/lib/linkify/core/tokens/multi.js");
|
||
|
||
var MULTI_TOKENS = _interopRequireWildcard(_multi);
|
||
|
||
var _text = __webpack_require__(/*! ./tokens/text */ "./node_modules/linkifyjs/lib/linkify/core/tokens/text.js");
|
||
|
||
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; } }
|
||
|
||
/**
|
||
Not exactly parser, more like the second-stage scanner (although we can
|
||
theoretically hotswap the code here with a real parser in the future... but
|
||
for a little URL-finding utility abstract syntax trees may be a little
|
||
overkill).
|
||
|
||
URL format: http://en.wikipedia.org/wiki/URI_scheme
|
||
Email format: http://en.wikipedia.org/wiki/Email_address (links to RFC in
|
||
reference)
|
||
|
||
@module linkify
|
||
@submodule parser
|
||
@main parser
|
||
*/
|
||
|
||
var makeState = function makeState(tokenClass) {
|
||
return new _state.TokenState(tokenClass);
|
||
};
|
||
|
||
// The universal starting state.
|
||
var S_START = makeState();
|
||
|
||
// Intermediate states for URLs. Note that domains that begin with a protocol
|
||
// are treated slighly differently from those that don't.
|
||
var S_PROTOCOL = makeState(); // e.g., 'http:'
|
||
var S_MAILTO = makeState(); // 'mailto:'
|
||
var S_PROTOCOL_SLASH = makeState(); // e.g., '/', 'http:/''
|
||
var S_PROTOCOL_SLASH_SLASH = makeState(); // e.g., '//', 'http://'
|
||
var S_DOMAIN = makeState(); // parsed string ends with a potential domain name (A)
|
||
var S_DOMAIN_DOT = makeState(); // (A) domain followed by DOT
|
||
var S_TLD = makeState(_multi.URL); // (A) Simplest possible URL with no query string
|
||
var S_TLD_COLON = makeState(); // (A) URL followed by colon (potential port number here)
|
||
var S_TLD_PORT = makeState(_multi.URL); // TLD followed by a port number
|
||
var S_URL = makeState(_multi.URL); // Long URL with optional port and maybe query string
|
||
var S_URL_NON_ACCEPTING = makeState(); // URL followed by some symbols (will not be part of the final URL)
|
||
var S_URL_OPENBRACE = makeState(); // URL followed by {
|
||
var S_URL_OPENBRACKET = makeState(); // URL followed by [
|
||
var S_URL_OPENANGLEBRACKET = makeState(); // URL followed by <
|
||
var S_URL_OPENPAREN = makeState(); // URL followed by (
|
||
var S_URL_OPENBRACE_Q = makeState(_multi.URL); // URL followed by { and some symbols that the URL can end it
|
||
var S_URL_OPENBRACKET_Q = makeState(_multi.URL); // URL followed by [ and some symbols that the URL can end it
|
||
var S_URL_OPENANGLEBRACKET_Q = makeState(_multi.URL); // URL followed by < and some symbols that the URL can end it
|
||
var S_URL_OPENPAREN_Q = makeState(_multi.URL); // URL followed by ( and some symbols that the URL can end it
|
||
var S_URL_OPENBRACE_SYMS = makeState(); // S_URL_OPENBRACE_Q followed by some symbols it cannot end it
|
||
var S_URL_OPENBRACKET_SYMS = makeState(); // S_URL_OPENBRACKET_Q followed by some symbols it cannot end it
|
||
var S_URL_OPENANGLEBRACKET_SYMS = makeState(); // S_URL_OPENANGLEBRACKET_Q followed by some symbols it cannot end it
|
||
var S_URL_OPENPAREN_SYMS = makeState(); // S_URL_OPENPAREN_Q followed by some symbols it cannot end it
|
||
var S_EMAIL_DOMAIN = makeState(); // parsed string starts with local email info + @ with a potential domain name (C)
|
||
var S_EMAIL_DOMAIN_DOT = makeState(); // (C) domain followed by DOT
|
||
var S_EMAIL = makeState(_multi.EMAIL); // (C) Possible email address (could have more tlds)
|
||
var S_EMAIL_COLON = makeState(); // (C) URL followed by colon (potential port number here)
|
||
var S_EMAIL_PORT = makeState(_multi.EMAIL); // (C) Email address with a port
|
||
var S_MAILTO_EMAIL = makeState(_multi.MAILTOEMAIL); // Email that begins with the mailto prefix (D)
|
||
var S_MAILTO_EMAIL_NON_ACCEPTING = makeState(); // (D) Followed by some non-query string chars
|
||
var S_LOCALPART = makeState(); // Local part of the email address
|
||
var S_LOCALPART_AT = makeState(); // Local part of the email address plus @
|
||
var S_LOCALPART_DOT = makeState(); // Local part of the email address plus '.' (localpart cannot end in .)
|
||
var S_NL = makeState(_multi.NL); // single new line
|
||
|
||
// Make path from start to protocol (with '//')
|
||
S_START.on(_text.NL, S_NL).on(_text.PROTOCOL, S_PROTOCOL).on(_text.MAILTO, S_MAILTO).on(_text.SLASH, S_PROTOCOL_SLASH);
|
||
|
||
S_PROTOCOL.on(_text.SLASH, S_PROTOCOL_SLASH);
|
||
S_PROTOCOL_SLASH.on(_text.SLASH, S_PROTOCOL_SLASH_SLASH);
|
||
|
||
// The very first potential domain name
|
||
S_START.on(_text.TLD, S_DOMAIN).on(_text.DOMAIN, S_DOMAIN).on(_text.LOCALHOST, S_TLD).on(_text.NUM, S_DOMAIN);
|
||
|
||
// Force URL for protocol followed by anything sane
|
||
S_PROTOCOL_SLASH_SLASH.on(_text.TLD, S_URL).on(_text.DOMAIN, S_URL).on(_text.NUM, S_URL).on(_text.LOCALHOST, S_URL);
|
||
|
||
// Account for dots and hyphens
|
||
// hyphens are usually parts of domain names
|
||
S_DOMAIN.on(_text.DOT, S_DOMAIN_DOT);
|
||
S_EMAIL_DOMAIN.on(_text.DOT, S_EMAIL_DOMAIN_DOT);
|
||
|
||
// Hyphen can jump back to a domain name
|
||
|
||
// After the first domain and a dot, we can find either a URL or another domain
|
||
S_DOMAIN_DOT.on(_text.TLD, S_TLD).on(_text.DOMAIN, S_DOMAIN).on(_text.NUM, S_DOMAIN).on(_text.LOCALHOST, S_DOMAIN);
|
||
|
||
S_EMAIL_DOMAIN_DOT.on(_text.TLD, S_EMAIL).on(_text.DOMAIN, S_EMAIL_DOMAIN).on(_text.NUM, S_EMAIL_DOMAIN).on(_text.LOCALHOST, S_EMAIL_DOMAIN);
|
||
|
||
// S_TLD accepts! But the URL could be longer, try to find a match greedily
|
||
// The `run` function should be able to "rollback" to the accepting state
|
||
S_TLD.on(_text.DOT, S_DOMAIN_DOT);
|
||
S_EMAIL.on(_text.DOT, S_EMAIL_DOMAIN_DOT);
|
||
|
||
// Become real URLs after `SLASH` or `COLON NUM SLASH`
|
||
// Here PSS and non-PSS converge
|
||
S_TLD.on(_text.COLON, S_TLD_COLON).on(_text.SLASH, S_URL);
|
||
S_TLD_COLON.on(_text.NUM, S_TLD_PORT);
|
||
S_TLD_PORT.on(_text.SLASH, S_URL);
|
||
S_EMAIL.on(_text.COLON, S_EMAIL_COLON);
|
||
S_EMAIL_COLON.on(_text.NUM, S_EMAIL_PORT);
|
||
|
||
// Types of characters the URL can definitely end in
|
||
var qsAccepting = [_text.DOMAIN, _text.AT, _text.LOCALHOST, _text.NUM, _text.PLUS, _text.POUND, _text.PROTOCOL, _text.SLASH, _text.TLD, _text.UNDERSCORE, _text.SYM, _text.AMPERSAND];
|
||
|
||
// Types of tokens that can follow a URL and be part of the query string
|
||
// but cannot be the very last characters
|
||
// Characters that cannot appear in the URL at all should be excluded
|
||
var qsNonAccepting = [_text.COLON, _text.DOT, _text.QUERY, _text.PUNCTUATION, _text.CLOSEBRACE, _text.CLOSEBRACKET, _text.CLOSEANGLEBRACKET, _text.CLOSEPAREN, _text.OPENBRACE, _text.OPENBRACKET, _text.OPENANGLEBRACKET, _text.OPENPAREN];
|
||
|
||
// These states are responsible primarily for determining whether or not to
|
||
// include the final round bracket.
|
||
|
||
// URL, followed by an opening bracket
|
||
S_URL.on(_text.OPENBRACE, S_URL_OPENBRACE).on(_text.OPENBRACKET, S_URL_OPENBRACKET).on(_text.OPENANGLEBRACKET, S_URL_OPENANGLEBRACKET).on(_text.OPENPAREN, S_URL_OPENPAREN);
|
||
|
||
// URL with extra symbols at the end, followed by an opening bracket
|
||
S_URL_NON_ACCEPTING.on(_text.OPENBRACE, S_URL_OPENBRACE).on(_text.OPENBRACKET, S_URL_OPENBRACKET).on(_text.OPENANGLEBRACKET, S_URL_OPENANGLEBRACKET).on(_text.OPENPAREN, S_URL_OPENPAREN);
|
||
|
||
// Closing bracket component. This character WILL be included in the URL
|
||
S_URL_OPENBRACE.on(_text.CLOSEBRACE, S_URL);
|
||
S_URL_OPENBRACKET.on(_text.CLOSEBRACKET, S_URL);
|
||
S_URL_OPENANGLEBRACKET.on(_text.CLOSEANGLEBRACKET, S_URL);
|
||
S_URL_OPENPAREN.on(_text.CLOSEPAREN, S_URL);
|
||
S_URL_OPENBRACE_Q.on(_text.CLOSEBRACE, S_URL);
|
||
S_URL_OPENBRACKET_Q.on(_text.CLOSEBRACKET, S_URL);
|
||
S_URL_OPENANGLEBRACKET_Q.on(_text.CLOSEANGLEBRACKET, S_URL);
|
||
S_URL_OPENPAREN_Q.on(_text.CLOSEPAREN, S_URL);
|
||
S_URL_OPENBRACE_SYMS.on(_text.CLOSEBRACE, S_URL);
|
||
S_URL_OPENBRACKET_SYMS.on(_text.CLOSEBRACKET, S_URL);
|
||
S_URL_OPENANGLEBRACKET_SYMS.on(_text.CLOSEANGLEBRACKET, S_URL);
|
||
S_URL_OPENPAREN_SYMS.on(_text.CLOSEPAREN, S_URL);
|
||
|
||
// URL that beings with an opening bracket, followed by a symbols.
|
||
// Note that the final state can still be `S_URL_OPENBRACE_Q` (if the URL only
|
||
// has a single opening bracket for some reason).
|
||
S_URL_OPENBRACE.on(qsAccepting, S_URL_OPENBRACE_Q);
|
||
S_URL_OPENBRACKET.on(qsAccepting, S_URL_OPENBRACKET_Q);
|
||
S_URL_OPENANGLEBRACKET.on(qsAccepting, S_URL_OPENANGLEBRACKET_Q);
|
||
S_URL_OPENPAREN.on(qsAccepting, S_URL_OPENPAREN_Q);
|
||
S_URL_OPENBRACE.on(qsNonAccepting, S_URL_OPENBRACE_SYMS);
|
||
S_URL_OPENBRACKET.on(qsNonAccepting, S_URL_OPENBRACKET_SYMS);
|
||
S_URL_OPENANGLEBRACKET.on(qsNonAccepting, S_URL_OPENANGLEBRACKET_SYMS);
|
||
S_URL_OPENPAREN.on(qsNonAccepting, S_URL_OPENPAREN_SYMS);
|
||
|
||
// URL that begins with an opening bracket, followed by some symbols
|
||
S_URL_OPENBRACE_Q.on(qsAccepting, S_URL_OPENBRACE_Q);
|
||
S_URL_OPENBRACKET_Q.on(qsAccepting, S_URL_OPENBRACKET_Q);
|
||
S_URL_OPENANGLEBRACKET_Q.on(qsAccepting, S_URL_OPENANGLEBRACKET_Q);
|
||
S_URL_OPENPAREN_Q.on(qsAccepting, S_URL_OPENPAREN_Q);
|
||
S_URL_OPENBRACE_Q.on(qsNonAccepting, S_URL_OPENBRACE_Q);
|
||
S_URL_OPENBRACKET_Q.on(qsNonAccepting, S_URL_OPENBRACKET_Q);
|
||
S_URL_OPENANGLEBRACKET_Q.on(qsNonAccepting, S_URL_OPENANGLEBRACKET_Q);
|
||
S_URL_OPENPAREN_Q.on(qsNonAccepting, S_URL_OPENPAREN_Q);
|
||
|
||
S_URL_OPENBRACE_SYMS.on(qsAccepting, S_URL_OPENBRACE_Q);
|
||
S_URL_OPENBRACKET_SYMS.on(qsAccepting, S_URL_OPENBRACKET_Q);
|
||
S_URL_OPENANGLEBRACKET_SYMS.on(qsAccepting, S_URL_OPENANGLEBRACKET_Q);
|
||
S_URL_OPENPAREN_SYMS.on(qsAccepting, S_URL_OPENPAREN_Q);
|
||
S_URL_OPENBRACE_SYMS.on(qsNonAccepting, S_URL_OPENBRACE_SYMS);
|
||
S_URL_OPENBRACKET_SYMS.on(qsNonAccepting, S_URL_OPENBRACKET_SYMS);
|
||
S_URL_OPENANGLEBRACKET_SYMS.on(qsNonAccepting, S_URL_OPENANGLEBRACKET_SYMS);
|
||
S_URL_OPENPAREN_SYMS.on(qsNonAccepting, S_URL_OPENPAREN_SYMS);
|
||
|
||
// Account for the query string
|
||
S_URL.on(qsAccepting, S_URL);
|
||
S_URL_NON_ACCEPTING.on(qsAccepting, S_URL);
|
||
|
||
S_URL.on(qsNonAccepting, S_URL_NON_ACCEPTING);
|
||
S_URL_NON_ACCEPTING.on(qsNonAccepting, S_URL_NON_ACCEPTING);
|
||
|
||
// Email address-specific state definitions
|
||
// Note: We are not allowing '/' in email addresses since this would interfere
|
||
// with real URLs
|
||
|
||
// For addresses with the mailto prefix
|
||
// 'mailto:' followed by anything sane is a valid email
|
||
S_MAILTO.on(_text.TLD, S_MAILTO_EMAIL).on(_text.DOMAIN, S_MAILTO_EMAIL).on(_text.NUM, S_MAILTO_EMAIL).on(_text.LOCALHOST, S_MAILTO_EMAIL);
|
||
|
||
// Greedily get more potential valid email values
|
||
S_MAILTO_EMAIL.on(qsAccepting, S_MAILTO_EMAIL).on(qsNonAccepting, S_MAILTO_EMAIL_NON_ACCEPTING);
|
||
S_MAILTO_EMAIL_NON_ACCEPTING.on(qsAccepting, S_MAILTO_EMAIL).on(qsNonAccepting, S_MAILTO_EMAIL_NON_ACCEPTING);
|
||
|
||
// For addresses without the mailto prefix
|
||
// Tokens allowed in the localpart of the email
|
||
var localpartAccepting = [_text.DOMAIN, _text.NUM, _text.PLUS, _text.POUND, _text.QUERY, _text.UNDERSCORE, _text.SYM, _text.AMPERSAND, _text.TLD];
|
||
|
||
// Some of the tokens in `localpartAccepting` are already accounted for here and
|
||
// will not be overwritten (don't worry)
|
||
S_DOMAIN.on(localpartAccepting, S_LOCALPART).on(_text.AT, S_LOCALPART_AT);
|
||
S_TLD.on(localpartAccepting, S_LOCALPART).on(_text.AT, S_LOCALPART_AT);
|
||
S_DOMAIN_DOT.on(localpartAccepting, S_LOCALPART);
|
||
|
||
// Okay we're on a localpart. Now what?
|
||
// TODO: IP addresses and what if the email starts with numbers?
|
||
S_LOCALPART.on(localpartAccepting, S_LOCALPART).on(_text.AT, S_LOCALPART_AT) // close to an email address now
|
||
.on(_text.DOT, S_LOCALPART_DOT);
|
||
S_LOCALPART_DOT.on(localpartAccepting, S_LOCALPART);
|
||
S_LOCALPART_AT.on(_text.TLD, S_EMAIL_DOMAIN).on(_text.DOMAIN, S_EMAIL_DOMAIN).on(_text.LOCALHOST, S_EMAIL);
|
||
// States following `@` defined above
|
||
|
||
var run = function run(tokens) {
|
||
var len = tokens.length;
|
||
var cursor = 0;
|
||
var multis = [];
|
||
var textTokens = [];
|
||
|
||
while (cursor < len) {
|
||
var state = S_START;
|
||
var secondState = null;
|
||
var nextState = null;
|
||
var multiLength = 0;
|
||
var latestAccepting = null;
|
||
var sinceAccepts = -1;
|
||
|
||
while (cursor < len && !(secondState = state.next(tokens[cursor]))) {
|
||
// Starting tokens with nowhere to jump to.
|
||
// Consider these to be just plain text
|
||
textTokens.push(tokens[cursor++]);
|
||
}
|
||
|
||
while (cursor < len && (nextState = secondState || state.next(tokens[cursor]))) {
|
||
|
||
// Get the next state
|
||
secondState = null;
|
||
state = nextState;
|
||
|
||
// Keep track of the latest accepting state
|
||
if (state.accepts()) {
|
||
sinceAccepts = 0;
|
||
latestAccepting = state;
|
||
} else if (sinceAccepts >= 0) {
|
||
sinceAccepts++;
|
||
}
|
||
|
||
cursor++;
|
||
multiLength++;
|
||
}
|
||
|
||
if (sinceAccepts < 0) {
|
||
|
||
// No accepting state was found, part of a regular text token
|
||
// Add all the tokens we looked at to the text tokens array
|
||
for (var i = cursor - multiLength; i < cursor; i++) {
|
||
textTokens.push(tokens[i]);
|
||
}
|
||
} else {
|
||
|
||
// Accepting state!
|
||
|
||
// First close off the textTokens (if available)
|
||
if (textTokens.length > 0) {
|
||
multis.push(new _multi.TEXT(textTokens));
|
||
textTokens = [];
|
||
}
|
||
|
||
// Roll back to the latest accepting state
|
||
cursor -= sinceAccepts;
|
||
multiLength -= sinceAccepts;
|
||
|
||
// Create a new multitoken
|
||
var MULTI = latestAccepting.emit();
|
||
multis.push(new MULTI(tokens.slice(cursor - multiLength, cursor)));
|
||
}
|
||
}
|
||
|
||
// Finally close off the textTokens (if available)
|
||
if (textTokens.length > 0) {
|
||
multis.push(new _multi.TEXT(textTokens));
|
||
}
|
||
|
||
return multis;
|
||
};
|
||
|
||
exports.State = _state.TokenState;
|
||
exports.TOKENS = MULTI_TOKENS;
|
||
exports.run = run;
|
||
exports.start = S_START;
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/linkifyjs/lib/linkify/core/scanner.js":
|
||
/*!************************************************************!*\
|
||
!*** ./node_modules/linkifyjs/lib/linkify/core/scanner.js ***!
|
||
\************************************************************/
|
||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
exports.__esModule = true;
|
||
exports.start = exports.run = exports.TOKENS = exports.State = undefined;
|
||
|
||
var _state = __webpack_require__(/*! ./state */ "./node_modules/linkifyjs/lib/linkify/core/state.js");
|
||
|
||
var _text = __webpack_require__(/*! ./tokens/text */ "./node_modules/linkifyjs/lib/linkify/core/tokens/text.js");
|
||
|
||
var TOKENS = _interopRequireWildcard(_text);
|
||
|
||
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; } }
|
||
|
||
var tlds = 'aaa|aarp|abarth|abb|abbott|abbvie|abc|able|abogado|abudhabi|ac|academy|accenture|accountant|accountants|aco|active|actor|ad|adac|ads|adult|ae|aeg|aero|aetna|af|afamilycompany|afl|africa|ag|agakhan|agency|ai|aig|aigo|airbus|airforce|airtel|akdn|al|alfaromeo|alibaba|alipay|allfinanz|allstate|ally|alsace|alstom|am|americanexpress|americanfamily|amex|amfam|amica|amsterdam|analytics|android|anquan|anz|ao|aol|apartments|app|apple|aq|aquarelle|ar|arab|aramco|archi|army|arpa|art|arte|as|asda|asia|associates|at|athleta|attorney|au|auction|audi|audible|audio|auspost|author|auto|autos|avianca|aw|aws|ax|axa|az|azure|ba|baby|baidu|banamex|bananarepublic|band|bank|bar|barcelona|barclaycard|barclays|barefoot|bargains|baseball|basketball|bauhaus|bayern|bb|bbc|bbt|bbva|bcg|bcn|bd|be|beats|beauty|beer|bentley|berlin|best|bestbuy|bet|bf|bg|bh|bharti|bi|bible|bid|bike|bing|bingo|bio|biz|bj|black|blackfriday|blanco|blockbuster|blog|bloomberg|blue|bm|bms|bmw|bn|bnl|bnpparibas|bo|boats|boehringer|bofa|bom|bond|boo|book|booking|boots|bosch|bostik|boston|bot|boutique|box|br|bradesco|bridgestone|broadway|broker|brother|brussels|bs|bt|budapest|bugatti|build|builders|business|buy|buzz|bv|bw|by|bz|bzh|ca|cab|cafe|cal|call|calvinklein|cam|camera|camp|cancerresearch|canon|capetown|capital|capitalone|car|caravan|cards|care|career|careers|cars|cartier|casa|case|caseih|cash|casino|cat|catering|catholic|cba|cbn|cbre|cbs|cc|cd|ceb|center|ceo|cern|cf|cfa|cfd|cg|ch|chanel|channel|chase|chat|cheap|chintai|chloe|christmas|chrome|chrysler|church|ci|cipriani|circle|cisco|citadel|citi|citic|city|cityeats|ck|cl|claims|cleaning|click|clinic|clinique|clothing|cloud|club|clubmed|cm|cn|co|coach|codes|coffee|college|cologne|com|comcast|commbank|community|company|compare|computer|comsec|condos|construction|consulting|contact|contractors|cooking|cookingchannel|cool|coop|corsica|country|coupon|coupons|courses|cr|credit|creditcard|creditunion|cricket|crown|crs|cruise|cruises|csc|cu|cuisinella|cv|cw|cx|cy|cymru|cyou|cz|dabur|dad|dance|data|date|dating|datsun|day|dclk|dds|de|deal|dealer|deals|degree|delivery|dell|deloitte|delta|democrat|dental|dentist|desi|design|dev|dhl|diamonds|diet|digital|direct|directory|discount|discover|dish|diy|dj|dk|dm|dnp|do|docs|doctor|dodge|dog|doha|domains|dot|download|drive|dtv|dubai|duck|dunlop|duns|dupont|durban|dvag|dvr|dz|earth|eat|ec|eco|edeka|edu|education|ee|eg|email|emerck|energy|engineer|engineering|enterprises|epost|epson|equipment|er|ericsson|erni|es|esq|estate|esurance|et|etisalat|eu|eurovision|eus|events|everbank|exchange|expert|exposed|express|extraspace|fage|fail|fairwinds|faith|family|fan|fans|farm|farmers|fashion|fast|fedex|feedback|ferrari|ferrero|fi|fiat|fidelity|fido|film|final|finance|financial|fire|firestone|firmdale|fish|fishing|fit|fitness|fj|fk|flickr|flights|flir|florist|flowers|fly|fm|fo|foo|food|foodnetwork|football|ford|forex|forsale|forum|foundation|fox|fr|free|fresenius|frl|frogans|frontdoor|frontier|ftr|fujitsu|fujixerox|fun|fund|furniture|futbol|fyi|ga|gal|gallery|gallo|gallup|game|games|gap|garden|gb|gbiz|gd|gdn|ge|gea|gent|genting|george|gf|gg|ggee|gh|gi|gift|gifts|gives|giving|gl|glade|glass|gle|global|globo|gm|gmail|gmbh|gmo|gmx|gn|godaddy|gold|goldpoint|golf|goo|goodhands|goodyear|goog|google|gop|got|gov|gp|gq|gr|grainger|graphics|gratis|green|gripe|grocery|group|gs|gt|gu|guardian|gucci|guge|guide|guitars|guru|gw|gy|hair|hamburg|hangout|haus|hbo|hdfc|hdfcbank|health|healthcare|help|helsinki|here|hermes|hgtv|hiphop|hisamitsu|hitachi|hiv|hk|hkt|hm|hn|hockey|holdings|holiday|homedepot|homegoods|homes|homesense|honda|honeywell|horse|hospital|host|hosting|hot|hoteles|hotels|hotmail|house|how|hr|hsbc|ht|htc|hu|hughes|hyatt|hyundai|ibm|icbc|ice|icu|id|ie|ieee|ifm|ikano|il|im|imamat|imdb|immo|immobilien|in|industries|infiniti|info|ing|ink|institute|insurance|insure|int|intel|international|intuit|investments|io|ipiranga|iq|ir|irish|is|iselect|ismaili|ist|istanbul|it|itau|itv|iveco|iwc|jaguar|java|jcb|jcp|je|jeep|jetzt|jewelry|jio|jlc|jll|jm|jmp|jnj|jo|jobs|joburg|jot|joy|jp|jpmorgan|jprs|juegos|juniper|kaufen|kddi|ke|kerryhotels|kerrylogistics|kerryproperties|kfh|kg|kh|ki|kia|kim|kinder|kindle|kitchen|kiwi|km|kn|koeln|komatsu|kosher|kp|kpmg|kpn|kr|krd|kred|kuokgroup|kw|ky|kyoto|kz|la|lacaixa|ladbrokes|lamborghini|lamer|lancaster|lancia|lancome|land|landrover|lanxess|lasalle|lat|latino|latrobe|law|lawyer|lb|lc|lds|lease|leclerc|lefrak|legal|lego|lexus|lgbt|li|liaison|lidl|life|lifeinsurance|lifestyle|lighting|like|lilly|limited|limo|lincoln|linde|link|lipsy|live|living|lixil|lk|loan|loans|locker|locus|loft|lol|london|lotte|lotto|love|lpl|lplfinancial|lr|ls|lt|ltd|ltda|lu|lundbeck|lupin|luxe|luxury|lv|ly|ma|macys|madrid|maif|maison|makeup|man|management|mango|map|market|marketing|markets|marriott|marshalls|maserati|mattel|mba|mc|mckinsey|md|me|med|media|meet|melbourne|meme|memorial|men|menu|meo|merckmsd|metlife|mg|mh|miami|microsoft|mil|mini|mint|mit|mitsubishi|mk|ml|mlb|mls|mm|mma|mn|mo|mobi|mobile|mobily|moda|moe|moi|mom|monash|money|monster|mopar|mormon|mortgage|moscow|moto|motorcycles|mov|movie|movistar|mp|mq|mr|ms|msd|mt|mtn|mtr|mu|museum|mutual|mv|mw|mx|my|mz|na|nab|nadex|nagoya|name|nationwide|natura|navy|nba|nc|ne|nec|net|netbank|netflix|network|neustar|new|newholland|news|next|nextdirect|nexus|nf|nfl|ng|ngo|nhk|ni|nico|nike|nikon|ninja|nissan|nissay|nl|no|nokia|northwesternmutual|norton|now|nowruz|nowtv|np|nr|nra|nrw|ntt|nu|nyc|nz|obi|observer|off|office|okinawa|olayan|olayangroup|oldnavy|ollo|om|omega|one|ong|onl|online|onyourside|ooo|open|oracle|orange|org|organic|origins|osaka|otsuka|ott|ovh|pa|page|panasonic|panerai|paris|pars|partners|parts|party|passagens|pay|pccw|pe|pet|pf|pfizer|pg|ph|pharmacy|phd|philips|phone|photo|photography|photos|physio|piaget|pics|pictet|pictures|pid|pin|ping|pink|pioneer|pizza|pk|pl|place|play|playstation|plumbing|plus|pm|pn|pnc|pohl|poker|politie|porn|post|pr|pramerica|praxi|press|prime|pro|prod|productions|prof|progressive|promo|properties|property|protection|pru|prudential|ps|pt|pub|pw|pwc|py|qa|qpon|quebec|quest|qvc|racing|radio|raid|re|read|realestate|realtor|realty|recipes|red|redstone|redumbrella|rehab|reise|reisen|reit|reliance|ren|rent|rentals|repair|report|republican|rest|restaurant|review|reviews|rexroth|rich|richardli|ricoh|rightathome|ril|rio|rip|rmit|ro|rocher|rocks|rodeo|rogers|room|rs|rsvp|ru|rugby|ruhr|run|rw|rwe|ryukyu|sa|saarland|safe|safety|sakura|sale|salon|samsclub|samsung|sandvik|sandvikcoromant|sanofi|sap|sapo|sarl|sas|save|saxo|sb|sbi|sbs|sc|sca|scb|schaeffler|schmidt|scholarships|school|schule|schwarz|science|scjohnson|scor|scot|sd|se|search|seat|secure|security|seek|select|sener|services|ses|seven|sew|sex|sexy|sfr|sg|sh|shangrila|sharp|shaw|shell|shia|shiksha|shoes|shop|shopping|shouji|show|showtime|shriram|si|silk|sina|singles|site|sj|sk|ski|skin|sky|skype|sl|sling|sm|smart|smile|sn|sncf|so|soccer|social|softbank|software|sohu|solar|solutions|song|sony|soy|space|spiegel|spot|spreadbetting|sr|srl|srt|st|stada|staples|star|starhub|statebank|statefarm|statoil|stc|stcgroup|stockholm|storage|store|stream|studio|study|style|su|sucks|supplies|supply|support|surf|surgery|suzuki|sv|swatch|swiftcover|swiss|sx|sy|sydney|symantec|systems|sz|tab|taipei|talk|taobao|target|tatamotors|tatar|tattoo|tax|taxi|tc|tci|td|tdk|team|tech|technology|tel|telecity|telefonica|temasek|tennis|teva|tf|tg|th|thd|theater|theatre|tiaa|tickets|tienda|tiffany|tips|tires|tirol|tj|tjmaxx|tjx|tk|tkmaxx|tl|tm|tmall|tn|to|today|tokyo|tools|top|toray|toshiba|total|tours|town|toyota|toys|tr|trade|trading|training|travel|travelchannel|travelers|travelersinsurance|trust|trv|tt|tube|tui|tunes|tushu|tv|tvs|tw|tz|ua|ubank|ubs|uconnect|ug|uk|unicom|university|uno|uol|ups|us|uy|uz|va|vacations|vana|vanguard|vc|ve|vegas|ventures|verisign|versicherung|vet|vg|vi|viajes|video|vig|viking|villas|vin|vip|virgin|visa|vision|vista|vistaprint|viva|vivo|vlaanderen|vn|vodka|volkswagen|volvo|vote|voting|voto|voyage|vu|vuelos|wales|walmart|walter|wang|wanggou|warman|watch|watches|weather|weatherchannel|webcam|weber|website|wed|wedding|weibo|weir|wf|whoswho|wien|wiki|williamhill|win|windows|wine|winners|wme|wolterskluwer|woodside|work|works|world|wow|ws|wtc|wtf|xbox|xerox|xfinity|xihuan|xin|xn--11b4c3d|xn--1ck2e1b|xn--1qqw23a|xn--2scrj9c|xn--30rr7y|xn--3bst00m|xn--3ds443g|xn--3e0b707e|xn--3hcrj9c|xn--3oq18vl8pn36a|xn--3pxu8k|xn--42c2d9a|xn--45br5cyl|xn--45brj9c|xn--45q11c|xn--4gbrim|xn--54b7fta0cc|xn--55qw42g|xn--55qx5d|xn--5su34j936bgsg|xn--5tzm5g|xn--6frz82g|xn--6qq986b3xl|xn--80adxhks|xn--80ao21a|xn--80aqecdr1a|xn--80asehdb|xn--80aswg|xn--8y0a063a|xn--90a3ac|xn--90ae|xn--90ais|xn--9dbq2a|xn--9et52u|xn--9krt00a|xn--b4w605ferd|xn--bck1b9a5dre4c|xn--c1avg|xn--c2br7g|xn--cck2b3b|xn--cg4bki|xn--clchc0ea0b2g2a9gcd|xn--czr694b|xn--czrs0t|xn--czru2d|xn--d1acj3b|xn--d1alf|xn--e1a4c|xn--eckvdtc9d|xn--efvy88h|xn--estv75g|xn--fct429k|xn--fhbei|xn--fiq228c5hs|xn--fiq64b|xn--fiqs8s|xn--fiqz9s|xn--fjq720a|xn--flw351e|xn--fpcrj9c3d|xn--fzc2c9e2c|xn--fzys8d69uvgm|xn--g2xx48c|xn--gckr3f0f|xn--gecrj9c|xn--gk3at1e|xn--h2breg3eve|xn--h2brj9c|xn--h2brj9c8c|xn--hxt814e|xn--i1b6b1a6a2e|xn--imr513n|xn--io0a7i|xn--j1aef|xn--j1amh|xn--j6w193g|xn--jlq61u9w7b|xn--jvr189m|xn--kcrx77d1x4a|xn--kprw13d|xn--kpry57d|xn--kpu716f|xn--kput3i|xn--l1acc|xn--lgbbat1ad8j|xn--mgb9awbf|xn--mgba3a3ejt|xn--mgba3a4f16a|xn--mgba7c0bbn0a|xn--mgbaakc7dvf|xn--mgbaam7a8h|xn--mgbab2bd|xn--mgbai9azgqp6j|xn--mgbayh7gpa|xn--mgbb9fbpob|xn--mgbbh1a|xn--mgbbh1a71e|xn--mgbc0a9azcg|xn--mgbca7dzdo|xn--mgberp4a5d4ar|xn--mgbgu82a|xn--mgbi4ecexp|xn--mgbpl2fh|xn--mgbt3dhd|xn--mgbtx2b|xn--mgbx4cd0ab|xn--mix891f|xn--mk1bu44c|xn--mxtq1m|xn--ngbc5azd|xn--ngbe9e0a|xn--ngbrx|xn--node|xn--nqv7f|xn--nqv7fs00ema|xn--nyqy26a|xn--o3cw4h|xn--ogbpf8fl|xn--p1acf|xn--p1ai|xn--pbt977c|xn--pgbs0dh|xn--pssy2u|xn--q9jyb4c|xn--qcka1pmc|xn--qxam|xn--rhqv96g|xn--rovu88b|xn--rvc1e0am3e|xn--s9brj9c|xn--ses554g|xn--t60b56a|xn--tckwe|xn--tiq49xqyj|xn--unup4y|xn--vermgensberater-ctb|xn--vermgensberatung-pwb|xn--vhquv|xn--vuq861b|xn--w4r85el8fhu5dnra|xn--w4rs40l|xn--wgbh1c|xn--wgbl6a|xn--xhq521b|xn--xkc2al3hye2a|xn--xkc2dl3a5ee0h|xn--y9a3aq|xn--yfro4i67o|xn--ygbi2ammx|xn--zfr164b|xperia|xxx|xyz|yachts|yahoo|yamaxun|yandex|ye|yodobashi|yoga|yokohama|you|youtube|yt|yun|za|zappos|zara|zero|zip|zippo|zm|zone|zuerich|zw'.split('|'); // macro, see gulpfile.js
|
||
|
||
/**
|
||
The scanner provides an interface that takes a string of text as input, and
|
||
outputs an array of tokens instances that can be used for easy URL parsing.
|
||
|
||
@module linkify
|
||
@submodule scanner
|
||
@main scanner
|
||
*/
|
||
|
||
var NUMBERS = '0123456789'.split('');
|
||
var ALPHANUM = '0123456789abcdefghijklmnopqrstuvwxyz'.split('');
|
||
var WHITESPACE = [' ', '\f', '\r', '\t', '\v', '\xA0', '\u1680', '\u180E']; // excluding line breaks
|
||
|
||
var domainStates = []; // states that jump to DOMAIN on /[a-z0-9]/
|
||
var makeState = function makeState(tokenClass) {
|
||
return new _state.CharacterState(tokenClass);
|
||
};
|
||
|
||
// Frequently used states
|
||
var S_START = makeState();
|
||
var S_NUM = makeState(_text.NUM);
|
||
var S_DOMAIN = makeState(_text.DOMAIN);
|
||
var S_DOMAIN_HYPHEN = makeState(); // domain followed by 1 or more hyphen characters
|
||
var S_WS = makeState(_text.WS);
|
||
|
||
// States for special URL symbols
|
||
S_START.on('@', makeState(_text.AT)).on('.', makeState(_text.DOT)).on('+', makeState(_text.PLUS)).on('#', makeState(_text.POUND)).on('?', makeState(_text.QUERY)).on('/', makeState(_text.SLASH)).on('_', makeState(_text.UNDERSCORE)).on(':', makeState(_text.COLON)).on('{', makeState(_text.OPENBRACE)).on('[', makeState(_text.OPENBRACKET)).on('<', makeState(_text.OPENANGLEBRACKET)).on('(', makeState(_text.OPENPAREN)).on('}', makeState(_text.CLOSEBRACE)).on(']', makeState(_text.CLOSEBRACKET)).on('>', makeState(_text.CLOSEANGLEBRACKET)).on(')', makeState(_text.CLOSEPAREN)).on('&', makeState(_text.AMPERSAND)).on([',', ';', '!', '"', '\''], makeState(_text.PUNCTUATION));
|
||
|
||
// Whitespace jumps
|
||
// Tokens of only non-newline whitespace are arbitrarily long
|
||
S_START.on('\n', makeState(_text.NL)).on(WHITESPACE, S_WS);
|
||
|
||
// If any whitespace except newline, more whitespace!
|
||
S_WS.on(WHITESPACE, S_WS);
|
||
|
||
// Generates states for top-level domains
|
||
// Note that this is most accurate when tlds are in alphabetical order
|
||
for (var i = 0; i < tlds.length; i++) {
|
||
var newStates = (0, _state.stateify)(tlds[i], S_START, _text.TLD, _text.DOMAIN);
|
||
domainStates.push.apply(domainStates, newStates);
|
||
}
|
||
|
||
// Collect the states generated by different protocls
|
||
var partialProtocolFileStates = (0, _state.stateify)('file', S_START, _text.DOMAIN, _text.DOMAIN);
|
||
var partialProtocolFtpStates = (0, _state.stateify)('ftp', S_START, _text.DOMAIN, _text.DOMAIN);
|
||
var partialProtocolHttpStates = (0, _state.stateify)('http', S_START, _text.DOMAIN, _text.DOMAIN);
|
||
var partialProtocolMailtoStates = (0, _state.stateify)('mailto', S_START, _text.DOMAIN, _text.DOMAIN);
|
||
|
||
// Add the states to the array of DOMAINeric states
|
||
domainStates.push.apply(domainStates, partialProtocolFileStates);
|
||
domainStates.push.apply(domainStates, partialProtocolFtpStates);
|
||
domainStates.push.apply(domainStates, partialProtocolHttpStates);
|
||
domainStates.push.apply(domainStates, partialProtocolMailtoStates);
|
||
|
||
// Protocol states
|
||
var S_PROTOCOL_FILE = partialProtocolFileStates.pop();
|
||
var S_PROTOCOL_FTP = partialProtocolFtpStates.pop();
|
||
var S_PROTOCOL_HTTP = partialProtocolHttpStates.pop();
|
||
var S_MAILTO = partialProtocolMailtoStates.pop();
|
||
var S_PROTOCOL_SECURE = makeState(_text.DOMAIN);
|
||
var S_FULL_PROTOCOL = makeState(_text.PROTOCOL); // Full protocol ends with COLON
|
||
var S_FULL_MAILTO = makeState(_text.MAILTO); // Mailto ends with COLON
|
||
|
||
// Secure protocols (end with 's')
|
||
S_PROTOCOL_FTP.on('s', S_PROTOCOL_SECURE).on(':', S_FULL_PROTOCOL);
|
||
|
||
S_PROTOCOL_HTTP.on('s', S_PROTOCOL_SECURE).on(':', S_FULL_PROTOCOL);
|
||
|
||
domainStates.push(S_PROTOCOL_SECURE);
|
||
|
||
// Become protocol tokens after a COLON
|
||
S_PROTOCOL_FILE.on(':', S_FULL_PROTOCOL);
|
||
S_PROTOCOL_SECURE.on(':', S_FULL_PROTOCOL);
|
||
S_MAILTO.on(':', S_FULL_MAILTO);
|
||
|
||
// Localhost
|
||
var partialLocalhostStates = (0, _state.stateify)('localhost', S_START, _text.LOCALHOST, _text.DOMAIN);
|
||
domainStates.push.apply(domainStates, partialLocalhostStates);
|
||
|
||
// Everything else
|
||
// DOMAINs make more DOMAINs
|
||
// Number and character transitions
|
||
S_START.on(NUMBERS, S_NUM);
|
||
S_NUM.on('-', S_DOMAIN_HYPHEN).on(NUMBERS, S_NUM).on(ALPHANUM, S_DOMAIN); // number becomes DOMAIN
|
||
|
||
S_DOMAIN.on('-', S_DOMAIN_HYPHEN).on(ALPHANUM, S_DOMAIN);
|
||
|
||
// All the generated states should have a jump to DOMAIN
|
||
for (var _i = 0; _i < domainStates.length; _i++) {
|
||
domainStates[_i].on('-', S_DOMAIN_HYPHEN).on(ALPHANUM, S_DOMAIN);
|
||
}
|
||
|
||
S_DOMAIN_HYPHEN.on('-', S_DOMAIN_HYPHEN).on(NUMBERS, S_DOMAIN).on(ALPHANUM, S_DOMAIN);
|
||
|
||
// Set default transition
|
||
S_START.defaultTransition = makeState(_text.SYM);
|
||
|
||
/**
|
||
Given a string, returns an array of TOKEN instances representing the
|
||
composition of that string.
|
||
|
||
@method run
|
||
@param {String} str Input string to scan
|
||
@return {Array} Array of TOKEN instances
|
||
*/
|
||
var run = function run(str) {
|
||
|
||
// The state machine only looks at lowercase strings.
|
||
// This selective `toLowerCase` is used because lowercasing the entire
|
||
// string causes the length and character position to vary in some in some
|
||
// non-English strings. This happens only on V8-based runtimes.
|
||
var lowerStr = str.replace(/[A-Z]/g, function (c) {
|
||
return c.toLowerCase();
|
||
});
|
||
var len = str.length;
|
||
var tokens = []; // return value
|
||
|
||
var cursor = 0;
|
||
|
||
// Tokenize the string
|
||
while (cursor < len) {
|
||
var state = S_START;
|
||
var nextState = null;
|
||
var tokenLength = 0;
|
||
var latestAccepting = null;
|
||
var sinceAccepts = -1;
|
||
|
||
while (cursor < len && (nextState = state.next(lowerStr[cursor]))) {
|
||
state = nextState;
|
||
|
||
// Keep track of the latest accepting state
|
||
if (state.accepts()) {
|
||
sinceAccepts = 0;
|
||
latestAccepting = state;
|
||
} else if (sinceAccepts >= 0) {
|
||
sinceAccepts++;
|
||
}
|
||
|
||
tokenLength++;
|
||
cursor++;
|
||
}
|
||
|
||
if (sinceAccepts < 0) {
|
||
continue;
|
||
} // Should never happen
|
||
|
||
// Roll back to the latest accepting state
|
||
cursor -= sinceAccepts;
|
||
tokenLength -= sinceAccepts;
|
||
|
||
// Get the class for the new token
|
||
var TOKEN = latestAccepting.emit(); // Current token class
|
||
|
||
// No more jumps, just make a new token
|
||
tokens.push(new TOKEN(str.substr(cursor - tokenLength, tokenLength)));
|
||
}
|
||
|
||
return tokens;
|
||
};
|
||
|
||
var start = S_START;
|
||
exports.State = _state.CharacterState;
|
||
exports.TOKENS = TOKENS;
|
||
exports.run = run;
|
||
exports.start = start;
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/linkifyjs/lib/linkify/core/state.js":
|
||
/*!**********************************************************!*\
|
||
!*** ./node_modules/linkifyjs/lib/linkify/core/state.js ***!
|
||
\**********************************************************/
|
||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
exports.__esModule = true;
|
||
exports.stateify = exports.TokenState = exports.CharacterState = undefined;
|
||
|
||
var _class = __webpack_require__(/*! ../utils/class */ "./node_modules/linkifyjs/lib/linkify/utils/class.js");
|
||
|
||
function createStateClass() {
|
||
return function (tClass) {
|
||
this.j = [];
|
||
this.T = tClass || null;
|
||
};
|
||
}
|
||
|
||
/**
|
||
A simple state machine that can emit token classes
|
||
|
||
The `j` property in this class refers to state jumps. It's a
|
||
multidimensional array where for each element:
|
||
|
||
* index [0] is a symbol or class of symbols to transition to.
|
||
* index [1] is a State instance which matches
|
||
|
||
The type of symbol will depend on the target implementation for this class.
|
||
In Linkify, we have a two-stage scanner. Each stage uses this state machine
|
||
but with a slighly different (polymorphic) implementation.
|
||
|
||
The `T` property refers to the token class.
|
||
|
||
TODO: Can the `on` and `next` methods be combined?
|
||
|
||
@class BaseState
|
||
*/
|
||
var BaseState = createStateClass();
|
||
BaseState.prototype = {
|
||
defaultTransition: false,
|
||
|
||
/**
|
||
@method constructor
|
||
@param {Class} tClass Pass in the kind of token to emit if there are
|
||
no jumps after this state and the state is accepting.
|
||
*/
|
||
|
||
/**
|
||
On the given symbol(s), this machine should go to the given state
|
||
@method on
|
||
@param {Array|Mixed} symbol
|
||
@param {BaseState} state Note that the type of this state should be the
|
||
same as the current instance (i.e., don't pass in a different
|
||
subclass)
|
||
*/
|
||
on: function on(symbol, state) {
|
||
if (symbol instanceof Array) {
|
||
for (var i = 0; i < symbol.length; i++) {
|
||
this.j.push([symbol[i], state]);
|
||
}
|
||
return this;
|
||
}
|
||
this.j.push([symbol, state]);
|
||
return this;
|
||
},
|
||
|
||
|
||
/**
|
||
Given the next item, returns next state for that item
|
||
@method next
|
||
@param {Mixed} item Should be an instance of the symbols handled by
|
||
this particular machine.
|
||
@return {State} state Returns false if no jumps are available
|
||
*/
|
||
next: function next(item) {
|
||
for (var i = 0; i < this.j.length; i++) {
|
||
var jump = this.j[i];
|
||
var symbol = jump[0]; // Next item to check for
|
||
var state = jump[1]; // State to jump to if items match
|
||
|
||
// compare item with symbol
|
||
if (this.test(item, symbol)) {
|
||
return state;
|
||
}
|
||
}
|
||
|
||
// Nowhere left to jump!
|
||
return this.defaultTransition;
|
||
},
|
||
|
||
|
||
/**
|
||
Does this state accept?
|
||
`true` only of `this.T` exists
|
||
@method accepts
|
||
@return {Boolean}
|
||
*/
|
||
accepts: function accepts() {
|
||
return !!this.T;
|
||
},
|
||
|
||
|
||
/**
|
||
Determine whether a given item "symbolizes" the symbol, where symbol is
|
||
a class of items handled by this state machine.
|
||
This method should be overriden in extended classes.
|
||
@method test
|
||
@param {Mixed} item Does this item match the given symbol?
|
||
@param {Mixed} symbol
|
||
@return {Boolean}
|
||
*/
|
||
test: function test(item, symbol) {
|
||
return item === symbol;
|
||
},
|
||
|
||
|
||
/**
|
||
Emit the token for this State (just return it in this case)
|
||
If this emits a token, this instance is an accepting state
|
||
@method emit
|
||
@return {Class} T
|
||
*/
|
||
emit: function emit() {
|
||
return this.T;
|
||
}
|
||
};
|
||
|
||
/**
|
||
State machine for string-based input
|
||
|
||
@class CharacterState
|
||
@extends BaseState
|
||
*/
|
||
var CharacterState = (0, _class.inherits)(BaseState, createStateClass(), {
|
||
/**
|
||
Does the given character match the given character or regular
|
||
expression?
|
||
@method test
|
||
@param {String} char
|
||
@param {String|RegExp} charOrRegExp
|
||
@return {Boolean}
|
||
*/
|
||
test: function test(character, charOrRegExp) {
|
||
return character === charOrRegExp || charOrRegExp instanceof RegExp && charOrRegExp.test(character);
|
||
}
|
||
});
|
||
|
||
/**
|
||
State machine for input in the form of TextTokens
|
||
|
||
@class TokenState
|
||
@extends BaseState
|
||
*/
|
||
var TokenState = (0, _class.inherits)(BaseState, createStateClass(), {
|
||
|
||
/**
|
||
* Similar to `on`, but returns the state the results in the transition from
|
||
* the given item
|
||
* @method jump
|
||
* @param {Mixed} item
|
||
* @param {Token} [token]
|
||
* @return state
|
||
*/
|
||
jump: function jump(token) {
|
||
var tClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
||
|
||
var state = this.next(new token('')); // dummy temp token
|
||
if (state === this.defaultTransition) {
|
||
// Make a new state!
|
||
state = new this.constructor(tClass);
|
||
this.on(token, state);
|
||
} else if (tClass) {
|
||
state.T = tClass;
|
||
}
|
||
return state;
|
||
},
|
||
|
||
|
||
/**
|
||
Is the given token an instance of the given token class?
|
||
@method test
|
||
@param {TextToken} token
|
||
@param {Class} tokenClass
|
||
@return {Boolean}
|
||
*/
|
||
test: function test(token, tokenClass) {
|
||
return token instanceof tokenClass;
|
||
}
|
||
});
|
||
|
||
/**
|
||
Given a non-empty target string, generates states (if required) for each
|
||
consecutive substring of characters in str starting from the beginning of
|
||
the string. The final state will have a special value, as specified in
|
||
options. All other "in between" substrings will have a default end state.
|
||
|
||
This turns the state machine into a Trie-like data structure (rather than a
|
||
intelligently-designed DFA).
|
||
|
||
Note that I haven't really tried these with any strings other than
|
||
DOMAIN.
|
||
|
||
@param {String} str
|
||
@param {CharacterState} start State to jump from the first character
|
||
@param {Class} endToken Token class to emit when the given string has been
|
||
matched and no more jumps exist.
|
||
@param {Class} defaultToken "Filler token", or which token type to emit when
|
||
we don't have a full match
|
||
@return {Array} list of newly-created states
|
||
*/
|
||
function stateify(str, start, endToken, defaultToken) {
|
||
var i = 0,
|
||
len = str.length,
|
||
state = start,
|
||
newStates = [],
|
||
nextState = void 0;
|
||
|
||
// Find the next state without a jump to the next character
|
||
while (i < len && (nextState = state.next(str[i]))) {
|
||
state = nextState;
|
||
i++;
|
||
}
|
||
|
||
if (i >= len) {
|
||
return [];
|
||
} // no new tokens were added
|
||
|
||
while (i < len - 1) {
|
||
nextState = new CharacterState(defaultToken);
|
||
newStates.push(nextState);
|
||
state.on(str[i], nextState);
|
||
state = nextState;
|
||
i++;
|
||
}
|
||
|
||
nextState = new CharacterState(endToken);
|
||
newStates.push(nextState);
|
||
state.on(str[len - 1], nextState);
|
||
|
||
return newStates;
|
||
}
|
||
|
||
exports.CharacterState = CharacterState;
|
||
exports.TokenState = TokenState;
|
||
exports.stateify = stateify;
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/linkifyjs/lib/linkify/core/tokens/create-token-class.js":
|
||
/*!******************************************************************************!*\
|
||
!*** ./node_modules/linkifyjs/lib/linkify/core/tokens/create-token-class.js ***!
|
||
\******************************************************************************/
|
||
/***/ (function(__unused_webpack_module, exports) {
|
||
|
||
"use strict";
|
||
|
||
|
||
exports.__esModule = true;
|
||
function createTokenClass() {
|
||
return function (value) {
|
||
if (value) {
|
||
this.v = value;
|
||
}
|
||
};
|
||
}
|
||
|
||
exports.createTokenClass = createTokenClass;
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/linkifyjs/lib/linkify/core/tokens/multi.js":
|
||
/*!*****************************************************************!*\
|
||
!*** ./node_modules/linkifyjs/lib/linkify/core/tokens/multi.js ***!
|
||
\*****************************************************************/
|
||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
exports.__esModule = true;
|
||
exports.URL = exports.TEXT = exports.NL = exports.EMAIL = exports.MAILTOEMAIL = exports.Base = undefined;
|
||
|
||
var _createTokenClass = __webpack_require__(/*! ./create-token-class */ "./node_modules/linkifyjs/lib/linkify/core/tokens/create-token-class.js");
|
||
|
||
var _class = __webpack_require__(/*! ../../utils/class */ "./node_modules/linkifyjs/lib/linkify/utils/class.js");
|
||
|
||
var _text = __webpack_require__(/*! ./text */ "./node_modules/linkifyjs/lib/linkify/core/tokens/text.js");
|
||
|
||
/******************************************************************************
|
||
Multi-Tokens
|
||
Tokens composed of arrays of TextTokens
|
||
******************************************************************************/
|
||
|
||
// Is the given token a valid domain token?
|
||
// Should nums be included here?
|
||
function isDomainToken(token) {
|
||
return token instanceof _text.DOMAIN || token instanceof _text.TLD;
|
||
}
|
||
|
||
/**
|
||
Abstract class used for manufacturing tokens of text tokens. That is rather
|
||
than the value for a token being a small string of text, it's value an array
|
||
of text tokens.
|
||
|
||
Used for grouping together URLs, emails, hashtags, and other potential
|
||
creations.
|
||
|
||
@class MultiToken
|
||
@abstract
|
||
*/
|
||
var MultiToken = (0, _createTokenClass.createTokenClass)();
|
||
|
||
MultiToken.prototype = {
|
||
/**
|
||
String representing the type for this token
|
||
@property type
|
||
@default 'TOKEN'
|
||
*/
|
||
type: 'token',
|
||
|
||
/**
|
||
Is this multitoken a link?
|
||
@property isLink
|
||
@default false
|
||
*/
|
||
isLink: false,
|
||
|
||
/**
|
||
Return the string this token represents.
|
||
@method toString
|
||
@return {String}
|
||
*/
|
||
toString: function toString() {
|
||
var result = [];
|
||
for (var i = 0; i < this.v.length; i++) {
|
||
result.push(this.v[i].toString());
|
||
}
|
||
return result.join('');
|
||
},
|
||
|
||
|
||
/**
|
||
What should the value for this token be in the `href` HTML attribute?
|
||
Returns the `.toString` value by default.
|
||
@method toHref
|
||
@return {String}
|
||
*/
|
||
toHref: function toHref() {
|
||
return this.toString();
|
||
},
|
||
|
||
|
||
/**
|
||
Returns a hash of relevant values for this token, which includes keys
|
||
* type - Kind of token ('url', 'email', etc.)
|
||
* value - Original text
|
||
* href - The value that should be added to the anchor tag's href
|
||
attribute
|
||
@method toObject
|
||
@param {String} [protocol] `'http'` by default
|
||
@return {Object}
|
||
*/
|
||
toObject: function toObject() {
|
||
var protocol = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'http';
|
||
|
||
return {
|
||
type: this.type,
|
||
value: this.toString(),
|
||
href: this.toHref(protocol)
|
||
};
|
||
}
|
||
};
|
||
|
||
/**
|
||
Represents an arbitrarily mailto email address with the prefix included
|
||
@class MAILTO
|
||
@extends MultiToken
|
||
*/
|
||
var MAILTOEMAIL = (0, _class.inherits)(MultiToken, (0, _createTokenClass.createTokenClass)(), {
|
||
type: 'email',
|
||
isLink: true
|
||
});
|
||
|
||
/**
|
||
Represents a list of tokens making up a valid email address
|
||
@class EMAIL
|
||
@extends MultiToken
|
||
*/
|
||
var EMAIL = (0, _class.inherits)(MultiToken, (0, _createTokenClass.createTokenClass)(), {
|
||
type: 'email',
|
||
isLink: true,
|
||
toHref: function toHref() {
|
||
return 'mailto:' + this.toString();
|
||
}
|
||
});
|
||
|
||
/**
|
||
Represents some plain text
|
||
@class TEXT
|
||
@extends MultiToken
|
||
*/
|
||
var TEXT = (0, _class.inherits)(MultiToken, (0, _createTokenClass.createTokenClass)(), { type: 'text' });
|
||
|
||
/**
|
||
Multi-linebreak token - represents a line break
|
||
@class NL
|
||
@extends MultiToken
|
||
*/
|
||
var NL = (0, _class.inherits)(MultiToken, (0, _createTokenClass.createTokenClass)(), { type: 'nl' });
|
||
|
||
/**
|
||
Represents a list of tokens making up a valid URL
|
||
@class URL
|
||
@extends MultiToken
|
||
*/
|
||
var URL = (0, _class.inherits)(MultiToken, (0, _createTokenClass.createTokenClass)(), {
|
||
type: 'url',
|
||
isLink: true,
|
||
|
||
/**
|
||
Lowercases relevant parts of the domain and adds the protocol if
|
||
required. Note that this will not escape unsafe HTML characters in the
|
||
URL.
|
||
@method href
|
||
@param {String} protocol
|
||
@return {String}
|
||
*/
|
||
toHref: function toHref() {
|
||
var protocol = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'http';
|
||
|
||
var hasProtocol = false;
|
||
var hasSlashSlash = false;
|
||
var tokens = this.v;
|
||
var result = [];
|
||
var i = 0;
|
||
|
||
// Make the first part of the domain lowercase
|
||
// Lowercase protocol
|
||
while (tokens[i] instanceof _text.PROTOCOL) {
|
||
hasProtocol = true;
|
||
result.push(tokens[i].toString().toLowerCase());
|
||
i++;
|
||
}
|
||
|
||
// Skip slash-slash
|
||
while (tokens[i] instanceof _text.SLASH) {
|
||
hasSlashSlash = true;
|
||
result.push(tokens[i].toString());
|
||
i++;
|
||
}
|
||
|
||
// Lowercase all other characters in the domain
|
||
while (isDomainToken(tokens[i])) {
|
||
result.push(tokens[i].toString().toLowerCase());
|
||
i++;
|
||
}
|
||
|
||
// Leave all other characters as they were written
|
||
for (; i < tokens.length; i++) {
|
||
result.push(tokens[i].toString());
|
||
}
|
||
|
||
result = result.join('');
|
||
|
||
if (!(hasProtocol || hasSlashSlash)) {
|
||
result = protocol + '://' + result;
|
||
}
|
||
|
||
return result;
|
||
},
|
||
hasProtocol: function hasProtocol() {
|
||
return this.v[0] instanceof _text.PROTOCOL;
|
||
}
|
||
});
|
||
|
||
exports.Base = MultiToken;
|
||
exports.MAILTOEMAIL = MAILTOEMAIL;
|
||
exports.EMAIL = EMAIL;
|
||
exports.NL = NL;
|
||
exports.TEXT = TEXT;
|
||
exports.URL = URL;
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/linkifyjs/lib/linkify/core/tokens/text.js":
|
||
/*!****************************************************************!*\
|
||
!*** ./node_modules/linkifyjs/lib/linkify/core/tokens/text.js ***!
|
||
\****************************************************************/
|
||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
exports.__esModule = true;
|
||
exports.AMPERSAND = exports.CLOSEPAREN = exports.CLOSEANGLEBRACKET = exports.CLOSEBRACKET = exports.CLOSEBRACE = exports.OPENPAREN = exports.OPENANGLEBRACKET = exports.OPENBRACKET = exports.OPENBRACE = exports.WS = exports.TLD = exports.SYM = exports.UNDERSCORE = exports.SLASH = exports.MAILTO = exports.PROTOCOL = exports.QUERY = exports.POUND = exports.PLUS = exports.NUM = exports.NL = exports.LOCALHOST = exports.PUNCTUATION = exports.DOT = exports.COLON = exports.AT = exports.DOMAIN = exports.Base = undefined;
|
||
|
||
var _createTokenClass = __webpack_require__(/*! ./create-token-class */ "./node_modules/linkifyjs/lib/linkify/core/tokens/create-token-class.js");
|
||
|
||
var _class = __webpack_require__(/*! ../../utils/class */ "./node_modules/linkifyjs/lib/linkify/utils/class.js");
|
||
|
||
/******************************************************************************
|
||
Text Tokens
|
||
Tokens composed of strings
|
||
******************************************************************************/
|
||
|
||
/**
|
||
Abstract class used for manufacturing text tokens.
|
||
Pass in the value this token represents
|
||
|
||
@class TextToken
|
||
@abstract
|
||
*/
|
||
var TextToken = (0, _createTokenClass.createTokenClass)();
|
||
TextToken.prototype = {
|
||
toString: function toString() {
|
||
return this.v + '';
|
||
}
|
||
};
|
||
|
||
function inheritsToken(value) {
|
||
var props = value ? { v: value } : {};
|
||
return (0, _class.inherits)(TextToken, (0, _createTokenClass.createTokenClass)(), props);
|
||
}
|
||
|
||
/**
|
||
A valid domain token
|
||
@class DOMAIN
|
||
@extends TextToken
|
||
*/
|
||
var DOMAIN = inheritsToken();
|
||
|
||
/**
|
||
@class AT
|
||
@extends TextToken
|
||
*/
|
||
var AT = inheritsToken('@');
|
||
|
||
/**
|
||
Represents a single colon `:` character
|
||
|
||
@class COLON
|
||
@extends TextToken
|
||
*/
|
||
var COLON = inheritsToken(':');
|
||
|
||
/**
|
||
@class DOT
|
||
@extends TextToken
|
||
*/
|
||
var DOT = inheritsToken('.');
|
||
|
||
/**
|
||
A character class that can surround the URL, but which the URL cannot begin
|
||
or end with. Does not include certain English punctuation like parentheses.
|
||
|
||
@class PUNCTUATION
|
||
@extends TextToken
|
||
*/
|
||
var PUNCTUATION = inheritsToken();
|
||
|
||
/**
|
||
The word localhost (by itself)
|
||
@class LOCALHOST
|
||
@extends TextToken
|
||
*/
|
||
var LOCALHOST = inheritsToken();
|
||
|
||
/**
|
||
Newline token
|
||
@class NL
|
||
@extends TextToken
|
||
*/
|
||
var NL = inheritsToken('\n');
|
||
|
||
/**
|
||
@class NUM
|
||
@extends TextToken
|
||
*/
|
||
var NUM = inheritsToken();
|
||
|
||
/**
|
||
@class PLUS
|
||
@extends TextToken
|
||
*/
|
||
var PLUS = inheritsToken('+');
|
||
|
||
/**
|
||
@class POUND
|
||
@extends TextToken
|
||
*/
|
||
var POUND = inheritsToken('#');
|
||
|
||
/**
|
||
Represents a web URL protocol. Supported types include
|
||
|
||
* `http:`
|
||
* `https:`
|
||
* `ftp:`
|
||
* `ftps:`
|
||
|
||
@class PROTOCOL
|
||
@extends TextToken
|
||
*/
|
||
var PROTOCOL = inheritsToken();
|
||
|
||
/**
|
||
Represents the start of the email URI protocol
|
||
|
||
@class MAILTO
|
||
@extends TextToken
|
||
*/
|
||
var MAILTO = inheritsToken('mailto:');
|
||
|
||
/**
|
||
@class QUERY
|
||
@extends TextToken
|
||
*/
|
||
var QUERY = inheritsToken('?');
|
||
|
||
/**
|
||
@class SLASH
|
||
@extends TextToken
|
||
*/
|
||
var SLASH = inheritsToken('/');
|
||
|
||
/**
|
||
@class UNDERSCORE
|
||
@extends TextToken
|
||
*/
|
||
var UNDERSCORE = inheritsToken('_');
|
||
|
||
/**
|
||
One ore more non-whitespace symbol.
|
||
@class SYM
|
||
@extends TextToken
|
||
*/
|
||
var SYM = inheritsToken();
|
||
|
||
/**
|
||
@class TLD
|
||
@extends TextToken
|
||
*/
|
||
var TLD = inheritsToken();
|
||
|
||
/**
|
||
Represents a string of consecutive whitespace characters
|
||
|
||
@class WS
|
||
@extends TextToken
|
||
*/
|
||
var WS = inheritsToken();
|
||
|
||
/**
|
||
Opening/closing bracket classes
|
||
*/
|
||
|
||
var OPENBRACE = inheritsToken('{');
|
||
var OPENBRACKET = inheritsToken('[');
|
||
var OPENANGLEBRACKET = inheritsToken('<');
|
||
var OPENPAREN = inheritsToken('(');
|
||
var CLOSEBRACE = inheritsToken('}');
|
||
var CLOSEBRACKET = inheritsToken(']');
|
||
var CLOSEANGLEBRACKET = inheritsToken('>');
|
||
var CLOSEPAREN = inheritsToken(')');
|
||
|
||
var AMPERSAND = inheritsToken('&');
|
||
|
||
exports.Base = TextToken;
|
||
exports.DOMAIN = DOMAIN;
|
||
exports.AT = AT;
|
||
exports.COLON = COLON;
|
||
exports.DOT = DOT;
|
||
exports.PUNCTUATION = PUNCTUATION;
|
||
exports.LOCALHOST = LOCALHOST;
|
||
exports.NL = NL;
|
||
exports.NUM = NUM;
|
||
exports.PLUS = PLUS;
|
||
exports.POUND = POUND;
|
||
exports.QUERY = QUERY;
|
||
exports.PROTOCOL = PROTOCOL;
|
||
exports.MAILTO = MAILTO;
|
||
exports.SLASH = SLASH;
|
||
exports.UNDERSCORE = UNDERSCORE;
|
||
exports.SYM = SYM;
|
||
exports.TLD = TLD;
|
||
exports.WS = WS;
|
||
exports.OPENBRACE = OPENBRACE;
|
||
exports.OPENBRACKET = OPENBRACKET;
|
||
exports.OPENANGLEBRACKET = OPENANGLEBRACKET;
|
||
exports.OPENPAREN = OPENPAREN;
|
||
exports.CLOSEBRACE = CLOSEBRACE;
|
||
exports.CLOSEBRACKET = CLOSEBRACKET;
|
||
exports.CLOSEANGLEBRACKET = CLOSEANGLEBRACKET;
|
||
exports.CLOSEPAREN = CLOSEPAREN;
|
||
exports.AMPERSAND = AMPERSAND;
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/linkifyjs/lib/linkify/utils/class.js":
|
||
/*!***********************************************************!*\
|
||
!*** ./node_modules/linkifyjs/lib/linkify/utils/class.js ***!
|
||
\***********************************************************/
|
||
/***/ (function(__unused_webpack_module, exports) {
|
||
|
||
"use strict";
|
||
|
||
|
||
exports.__esModule = true;
|
||
exports.inherits = inherits;
|
||
function inherits(parent, child) {
|
||
var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
||
|
||
var extended = Object.create(parent.prototype);
|
||
for (var p in props) {
|
||
extended[p] = props[p];
|
||
}
|
||
extended.constructor = child;
|
||
child.prototype = extended;
|
||
return child;
|
||
}
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/linkifyjs/lib/linkify/utils/options.js":
|
||
/*!*************************************************************!*\
|
||
!*** ./node_modules/linkifyjs/lib/linkify/utils/options.js ***!
|
||
\*************************************************************/
|
||
/***/ (function(__unused_webpack_module, exports) {
|
||
|
||
"use strict";
|
||
|
||
|
||
exports.__esModule = true;
|
||
|
||
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
||
|
||
var defaults = {
|
||
defaultProtocol: 'http',
|
||
events: null,
|
||
format: noop,
|
||
formatHref: noop,
|
||
nl2br: false,
|
||
tagName: 'a',
|
||
target: typeToTarget,
|
||
validate: true,
|
||
ignoreTags: [],
|
||
attributes: null,
|
||
className: 'linkified' // Deprecated value - no default class will be provided in the future
|
||
};
|
||
|
||
exports.defaults = defaults;
|
||
exports.Options = Options;
|
||
exports.contains = contains;
|
||
|
||
|
||
function Options(opts) {
|
||
opts = opts || {};
|
||
|
||
this.defaultProtocol = opts.hasOwnProperty('defaultProtocol') ? opts.defaultProtocol : defaults.defaultProtocol;
|
||
this.events = opts.hasOwnProperty('events') ? opts.events : defaults.events;
|
||
this.format = opts.hasOwnProperty('format') ? opts.format : defaults.format;
|
||
this.formatHref = opts.hasOwnProperty('formatHref') ? opts.formatHref : defaults.formatHref;
|
||
this.nl2br = opts.hasOwnProperty('nl2br') ? opts.nl2br : defaults.nl2br;
|
||
this.tagName = opts.hasOwnProperty('tagName') ? opts.tagName : defaults.tagName;
|
||
this.target = opts.hasOwnProperty('target') ? opts.target : defaults.target;
|
||
this.validate = opts.hasOwnProperty('validate') ? opts.validate : defaults.validate;
|
||
this.ignoreTags = [];
|
||
|
||
// linkAttributes and linkClass is deprecated
|
||
this.attributes = opts.attributes || opts.linkAttributes || defaults.attributes;
|
||
this.className = opts.hasOwnProperty('className') ? opts.className : opts.linkClass || defaults.className;
|
||
|
||
// Make all tags names upper case
|
||
var ignoredTags = opts.hasOwnProperty('ignoreTags') ? opts.ignoreTags : defaults.ignoreTags;
|
||
for (var i = 0; i < ignoredTags.length; i++) {
|
||
this.ignoreTags.push(ignoredTags[i].toUpperCase());
|
||
}
|
||
}
|
||
|
||
Options.prototype = {
|
||
/**
|
||
* Given the token, return all options for how it should be displayed
|
||
*/
|
||
resolve: function resolve(token) {
|
||
var href = token.toHref(this.defaultProtocol);
|
||
return {
|
||
formatted: this.get('format', token.toString(), token),
|
||
formattedHref: this.get('formatHref', href, token),
|
||
tagName: this.get('tagName', href, token),
|
||
className: this.get('className', href, token),
|
||
target: this.get('target', href, token),
|
||
events: this.getObject('events', href, token),
|
||
attributes: this.getObject('attributes', href, token)
|
||
};
|
||
},
|
||
|
||
|
||
/**
|
||
* Returns true or false based on whether a token should be displayed as a
|
||
* link based on the user options. By default,
|
||
*/
|
||
check: function check(token) {
|
||
return this.get('validate', token.toString(), token);
|
||
},
|
||
|
||
|
||
// Private methods
|
||
|
||
/**
|
||
* Resolve an option's value based on the value of the option and the given
|
||
* params.
|
||
* @param {String} key Name of option to use
|
||
* @param operator will be passed to the target option if it's method
|
||
* @param {MultiToken} token The token from linkify.tokenize
|
||
*/
|
||
get: function get(key, operator, token) {
|
||
var optionValue = void 0,
|
||
option = this[key];
|
||
if (!option) {
|
||
return option;
|
||
}
|
||
|
||
switch (typeof option === 'undefined' ? 'undefined' : _typeof(option)) {
|
||
case 'function':
|
||
return option(operator, token.type);
|
||
case 'object':
|
||
optionValue = option.hasOwnProperty(token.type) ? option[token.type] : defaults[key];
|
||
return typeof optionValue === 'function' ? optionValue(operator, token.type) : optionValue;
|
||
}
|
||
|
||
return option;
|
||
},
|
||
getObject: function getObject(key, operator, token) {
|
||
var option = this[key];
|
||
return typeof option === 'function' ? option(operator, token.type) : option;
|
||
}
|
||
};
|
||
|
||
/**
|
||
* Quick indexOf replacement for checking the ignoreTags option
|
||
*/
|
||
function contains(arr, value) {
|
||
for (var i = 0; i < arr.length; i++) {
|
||
if (arr[i] === value) {
|
||
return true;
|
||
}
|
||
}
|
||
return false;
|
||
}
|
||
|
||
function noop(val) {
|
||
return val;
|
||
}
|
||
|
||
function typeToTarget(href, type) {
|
||
return type === 'url' ? '_blank' : null;
|
||
}
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/linkifyjs/string.js":
|
||
/*!******************************************!*\
|
||
!*** ./node_modules/linkifyjs/string.js ***!
|
||
\******************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
module.exports = __webpack_require__(/*! ./lib/linkify-string */ "./node_modules/linkifyjs/lib/linkify-string.js").default;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash.get/index.js":
|
||
/*!******************************************!*\
|
||
!*** ./node_modules/lodash.get/index.js ***!
|
||
\******************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
/**
|
||
* lodash (Custom Build) <https://lodash.com/>
|
||
* Build: `lodash modularize exports="npm" -o ./`
|
||
* Copyright jQuery Foundation and other contributors <https://jquery.org/>
|
||
* Released under MIT license <https://lodash.com/license>
|
||
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
||
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
||
*/
|
||
|
||
/** Used as the `TypeError` message for "Functions" methods. */
|
||
var FUNC_ERROR_TEXT = 'Expected a function';
|
||
|
||
/** Used to stand-in for `undefined` hash values. */
|
||
var HASH_UNDEFINED = '__lodash_hash_undefined__';
|
||
|
||
/** Used as references for various `Number` constants. */
|
||
var INFINITY = 1 / 0;
|
||
|
||
/** `Object#toString` result references. */
|
||
var funcTag = '[object Function]',
|
||
genTag = '[object GeneratorFunction]',
|
||
symbolTag = '[object Symbol]';
|
||
|
||
/** Used to match property names within property paths. */
|
||
var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
|
||
reIsPlainProp = /^\w*$/,
|
||
reLeadingDot = /^\./,
|
||
rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
|
||
|
||
/**
|
||
* Used to match `RegExp`
|
||
* [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
|
||
*/
|
||
var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
|
||
|
||
/** Used to match backslashes in property paths. */
|
||
var reEscapeChar = /\\(\\)?/g;
|
||
|
||
/** Used to detect host constructors (Safari). */
|
||
var reIsHostCtor = /^\[object .+?Constructor\]$/;
|
||
|
||
/** Detect free variable `global` from Node.js. */
|
||
var freeGlobal = typeof __webpack_require__.g == 'object' && __webpack_require__.g && __webpack_require__.g.Object === Object && __webpack_require__.g;
|
||
|
||
/** Detect free variable `self`. */
|
||
var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
|
||
|
||
/** Used as a reference to the global object. */
|
||
var root = freeGlobal || freeSelf || Function('return this')();
|
||
|
||
/**
|
||
* Gets the value at `key` of `object`.
|
||
*
|
||
* @private
|
||
* @param {Object} [object] The object to query.
|
||
* @param {string} key The key of the property to get.
|
||
* @returns {*} Returns the property value.
|
||
*/
|
||
function getValue(object, key) {
|
||
return object == null ? undefined : object[key];
|
||
}
|
||
|
||
/**
|
||
* Checks if `value` is a host object in IE < 9.
|
||
*
|
||
* @private
|
||
* @param {*} value The value to check.
|
||
* @returns {boolean} Returns `true` if `value` is a host object, else `false`.
|
||
*/
|
||
function isHostObject(value) {
|
||
// Many host objects are `Object` objects that can coerce to strings
|
||
// despite having improperly defined `toString` methods.
|
||
var result = false;
|
||
if (value != null && typeof value.toString != 'function') {
|
||
try {
|
||
result = !!(value + '');
|
||
} catch (e) {}
|
||
}
|
||
return result;
|
||
}
|
||
|
||
/** Used for built-in method references. */
|
||
var arrayProto = Array.prototype,
|
||
funcProto = Function.prototype,
|
||
objectProto = Object.prototype;
|
||
|
||
/** Used to detect overreaching core-js shims. */
|
||
var coreJsData = root['__core-js_shared__'];
|
||
|
||
/** Used to detect methods masquerading as native. */
|
||
var maskSrcKey = (function() {
|
||
var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');
|
||
return uid ? ('Symbol(src)_1.' + uid) : '';
|
||
}());
|
||
|
||
/** Used to resolve the decompiled source of functions. */
|
||
var funcToString = funcProto.toString;
|
||
|
||
/** Used to check objects for own properties. */
|
||
var hasOwnProperty = objectProto.hasOwnProperty;
|
||
|
||
/**
|
||
* Used to resolve the
|
||
* [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
|
||
* of values.
|
||
*/
|
||
var objectToString = objectProto.toString;
|
||
|
||
/** Used to detect if a method is native. */
|
||
var reIsNative = RegExp('^' +
|
||
funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&')
|
||
.replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
|
||
);
|
||
|
||
/** Built-in value references. */
|
||
var Symbol = root.Symbol,
|
||
splice = arrayProto.splice;
|
||
|
||
/* Built-in method references that are verified to be native. */
|
||
var Map = getNative(root, 'Map'),
|
||
nativeCreate = getNative(Object, 'create');
|
||
|
||
/** Used to convert symbols to primitives and strings. */
|
||
var symbolProto = Symbol ? Symbol.prototype : undefined,
|
||
symbolToString = symbolProto ? symbolProto.toString : undefined;
|
||
|
||
/**
|
||
* Creates a hash object.
|
||
*
|
||
* @private
|
||
* @constructor
|
||
* @param {Array} [entries] The key-value pairs to cache.
|
||
*/
|
||
function Hash(entries) {
|
||
var index = -1,
|
||
length = entries ? entries.length : 0;
|
||
|
||
this.clear();
|
||
while (++index < length) {
|
||
var entry = entries[index];
|
||
this.set(entry[0], entry[1]);
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Removes all key-value entries from the hash.
|
||
*
|
||
* @private
|
||
* @name clear
|
||
* @memberOf Hash
|
||
*/
|
||
function hashClear() {
|
||
this.__data__ = nativeCreate ? nativeCreate(null) : {};
|
||
}
|
||
|
||
/**
|
||
* Removes `key` and its value from the hash.
|
||
*
|
||
* @private
|
||
* @name delete
|
||
* @memberOf Hash
|
||
* @param {Object} hash The hash to modify.
|
||
* @param {string} key The key of the value to remove.
|
||
* @returns {boolean} Returns `true` if the entry was removed, else `false`.
|
||
*/
|
||
function hashDelete(key) {
|
||
return this.has(key) && delete this.__data__[key];
|
||
}
|
||
|
||
/**
|
||
* Gets the hash value for `key`.
|
||
*
|
||
* @private
|
||
* @name get
|
||
* @memberOf Hash
|
||
* @param {string} key The key of the value to get.
|
||
* @returns {*} Returns the entry value.
|
||
*/
|
||
function hashGet(key) {
|
||
var data = this.__data__;
|
||
if (nativeCreate) {
|
||
var result = data[key];
|
||
return result === HASH_UNDEFINED ? undefined : result;
|
||
}
|
||
return hasOwnProperty.call(data, key) ? data[key] : undefined;
|
||
}
|
||
|
||
/**
|
||
* Checks if a hash value for `key` exists.
|
||
*
|
||
* @private
|
||
* @name has
|
||
* @memberOf Hash
|
||
* @param {string} key The key of the entry to check.
|
||
* @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
|
||
*/
|
||
function hashHas(key) {
|
||
var data = this.__data__;
|
||
return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);
|
||
}
|
||
|
||
/**
|
||
* Sets the hash `key` to `value`.
|
||
*
|
||
* @private
|
||
* @name set
|
||
* @memberOf Hash
|
||
* @param {string} key The key of the value to set.
|
||
* @param {*} value The value to set.
|
||
* @returns {Object} Returns the hash instance.
|
||
*/
|
||
function hashSet(key, value) {
|
||
var data = this.__data__;
|
||
data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;
|
||
return this;
|
||
}
|
||
|
||
// Add methods to `Hash`.
|
||
Hash.prototype.clear = hashClear;
|
||
Hash.prototype['delete'] = hashDelete;
|
||
Hash.prototype.get = hashGet;
|
||
Hash.prototype.has = hashHas;
|
||
Hash.prototype.set = hashSet;
|
||
|
||
/**
|
||
* Creates an list cache object.
|
||
*
|
||
* @private
|
||
* @constructor
|
||
* @param {Array} [entries] The key-value pairs to cache.
|
||
*/
|
||
function ListCache(entries) {
|
||
var index = -1,
|
||
length = entries ? entries.length : 0;
|
||
|
||
this.clear();
|
||
while (++index < length) {
|
||
var entry = entries[index];
|
||
this.set(entry[0], entry[1]);
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Removes all key-value entries from the list cache.
|
||
*
|
||
* @private
|
||
* @name clear
|
||
* @memberOf ListCache
|
||
*/
|
||
function listCacheClear() {
|
||
this.__data__ = [];
|
||
}
|
||
|
||
/**
|
||
* Removes `key` and its value from the list cache.
|
||
*
|
||
* @private
|
||
* @name delete
|
||
* @memberOf ListCache
|
||
* @param {string} key The key of the value to remove.
|
||
* @returns {boolean} Returns `true` if the entry was removed, else `false`.
|
||
*/
|
||
function listCacheDelete(key) {
|
||
var data = this.__data__,
|
||
index = assocIndexOf(data, key);
|
||
|
||
if (index < 0) {
|
||
return false;
|
||
}
|
||
var lastIndex = data.length - 1;
|
||
if (index == lastIndex) {
|
||
data.pop();
|
||
} else {
|
||
splice.call(data, index, 1);
|
||
}
|
||
return true;
|
||
}
|
||
|
||
/**
|
||
* Gets the list cache value for `key`.
|
||
*
|
||
* @private
|
||
* @name get
|
||
* @memberOf ListCache
|
||
* @param {string} key The key of the value to get.
|
||
* @returns {*} Returns the entry value.
|
||
*/
|
||
function listCacheGet(key) {
|
||
var data = this.__data__,
|
||
index = assocIndexOf(data, key);
|
||
|
||
return index < 0 ? undefined : data[index][1];
|
||
}
|
||
|
||
/**
|
||
* Checks if a list cache value for `key` exists.
|
||
*
|
||
* @private
|
||
* @name has
|
||
* @memberOf ListCache
|
||
* @param {string} key The key of the entry to check.
|
||
* @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
|
||
*/
|
||
function listCacheHas(key) {
|
||
return assocIndexOf(this.__data__, key) > -1;
|
||
}
|
||
|
||
/**
|
||
* Sets the list cache `key` to `value`.
|
||
*
|
||
* @private
|
||
* @name set
|
||
* @memberOf ListCache
|
||
* @param {string} key The key of the value to set.
|
||
* @param {*} value The value to set.
|
||
* @returns {Object} Returns the list cache instance.
|
||
*/
|
||
function listCacheSet(key, value) {
|
||
var data = this.__data__,
|
||
index = assocIndexOf(data, key);
|
||
|
||
if (index < 0) {
|
||
data.push([key, value]);
|
||
} else {
|
||
data[index][1] = value;
|
||
}
|
||
return this;
|
||
}
|
||
|
||
// Add methods to `ListCache`.
|
||
ListCache.prototype.clear = listCacheClear;
|
||
ListCache.prototype['delete'] = listCacheDelete;
|
||
ListCache.prototype.get = listCacheGet;
|
||
ListCache.prototype.has = listCacheHas;
|
||
ListCache.prototype.set = listCacheSet;
|
||
|
||
/**
|
||
* Creates a map cache object to store key-value pairs.
|
||
*
|
||
* @private
|
||
* @constructor
|
||
* @param {Array} [entries] The key-value pairs to cache.
|
||
*/
|
||
function MapCache(entries) {
|
||
var index = -1,
|
||
length = entries ? entries.length : 0;
|
||
|
||
this.clear();
|
||
while (++index < length) {
|
||
var entry = entries[index];
|
||
this.set(entry[0], entry[1]);
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Removes all key-value entries from the map.
|
||
*
|
||
* @private
|
||
* @name clear
|
||
* @memberOf MapCache
|
||
*/
|
||
function mapCacheClear() {
|
||
this.__data__ = {
|
||
'hash': new Hash,
|
||
'map': new (Map || ListCache),
|
||
'string': new Hash
|
||
};
|
||
}
|
||
|
||
/**
|
||
* Removes `key` and its value from the map.
|
||
*
|
||
* @private
|
||
* @name delete
|
||
* @memberOf MapCache
|
||
* @param {string} key The key of the value to remove.
|
||
* @returns {boolean} Returns `true` if the entry was removed, else `false`.
|
||
*/
|
||
function mapCacheDelete(key) {
|
||
return getMapData(this, key)['delete'](key);
|
||
}
|
||
|
||
/**
|
||
* Gets the map value for `key`.
|
||
*
|
||
* @private
|
||
* @name get
|
||
* @memberOf MapCache
|
||
* @param {string} key The key of the value to get.
|
||
* @returns {*} Returns the entry value.
|
||
*/
|
||
function mapCacheGet(key) {
|
||
return getMapData(this, key).get(key);
|
||
}
|
||
|
||
/**
|
||
* Checks if a map value for `key` exists.
|
||
*
|
||
* @private
|
||
* @name has
|
||
* @memberOf MapCache
|
||
* @param {string} key The key of the entry to check.
|
||
* @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
|
||
*/
|
||
function mapCacheHas(key) {
|
||
return getMapData(this, key).has(key);
|
||
}
|
||
|
||
/**
|
||
* Sets the map `key` to `value`.
|
||
*
|
||
* @private
|
||
* @name set
|
||
* @memberOf MapCache
|
||
* @param {string} key The key of the value to set.
|
||
* @param {*} value The value to set.
|
||
* @returns {Object} Returns the map cache instance.
|
||
*/
|
||
function mapCacheSet(key, value) {
|
||
getMapData(this, key).set(key, value);
|
||
return this;
|
||
}
|
||
|
||
// Add methods to `MapCache`.
|
||
MapCache.prototype.clear = mapCacheClear;
|
||
MapCache.prototype['delete'] = mapCacheDelete;
|
||
MapCache.prototype.get = mapCacheGet;
|
||
MapCache.prototype.has = mapCacheHas;
|
||
MapCache.prototype.set = mapCacheSet;
|
||
|
||
/**
|
||
* Gets the index at which the `key` is found in `array` of key-value pairs.
|
||
*
|
||
* @private
|
||
* @param {Array} array The array to inspect.
|
||
* @param {*} key The key to search for.
|
||
* @returns {number} Returns the index of the matched value, else `-1`.
|
||
*/
|
||
function assocIndexOf(array, key) {
|
||
var length = array.length;
|
||
while (length--) {
|
||
if (eq(array[length][0], key)) {
|
||
return length;
|
||
}
|
||
}
|
||
return -1;
|
||
}
|
||
|
||
/**
|
||
* The base implementation of `_.get` without support for default values.
|
||
*
|
||
* @private
|
||
* @param {Object} object The object to query.
|
||
* @param {Array|string} path The path of the property to get.
|
||
* @returns {*} Returns the resolved value.
|
||
*/
|
||
function baseGet(object, path) {
|
||
path = isKey(path, object) ? [path] : castPath(path);
|
||
|
||
var index = 0,
|
||
length = path.length;
|
||
|
||
while (object != null && index < length) {
|
||
object = object[toKey(path[index++])];
|
||
}
|
||
return (index && index == length) ? object : undefined;
|
||
}
|
||
|
||
/**
|
||
* The base implementation of `_.isNative` without bad shim checks.
|
||
*
|
||
* @private
|
||
* @param {*} value The value to check.
|
||
* @returns {boolean} Returns `true` if `value` is a native function,
|
||
* else `false`.
|
||
*/
|
||
function baseIsNative(value) {
|
||
if (!isObject(value) || isMasked(value)) {
|
||
return false;
|
||
}
|
||
var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;
|
||
return pattern.test(toSource(value));
|
||
}
|
||
|
||
/**
|
||
* The base implementation of `_.toString` which doesn't convert nullish
|
||
* values to empty strings.
|
||
*
|
||
* @private
|
||
* @param {*} value The value to process.
|
||
* @returns {string} Returns the string.
|
||
*/
|
||
function baseToString(value) {
|
||
// Exit early for strings to avoid a performance hit in some environments.
|
||
if (typeof value == 'string') {
|
||
return value;
|
||
}
|
||
if (isSymbol(value)) {
|
||
return symbolToString ? symbolToString.call(value) : '';
|
||
}
|
||
var result = (value + '');
|
||
return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
|
||
}
|
||
|
||
/**
|
||
* Casts `value` to a path array if it's not one.
|
||
*
|
||
* @private
|
||
* @param {*} value The value to inspect.
|
||
* @returns {Array} Returns the cast property path array.
|
||
*/
|
||
function castPath(value) {
|
||
return isArray(value) ? value : stringToPath(value);
|
||
}
|
||
|
||
/**
|
||
* Gets the data for `map`.
|
||
*
|
||
* @private
|
||
* @param {Object} map The map to query.
|
||
* @param {string} key The reference key.
|
||
* @returns {*} Returns the map data.
|
||
*/
|
||
function getMapData(map, key) {
|
||
var data = map.__data__;
|
||
return isKeyable(key)
|
||
? data[typeof key == 'string' ? 'string' : 'hash']
|
||
: data.map;
|
||
}
|
||
|
||
/**
|
||
* Gets the native function at `key` of `object`.
|
||
*
|
||
* @private
|
||
* @param {Object} object The object to query.
|
||
* @param {string} key The key of the method to get.
|
||
* @returns {*} Returns the function if it's native, else `undefined`.
|
||
*/
|
||
function getNative(object, key) {
|
||
var value = getValue(object, key);
|
||
return baseIsNative(value) ? value : undefined;
|
||
}
|
||
|
||
/**
|
||
* Checks if `value` is a property name and not a property path.
|
||
*
|
||
* @private
|
||
* @param {*} value The value to check.
|
||
* @param {Object} [object] The object to query keys on.
|
||
* @returns {boolean} Returns `true` if `value` is a property name, else `false`.
|
||
*/
|
||
function isKey(value, object) {
|
||
if (isArray(value)) {
|
||
return false;
|
||
}
|
||
var type = typeof value;
|
||
if (type == 'number' || type == 'symbol' || type == 'boolean' ||
|
||
value == null || isSymbol(value)) {
|
||
return true;
|
||
}
|
||
return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||
|
||
(object != null && value in Object(object));
|
||
}
|
||
|
||
/**
|
||
* Checks if `value` is suitable for use as unique object key.
|
||
*
|
||
* @private
|
||
* @param {*} value The value to check.
|
||
* @returns {boolean} Returns `true` if `value` is suitable, else `false`.
|
||
*/
|
||
function isKeyable(value) {
|
||
var type = typeof value;
|
||
return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')
|
||
? (value !== '__proto__')
|
||
: (value === null);
|
||
}
|
||
|
||
/**
|
||
* Checks if `func` has its source masked.
|
||
*
|
||
* @private
|
||
* @param {Function} func The function to check.
|
||
* @returns {boolean} Returns `true` if `func` is masked, else `false`.
|
||
*/
|
||
function isMasked(func) {
|
||
return !!maskSrcKey && (maskSrcKey in func);
|
||
}
|
||
|
||
/**
|
||
* Converts `string` to a property path array.
|
||
*
|
||
* @private
|
||
* @param {string} string The string to convert.
|
||
* @returns {Array} Returns the property path array.
|
||
*/
|
||
var stringToPath = memoize(function(string) {
|
||
string = toString(string);
|
||
|
||
var result = [];
|
||
if (reLeadingDot.test(string)) {
|
||
result.push('');
|
||
}
|
||
string.replace(rePropName, function(match, number, quote, string) {
|
||
result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));
|
||
});
|
||
return result;
|
||
});
|
||
|
||
/**
|
||
* Converts `value` to a string key if it's not a string or symbol.
|
||
*
|
||
* @private
|
||
* @param {*} value The value to inspect.
|
||
* @returns {string|symbol} Returns the key.
|
||
*/
|
||
function toKey(value) {
|
||
if (typeof value == 'string' || isSymbol(value)) {
|
||
return value;
|
||
}
|
||
var result = (value + '');
|
||
return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
|
||
}
|
||
|
||
/**
|
||
* Converts `func` to its source code.
|
||
*
|
||
* @private
|
||
* @param {Function} func The function to process.
|
||
* @returns {string} Returns the source code.
|
||
*/
|
||
function toSource(func) {
|
||
if (func != null) {
|
||
try {
|
||
return funcToString.call(func);
|
||
} catch (e) {}
|
||
try {
|
||
return (func + '');
|
||
} catch (e) {}
|
||
}
|
||
return '';
|
||
}
|
||
|
||
/**
|
||
* Creates a function that memoizes the result of `func`. If `resolver` is
|
||
* provided, it determines the cache key for storing the result based on the
|
||
* arguments provided to the memoized function. By default, the first argument
|
||
* provided to the memoized function is used as the map cache key. The `func`
|
||
* is invoked with the `this` binding of the memoized function.
|
||
*
|
||
* **Note:** The cache is exposed as the `cache` property on the memoized
|
||
* function. Its creation may be customized by replacing the `_.memoize.Cache`
|
||
* constructor with one whose instances implement the
|
||
* [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)
|
||
* method interface of `delete`, `get`, `has`, and `set`.
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 0.1.0
|
||
* @category Function
|
||
* @param {Function} func The function to have its output memoized.
|
||
* @param {Function} [resolver] The function to resolve the cache key.
|
||
* @returns {Function} Returns the new memoized function.
|
||
* @example
|
||
*
|
||
* var object = { 'a': 1, 'b': 2 };
|
||
* var other = { 'c': 3, 'd': 4 };
|
||
*
|
||
* var values = _.memoize(_.values);
|
||
* values(object);
|
||
* // => [1, 2]
|
||
*
|
||
* values(other);
|
||
* // => [3, 4]
|
||
*
|
||
* object.a = 2;
|
||
* values(object);
|
||
* // => [1, 2]
|
||
*
|
||
* // Modify the result cache.
|
||
* values.cache.set(object, ['a', 'b']);
|
||
* values(object);
|
||
* // => ['a', 'b']
|
||
*
|
||
* // Replace `_.memoize.Cache`.
|
||
* _.memoize.Cache = WeakMap;
|
||
*/
|
||
function memoize(func, resolver) {
|
||
if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {
|
||
throw new TypeError(FUNC_ERROR_TEXT);
|
||
}
|
||
var memoized = function() {
|
||
var args = arguments,
|
||
key = resolver ? resolver.apply(this, args) : args[0],
|
||
cache = memoized.cache;
|
||
|
||
if (cache.has(key)) {
|
||
return cache.get(key);
|
||
}
|
||
var result = func.apply(this, args);
|
||
memoized.cache = cache.set(key, result);
|
||
return result;
|
||
};
|
||
memoized.cache = new (memoize.Cache || MapCache);
|
||
return memoized;
|
||
}
|
||
|
||
// Assign cache to `_.memoize`.
|
||
memoize.Cache = MapCache;
|
||
|
||
/**
|
||
* Performs a
|
||
* [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
|
||
* comparison between two values to determine if they are equivalent.
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 4.0.0
|
||
* @category Lang
|
||
* @param {*} value The value to compare.
|
||
* @param {*} other The other value to compare.
|
||
* @returns {boolean} Returns `true` if the values are equivalent, else `false`.
|
||
* @example
|
||
*
|
||
* var object = { 'a': 1 };
|
||
* var other = { 'a': 1 };
|
||
*
|
||
* _.eq(object, object);
|
||
* // => true
|
||
*
|
||
* _.eq(object, other);
|
||
* // => false
|
||
*
|
||
* _.eq('a', 'a');
|
||
* // => true
|
||
*
|
||
* _.eq('a', Object('a'));
|
||
* // => false
|
||
*
|
||
* _.eq(NaN, NaN);
|
||
* // => true
|
||
*/
|
||
function eq(value, other) {
|
||
return value === other || (value !== value && other !== other);
|
||
}
|
||
|
||
/**
|
||
* Checks if `value` is classified as an `Array` object.
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 0.1.0
|
||
* @category Lang
|
||
* @param {*} value The value to check.
|
||
* @returns {boolean} Returns `true` if `value` is an array, else `false`.
|
||
* @example
|
||
*
|
||
* _.isArray([1, 2, 3]);
|
||
* // => true
|
||
*
|
||
* _.isArray(document.body.children);
|
||
* // => false
|
||
*
|
||
* _.isArray('abc');
|
||
* // => false
|
||
*
|
||
* _.isArray(_.noop);
|
||
* // => false
|
||
*/
|
||
var isArray = Array.isArray;
|
||
|
||
/**
|
||
* Checks if `value` is classified as a `Function` object.
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 0.1.0
|
||
* @category Lang
|
||
* @param {*} value The value to check.
|
||
* @returns {boolean} Returns `true` if `value` is a function, else `false`.
|
||
* @example
|
||
*
|
||
* _.isFunction(_);
|
||
* // => true
|
||
*
|
||
* _.isFunction(/abc/);
|
||
* // => false
|
||
*/
|
||
function isFunction(value) {
|
||
// The use of `Object#toString` avoids issues with the `typeof` operator
|
||
// in Safari 8-9 which returns 'object' for typed array and other constructors.
|
||
var tag = isObject(value) ? objectToString.call(value) : '';
|
||
return tag == funcTag || tag == genTag;
|
||
}
|
||
|
||
/**
|
||
* Checks if `value` is the
|
||
* [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
|
||
* of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 0.1.0
|
||
* @category Lang
|
||
* @param {*} value The value to check.
|
||
* @returns {boolean} Returns `true` if `value` is an object, else `false`.
|
||
* @example
|
||
*
|
||
* _.isObject({});
|
||
* // => true
|
||
*
|
||
* _.isObject([1, 2, 3]);
|
||
* // => true
|
||
*
|
||
* _.isObject(_.noop);
|
||
* // => true
|
||
*
|
||
* _.isObject(null);
|
||
* // => false
|
||
*/
|
||
function isObject(value) {
|
||
var type = typeof value;
|
||
return !!value && (type == 'object' || type == 'function');
|
||
}
|
||
|
||
/**
|
||
* Checks if `value` is object-like. A value is object-like if it's not `null`
|
||
* and has a `typeof` result of "object".
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 4.0.0
|
||
* @category Lang
|
||
* @param {*} value The value to check.
|
||
* @returns {boolean} Returns `true` if `value` is object-like, else `false`.
|
||
* @example
|
||
*
|
||
* _.isObjectLike({});
|
||
* // => true
|
||
*
|
||
* _.isObjectLike([1, 2, 3]);
|
||
* // => true
|
||
*
|
||
* _.isObjectLike(_.noop);
|
||
* // => false
|
||
*
|
||
* _.isObjectLike(null);
|
||
* // => false
|
||
*/
|
||
function isObjectLike(value) {
|
||
return !!value && typeof value == 'object';
|
||
}
|
||
|
||
/**
|
||
* Checks if `value` is classified as a `Symbol` primitive or object.
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 4.0.0
|
||
* @category Lang
|
||
* @param {*} value The value to check.
|
||
* @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
|
||
* @example
|
||
*
|
||
* _.isSymbol(Symbol.iterator);
|
||
* // => true
|
||
*
|
||
* _.isSymbol('abc');
|
||
* // => false
|
||
*/
|
||
function isSymbol(value) {
|
||
return typeof value == 'symbol' ||
|
||
(isObjectLike(value) && objectToString.call(value) == symbolTag);
|
||
}
|
||
|
||
/**
|
||
* Converts `value` to a string. An empty string is returned for `null`
|
||
* and `undefined` values. The sign of `-0` is preserved.
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 4.0.0
|
||
* @category Lang
|
||
* @param {*} value The value to process.
|
||
* @returns {string} Returns the string.
|
||
* @example
|
||
*
|
||
* _.toString(null);
|
||
* // => ''
|
||
*
|
||
* _.toString(-0);
|
||
* // => '-0'
|
||
*
|
||
* _.toString([1, 2, 3]);
|
||
* // => '1,2,3'
|
||
*/
|
||
function toString(value) {
|
||
return value == null ? '' : baseToString(value);
|
||
}
|
||
|
||
/**
|
||
* Gets the value at `path` of `object`. If the resolved value is
|
||
* `undefined`, the `defaultValue` is returned in its place.
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 3.7.0
|
||
* @category Object
|
||
* @param {Object} object The object to query.
|
||
* @param {Array|string} path The path of the property to get.
|
||
* @param {*} [defaultValue] The value returned for `undefined` resolved values.
|
||
* @returns {*} Returns the resolved value.
|
||
* @example
|
||
*
|
||
* var object = { 'a': [{ 'b': { 'c': 3 } }] };
|
||
*
|
||
* _.get(object, 'a[0].b.c');
|
||
* // => 3
|
||
*
|
||
* _.get(object, ['a', '0', 'b', 'c']);
|
||
* // => 3
|
||
*
|
||
* _.get(object, 'a.b.c', 'default');
|
||
* // => 'default'
|
||
*/
|
||
function get(object, path, defaultValue) {
|
||
var result = object == null ? undefined : baseGet(object, path);
|
||
return result === undefined ? defaultValue : result;
|
||
}
|
||
|
||
module.exports = get;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_DataView.js":
|
||
/*!******************************************!*\
|
||
!*** ./node_modules/lodash/_DataView.js ***!
|
||
\******************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var getNative = __webpack_require__(/*! ./_getNative */ "./node_modules/lodash/_getNative.js"),
|
||
root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js");
|
||
|
||
/* Built-in method references that are verified to be native. */
|
||
var DataView = getNative(root, 'DataView');
|
||
|
||
module.exports = DataView;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_Hash.js":
|
||
/*!**************************************!*\
|
||
!*** ./node_modules/lodash/_Hash.js ***!
|
||
\**************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var hashClear = __webpack_require__(/*! ./_hashClear */ "./node_modules/lodash/_hashClear.js"),
|
||
hashDelete = __webpack_require__(/*! ./_hashDelete */ "./node_modules/lodash/_hashDelete.js"),
|
||
hashGet = __webpack_require__(/*! ./_hashGet */ "./node_modules/lodash/_hashGet.js"),
|
||
hashHas = __webpack_require__(/*! ./_hashHas */ "./node_modules/lodash/_hashHas.js"),
|
||
hashSet = __webpack_require__(/*! ./_hashSet */ "./node_modules/lodash/_hashSet.js");
|
||
|
||
/**
|
||
* Creates a hash object.
|
||
*
|
||
* @private
|
||
* @constructor
|
||
* @param {Array} [entries] The key-value pairs to cache.
|
||
*/
|
||
function Hash(entries) {
|
||
var index = -1,
|
||
length = entries == null ? 0 : entries.length;
|
||
|
||
this.clear();
|
||
while (++index < length) {
|
||
var entry = entries[index];
|
||
this.set(entry[0], entry[1]);
|
||
}
|
||
}
|
||
|
||
// Add methods to `Hash`.
|
||
Hash.prototype.clear = hashClear;
|
||
Hash.prototype['delete'] = hashDelete;
|
||
Hash.prototype.get = hashGet;
|
||
Hash.prototype.has = hashHas;
|
||
Hash.prototype.set = hashSet;
|
||
|
||
module.exports = Hash;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_ListCache.js":
|
||
/*!*******************************************!*\
|
||
!*** ./node_modules/lodash/_ListCache.js ***!
|
||
\*******************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var listCacheClear = __webpack_require__(/*! ./_listCacheClear */ "./node_modules/lodash/_listCacheClear.js"),
|
||
listCacheDelete = __webpack_require__(/*! ./_listCacheDelete */ "./node_modules/lodash/_listCacheDelete.js"),
|
||
listCacheGet = __webpack_require__(/*! ./_listCacheGet */ "./node_modules/lodash/_listCacheGet.js"),
|
||
listCacheHas = __webpack_require__(/*! ./_listCacheHas */ "./node_modules/lodash/_listCacheHas.js"),
|
||
listCacheSet = __webpack_require__(/*! ./_listCacheSet */ "./node_modules/lodash/_listCacheSet.js");
|
||
|
||
/**
|
||
* Creates an list cache object.
|
||
*
|
||
* @private
|
||
* @constructor
|
||
* @param {Array} [entries] The key-value pairs to cache.
|
||
*/
|
||
function ListCache(entries) {
|
||
var index = -1,
|
||
length = entries == null ? 0 : entries.length;
|
||
|
||
this.clear();
|
||
while (++index < length) {
|
||
var entry = entries[index];
|
||
this.set(entry[0], entry[1]);
|
||
}
|
||
}
|
||
|
||
// Add methods to `ListCache`.
|
||
ListCache.prototype.clear = listCacheClear;
|
||
ListCache.prototype['delete'] = listCacheDelete;
|
||
ListCache.prototype.get = listCacheGet;
|
||
ListCache.prototype.has = listCacheHas;
|
||
ListCache.prototype.set = listCacheSet;
|
||
|
||
module.exports = ListCache;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_Map.js":
|
||
/*!*************************************!*\
|
||
!*** ./node_modules/lodash/_Map.js ***!
|
||
\*************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var getNative = __webpack_require__(/*! ./_getNative */ "./node_modules/lodash/_getNative.js"),
|
||
root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js");
|
||
|
||
/* Built-in method references that are verified to be native. */
|
||
var Map = getNative(root, 'Map');
|
||
|
||
module.exports = Map;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_MapCache.js":
|
||
/*!******************************************!*\
|
||
!*** ./node_modules/lodash/_MapCache.js ***!
|
||
\******************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var mapCacheClear = __webpack_require__(/*! ./_mapCacheClear */ "./node_modules/lodash/_mapCacheClear.js"),
|
||
mapCacheDelete = __webpack_require__(/*! ./_mapCacheDelete */ "./node_modules/lodash/_mapCacheDelete.js"),
|
||
mapCacheGet = __webpack_require__(/*! ./_mapCacheGet */ "./node_modules/lodash/_mapCacheGet.js"),
|
||
mapCacheHas = __webpack_require__(/*! ./_mapCacheHas */ "./node_modules/lodash/_mapCacheHas.js"),
|
||
mapCacheSet = __webpack_require__(/*! ./_mapCacheSet */ "./node_modules/lodash/_mapCacheSet.js");
|
||
|
||
/**
|
||
* Creates a map cache object to store key-value pairs.
|
||
*
|
||
* @private
|
||
* @constructor
|
||
* @param {Array} [entries] The key-value pairs to cache.
|
||
*/
|
||
function MapCache(entries) {
|
||
var index = -1,
|
||
length = entries == null ? 0 : entries.length;
|
||
|
||
this.clear();
|
||
while (++index < length) {
|
||
var entry = entries[index];
|
||
this.set(entry[0], entry[1]);
|
||
}
|
||
}
|
||
|
||
// Add methods to `MapCache`.
|
||
MapCache.prototype.clear = mapCacheClear;
|
||
MapCache.prototype['delete'] = mapCacheDelete;
|
||
MapCache.prototype.get = mapCacheGet;
|
||
MapCache.prototype.has = mapCacheHas;
|
||
MapCache.prototype.set = mapCacheSet;
|
||
|
||
module.exports = MapCache;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_Promise.js":
|
||
/*!*****************************************!*\
|
||
!*** ./node_modules/lodash/_Promise.js ***!
|
||
\*****************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var getNative = __webpack_require__(/*! ./_getNative */ "./node_modules/lodash/_getNative.js"),
|
||
root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js");
|
||
|
||
/* Built-in method references that are verified to be native. */
|
||
var Promise = getNative(root, 'Promise');
|
||
|
||
module.exports = Promise;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_Set.js":
|
||
/*!*************************************!*\
|
||
!*** ./node_modules/lodash/_Set.js ***!
|
||
\*************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var getNative = __webpack_require__(/*! ./_getNative */ "./node_modules/lodash/_getNative.js"),
|
||
root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js");
|
||
|
||
/* Built-in method references that are verified to be native. */
|
||
var Set = getNative(root, 'Set');
|
||
|
||
module.exports = Set;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_SetCache.js":
|
||
/*!******************************************!*\
|
||
!*** ./node_modules/lodash/_SetCache.js ***!
|
||
\******************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var MapCache = __webpack_require__(/*! ./_MapCache */ "./node_modules/lodash/_MapCache.js"),
|
||
setCacheAdd = __webpack_require__(/*! ./_setCacheAdd */ "./node_modules/lodash/_setCacheAdd.js"),
|
||
setCacheHas = __webpack_require__(/*! ./_setCacheHas */ "./node_modules/lodash/_setCacheHas.js");
|
||
|
||
/**
|
||
*
|
||
* Creates an array cache object to store unique values.
|
||
*
|
||
* @private
|
||
* @constructor
|
||
* @param {Array} [values] The values to cache.
|
||
*/
|
||
function SetCache(values) {
|
||
var index = -1,
|
||
length = values == null ? 0 : values.length;
|
||
|
||
this.__data__ = new MapCache;
|
||
while (++index < length) {
|
||
this.add(values[index]);
|
||
}
|
||
}
|
||
|
||
// Add methods to `SetCache`.
|
||
SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
|
||
SetCache.prototype.has = setCacheHas;
|
||
|
||
module.exports = SetCache;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_Stack.js":
|
||
/*!***************************************!*\
|
||
!*** ./node_modules/lodash/_Stack.js ***!
|
||
\***************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var ListCache = __webpack_require__(/*! ./_ListCache */ "./node_modules/lodash/_ListCache.js"),
|
||
stackClear = __webpack_require__(/*! ./_stackClear */ "./node_modules/lodash/_stackClear.js"),
|
||
stackDelete = __webpack_require__(/*! ./_stackDelete */ "./node_modules/lodash/_stackDelete.js"),
|
||
stackGet = __webpack_require__(/*! ./_stackGet */ "./node_modules/lodash/_stackGet.js"),
|
||
stackHas = __webpack_require__(/*! ./_stackHas */ "./node_modules/lodash/_stackHas.js"),
|
||
stackSet = __webpack_require__(/*! ./_stackSet */ "./node_modules/lodash/_stackSet.js");
|
||
|
||
/**
|
||
* Creates a stack cache object to store key-value pairs.
|
||
*
|
||
* @private
|
||
* @constructor
|
||
* @param {Array} [entries] The key-value pairs to cache.
|
||
*/
|
||
function Stack(entries) {
|
||
var data = this.__data__ = new ListCache(entries);
|
||
this.size = data.size;
|
||
}
|
||
|
||
// Add methods to `Stack`.
|
||
Stack.prototype.clear = stackClear;
|
||
Stack.prototype['delete'] = stackDelete;
|
||
Stack.prototype.get = stackGet;
|
||
Stack.prototype.has = stackHas;
|
||
Stack.prototype.set = stackSet;
|
||
|
||
module.exports = Stack;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_Symbol.js":
|
||
/*!****************************************!*\
|
||
!*** ./node_modules/lodash/_Symbol.js ***!
|
||
\****************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js");
|
||
|
||
/** Built-in value references. */
|
||
var Symbol = root.Symbol;
|
||
|
||
module.exports = Symbol;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_Uint8Array.js":
|
||
/*!********************************************!*\
|
||
!*** ./node_modules/lodash/_Uint8Array.js ***!
|
||
\********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js");
|
||
|
||
/** Built-in value references. */
|
||
var Uint8Array = root.Uint8Array;
|
||
|
||
module.exports = Uint8Array;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_WeakMap.js":
|
||
/*!*****************************************!*\
|
||
!*** ./node_modules/lodash/_WeakMap.js ***!
|
||
\*****************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var getNative = __webpack_require__(/*! ./_getNative */ "./node_modules/lodash/_getNative.js"),
|
||
root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js");
|
||
|
||
/* Built-in method references that are verified to be native. */
|
||
var WeakMap = getNative(root, 'WeakMap');
|
||
|
||
module.exports = WeakMap;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_apply.js":
|
||
/*!***************************************!*\
|
||
!*** ./node_modules/lodash/_apply.js ***!
|
||
\***************************************/
|
||
/***/ (function(module) {
|
||
|
||
/**
|
||
* A faster alternative to `Function#apply`, this function invokes `func`
|
||
* with the `this` binding of `thisArg` and the arguments of `args`.
|
||
*
|
||
* @private
|
||
* @param {Function} func The function to invoke.
|
||
* @param {*} thisArg The `this` binding of `func`.
|
||
* @param {Array} args The arguments to invoke `func` with.
|
||
* @returns {*} Returns the result of `func`.
|
||
*/
|
||
function apply(func, thisArg, args) {
|
||
switch (args.length) {
|
||
case 0: return func.call(thisArg);
|
||
case 1: return func.call(thisArg, args[0]);
|
||
case 2: return func.call(thisArg, args[0], args[1]);
|
||
case 3: return func.call(thisArg, args[0], args[1], args[2]);
|
||
}
|
||
return func.apply(thisArg, args);
|
||
}
|
||
|
||
module.exports = apply;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_arrayFilter.js":
|
||
/*!*********************************************!*\
|
||
!*** ./node_modules/lodash/_arrayFilter.js ***!
|
||
\*********************************************/
|
||
/***/ (function(module) {
|
||
|
||
/**
|
||
* A specialized version of `_.filter` for arrays without support for
|
||
* iteratee shorthands.
|
||
*
|
||
* @private
|
||
* @param {Array} [array] The array to iterate over.
|
||
* @param {Function} predicate The function invoked per iteration.
|
||
* @returns {Array} Returns the new filtered array.
|
||
*/
|
||
function arrayFilter(array, predicate) {
|
||
var index = -1,
|
||
length = array == null ? 0 : array.length,
|
||
resIndex = 0,
|
||
result = [];
|
||
|
||
while (++index < length) {
|
||
var value = array[index];
|
||
if (predicate(value, index, array)) {
|
||
result[resIndex++] = value;
|
||
}
|
||
}
|
||
return result;
|
||
}
|
||
|
||
module.exports = arrayFilter;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_arrayLikeKeys.js":
|
||
/*!***********************************************!*\
|
||
!*** ./node_modules/lodash/_arrayLikeKeys.js ***!
|
||
\***********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var baseTimes = __webpack_require__(/*! ./_baseTimes */ "./node_modules/lodash/_baseTimes.js"),
|
||
isArguments = __webpack_require__(/*! ./isArguments */ "./node_modules/lodash/isArguments.js"),
|
||
isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js"),
|
||
isBuffer = __webpack_require__(/*! ./isBuffer */ "./node_modules/lodash/isBuffer.js"),
|
||
isIndex = __webpack_require__(/*! ./_isIndex */ "./node_modules/lodash/_isIndex.js"),
|
||
isTypedArray = __webpack_require__(/*! ./isTypedArray */ "./node_modules/lodash/isTypedArray.js");
|
||
|
||
/** Used for built-in method references. */
|
||
var objectProto = Object.prototype;
|
||
|
||
/** Used to check objects for own properties. */
|
||
var hasOwnProperty = objectProto.hasOwnProperty;
|
||
|
||
/**
|
||
* Creates an array of the enumerable property names of the array-like `value`.
|
||
*
|
||
* @private
|
||
* @param {*} value The value to query.
|
||
* @param {boolean} inherited Specify returning inherited property names.
|
||
* @returns {Array} Returns the array of property names.
|
||
*/
|
||
function arrayLikeKeys(value, inherited) {
|
||
var isArr = isArray(value),
|
||
isArg = !isArr && isArguments(value),
|
||
isBuff = !isArr && !isArg && isBuffer(value),
|
||
isType = !isArr && !isArg && !isBuff && isTypedArray(value),
|
||
skipIndexes = isArr || isArg || isBuff || isType,
|
||
result = skipIndexes ? baseTimes(value.length, String) : [],
|
||
length = result.length;
|
||
|
||
for (var key in value) {
|
||
if ((inherited || hasOwnProperty.call(value, key)) &&
|
||
!(skipIndexes && (
|
||
// Safari 9 has enumerable `arguments.length` in strict mode.
|
||
key == 'length' ||
|
||
// Node.js 0.10 has enumerable non-index properties on buffers.
|
||
(isBuff && (key == 'offset' || key == 'parent')) ||
|
||
// PhantomJS 2 has enumerable non-index properties on typed arrays.
|
||
(isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||
|
||
// Skip index properties.
|
||
isIndex(key, length)
|
||
))) {
|
||
result.push(key);
|
||
}
|
||
}
|
||
return result;
|
||
}
|
||
|
||
module.exports = arrayLikeKeys;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_arrayPush.js":
|
||
/*!*******************************************!*\
|
||
!*** ./node_modules/lodash/_arrayPush.js ***!
|
||
\*******************************************/
|
||
/***/ (function(module) {
|
||
|
||
/**
|
||
* Appends the elements of `values` to `array`.
|
||
*
|
||
* @private
|
||
* @param {Array} array The array to modify.
|
||
* @param {Array} values The values to append.
|
||
* @returns {Array} Returns `array`.
|
||
*/
|
||
function arrayPush(array, values) {
|
||
var index = -1,
|
||
length = values.length,
|
||
offset = array.length;
|
||
|
||
while (++index < length) {
|
||
array[offset + index] = values[index];
|
||
}
|
||
return array;
|
||
}
|
||
|
||
module.exports = arrayPush;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_arraySome.js":
|
||
/*!*******************************************!*\
|
||
!*** ./node_modules/lodash/_arraySome.js ***!
|
||
\*******************************************/
|
||
/***/ (function(module) {
|
||
|
||
/**
|
||
* A specialized version of `_.some` for arrays without support for iteratee
|
||
* shorthands.
|
||
*
|
||
* @private
|
||
* @param {Array} [array] The array to iterate over.
|
||
* @param {Function} predicate The function invoked per iteration.
|
||
* @returns {boolean} Returns `true` if any element passes the predicate check,
|
||
* else `false`.
|
||
*/
|
||
function arraySome(array, predicate) {
|
||
var index = -1,
|
||
length = array == null ? 0 : array.length;
|
||
|
||
while (++index < length) {
|
||
if (predicate(array[index], index, array)) {
|
||
return true;
|
||
}
|
||
}
|
||
return false;
|
||
}
|
||
|
||
module.exports = arraySome;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_assignMergeValue.js":
|
||
/*!**************************************************!*\
|
||
!*** ./node_modules/lodash/_assignMergeValue.js ***!
|
||
\**************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var baseAssignValue = __webpack_require__(/*! ./_baseAssignValue */ "./node_modules/lodash/_baseAssignValue.js"),
|
||
eq = __webpack_require__(/*! ./eq */ "./node_modules/lodash/eq.js");
|
||
|
||
/**
|
||
* This function is like `assignValue` except that it doesn't assign
|
||
* `undefined` values.
|
||
*
|
||
* @private
|
||
* @param {Object} object The object to modify.
|
||
* @param {string} key The key of the property to assign.
|
||
* @param {*} value The value to assign.
|
||
*/
|
||
function assignMergeValue(object, key, value) {
|
||
if ((value !== undefined && !eq(object[key], value)) ||
|
||
(value === undefined && !(key in object))) {
|
||
baseAssignValue(object, key, value);
|
||
}
|
||
}
|
||
|
||
module.exports = assignMergeValue;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_assignValue.js":
|
||
/*!*********************************************!*\
|
||
!*** ./node_modules/lodash/_assignValue.js ***!
|
||
\*********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var baseAssignValue = __webpack_require__(/*! ./_baseAssignValue */ "./node_modules/lodash/_baseAssignValue.js"),
|
||
eq = __webpack_require__(/*! ./eq */ "./node_modules/lodash/eq.js");
|
||
|
||
/** Used for built-in method references. */
|
||
var objectProto = Object.prototype;
|
||
|
||
/** Used to check objects for own properties. */
|
||
var hasOwnProperty = objectProto.hasOwnProperty;
|
||
|
||
/**
|
||
* Assigns `value` to `key` of `object` if the existing value is not equivalent
|
||
* using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
|
||
* for equality comparisons.
|
||
*
|
||
* @private
|
||
* @param {Object} object The object to modify.
|
||
* @param {string} key The key of the property to assign.
|
||
* @param {*} value The value to assign.
|
||
*/
|
||
function assignValue(object, key, value) {
|
||
var objValue = object[key];
|
||
if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||
|
||
(value === undefined && !(key in object))) {
|
||
baseAssignValue(object, key, value);
|
||
}
|
||
}
|
||
|
||
module.exports = assignValue;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_assocIndexOf.js":
|
||
/*!**********************************************!*\
|
||
!*** ./node_modules/lodash/_assocIndexOf.js ***!
|
||
\**********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var eq = __webpack_require__(/*! ./eq */ "./node_modules/lodash/eq.js");
|
||
|
||
/**
|
||
* Gets the index at which the `key` is found in `array` of key-value pairs.
|
||
*
|
||
* @private
|
||
* @param {Array} array The array to inspect.
|
||
* @param {*} key The key to search for.
|
||
* @returns {number} Returns the index of the matched value, else `-1`.
|
||
*/
|
||
function assocIndexOf(array, key) {
|
||
var length = array.length;
|
||
while (length--) {
|
||
if (eq(array[length][0], key)) {
|
||
return length;
|
||
}
|
||
}
|
||
return -1;
|
||
}
|
||
|
||
module.exports = assocIndexOf;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_baseAssignValue.js":
|
||
/*!*************************************************!*\
|
||
!*** ./node_modules/lodash/_baseAssignValue.js ***!
|
||
\*************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var defineProperty = __webpack_require__(/*! ./_defineProperty */ "./node_modules/lodash/_defineProperty.js");
|
||
|
||
/**
|
||
* The base implementation of `assignValue` and `assignMergeValue` without
|
||
* value checks.
|
||
*
|
||
* @private
|
||
* @param {Object} object The object to modify.
|
||
* @param {string} key The key of the property to assign.
|
||
* @param {*} value The value to assign.
|
||
*/
|
||
function baseAssignValue(object, key, value) {
|
||
if (key == '__proto__' && defineProperty) {
|
||
defineProperty(object, key, {
|
||
'configurable': true,
|
||
'enumerable': true,
|
||
'value': value,
|
||
'writable': true
|
||
});
|
||
} else {
|
||
object[key] = value;
|
||
}
|
||
}
|
||
|
||
module.exports = baseAssignValue;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_baseCreate.js":
|
||
/*!********************************************!*\
|
||
!*** ./node_modules/lodash/_baseCreate.js ***!
|
||
\********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js");
|
||
|
||
/** Built-in value references. */
|
||
var objectCreate = Object.create;
|
||
|
||
/**
|
||
* The base implementation of `_.create` without support for assigning
|
||
* properties to the created object.
|
||
*
|
||
* @private
|
||
* @param {Object} proto The object to inherit from.
|
||
* @returns {Object} Returns the new object.
|
||
*/
|
||
var baseCreate = (function() {
|
||
function object() {}
|
||
return function(proto) {
|
||
if (!isObject(proto)) {
|
||
return {};
|
||
}
|
||
if (objectCreate) {
|
||
return objectCreate(proto);
|
||
}
|
||
object.prototype = proto;
|
||
var result = new object;
|
||
object.prototype = undefined;
|
||
return result;
|
||
};
|
||
}());
|
||
|
||
module.exports = baseCreate;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_baseFor.js":
|
||
/*!*****************************************!*\
|
||
!*** ./node_modules/lodash/_baseFor.js ***!
|
||
\*****************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var createBaseFor = __webpack_require__(/*! ./_createBaseFor */ "./node_modules/lodash/_createBaseFor.js");
|
||
|
||
/**
|
||
* The base implementation of `baseForOwn` which iterates over `object`
|
||
* properties returned by `keysFunc` and invokes `iteratee` for each property.
|
||
* Iteratee functions may exit iteration early by explicitly returning `false`.
|
||
*
|
||
* @private
|
||
* @param {Object} object The object to iterate over.
|
||
* @param {Function} iteratee The function invoked per iteration.
|
||
* @param {Function} keysFunc The function to get the keys of `object`.
|
||
* @returns {Object} Returns `object`.
|
||
*/
|
||
var baseFor = createBaseFor();
|
||
|
||
module.exports = baseFor;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_baseGetAllKeys.js":
|
||
/*!************************************************!*\
|
||
!*** ./node_modules/lodash/_baseGetAllKeys.js ***!
|
||
\************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var arrayPush = __webpack_require__(/*! ./_arrayPush */ "./node_modules/lodash/_arrayPush.js"),
|
||
isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js");
|
||
|
||
/**
|
||
* The base implementation of `getAllKeys` and `getAllKeysIn` which uses
|
||
* `keysFunc` and `symbolsFunc` to get the enumerable property names and
|
||
* symbols of `object`.
|
||
*
|
||
* @private
|
||
* @param {Object} object The object to query.
|
||
* @param {Function} keysFunc The function to get the keys of `object`.
|
||
* @param {Function} symbolsFunc The function to get the symbols of `object`.
|
||
* @returns {Array} Returns the array of property names and symbols.
|
||
*/
|
||
function baseGetAllKeys(object, keysFunc, symbolsFunc) {
|
||
var result = keysFunc(object);
|
||
return isArray(object) ? result : arrayPush(result, symbolsFunc(object));
|
||
}
|
||
|
||
module.exports = baseGetAllKeys;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_baseGetTag.js":
|
||
/*!********************************************!*\
|
||
!*** ./node_modules/lodash/_baseGetTag.js ***!
|
||
\********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js"),
|
||
getRawTag = __webpack_require__(/*! ./_getRawTag */ "./node_modules/lodash/_getRawTag.js"),
|
||
objectToString = __webpack_require__(/*! ./_objectToString */ "./node_modules/lodash/_objectToString.js");
|
||
|
||
/** `Object#toString` result references. */
|
||
var nullTag = '[object Null]',
|
||
undefinedTag = '[object Undefined]';
|
||
|
||
/** Built-in value references. */
|
||
var symToStringTag = Symbol ? Symbol.toStringTag : undefined;
|
||
|
||
/**
|
||
* The base implementation of `getTag` without fallbacks for buggy environments.
|
||
*
|
||
* @private
|
||
* @param {*} value The value to query.
|
||
* @returns {string} Returns the `toStringTag`.
|
||
*/
|
||
function baseGetTag(value) {
|
||
if (value == null) {
|
||
return value === undefined ? undefinedTag : nullTag;
|
||
}
|
||
return (symToStringTag && symToStringTag in Object(value))
|
||
? getRawTag(value)
|
||
: objectToString(value);
|
||
}
|
||
|
||
module.exports = baseGetTag;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_baseIsArguments.js":
|
||
/*!*************************************************!*\
|
||
!*** ./node_modules/lodash/_baseIsArguments.js ***!
|
||
\*************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "./node_modules/lodash/_baseGetTag.js"),
|
||
isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js");
|
||
|
||
/** `Object#toString` result references. */
|
||
var argsTag = '[object Arguments]';
|
||
|
||
/**
|
||
* The base implementation of `_.isArguments`.
|
||
*
|
||
* @private
|
||
* @param {*} value The value to check.
|
||
* @returns {boolean} Returns `true` if `value` is an `arguments` object,
|
||
*/
|
||
function baseIsArguments(value) {
|
||
return isObjectLike(value) && baseGetTag(value) == argsTag;
|
||
}
|
||
|
||
module.exports = baseIsArguments;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_baseIsEqual.js":
|
||
/*!*********************************************!*\
|
||
!*** ./node_modules/lodash/_baseIsEqual.js ***!
|
||
\*********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var baseIsEqualDeep = __webpack_require__(/*! ./_baseIsEqualDeep */ "./node_modules/lodash/_baseIsEqualDeep.js"),
|
||
isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js");
|
||
|
||
/**
|
||
* The base implementation of `_.isEqual` which supports partial comparisons
|
||
* and tracks traversed objects.
|
||
*
|
||
* @private
|
||
* @param {*} value The value to compare.
|
||
* @param {*} other The other value to compare.
|
||
* @param {boolean} bitmask The bitmask flags.
|
||
* 1 - Unordered comparison
|
||
* 2 - Partial comparison
|
||
* @param {Function} [customizer] The function to customize comparisons.
|
||
* @param {Object} [stack] Tracks traversed `value` and `other` objects.
|
||
* @returns {boolean} Returns `true` if the values are equivalent, else `false`.
|
||
*/
|
||
function baseIsEqual(value, other, bitmask, customizer, stack) {
|
||
if (value === other) {
|
||
return true;
|
||
}
|
||
if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {
|
||
return value !== value && other !== other;
|
||
}
|
||
return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);
|
||
}
|
||
|
||
module.exports = baseIsEqual;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_baseIsEqualDeep.js":
|
||
/*!*************************************************!*\
|
||
!*** ./node_modules/lodash/_baseIsEqualDeep.js ***!
|
||
\*************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var Stack = __webpack_require__(/*! ./_Stack */ "./node_modules/lodash/_Stack.js"),
|
||
equalArrays = __webpack_require__(/*! ./_equalArrays */ "./node_modules/lodash/_equalArrays.js"),
|
||
equalByTag = __webpack_require__(/*! ./_equalByTag */ "./node_modules/lodash/_equalByTag.js"),
|
||
equalObjects = __webpack_require__(/*! ./_equalObjects */ "./node_modules/lodash/_equalObjects.js"),
|
||
getTag = __webpack_require__(/*! ./_getTag */ "./node_modules/lodash/_getTag.js"),
|
||
isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js"),
|
||
isBuffer = __webpack_require__(/*! ./isBuffer */ "./node_modules/lodash/isBuffer.js"),
|
||
isTypedArray = __webpack_require__(/*! ./isTypedArray */ "./node_modules/lodash/isTypedArray.js");
|
||
|
||
/** Used to compose bitmasks for value comparisons. */
|
||
var COMPARE_PARTIAL_FLAG = 1;
|
||
|
||
/** `Object#toString` result references. */
|
||
var argsTag = '[object Arguments]',
|
||
arrayTag = '[object Array]',
|
||
objectTag = '[object Object]';
|
||
|
||
/** Used for built-in method references. */
|
||
var objectProto = Object.prototype;
|
||
|
||
/** Used to check objects for own properties. */
|
||
var hasOwnProperty = objectProto.hasOwnProperty;
|
||
|
||
/**
|
||
* A specialized version of `baseIsEqual` for arrays and objects which performs
|
||
* deep comparisons and tracks traversed objects enabling objects with circular
|
||
* references to be compared.
|
||
*
|
||
* @private
|
||
* @param {Object} object The object to compare.
|
||
* @param {Object} other The other object to compare.
|
||
* @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
|
||
* @param {Function} customizer The function to customize comparisons.
|
||
* @param {Function} equalFunc The function to determine equivalents of values.
|
||
* @param {Object} [stack] Tracks traversed `object` and `other` objects.
|
||
* @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
|
||
*/
|
||
function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
|
||
var objIsArr = isArray(object),
|
||
othIsArr = isArray(other),
|
||
objTag = objIsArr ? arrayTag : getTag(object),
|
||
othTag = othIsArr ? arrayTag : getTag(other);
|
||
|
||
objTag = objTag == argsTag ? objectTag : objTag;
|
||
othTag = othTag == argsTag ? objectTag : othTag;
|
||
|
||
var objIsObj = objTag == objectTag,
|
||
othIsObj = othTag == objectTag,
|
||
isSameTag = objTag == othTag;
|
||
|
||
if (isSameTag && isBuffer(object)) {
|
||
if (!isBuffer(other)) {
|
||
return false;
|
||
}
|
||
objIsArr = true;
|
||
objIsObj = false;
|
||
}
|
||
if (isSameTag && !objIsObj) {
|
||
stack || (stack = new Stack);
|
||
return (objIsArr || isTypedArray(object))
|
||
? equalArrays(object, other, bitmask, customizer, equalFunc, stack)
|
||
: equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
|
||
}
|
||
if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
|
||
var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),
|
||
othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');
|
||
|
||
if (objIsWrapped || othIsWrapped) {
|
||
var objUnwrapped = objIsWrapped ? object.value() : object,
|
||
othUnwrapped = othIsWrapped ? other.value() : other;
|
||
|
||
stack || (stack = new Stack);
|
||
return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
|
||
}
|
||
}
|
||
if (!isSameTag) {
|
||
return false;
|
||
}
|
||
stack || (stack = new Stack);
|
||
return equalObjects(object, other, bitmask, customizer, equalFunc, stack);
|
||
}
|
||
|
||
module.exports = baseIsEqualDeep;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_baseIsNative.js":
|
||
/*!**********************************************!*\
|
||
!*** ./node_modules/lodash/_baseIsNative.js ***!
|
||
\**********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var isFunction = __webpack_require__(/*! ./isFunction */ "./node_modules/lodash/isFunction.js"),
|
||
isMasked = __webpack_require__(/*! ./_isMasked */ "./node_modules/lodash/_isMasked.js"),
|
||
isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js"),
|
||
toSource = __webpack_require__(/*! ./_toSource */ "./node_modules/lodash/_toSource.js");
|
||
|
||
/**
|
||
* Used to match `RegExp`
|
||
* [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
|
||
*/
|
||
var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
|
||
|
||
/** Used to detect host constructors (Safari). */
|
||
var reIsHostCtor = /^\[object .+?Constructor\]$/;
|
||
|
||
/** Used for built-in method references. */
|
||
var funcProto = Function.prototype,
|
||
objectProto = Object.prototype;
|
||
|
||
/** Used to resolve the decompiled source of functions. */
|
||
var funcToString = funcProto.toString;
|
||
|
||
/** Used to check objects for own properties. */
|
||
var hasOwnProperty = objectProto.hasOwnProperty;
|
||
|
||
/** Used to detect if a method is native. */
|
||
var reIsNative = RegExp('^' +
|
||
funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&')
|
||
.replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
|
||
);
|
||
|
||
/**
|
||
* The base implementation of `_.isNative` without bad shim checks.
|
||
*
|
||
* @private
|
||
* @param {*} value The value to check.
|
||
* @returns {boolean} Returns `true` if `value` is a native function,
|
||
* else `false`.
|
||
*/
|
||
function baseIsNative(value) {
|
||
if (!isObject(value) || isMasked(value)) {
|
||
return false;
|
||
}
|
||
var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
|
||
return pattern.test(toSource(value));
|
||
}
|
||
|
||
module.exports = baseIsNative;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_baseIsTypedArray.js":
|
||
/*!**************************************************!*\
|
||
!*** ./node_modules/lodash/_baseIsTypedArray.js ***!
|
||
\**************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "./node_modules/lodash/_baseGetTag.js"),
|
||
isLength = __webpack_require__(/*! ./isLength */ "./node_modules/lodash/isLength.js"),
|
||
isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js");
|
||
|
||
/** `Object#toString` result references. */
|
||
var argsTag = '[object Arguments]',
|
||
arrayTag = '[object Array]',
|
||
boolTag = '[object Boolean]',
|
||
dateTag = '[object Date]',
|
||
errorTag = '[object Error]',
|
||
funcTag = '[object Function]',
|
||
mapTag = '[object Map]',
|
||
numberTag = '[object Number]',
|
||
objectTag = '[object Object]',
|
||
regexpTag = '[object RegExp]',
|
||
setTag = '[object Set]',
|
||
stringTag = '[object String]',
|
||
weakMapTag = '[object WeakMap]';
|
||
|
||
var arrayBufferTag = '[object ArrayBuffer]',
|
||
dataViewTag = '[object DataView]',
|
||
float32Tag = '[object Float32Array]',
|
||
float64Tag = '[object Float64Array]',
|
||
int8Tag = '[object Int8Array]',
|
||
int16Tag = '[object Int16Array]',
|
||
int32Tag = '[object Int32Array]',
|
||
uint8Tag = '[object Uint8Array]',
|
||
uint8ClampedTag = '[object Uint8ClampedArray]',
|
||
uint16Tag = '[object Uint16Array]',
|
||
uint32Tag = '[object Uint32Array]';
|
||
|
||
/** Used to identify `toStringTag` values of typed arrays. */
|
||
var typedArrayTags = {};
|
||
typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =
|
||
typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =
|
||
typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =
|
||
typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =
|
||
typedArrayTags[uint32Tag] = true;
|
||
typedArrayTags[argsTag] = typedArrayTags[arrayTag] =
|
||
typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =
|
||
typedArrayTags[dataViewTag] = typedArrayTags[dateTag] =
|
||
typedArrayTags[errorTag] = typedArrayTags[funcTag] =
|
||
typedArrayTags[mapTag] = typedArrayTags[numberTag] =
|
||
typedArrayTags[objectTag] = typedArrayTags[regexpTag] =
|
||
typedArrayTags[setTag] = typedArrayTags[stringTag] =
|
||
typedArrayTags[weakMapTag] = false;
|
||
|
||
/**
|
||
* The base implementation of `_.isTypedArray` without Node.js optimizations.
|
||
*
|
||
* @private
|
||
* @param {*} value The value to check.
|
||
* @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
|
||
*/
|
||
function baseIsTypedArray(value) {
|
||
return isObjectLike(value) &&
|
||
isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
|
||
}
|
||
|
||
module.exports = baseIsTypedArray;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_baseKeys.js":
|
||
/*!******************************************!*\
|
||
!*** ./node_modules/lodash/_baseKeys.js ***!
|
||
\******************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var isPrototype = __webpack_require__(/*! ./_isPrototype */ "./node_modules/lodash/_isPrototype.js"),
|
||
nativeKeys = __webpack_require__(/*! ./_nativeKeys */ "./node_modules/lodash/_nativeKeys.js");
|
||
|
||
/** Used for built-in method references. */
|
||
var objectProto = Object.prototype;
|
||
|
||
/** Used to check objects for own properties. */
|
||
var hasOwnProperty = objectProto.hasOwnProperty;
|
||
|
||
/**
|
||
* The base implementation of `_.keys` which doesn't treat sparse arrays as dense.
|
||
*
|
||
* @private
|
||
* @param {Object} object The object to query.
|
||
* @returns {Array} Returns the array of property names.
|
||
*/
|
||
function baseKeys(object) {
|
||
if (!isPrototype(object)) {
|
||
return nativeKeys(object);
|
||
}
|
||
var result = [];
|
||
for (var key in Object(object)) {
|
||
if (hasOwnProperty.call(object, key) && key != 'constructor') {
|
||
result.push(key);
|
||
}
|
||
}
|
||
return result;
|
||
}
|
||
|
||
module.exports = baseKeys;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_baseKeysIn.js":
|
||
/*!********************************************!*\
|
||
!*** ./node_modules/lodash/_baseKeysIn.js ***!
|
||
\********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js"),
|
||
isPrototype = __webpack_require__(/*! ./_isPrototype */ "./node_modules/lodash/_isPrototype.js"),
|
||
nativeKeysIn = __webpack_require__(/*! ./_nativeKeysIn */ "./node_modules/lodash/_nativeKeysIn.js");
|
||
|
||
/** Used for built-in method references. */
|
||
var objectProto = Object.prototype;
|
||
|
||
/** Used to check objects for own properties. */
|
||
var hasOwnProperty = objectProto.hasOwnProperty;
|
||
|
||
/**
|
||
* The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.
|
||
*
|
||
* @private
|
||
* @param {Object} object The object to query.
|
||
* @returns {Array} Returns the array of property names.
|
||
*/
|
||
function baseKeysIn(object) {
|
||
if (!isObject(object)) {
|
||
return nativeKeysIn(object);
|
||
}
|
||
var isProto = isPrototype(object),
|
||
result = [];
|
||
|
||
for (var key in object) {
|
||
if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {
|
||
result.push(key);
|
||
}
|
||
}
|
||
return result;
|
||
}
|
||
|
||
module.exports = baseKeysIn;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_baseMerge.js":
|
||
/*!*******************************************!*\
|
||
!*** ./node_modules/lodash/_baseMerge.js ***!
|
||
\*******************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var Stack = __webpack_require__(/*! ./_Stack */ "./node_modules/lodash/_Stack.js"),
|
||
assignMergeValue = __webpack_require__(/*! ./_assignMergeValue */ "./node_modules/lodash/_assignMergeValue.js"),
|
||
baseFor = __webpack_require__(/*! ./_baseFor */ "./node_modules/lodash/_baseFor.js"),
|
||
baseMergeDeep = __webpack_require__(/*! ./_baseMergeDeep */ "./node_modules/lodash/_baseMergeDeep.js"),
|
||
isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js"),
|
||
keysIn = __webpack_require__(/*! ./keysIn */ "./node_modules/lodash/keysIn.js"),
|
||
safeGet = __webpack_require__(/*! ./_safeGet */ "./node_modules/lodash/_safeGet.js");
|
||
|
||
/**
|
||
* The base implementation of `_.merge` without support for multiple sources.
|
||
*
|
||
* @private
|
||
* @param {Object} object The destination object.
|
||
* @param {Object} source The source object.
|
||
* @param {number} srcIndex The index of `source`.
|
||
* @param {Function} [customizer] The function to customize merged values.
|
||
* @param {Object} [stack] Tracks traversed source values and their merged
|
||
* counterparts.
|
||
*/
|
||
function baseMerge(object, source, srcIndex, customizer, stack) {
|
||
if (object === source) {
|
||
return;
|
||
}
|
||
baseFor(source, function(srcValue, key) {
|
||
stack || (stack = new Stack);
|
||
if (isObject(srcValue)) {
|
||
baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);
|
||
}
|
||
else {
|
||
var newValue = customizer
|
||
? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)
|
||
: undefined;
|
||
|
||
if (newValue === undefined) {
|
||
newValue = srcValue;
|
||
}
|
||
assignMergeValue(object, key, newValue);
|
||
}
|
||
}, keysIn);
|
||
}
|
||
|
||
module.exports = baseMerge;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_baseMergeDeep.js":
|
||
/*!***********************************************!*\
|
||
!*** ./node_modules/lodash/_baseMergeDeep.js ***!
|
||
\***********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var assignMergeValue = __webpack_require__(/*! ./_assignMergeValue */ "./node_modules/lodash/_assignMergeValue.js"),
|
||
cloneBuffer = __webpack_require__(/*! ./_cloneBuffer */ "./node_modules/lodash/_cloneBuffer.js"),
|
||
cloneTypedArray = __webpack_require__(/*! ./_cloneTypedArray */ "./node_modules/lodash/_cloneTypedArray.js"),
|
||
copyArray = __webpack_require__(/*! ./_copyArray */ "./node_modules/lodash/_copyArray.js"),
|
||
initCloneObject = __webpack_require__(/*! ./_initCloneObject */ "./node_modules/lodash/_initCloneObject.js"),
|
||
isArguments = __webpack_require__(/*! ./isArguments */ "./node_modules/lodash/isArguments.js"),
|
||
isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js"),
|
||
isArrayLikeObject = __webpack_require__(/*! ./isArrayLikeObject */ "./node_modules/lodash/isArrayLikeObject.js"),
|
||
isBuffer = __webpack_require__(/*! ./isBuffer */ "./node_modules/lodash/isBuffer.js"),
|
||
isFunction = __webpack_require__(/*! ./isFunction */ "./node_modules/lodash/isFunction.js"),
|
||
isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js"),
|
||
isPlainObject = __webpack_require__(/*! ./isPlainObject */ "./node_modules/lodash/isPlainObject.js"),
|
||
isTypedArray = __webpack_require__(/*! ./isTypedArray */ "./node_modules/lodash/isTypedArray.js"),
|
||
safeGet = __webpack_require__(/*! ./_safeGet */ "./node_modules/lodash/_safeGet.js"),
|
||
toPlainObject = __webpack_require__(/*! ./toPlainObject */ "./node_modules/lodash/toPlainObject.js");
|
||
|
||
/**
|
||
* A specialized version of `baseMerge` for arrays and objects which performs
|
||
* deep merges and tracks traversed objects enabling objects with circular
|
||
* references to be merged.
|
||
*
|
||
* @private
|
||
* @param {Object} object The destination object.
|
||
* @param {Object} source The source object.
|
||
* @param {string} key The key of the value to merge.
|
||
* @param {number} srcIndex The index of `source`.
|
||
* @param {Function} mergeFunc The function to merge values.
|
||
* @param {Function} [customizer] The function to customize assigned values.
|
||
* @param {Object} [stack] Tracks traversed source values and their merged
|
||
* counterparts.
|
||
*/
|
||
function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {
|
||
var objValue = safeGet(object, key),
|
||
srcValue = safeGet(source, key),
|
||
stacked = stack.get(srcValue);
|
||
|
||
if (stacked) {
|
||
assignMergeValue(object, key, stacked);
|
||
return;
|
||
}
|
||
var newValue = customizer
|
||
? customizer(objValue, srcValue, (key + ''), object, source, stack)
|
||
: undefined;
|
||
|
||
var isCommon = newValue === undefined;
|
||
|
||
if (isCommon) {
|
||
var isArr = isArray(srcValue),
|
||
isBuff = !isArr && isBuffer(srcValue),
|
||
isTyped = !isArr && !isBuff && isTypedArray(srcValue);
|
||
|
||
newValue = srcValue;
|
||
if (isArr || isBuff || isTyped) {
|
||
if (isArray(objValue)) {
|
||
newValue = objValue;
|
||
}
|
||
else if (isArrayLikeObject(objValue)) {
|
||
newValue = copyArray(objValue);
|
||
}
|
||
else if (isBuff) {
|
||
isCommon = false;
|
||
newValue = cloneBuffer(srcValue, true);
|
||
}
|
||
else if (isTyped) {
|
||
isCommon = false;
|
||
newValue = cloneTypedArray(srcValue, true);
|
||
}
|
||
else {
|
||
newValue = [];
|
||
}
|
||
}
|
||
else if (isPlainObject(srcValue) || isArguments(srcValue)) {
|
||
newValue = objValue;
|
||
if (isArguments(objValue)) {
|
||
newValue = toPlainObject(objValue);
|
||
}
|
||
else if (!isObject(objValue) || isFunction(objValue)) {
|
||
newValue = initCloneObject(srcValue);
|
||
}
|
||
}
|
||
else {
|
||
isCommon = false;
|
||
}
|
||
}
|
||
if (isCommon) {
|
||
// Recursively merge objects and arrays (susceptible to call stack limits).
|
||
stack.set(srcValue, newValue);
|
||
mergeFunc(newValue, srcValue, srcIndex, customizer, stack);
|
||
stack['delete'](srcValue);
|
||
}
|
||
assignMergeValue(object, key, newValue);
|
||
}
|
||
|
||
module.exports = baseMergeDeep;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_baseRest.js":
|
||
/*!******************************************!*\
|
||
!*** ./node_modules/lodash/_baseRest.js ***!
|
||
\******************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var identity = __webpack_require__(/*! ./identity */ "./node_modules/lodash/identity.js"),
|
||
overRest = __webpack_require__(/*! ./_overRest */ "./node_modules/lodash/_overRest.js"),
|
||
setToString = __webpack_require__(/*! ./_setToString */ "./node_modules/lodash/_setToString.js");
|
||
|
||
/**
|
||
* The base implementation of `_.rest` which doesn't validate or coerce arguments.
|
||
*
|
||
* @private
|
||
* @param {Function} func The function to apply a rest parameter to.
|
||
* @param {number} [start=func.length-1] The start position of the rest parameter.
|
||
* @returns {Function} Returns the new function.
|
||
*/
|
||
function baseRest(func, start) {
|
||
return setToString(overRest(func, start, identity), func + '');
|
||
}
|
||
|
||
module.exports = baseRest;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_baseSetToString.js":
|
||
/*!*************************************************!*\
|
||
!*** ./node_modules/lodash/_baseSetToString.js ***!
|
||
\*************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var constant = __webpack_require__(/*! ./constant */ "./node_modules/lodash/constant.js"),
|
||
defineProperty = __webpack_require__(/*! ./_defineProperty */ "./node_modules/lodash/_defineProperty.js"),
|
||
identity = __webpack_require__(/*! ./identity */ "./node_modules/lodash/identity.js");
|
||
|
||
/**
|
||
* The base implementation of `setToString` without support for hot loop shorting.
|
||
*
|
||
* @private
|
||
* @param {Function} func The function to modify.
|
||
* @param {Function} string The `toString` result.
|
||
* @returns {Function} Returns `func`.
|
||
*/
|
||
var baseSetToString = !defineProperty ? identity : function(func, string) {
|
||
return defineProperty(func, 'toString', {
|
||
'configurable': true,
|
||
'enumerable': false,
|
||
'value': constant(string),
|
||
'writable': true
|
||
});
|
||
};
|
||
|
||
module.exports = baseSetToString;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_baseTimes.js":
|
||
/*!*******************************************!*\
|
||
!*** ./node_modules/lodash/_baseTimes.js ***!
|
||
\*******************************************/
|
||
/***/ (function(module) {
|
||
|
||
/**
|
||
* The base implementation of `_.times` without support for iteratee shorthands
|
||
* or max array length checks.
|
||
*
|
||
* @private
|
||
* @param {number} n The number of times to invoke `iteratee`.
|
||
* @param {Function} iteratee The function invoked per iteration.
|
||
* @returns {Array} Returns the array of results.
|
||
*/
|
||
function baseTimes(n, iteratee) {
|
||
var index = -1,
|
||
result = Array(n);
|
||
|
||
while (++index < n) {
|
||
result[index] = iteratee(index);
|
||
}
|
||
return result;
|
||
}
|
||
|
||
module.exports = baseTimes;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_baseUnary.js":
|
||
/*!*******************************************!*\
|
||
!*** ./node_modules/lodash/_baseUnary.js ***!
|
||
\*******************************************/
|
||
/***/ (function(module) {
|
||
|
||
/**
|
||
* The base implementation of `_.unary` without support for storing metadata.
|
||
*
|
||
* @private
|
||
* @param {Function} func The function to cap arguments for.
|
||
* @returns {Function} Returns the new capped function.
|
||
*/
|
||
function baseUnary(func) {
|
||
return function(value) {
|
||
return func(value);
|
||
};
|
||
}
|
||
|
||
module.exports = baseUnary;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_cacheHas.js":
|
||
/*!******************************************!*\
|
||
!*** ./node_modules/lodash/_cacheHas.js ***!
|
||
\******************************************/
|
||
/***/ (function(module) {
|
||
|
||
/**
|
||
* Checks if a `cache` value for `key` exists.
|
||
*
|
||
* @private
|
||
* @param {Object} cache The cache to query.
|
||
* @param {string} key The key of the entry to check.
|
||
* @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
|
||
*/
|
||
function cacheHas(cache, key) {
|
||
return cache.has(key);
|
||
}
|
||
|
||
module.exports = cacheHas;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_cloneArrayBuffer.js":
|
||
/*!**************************************************!*\
|
||
!*** ./node_modules/lodash/_cloneArrayBuffer.js ***!
|
||
\**************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var Uint8Array = __webpack_require__(/*! ./_Uint8Array */ "./node_modules/lodash/_Uint8Array.js");
|
||
|
||
/**
|
||
* Creates a clone of `arrayBuffer`.
|
||
*
|
||
* @private
|
||
* @param {ArrayBuffer} arrayBuffer The array buffer to clone.
|
||
* @returns {ArrayBuffer} Returns the cloned array buffer.
|
||
*/
|
||
function cloneArrayBuffer(arrayBuffer) {
|
||
var result = new arrayBuffer.constructor(arrayBuffer.byteLength);
|
||
new Uint8Array(result).set(new Uint8Array(arrayBuffer));
|
||
return result;
|
||
}
|
||
|
||
module.exports = cloneArrayBuffer;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_cloneBuffer.js":
|
||
/*!*********************************************!*\
|
||
!*** ./node_modules/lodash/_cloneBuffer.js ***!
|
||
\*********************************************/
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
/* module decorator */ module = __webpack_require__.nmd(module);
|
||
var root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js");
|
||
|
||
/** Detect free variable `exports`. */
|
||
var freeExports = true && exports && !exports.nodeType && exports;
|
||
|
||
/** Detect free variable `module`. */
|
||
var freeModule = freeExports && "object" == 'object' && module && !module.nodeType && module;
|
||
|
||
/** Detect the popular CommonJS extension `module.exports`. */
|
||
var moduleExports = freeModule && freeModule.exports === freeExports;
|
||
|
||
/** Built-in value references. */
|
||
var Buffer = moduleExports ? root.Buffer : undefined,
|
||
allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;
|
||
|
||
/**
|
||
* Creates a clone of `buffer`.
|
||
*
|
||
* @private
|
||
* @param {Buffer} buffer The buffer to clone.
|
||
* @param {boolean} [isDeep] Specify a deep clone.
|
||
* @returns {Buffer} Returns the cloned buffer.
|
||
*/
|
||
function cloneBuffer(buffer, isDeep) {
|
||
if (isDeep) {
|
||
return buffer.slice();
|
||
}
|
||
var length = buffer.length,
|
||
result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);
|
||
|
||
buffer.copy(result);
|
||
return result;
|
||
}
|
||
|
||
module.exports = cloneBuffer;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_cloneTypedArray.js":
|
||
/*!*************************************************!*\
|
||
!*** ./node_modules/lodash/_cloneTypedArray.js ***!
|
||
\*************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var cloneArrayBuffer = __webpack_require__(/*! ./_cloneArrayBuffer */ "./node_modules/lodash/_cloneArrayBuffer.js");
|
||
|
||
/**
|
||
* Creates a clone of `typedArray`.
|
||
*
|
||
* @private
|
||
* @param {Object} typedArray The typed array to clone.
|
||
* @param {boolean} [isDeep] Specify a deep clone.
|
||
* @returns {Object} Returns the cloned typed array.
|
||
*/
|
||
function cloneTypedArray(typedArray, isDeep) {
|
||
var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;
|
||
return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);
|
||
}
|
||
|
||
module.exports = cloneTypedArray;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_copyArray.js":
|
||
/*!*******************************************!*\
|
||
!*** ./node_modules/lodash/_copyArray.js ***!
|
||
\*******************************************/
|
||
/***/ (function(module) {
|
||
|
||
/**
|
||
* Copies the values of `source` to `array`.
|
||
*
|
||
* @private
|
||
* @param {Array} source The array to copy values from.
|
||
* @param {Array} [array=[]] The array to copy values to.
|
||
* @returns {Array} Returns `array`.
|
||
*/
|
||
function copyArray(source, array) {
|
||
var index = -1,
|
||
length = source.length;
|
||
|
||
array || (array = Array(length));
|
||
while (++index < length) {
|
||
array[index] = source[index];
|
||
}
|
||
return array;
|
||
}
|
||
|
||
module.exports = copyArray;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_copyObject.js":
|
||
/*!********************************************!*\
|
||
!*** ./node_modules/lodash/_copyObject.js ***!
|
||
\********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var assignValue = __webpack_require__(/*! ./_assignValue */ "./node_modules/lodash/_assignValue.js"),
|
||
baseAssignValue = __webpack_require__(/*! ./_baseAssignValue */ "./node_modules/lodash/_baseAssignValue.js");
|
||
|
||
/**
|
||
* Copies properties of `source` to `object`.
|
||
*
|
||
* @private
|
||
* @param {Object} source The object to copy properties from.
|
||
* @param {Array} props The property identifiers to copy.
|
||
* @param {Object} [object={}] The object to copy properties to.
|
||
* @param {Function} [customizer] The function to customize copied values.
|
||
* @returns {Object} Returns `object`.
|
||
*/
|
||
function copyObject(source, props, object, customizer) {
|
||
var isNew = !object;
|
||
object || (object = {});
|
||
|
||
var index = -1,
|
||
length = props.length;
|
||
|
||
while (++index < length) {
|
||
var key = props[index];
|
||
|
||
var newValue = customizer
|
||
? customizer(object[key], source[key], key, object, source)
|
||
: undefined;
|
||
|
||
if (newValue === undefined) {
|
||
newValue = source[key];
|
||
}
|
||
if (isNew) {
|
||
baseAssignValue(object, key, newValue);
|
||
} else {
|
||
assignValue(object, key, newValue);
|
||
}
|
||
}
|
||
return object;
|
||
}
|
||
|
||
module.exports = copyObject;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_coreJsData.js":
|
||
/*!********************************************!*\
|
||
!*** ./node_modules/lodash/_coreJsData.js ***!
|
||
\********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js");
|
||
|
||
/** Used to detect overreaching core-js shims. */
|
||
var coreJsData = root['__core-js_shared__'];
|
||
|
||
module.exports = coreJsData;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_createAssigner.js":
|
||
/*!************************************************!*\
|
||
!*** ./node_modules/lodash/_createAssigner.js ***!
|
||
\************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var baseRest = __webpack_require__(/*! ./_baseRest */ "./node_modules/lodash/_baseRest.js"),
|
||
isIterateeCall = __webpack_require__(/*! ./_isIterateeCall */ "./node_modules/lodash/_isIterateeCall.js");
|
||
|
||
/**
|
||
* Creates a function like `_.assign`.
|
||
*
|
||
* @private
|
||
* @param {Function} assigner The function to assign values.
|
||
* @returns {Function} Returns the new assigner function.
|
||
*/
|
||
function createAssigner(assigner) {
|
||
return baseRest(function(object, sources) {
|
||
var index = -1,
|
||
length = sources.length,
|
||
customizer = length > 1 ? sources[length - 1] : undefined,
|
||
guard = length > 2 ? sources[2] : undefined;
|
||
|
||
customizer = (assigner.length > 3 && typeof customizer == 'function')
|
||
? (length--, customizer)
|
||
: undefined;
|
||
|
||
if (guard && isIterateeCall(sources[0], sources[1], guard)) {
|
||
customizer = length < 3 ? undefined : customizer;
|
||
length = 1;
|
||
}
|
||
object = Object(object);
|
||
while (++index < length) {
|
||
var source = sources[index];
|
||
if (source) {
|
||
assigner(object, source, index, customizer);
|
||
}
|
||
}
|
||
return object;
|
||
});
|
||
}
|
||
|
||
module.exports = createAssigner;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_createBaseFor.js":
|
||
/*!***********************************************!*\
|
||
!*** ./node_modules/lodash/_createBaseFor.js ***!
|
||
\***********************************************/
|
||
/***/ (function(module) {
|
||
|
||
/**
|
||
* Creates a base function for methods like `_.forIn` and `_.forOwn`.
|
||
*
|
||
* @private
|
||
* @param {boolean} [fromRight] Specify iterating from right to left.
|
||
* @returns {Function} Returns the new base function.
|
||
*/
|
||
function createBaseFor(fromRight) {
|
||
return function(object, iteratee, keysFunc) {
|
||
var index = -1,
|
||
iterable = Object(object),
|
||
props = keysFunc(object),
|
||
length = props.length;
|
||
|
||
while (length--) {
|
||
var key = props[fromRight ? length : ++index];
|
||
if (iteratee(iterable[key], key, iterable) === false) {
|
||
break;
|
||
}
|
||
}
|
||
return object;
|
||
};
|
||
}
|
||
|
||
module.exports = createBaseFor;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_defineProperty.js":
|
||
/*!************************************************!*\
|
||
!*** ./node_modules/lodash/_defineProperty.js ***!
|
||
\************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var getNative = __webpack_require__(/*! ./_getNative */ "./node_modules/lodash/_getNative.js");
|
||
|
||
var defineProperty = (function() {
|
||
try {
|
||
var func = getNative(Object, 'defineProperty');
|
||
func({}, '', {});
|
||
return func;
|
||
} catch (e) {}
|
||
}());
|
||
|
||
module.exports = defineProperty;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_equalArrays.js":
|
||
/*!*********************************************!*\
|
||
!*** ./node_modules/lodash/_equalArrays.js ***!
|
||
\*********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var SetCache = __webpack_require__(/*! ./_SetCache */ "./node_modules/lodash/_SetCache.js"),
|
||
arraySome = __webpack_require__(/*! ./_arraySome */ "./node_modules/lodash/_arraySome.js"),
|
||
cacheHas = __webpack_require__(/*! ./_cacheHas */ "./node_modules/lodash/_cacheHas.js");
|
||
|
||
/** Used to compose bitmasks for value comparisons. */
|
||
var COMPARE_PARTIAL_FLAG = 1,
|
||
COMPARE_UNORDERED_FLAG = 2;
|
||
|
||
/**
|
||
* A specialized version of `baseIsEqualDeep` for arrays with support for
|
||
* partial deep comparisons.
|
||
*
|
||
* @private
|
||
* @param {Array} array The array to compare.
|
||
* @param {Array} other The other array to compare.
|
||
* @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
|
||
* @param {Function} customizer The function to customize comparisons.
|
||
* @param {Function} equalFunc The function to determine equivalents of values.
|
||
* @param {Object} stack Tracks traversed `array` and `other` objects.
|
||
* @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
|
||
*/
|
||
function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
|
||
var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
|
||
arrLength = array.length,
|
||
othLength = other.length;
|
||
|
||
if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
|
||
return false;
|
||
}
|
||
// Check that cyclic values are equal.
|
||
var arrStacked = stack.get(array);
|
||
var othStacked = stack.get(other);
|
||
if (arrStacked && othStacked) {
|
||
return arrStacked == other && othStacked == array;
|
||
}
|
||
var index = -1,
|
||
result = true,
|
||
seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;
|
||
|
||
stack.set(array, other);
|
||
stack.set(other, array);
|
||
|
||
// Ignore non-index properties.
|
||
while (++index < arrLength) {
|
||
var arrValue = array[index],
|
||
othValue = other[index];
|
||
|
||
if (customizer) {
|
||
var compared = isPartial
|
||
? customizer(othValue, arrValue, index, other, array, stack)
|
||
: customizer(arrValue, othValue, index, array, other, stack);
|
||
}
|
||
if (compared !== undefined) {
|
||
if (compared) {
|
||
continue;
|
||
}
|
||
result = false;
|
||
break;
|
||
}
|
||
// Recursively compare arrays (susceptible to call stack limits).
|
||
if (seen) {
|
||
if (!arraySome(other, function(othValue, othIndex) {
|
||
if (!cacheHas(seen, othIndex) &&
|
||
(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
|
||
return seen.push(othIndex);
|
||
}
|
||
})) {
|
||
result = false;
|
||
break;
|
||
}
|
||
} else if (!(
|
||
arrValue === othValue ||
|
||
equalFunc(arrValue, othValue, bitmask, customizer, stack)
|
||
)) {
|
||
result = false;
|
||
break;
|
||
}
|
||
}
|
||
stack['delete'](array);
|
||
stack['delete'](other);
|
||
return result;
|
||
}
|
||
|
||
module.exports = equalArrays;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_equalByTag.js":
|
||
/*!********************************************!*\
|
||
!*** ./node_modules/lodash/_equalByTag.js ***!
|
||
\********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js"),
|
||
Uint8Array = __webpack_require__(/*! ./_Uint8Array */ "./node_modules/lodash/_Uint8Array.js"),
|
||
eq = __webpack_require__(/*! ./eq */ "./node_modules/lodash/eq.js"),
|
||
equalArrays = __webpack_require__(/*! ./_equalArrays */ "./node_modules/lodash/_equalArrays.js"),
|
||
mapToArray = __webpack_require__(/*! ./_mapToArray */ "./node_modules/lodash/_mapToArray.js"),
|
||
setToArray = __webpack_require__(/*! ./_setToArray */ "./node_modules/lodash/_setToArray.js");
|
||
|
||
/** Used to compose bitmasks for value comparisons. */
|
||
var COMPARE_PARTIAL_FLAG = 1,
|
||
COMPARE_UNORDERED_FLAG = 2;
|
||
|
||
/** `Object#toString` result references. */
|
||
var boolTag = '[object Boolean]',
|
||
dateTag = '[object Date]',
|
||
errorTag = '[object Error]',
|
||
mapTag = '[object Map]',
|
||
numberTag = '[object Number]',
|
||
regexpTag = '[object RegExp]',
|
||
setTag = '[object Set]',
|
||
stringTag = '[object String]',
|
||
symbolTag = '[object Symbol]';
|
||
|
||
var arrayBufferTag = '[object ArrayBuffer]',
|
||
dataViewTag = '[object DataView]';
|
||
|
||
/** Used to convert symbols to primitives and strings. */
|
||
var symbolProto = Symbol ? Symbol.prototype : undefined,
|
||
symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;
|
||
|
||
/**
|
||
* A specialized version of `baseIsEqualDeep` for comparing objects of
|
||
* the same `toStringTag`.
|
||
*
|
||
* **Note:** This function only supports comparing values with tags of
|
||
* `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
|
||
*
|
||
* @private
|
||
* @param {Object} object The object to compare.
|
||
* @param {Object} other The other object to compare.
|
||
* @param {string} tag The `toStringTag` of the objects to compare.
|
||
* @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
|
||
* @param {Function} customizer The function to customize comparisons.
|
||
* @param {Function} equalFunc The function to determine equivalents of values.
|
||
* @param {Object} stack Tracks traversed `object` and `other` objects.
|
||
* @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
|
||
*/
|
||
function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
|
||
switch (tag) {
|
||
case dataViewTag:
|
||
if ((object.byteLength != other.byteLength) ||
|
||
(object.byteOffset != other.byteOffset)) {
|
||
return false;
|
||
}
|
||
object = object.buffer;
|
||
other = other.buffer;
|
||
|
||
case arrayBufferTag:
|
||
if ((object.byteLength != other.byteLength) ||
|
||
!equalFunc(new Uint8Array(object), new Uint8Array(other))) {
|
||
return false;
|
||
}
|
||
return true;
|
||
|
||
case boolTag:
|
||
case dateTag:
|
||
case numberTag:
|
||
// Coerce booleans to `1` or `0` and dates to milliseconds.
|
||
// Invalid dates are coerced to `NaN`.
|
||
return eq(+object, +other);
|
||
|
||
case errorTag:
|
||
return object.name == other.name && object.message == other.message;
|
||
|
||
case regexpTag:
|
||
case stringTag:
|
||
// Coerce regexes to strings and treat strings, primitives and objects,
|
||
// as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring
|
||
// for more details.
|
||
return object == (other + '');
|
||
|
||
case mapTag:
|
||
var convert = mapToArray;
|
||
|
||
case setTag:
|
||
var isPartial = bitmask & COMPARE_PARTIAL_FLAG;
|
||
convert || (convert = setToArray);
|
||
|
||
if (object.size != other.size && !isPartial) {
|
||
return false;
|
||
}
|
||
// Assume cyclic values are equal.
|
||
var stacked = stack.get(object);
|
||
if (stacked) {
|
||
return stacked == other;
|
||
}
|
||
bitmask |= COMPARE_UNORDERED_FLAG;
|
||
|
||
// Recursively compare objects (susceptible to call stack limits).
|
||
stack.set(object, other);
|
||
var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);
|
||
stack['delete'](object);
|
||
return result;
|
||
|
||
case symbolTag:
|
||
if (symbolValueOf) {
|
||
return symbolValueOf.call(object) == symbolValueOf.call(other);
|
||
}
|
||
}
|
||
return false;
|
||
}
|
||
|
||
module.exports = equalByTag;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_equalObjects.js":
|
||
/*!**********************************************!*\
|
||
!*** ./node_modules/lodash/_equalObjects.js ***!
|
||
\**********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var getAllKeys = __webpack_require__(/*! ./_getAllKeys */ "./node_modules/lodash/_getAllKeys.js");
|
||
|
||
/** Used to compose bitmasks for value comparisons. */
|
||
var COMPARE_PARTIAL_FLAG = 1;
|
||
|
||
/** Used for built-in method references. */
|
||
var objectProto = Object.prototype;
|
||
|
||
/** Used to check objects for own properties. */
|
||
var hasOwnProperty = objectProto.hasOwnProperty;
|
||
|
||
/**
|
||
* A specialized version of `baseIsEqualDeep` for objects with support for
|
||
* partial deep comparisons.
|
||
*
|
||
* @private
|
||
* @param {Object} object The object to compare.
|
||
* @param {Object} other The other object to compare.
|
||
* @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
|
||
* @param {Function} customizer The function to customize comparisons.
|
||
* @param {Function} equalFunc The function to determine equivalents of values.
|
||
* @param {Object} stack Tracks traversed `object` and `other` objects.
|
||
* @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
|
||
*/
|
||
function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
|
||
var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
|
||
objProps = getAllKeys(object),
|
||
objLength = objProps.length,
|
||
othProps = getAllKeys(other),
|
||
othLength = othProps.length;
|
||
|
||
if (objLength != othLength && !isPartial) {
|
||
return false;
|
||
}
|
||
var index = objLength;
|
||
while (index--) {
|
||
var key = objProps[index];
|
||
if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {
|
||
return false;
|
||
}
|
||
}
|
||
// Check that cyclic values are equal.
|
||
var objStacked = stack.get(object);
|
||
var othStacked = stack.get(other);
|
||
if (objStacked && othStacked) {
|
||
return objStacked == other && othStacked == object;
|
||
}
|
||
var result = true;
|
||
stack.set(object, other);
|
||
stack.set(other, object);
|
||
|
||
var skipCtor = isPartial;
|
||
while (++index < objLength) {
|
||
key = objProps[index];
|
||
var objValue = object[key],
|
||
othValue = other[key];
|
||
|
||
if (customizer) {
|
||
var compared = isPartial
|
||
? customizer(othValue, objValue, key, other, object, stack)
|
||
: customizer(objValue, othValue, key, object, other, stack);
|
||
}
|
||
// Recursively compare objects (susceptible to call stack limits).
|
||
if (!(compared === undefined
|
||
? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))
|
||
: compared
|
||
)) {
|
||
result = false;
|
||
break;
|
||
}
|
||
skipCtor || (skipCtor = key == 'constructor');
|
||
}
|
||
if (result && !skipCtor) {
|
||
var objCtor = object.constructor,
|
||
othCtor = other.constructor;
|
||
|
||
// Non `Object` object instances with different constructors are not equal.
|
||
if (objCtor != othCtor &&
|
||
('constructor' in object && 'constructor' in other) &&
|
||
!(typeof objCtor == 'function' && objCtor instanceof objCtor &&
|
||
typeof othCtor == 'function' && othCtor instanceof othCtor)) {
|
||
result = false;
|
||
}
|
||
}
|
||
stack['delete'](object);
|
||
stack['delete'](other);
|
||
return result;
|
||
}
|
||
|
||
module.exports = equalObjects;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_freeGlobal.js":
|
||
/*!********************************************!*\
|
||
!*** ./node_modules/lodash/_freeGlobal.js ***!
|
||
\********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
/** Detect free variable `global` from Node.js. */
|
||
var freeGlobal = typeof __webpack_require__.g == 'object' && __webpack_require__.g && __webpack_require__.g.Object === Object && __webpack_require__.g;
|
||
|
||
module.exports = freeGlobal;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_getAllKeys.js":
|
||
/*!********************************************!*\
|
||
!*** ./node_modules/lodash/_getAllKeys.js ***!
|
||
\********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var baseGetAllKeys = __webpack_require__(/*! ./_baseGetAllKeys */ "./node_modules/lodash/_baseGetAllKeys.js"),
|
||
getSymbols = __webpack_require__(/*! ./_getSymbols */ "./node_modules/lodash/_getSymbols.js"),
|
||
keys = __webpack_require__(/*! ./keys */ "./node_modules/lodash/keys.js");
|
||
|
||
/**
|
||
* Creates an array of own enumerable property names and symbols of `object`.
|
||
*
|
||
* @private
|
||
* @param {Object} object The object to query.
|
||
* @returns {Array} Returns the array of property names and symbols.
|
||
*/
|
||
function getAllKeys(object) {
|
||
return baseGetAllKeys(object, keys, getSymbols);
|
||
}
|
||
|
||
module.exports = getAllKeys;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_getMapData.js":
|
||
/*!********************************************!*\
|
||
!*** ./node_modules/lodash/_getMapData.js ***!
|
||
\********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var isKeyable = __webpack_require__(/*! ./_isKeyable */ "./node_modules/lodash/_isKeyable.js");
|
||
|
||
/**
|
||
* Gets the data for `map`.
|
||
*
|
||
* @private
|
||
* @param {Object} map The map to query.
|
||
* @param {string} key The reference key.
|
||
* @returns {*} Returns the map data.
|
||
*/
|
||
function getMapData(map, key) {
|
||
var data = map.__data__;
|
||
return isKeyable(key)
|
||
? data[typeof key == 'string' ? 'string' : 'hash']
|
||
: data.map;
|
||
}
|
||
|
||
module.exports = getMapData;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_getNative.js":
|
||
/*!*******************************************!*\
|
||
!*** ./node_modules/lodash/_getNative.js ***!
|
||
\*******************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var baseIsNative = __webpack_require__(/*! ./_baseIsNative */ "./node_modules/lodash/_baseIsNative.js"),
|
||
getValue = __webpack_require__(/*! ./_getValue */ "./node_modules/lodash/_getValue.js");
|
||
|
||
/**
|
||
* Gets the native function at `key` of `object`.
|
||
*
|
||
* @private
|
||
* @param {Object} object The object to query.
|
||
* @param {string} key The key of the method to get.
|
||
* @returns {*} Returns the function if it's native, else `undefined`.
|
||
*/
|
||
function getNative(object, key) {
|
||
var value = getValue(object, key);
|
||
return baseIsNative(value) ? value : undefined;
|
||
}
|
||
|
||
module.exports = getNative;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_getPrototype.js":
|
||
/*!**********************************************!*\
|
||
!*** ./node_modules/lodash/_getPrototype.js ***!
|
||
\**********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var overArg = __webpack_require__(/*! ./_overArg */ "./node_modules/lodash/_overArg.js");
|
||
|
||
/** Built-in value references. */
|
||
var getPrototype = overArg(Object.getPrototypeOf, Object);
|
||
|
||
module.exports = getPrototype;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_getRawTag.js":
|
||
/*!*******************************************!*\
|
||
!*** ./node_modules/lodash/_getRawTag.js ***!
|
||
\*******************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js");
|
||
|
||
/** Used for built-in method references. */
|
||
var objectProto = Object.prototype;
|
||
|
||
/** Used to check objects for own properties. */
|
||
var hasOwnProperty = objectProto.hasOwnProperty;
|
||
|
||
/**
|
||
* Used to resolve the
|
||
* [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
|
||
* of values.
|
||
*/
|
||
var nativeObjectToString = objectProto.toString;
|
||
|
||
/** Built-in value references. */
|
||
var symToStringTag = Symbol ? Symbol.toStringTag : undefined;
|
||
|
||
/**
|
||
* A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.
|
||
*
|
||
* @private
|
||
* @param {*} value The value to query.
|
||
* @returns {string} Returns the raw `toStringTag`.
|
||
*/
|
||
function getRawTag(value) {
|
||
var isOwn = hasOwnProperty.call(value, symToStringTag),
|
||
tag = value[symToStringTag];
|
||
|
||
try {
|
||
value[symToStringTag] = undefined;
|
||
var unmasked = true;
|
||
} catch (e) {}
|
||
|
||
var result = nativeObjectToString.call(value);
|
||
if (unmasked) {
|
||
if (isOwn) {
|
||
value[symToStringTag] = tag;
|
||
} else {
|
||
delete value[symToStringTag];
|
||
}
|
||
}
|
||
return result;
|
||
}
|
||
|
||
module.exports = getRawTag;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_getSymbols.js":
|
||
/*!********************************************!*\
|
||
!*** ./node_modules/lodash/_getSymbols.js ***!
|
||
\********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var arrayFilter = __webpack_require__(/*! ./_arrayFilter */ "./node_modules/lodash/_arrayFilter.js"),
|
||
stubArray = __webpack_require__(/*! ./stubArray */ "./node_modules/lodash/stubArray.js");
|
||
|
||
/** Used for built-in method references. */
|
||
var objectProto = Object.prototype;
|
||
|
||
/** Built-in value references. */
|
||
var propertyIsEnumerable = objectProto.propertyIsEnumerable;
|
||
|
||
/* Built-in method references for those with the same name as other `lodash` methods. */
|
||
var nativeGetSymbols = Object.getOwnPropertySymbols;
|
||
|
||
/**
|
||
* Creates an array of the own enumerable symbols of `object`.
|
||
*
|
||
* @private
|
||
* @param {Object} object The object to query.
|
||
* @returns {Array} Returns the array of symbols.
|
||
*/
|
||
var getSymbols = !nativeGetSymbols ? stubArray : function(object) {
|
||
if (object == null) {
|
||
return [];
|
||
}
|
||
object = Object(object);
|
||
return arrayFilter(nativeGetSymbols(object), function(symbol) {
|
||
return propertyIsEnumerable.call(object, symbol);
|
||
});
|
||
};
|
||
|
||
module.exports = getSymbols;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_getTag.js":
|
||
/*!****************************************!*\
|
||
!*** ./node_modules/lodash/_getTag.js ***!
|
||
\****************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var DataView = __webpack_require__(/*! ./_DataView */ "./node_modules/lodash/_DataView.js"),
|
||
Map = __webpack_require__(/*! ./_Map */ "./node_modules/lodash/_Map.js"),
|
||
Promise = __webpack_require__(/*! ./_Promise */ "./node_modules/lodash/_Promise.js"),
|
||
Set = __webpack_require__(/*! ./_Set */ "./node_modules/lodash/_Set.js"),
|
||
WeakMap = __webpack_require__(/*! ./_WeakMap */ "./node_modules/lodash/_WeakMap.js"),
|
||
baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "./node_modules/lodash/_baseGetTag.js"),
|
||
toSource = __webpack_require__(/*! ./_toSource */ "./node_modules/lodash/_toSource.js");
|
||
|
||
/** `Object#toString` result references. */
|
||
var mapTag = '[object Map]',
|
||
objectTag = '[object Object]',
|
||
promiseTag = '[object Promise]',
|
||
setTag = '[object Set]',
|
||
weakMapTag = '[object WeakMap]';
|
||
|
||
var dataViewTag = '[object DataView]';
|
||
|
||
/** Used to detect maps, sets, and weakmaps. */
|
||
var dataViewCtorString = toSource(DataView),
|
||
mapCtorString = toSource(Map),
|
||
promiseCtorString = toSource(Promise),
|
||
setCtorString = toSource(Set),
|
||
weakMapCtorString = toSource(WeakMap);
|
||
|
||
/**
|
||
* Gets the `toStringTag` of `value`.
|
||
*
|
||
* @private
|
||
* @param {*} value The value to query.
|
||
* @returns {string} Returns the `toStringTag`.
|
||
*/
|
||
var getTag = baseGetTag;
|
||
|
||
// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.
|
||
if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||
|
||
(Map && getTag(new Map) != mapTag) ||
|
||
(Promise && getTag(Promise.resolve()) != promiseTag) ||
|
||
(Set && getTag(new Set) != setTag) ||
|
||
(WeakMap && getTag(new WeakMap) != weakMapTag)) {
|
||
getTag = function(value) {
|
||
var result = baseGetTag(value),
|
||
Ctor = result == objectTag ? value.constructor : undefined,
|
||
ctorString = Ctor ? toSource(Ctor) : '';
|
||
|
||
if (ctorString) {
|
||
switch (ctorString) {
|
||
case dataViewCtorString: return dataViewTag;
|
||
case mapCtorString: return mapTag;
|
||
case promiseCtorString: return promiseTag;
|
||
case setCtorString: return setTag;
|
||
case weakMapCtorString: return weakMapTag;
|
||
}
|
||
}
|
||
return result;
|
||
};
|
||
}
|
||
|
||
module.exports = getTag;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_getValue.js":
|
||
/*!******************************************!*\
|
||
!*** ./node_modules/lodash/_getValue.js ***!
|
||
\******************************************/
|
||
/***/ (function(module) {
|
||
|
||
/**
|
||
* Gets the value at `key` of `object`.
|
||
*
|
||
* @private
|
||
* @param {Object} [object] The object to query.
|
||
* @param {string} key The key of the property to get.
|
||
* @returns {*} Returns the property value.
|
||
*/
|
||
function getValue(object, key) {
|
||
return object == null ? undefined : object[key];
|
||
}
|
||
|
||
module.exports = getValue;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_hashClear.js":
|
||
/*!*******************************************!*\
|
||
!*** ./node_modules/lodash/_hashClear.js ***!
|
||
\*******************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var nativeCreate = __webpack_require__(/*! ./_nativeCreate */ "./node_modules/lodash/_nativeCreate.js");
|
||
|
||
/**
|
||
* Removes all key-value entries from the hash.
|
||
*
|
||
* @private
|
||
* @name clear
|
||
* @memberOf Hash
|
||
*/
|
||
function hashClear() {
|
||
this.__data__ = nativeCreate ? nativeCreate(null) : {};
|
||
this.size = 0;
|
||
}
|
||
|
||
module.exports = hashClear;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_hashDelete.js":
|
||
/*!********************************************!*\
|
||
!*** ./node_modules/lodash/_hashDelete.js ***!
|
||
\********************************************/
|
||
/***/ (function(module) {
|
||
|
||
/**
|
||
* Removes `key` and its value from the hash.
|
||
*
|
||
* @private
|
||
* @name delete
|
||
* @memberOf Hash
|
||
* @param {Object} hash The hash to modify.
|
||
* @param {string} key The key of the value to remove.
|
||
* @returns {boolean} Returns `true` if the entry was removed, else `false`.
|
||
*/
|
||
function hashDelete(key) {
|
||
var result = this.has(key) && delete this.__data__[key];
|
||
this.size -= result ? 1 : 0;
|
||
return result;
|
||
}
|
||
|
||
module.exports = hashDelete;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_hashGet.js":
|
||
/*!*****************************************!*\
|
||
!*** ./node_modules/lodash/_hashGet.js ***!
|
||
\*****************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var nativeCreate = __webpack_require__(/*! ./_nativeCreate */ "./node_modules/lodash/_nativeCreate.js");
|
||
|
||
/** Used to stand-in for `undefined` hash values. */
|
||
var HASH_UNDEFINED = '__lodash_hash_undefined__';
|
||
|
||
/** Used for built-in method references. */
|
||
var objectProto = Object.prototype;
|
||
|
||
/** Used to check objects for own properties. */
|
||
var hasOwnProperty = objectProto.hasOwnProperty;
|
||
|
||
/**
|
||
* Gets the hash value for `key`.
|
||
*
|
||
* @private
|
||
* @name get
|
||
* @memberOf Hash
|
||
* @param {string} key The key of the value to get.
|
||
* @returns {*} Returns the entry value.
|
||
*/
|
||
function hashGet(key) {
|
||
var data = this.__data__;
|
||
if (nativeCreate) {
|
||
var result = data[key];
|
||
return result === HASH_UNDEFINED ? undefined : result;
|
||
}
|
||
return hasOwnProperty.call(data, key) ? data[key] : undefined;
|
||
}
|
||
|
||
module.exports = hashGet;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_hashHas.js":
|
||
/*!*****************************************!*\
|
||
!*** ./node_modules/lodash/_hashHas.js ***!
|
||
\*****************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var nativeCreate = __webpack_require__(/*! ./_nativeCreate */ "./node_modules/lodash/_nativeCreate.js");
|
||
|
||
/** Used for built-in method references. */
|
||
var objectProto = Object.prototype;
|
||
|
||
/** Used to check objects for own properties. */
|
||
var hasOwnProperty = objectProto.hasOwnProperty;
|
||
|
||
/**
|
||
* Checks if a hash value for `key` exists.
|
||
*
|
||
* @private
|
||
* @name has
|
||
* @memberOf Hash
|
||
* @param {string} key The key of the entry to check.
|
||
* @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
|
||
*/
|
||
function hashHas(key) {
|
||
var data = this.__data__;
|
||
return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);
|
||
}
|
||
|
||
module.exports = hashHas;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_hashSet.js":
|
||
/*!*****************************************!*\
|
||
!*** ./node_modules/lodash/_hashSet.js ***!
|
||
\*****************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var nativeCreate = __webpack_require__(/*! ./_nativeCreate */ "./node_modules/lodash/_nativeCreate.js");
|
||
|
||
/** Used to stand-in for `undefined` hash values. */
|
||
var HASH_UNDEFINED = '__lodash_hash_undefined__';
|
||
|
||
/**
|
||
* Sets the hash `key` to `value`.
|
||
*
|
||
* @private
|
||
* @name set
|
||
* @memberOf Hash
|
||
* @param {string} key The key of the value to set.
|
||
* @param {*} value The value to set.
|
||
* @returns {Object} Returns the hash instance.
|
||
*/
|
||
function hashSet(key, value) {
|
||
var data = this.__data__;
|
||
this.size += this.has(key) ? 0 : 1;
|
||
data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;
|
||
return this;
|
||
}
|
||
|
||
module.exports = hashSet;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_initCloneObject.js":
|
||
/*!*************************************************!*\
|
||
!*** ./node_modules/lodash/_initCloneObject.js ***!
|
||
\*************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var baseCreate = __webpack_require__(/*! ./_baseCreate */ "./node_modules/lodash/_baseCreate.js"),
|
||
getPrototype = __webpack_require__(/*! ./_getPrototype */ "./node_modules/lodash/_getPrototype.js"),
|
||
isPrototype = __webpack_require__(/*! ./_isPrototype */ "./node_modules/lodash/_isPrototype.js");
|
||
|
||
/**
|
||
* Initializes an object clone.
|
||
*
|
||
* @private
|
||
* @param {Object} object The object to clone.
|
||
* @returns {Object} Returns the initialized clone.
|
||
*/
|
||
function initCloneObject(object) {
|
||
return (typeof object.constructor == 'function' && !isPrototype(object))
|
||
? baseCreate(getPrototype(object))
|
||
: {};
|
||
}
|
||
|
||
module.exports = initCloneObject;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_isIndex.js":
|
||
/*!*****************************************!*\
|
||
!*** ./node_modules/lodash/_isIndex.js ***!
|
||
\*****************************************/
|
||
/***/ (function(module) {
|
||
|
||
/** Used as references for various `Number` constants. */
|
||
var MAX_SAFE_INTEGER = 9007199254740991;
|
||
|
||
/** Used to detect unsigned integer values. */
|
||
var reIsUint = /^(?:0|[1-9]\d*)$/;
|
||
|
||
/**
|
||
* Checks if `value` is a valid array-like index.
|
||
*
|
||
* @private
|
||
* @param {*} value The value to check.
|
||
* @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
|
||
* @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
|
||
*/
|
||
function isIndex(value, length) {
|
||
var type = typeof value;
|
||
length = length == null ? MAX_SAFE_INTEGER : length;
|
||
|
||
return !!length &&
|
||
(type == 'number' ||
|
||
(type != 'symbol' && reIsUint.test(value))) &&
|
||
(value > -1 && value % 1 == 0 && value < length);
|
||
}
|
||
|
||
module.exports = isIndex;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_isIterateeCall.js":
|
||
/*!************************************************!*\
|
||
!*** ./node_modules/lodash/_isIterateeCall.js ***!
|
||
\************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var eq = __webpack_require__(/*! ./eq */ "./node_modules/lodash/eq.js"),
|
||
isArrayLike = __webpack_require__(/*! ./isArrayLike */ "./node_modules/lodash/isArrayLike.js"),
|
||
isIndex = __webpack_require__(/*! ./_isIndex */ "./node_modules/lodash/_isIndex.js"),
|
||
isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js");
|
||
|
||
/**
|
||
* Checks if the given arguments are from an iteratee call.
|
||
*
|
||
* @private
|
||
* @param {*} value The potential iteratee value argument.
|
||
* @param {*} index The potential iteratee index or key argument.
|
||
* @param {*} object The potential iteratee object argument.
|
||
* @returns {boolean} Returns `true` if the arguments are from an iteratee call,
|
||
* else `false`.
|
||
*/
|
||
function isIterateeCall(value, index, object) {
|
||
if (!isObject(object)) {
|
||
return false;
|
||
}
|
||
var type = typeof index;
|
||
if (type == 'number'
|
||
? (isArrayLike(object) && isIndex(index, object.length))
|
||
: (type == 'string' && index in object)
|
||
) {
|
||
return eq(object[index], value);
|
||
}
|
||
return false;
|
||
}
|
||
|
||
module.exports = isIterateeCall;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_isKeyable.js":
|
||
/*!*******************************************!*\
|
||
!*** ./node_modules/lodash/_isKeyable.js ***!
|
||
\*******************************************/
|
||
/***/ (function(module) {
|
||
|
||
/**
|
||
* Checks if `value` is suitable for use as unique object key.
|
||
*
|
||
* @private
|
||
* @param {*} value The value to check.
|
||
* @returns {boolean} Returns `true` if `value` is suitable, else `false`.
|
||
*/
|
||
function isKeyable(value) {
|
||
var type = typeof value;
|
||
return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')
|
||
? (value !== '__proto__')
|
||
: (value === null);
|
||
}
|
||
|
||
module.exports = isKeyable;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_isMasked.js":
|
||
/*!******************************************!*\
|
||
!*** ./node_modules/lodash/_isMasked.js ***!
|
||
\******************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var coreJsData = __webpack_require__(/*! ./_coreJsData */ "./node_modules/lodash/_coreJsData.js");
|
||
|
||
/** Used to detect methods masquerading as native. */
|
||
var maskSrcKey = (function() {
|
||
var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');
|
||
return uid ? ('Symbol(src)_1.' + uid) : '';
|
||
}());
|
||
|
||
/**
|
||
* Checks if `func` has its source masked.
|
||
*
|
||
* @private
|
||
* @param {Function} func The function to check.
|
||
* @returns {boolean} Returns `true` if `func` is masked, else `false`.
|
||
*/
|
||
function isMasked(func) {
|
||
return !!maskSrcKey && (maskSrcKey in func);
|
||
}
|
||
|
||
module.exports = isMasked;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_isPrototype.js":
|
||
/*!*********************************************!*\
|
||
!*** ./node_modules/lodash/_isPrototype.js ***!
|
||
\*********************************************/
|
||
/***/ (function(module) {
|
||
|
||
/** Used for built-in method references. */
|
||
var objectProto = Object.prototype;
|
||
|
||
/**
|
||
* Checks if `value` is likely a prototype object.
|
||
*
|
||
* @private
|
||
* @param {*} value The value to check.
|
||
* @returns {boolean} Returns `true` if `value` is a prototype, else `false`.
|
||
*/
|
||
function isPrototype(value) {
|
||
var Ctor = value && value.constructor,
|
||
proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;
|
||
|
||
return value === proto;
|
||
}
|
||
|
||
module.exports = isPrototype;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_listCacheClear.js":
|
||
/*!************************************************!*\
|
||
!*** ./node_modules/lodash/_listCacheClear.js ***!
|
||
\************************************************/
|
||
/***/ (function(module) {
|
||
|
||
/**
|
||
* Removes all key-value entries from the list cache.
|
||
*
|
||
* @private
|
||
* @name clear
|
||
* @memberOf ListCache
|
||
*/
|
||
function listCacheClear() {
|
||
this.__data__ = [];
|
||
this.size = 0;
|
||
}
|
||
|
||
module.exports = listCacheClear;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_listCacheDelete.js":
|
||
/*!*************************************************!*\
|
||
!*** ./node_modules/lodash/_listCacheDelete.js ***!
|
||
\*************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var assocIndexOf = __webpack_require__(/*! ./_assocIndexOf */ "./node_modules/lodash/_assocIndexOf.js");
|
||
|
||
/** Used for built-in method references. */
|
||
var arrayProto = Array.prototype;
|
||
|
||
/** Built-in value references. */
|
||
var splice = arrayProto.splice;
|
||
|
||
/**
|
||
* Removes `key` and its value from the list cache.
|
||
*
|
||
* @private
|
||
* @name delete
|
||
* @memberOf ListCache
|
||
* @param {string} key The key of the value to remove.
|
||
* @returns {boolean} Returns `true` if the entry was removed, else `false`.
|
||
*/
|
||
function listCacheDelete(key) {
|
||
var data = this.__data__,
|
||
index = assocIndexOf(data, key);
|
||
|
||
if (index < 0) {
|
||
return false;
|
||
}
|
||
var lastIndex = data.length - 1;
|
||
if (index == lastIndex) {
|
||
data.pop();
|
||
} else {
|
||
splice.call(data, index, 1);
|
||
}
|
||
--this.size;
|
||
return true;
|
||
}
|
||
|
||
module.exports = listCacheDelete;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_listCacheGet.js":
|
||
/*!**********************************************!*\
|
||
!*** ./node_modules/lodash/_listCacheGet.js ***!
|
||
\**********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var assocIndexOf = __webpack_require__(/*! ./_assocIndexOf */ "./node_modules/lodash/_assocIndexOf.js");
|
||
|
||
/**
|
||
* Gets the list cache value for `key`.
|
||
*
|
||
* @private
|
||
* @name get
|
||
* @memberOf ListCache
|
||
* @param {string} key The key of the value to get.
|
||
* @returns {*} Returns the entry value.
|
||
*/
|
||
function listCacheGet(key) {
|
||
var data = this.__data__,
|
||
index = assocIndexOf(data, key);
|
||
|
||
return index < 0 ? undefined : data[index][1];
|
||
}
|
||
|
||
module.exports = listCacheGet;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_listCacheHas.js":
|
||
/*!**********************************************!*\
|
||
!*** ./node_modules/lodash/_listCacheHas.js ***!
|
||
\**********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var assocIndexOf = __webpack_require__(/*! ./_assocIndexOf */ "./node_modules/lodash/_assocIndexOf.js");
|
||
|
||
/**
|
||
* Checks if a list cache value for `key` exists.
|
||
*
|
||
* @private
|
||
* @name has
|
||
* @memberOf ListCache
|
||
* @param {string} key The key of the entry to check.
|
||
* @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
|
||
*/
|
||
function listCacheHas(key) {
|
||
return assocIndexOf(this.__data__, key) > -1;
|
||
}
|
||
|
||
module.exports = listCacheHas;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_listCacheSet.js":
|
||
/*!**********************************************!*\
|
||
!*** ./node_modules/lodash/_listCacheSet.js ***!
|
||
\**********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var assocIndexOf = __webpack_require__(/*! ./_assocIndexOf */ "./node_modules/lodash/_assocIndexOf.js");
|
||
|
||
/**
|
||
* Sets the list cache `key` to `value`.
|
||
*
|
||
* @private
|
||
* @name set
|
||
* @memberOf ListCache
|
||
* @param {string} key The key of the value to set.
|
||
* @param {*} value The value to set.
|
||
* @returns {Object} Returns the list cache instance.
|
||
*/
|
||
function listCacheSet(key, value) {
|
||
var data = this.__data__,
|
||
index = assocIndexOf(data, key);
|
||
|
||
if (index < 0) {
|
||
++this.size;
|
||
data.push([key, value]);
|
||
} else {
|
||
data[index][1] = value;
|
||
}
|
||
return this;
|
||
}
|
||
|
||
module.exports = listCacheSet;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_mapCacheClear.js":
|
||
/*!***********************************************!*\
|
||
!*** ./node_modules/lodash/_mapCacheClear.js ***!
|
||
\***********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var Hash = __webpack_require__(/*! ./_Hash */ "./node_modules/lodash/_Hash.js"),
|
||
ListCache = __webpack_require__(/*! ./_ListCache */ "./node_modules/lodash/_ListCache.js"),
|
||
Map = __webpack_require__(/*! ./_Map */ "./node_modules/lodash/_Map.js");
|
||
|
||
/**
|
||
* Removes all key-value entries from the map.
|
||
*
|
||
* @private
|
||
* @name clear
|
||
* @memberOf MapCache
|
||
*/
|
||
function mapCacheClear() {
|
||
this.size = 0;
|
||
this.__data__ = {
|
||
'hash': new Hash,
|
||
'map': new (Map || ListCache),
|
||
'string': new Hash
|
||
};
|
||
}
|
||
|
||
module.exports = mapCacheClear;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_mapCacheDelete.js":
|
||
/*!************************************************!*\
|
||
!*** ./node_modules/lodash/_mapCacheDelete.js ***!
|
||
\************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var getMapData = __webpack_require__(/*! ./_getMapData */ "./node_modules/lodash/_getMapData.js");
|
||
|
||
/**
|
||
* Removes `key` and its value from the map.
|
||
*
|
||
* @private
|
||
* @name delete
|
||
* @memberOf MapCache
|
||
* @param {string} key The key of the value to remove.
|
||
* @returns {boolean} Returns `true` if the entry was removed, else `false`.
|
||
*/
|
||
function mapCacheDelete(key) {
|
||
var result = getMapData(this, key)['delete'](key);
|
||
this.size -= result ? 1 : 0;
|
||
return result;
|
||
}
|
||
|
||
module.exports = mapCacheDelete;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_mapCacheGet.js":
|
||
/*!*********************************************!*\
|
||
!*** ./node_modules/lodash/_mapCacheGet.js ***!
|
||
\*********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var getMapData = __webpack_require__(/*! ./_getMapData */ "./node_modules/lodash/_getMapData.js");
|
||
|
||
/**
|
||
* Gets the map value for `key`.
|
||
*
|
||
* @private
|
||
* @name get
|
||
* @memberOf MapCache
|
||
* @param {string} key The key of the value to get.
|
||
* @returns {*} Returns the entry value.
|
||
*/
|
||
function mapCacheGet(key) {
|
||
return getMapData(this, key).get(key);
|
||
}
|
||
|
||
module.exports = mapCacheGet;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_mapCacheHas.js":
|
||
/*!*********************************************!*\
|
||
!*** ./node_modules/lodash/_mapCacheHas.js ***!
|
||
\*********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var getMapData = __webpack_require__(/*! ./_getMapData */ "./node_modules/lodash/_getMapData.js");
|
||
|
||
/**
|
||
* Checks if a map value for `key` exists.
|
||
*
|
||
* @private
|
||
* @name has
|
||
* @memberOf MapCache
|
||
* @param {string} key The key of the entry to check.
|
||
* @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
|
||
*/
|
||
function mapCacheHas(key) {
|
||
return getMapData(this, key).has(key);
|
||
}
|
||
|
||
module.exports = mapCacheHas;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_mapCacheSet.js":
|
||
/*!*********************************************!*\
|
||
!*** ./node_modules/lodash/_mapCacheSet.js ***!
|
||
\*********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var getMapData = __webpack_require__(/*! ./_getMapData */ "./node_modules/lodash/_getMapData.js");
|
||
|
||
/**
|
||
* Sets the map `key` to `value`.
|
||
*
|
||
* @private
|
||
* @name set
|
||
* @memberOf MapCache
|
||
* @param {string} key The key of the value to set.
|
||
* @param {*} value The value to set.
|
||
* @returns {Object} Returns the map cache instance.
|
||
*/
|
||
function mapCacheSet(key, value) {
|
||
var data = getMapData(this, key),
|
||
size = data.size;
|
||
|
||
data.set(key, value);
|
||
this.size += data.size == size ? 0 : 1;
|
||
return this;
|
||
}
|
||
|
||
module.exports = mapCacheSet;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_mapToArray.js":
|
||
/*!********************************************!*\
|
||
!*** ./node_modules/lodash/_mapToArray.js ***!
|
||
\********************************************/
|
||
/***/ (function(module) {
|
||
|
||
/**
|
||
* Converts `map` to its key-value pairs.
|
||
*
|
||
* @private
|
||
* @param {Object} map The map to convert.
|
||
* @returns {Array} Returns the key-value pairs.
|
||
*/
|
||
function mapToArray(map) {
|
||
var index = -1,
|
||
result = Array(map.size);
|
||
|
||
map.forEach(function(value, key) {
|
||
result[++index] = [key, value];
|
||
});
|
||
return result;
|
||
}
|
||
|
||
module.exports = mapToArray;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_nativeCreate.js":
|
||
/*!**********************************************!*\
|
||
!*** ./node_modules/lodash/_nativeCreate.js ***!
|
||
\**********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var getNative = __webpack_require__(/*! ./_getNative */ "./node_modules/lodash/_getNative.js");
|
||
|
||
/* Built-in method references that are verified to be native. */
|
||
var nativeCreate = getNative(Object, 'create');
|
||
|
||
module.exports = nativeCreate;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_nativeKeys.js":
|
||
/*!********************************************!*\
|
||
!*** ./node_modules/lodash/_nativeKeys.js ***!
|
||
\********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var overArg = __webpack_require__(/*! ./_overArg */ "./node_modules/lodash/_overArg.js");
|
||
|
||
/* Built-in method references for those with the same name as other `lodash` methods. */
|
||
var nativeKeys = overArg(Object.keys, Object);
|
||
|
||
module.exports = nativeKeys;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_nativeKeysIn.js":
|
||
/*!**********************************************!*\
|
||
!*** ./node_modules/lodash/_nativeKeysIn.js ***!
|
||
\**********************************************/
|
||
/***/ (function(module) {
|
||
|
||
/**
|
||
* This function is like
|
||
* [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
|
||
* except that it includes inherited enumerable properties.
|
||
*
|
||
* @private
|
||
* @param {Object} object The object to query.
|
||
* @returns {Array} Returns the array of property names.
|
||
*/
|
||
function nativeKeysIn(object) {
|
||
var result = [];
|
||
if (object != null) {
|
||
for (var key in Object(object)) {
|
||
result.push(key);
|
||
}
|
||
}
|
||
return result;
|
||
}
|
||
|
||
module.exports = nativeKeysIn;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_nodeUtil.js":
|
||
/*!******************************************!*\
|
||
!*** ./node_modules/lodash/_nodeUtil.js ***!
|
||
\******************************************/
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
/* module decorator */ module = __webpack_require__.nmd(module);
|
||
var freeGlobal = __webpack_require__(/*! ./_freeGlobal */ "./node_modules/lodash/_freeGlobal.js");
|
||
|
||
/** Detect free variable `exports`. */
|
||
var freeExports = true && exports && !exports.nodeType && exports;
|
||
|
||
/** Detect free variable `module`. */
|
||
var freeModule = freeExports && "object" == 'object' && module && !module.nodeType && module;
|
||
|
||
/** Detect the popular CommonJS extension `module.exports`. */
|
||
var moduleExports = freeModule && freeModule.exports === freeExports;
|
||
|
||
/** Detect free variable `process` from Node.js. */
|
||
var freeProcess = moduleExports && freeGlobal.process;
|
||
|
||
/** Used to access faster Node.js helpers. */
|
||
var nodeUtil = (function() {
|
||
try {
|
||
// Use `util.types` for Node.js 10+.
|
||
var types = freeModule && freeModule.require && freeModule.require('util').types;
|
||
|
||
if (types) {
|
||
return types;
|
||
}
|
||
|
||
// Legacy `process.binding('util')` for Node.js < 10.
|
||
return freeProcess && freeProcess.binding && freeProcess.binding('util');
|
||
} catch (e) {}
|
||
}());
|
||
|
||
module.exports = nodeUtil;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_objectToString.js":
|
||
/*!************************************************!*\
|
||
!*** ./node_modules/lodash/_objectToString.js ***!
|
||
\************************************************/
|
||
/***/ (function(module) {
|
||
|
||
/** Used for built-in method references. */
|
||
var objectProto = Object.prototype;
|
||
|
||
/**
|
||
* Used to resolve the
|
||
* [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
|
||
* of values.
|
||
*/
|
||
var nativeObjectToString = objectProto.toString;
|
||
|
||
/**
|
||
* Converts `value` to a string using `Object.prototype.toString`.
|
||
*
|
||
* @private
|
||
* @param {*} value The value to convert.
|
||
* @returns {string} Returns the converted string.
|
||
*/
|
||
function objectToString(value) {
|
||
return nativeObjectToString.call(value);
|
||
}
|
||
|
||
module.exports = objectToString;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_overArg.js":
|
||
/*!*****************************************!*\
|
||
!*** ./node_modules/lodash/_overArg.js ***!
|
||
\*****************************************/
|
||
/***/ (function(module) {
|
||
|
||
/**
|
||
* Creates a unary function that invokes `func` with its argument transformed.
|
||
*
|
||
* @private
|
||
* @param {Function} func The function to wrap.
|
||
* @param {Function} transform The argument transform.
|
||
* @returns {Function} Returns the new function.
|
||
*/
|
||
function overArg(func, transform) {
|
||
return function(arg) {
|
||
return func(transform(arg));
|
||
};
|
||
}
|
||
|
||
module.exports = overArg;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_overRest.js":
|
||
/*!******************************************!*\
|
||
!*** ./node_modules/lodash/_overRest.js ***!
|
||
\******************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var apply = __webpack_require__(/*! ./_apply */ "./node_modules/lodash/_apply.js");
|
||
|
||
/* Built-in method references for those with the same name as other `lodash` methods. */
|
||
var nativeMax = Math.max;
|
||
|
||
/**
|
||
* A specialized version of `baseRest` which transforms the rest array.
|
||
*
|
||
* @private
|
||
* @param {Function} func The function to apply a rest parameter to.
|
||
* @param {number} [start=func.length-1] The start position of the rest parameter.
|
||
* @param {Function} transform The rest array transform.
|
||
* @returns {Function} Returns the new function.
|
||
*/
|
||
function overRest(func, start, transform) {
|
||
start = nativeMax(start === undefined ? (func.length - 1) : start, 0);
|
||
return function() {
|
||
var args = arguments,
|
||
index = -1,
|
||
length = nativeMax(args.length - start, 0),
|
||
array = Array(length);
|
||
|
||
while (++index < length) {
|
||
array[index] = args[start + index];
|
||
}
|
||
index = -1;
|
||
var otherArgs = Array(start + 1);
|
||
while (++index < start) {
|
||
otherArgs[index] = args[index];
|
||
}
|
||
otherArgs[start] = transform(array);
|
||
return apply(func, this, otherArgs);
|
||
};
|
||
}
|
||
|
||
module.exports = overRest;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_root.js":
|
||
/*!**************************************!*\
|
||
!*** ./node_modules/lodash/_root.js ***!
|
||
\**************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var freeGlobal = __webpack_require__(/*! ./_freeGlobal */ "./node_modules/lodash/_freeGlobal.js");
|
||
|
||
/** Detect free variable `self`. */
|
||
var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
|
||
|
||
/** Used as a reference to the global object. */
|
||
var root = freeGlobal || freeSelf || Function('return this')();
|
||
|
||
module.exports = root;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_safeGet.js":
|
||
/*!*****************************************!*\
|
||
!*** ./node_modules/lodash/_safeGet.js ***!
|
||
\*****************************************/
|
||
/***/ (function(module) {
|
||
|
||
/**
|
||
* Gets the value at `key`, unless `key` is "__proto__" or "constructor".
|
||
*
|
||
* @private
|
||
* @param {Object} object The object to query.
|
||
* @param {string} key The key of the property to get.
|
||
* @returns {*} Returns the property value.
|
||
*/
|
||
function safeGet(object, key) {
|
||
if (key === 'constructor' && typeof object[key] === 'function') {
|
||
return;
|
||
}
|
||
|
||
if (key == '__proto__') {
|
||
return;
|
||
}
|
||
|
||
return object[key];
|
||
}
|
||
|
||
module.exports = safeGet;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_setCacheAdd.js":
|
||
/*!*********************************************!*\
|
||
!*** ./node_modules/lodash/_setCacheAdd.js ***!
|
||
\*********************************************/
|
||
/***/ (function(module) {
|
||
|
||
/** Used to stand-in for `undefined` hash values. */
|
||
var HASH_UNDEFINED = '__lodash_hash_undefined__';
|
||
|
||
/**
|
||
* Adds `value` to the array cache.
|
||
*
|
||
* @private
|
||
* @name add
|
||
* @memberOf SetCache
|
||
* @alias push
|
||
* @param {*} value The value to cache.
|
||
* @returns {Object} Returns the cache instance.
|
||
*/
|
||
function setCacheAdd(value) {
|
||
this.__data__.set(value, HASH_UNDEFINED);
|
||
return this;
|
||
}
|
||
|
||
module.exports = setCacheAdd;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_setCacheHas.js":
|
||
/*!*********************************************!*\
|
||
!*** ./node_modules/lodash/_setCacheHas.js ***!
|
||
\*********************************************/
|
||
/***/ (function(module) {
|
||
|
||
/**
|
||
* Checks if `value` is in the array cache.
|
||
*
|
||
* @private
|
||
* @name has
|
||
* @memberOf SetCache
|
||
* @param {*} value The value to search for.
|
||
* @returns {number} Returns `true` if `value` is found, else `false`.
|
||
*/
|
||
function setCacheHas(value) {
|
||
return this.__data__.has(value);
|
||
}
|
||
|
||
module.exports = setCacheHas;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_setToArray.js":
|
||
/*!********************************************!*\
|
||
!*** ./node_modules/lodash/_setToArray.js ***!
|
||
\********************************************/
|
||
/***/ (function(module) {
|
||
|
||
/**
|
||
* Converts `set` to an array of its values.
|
||
*
|
||
* @private
|
||
* @param {Object} set The set to convert.
|
||
* @returns {Array} Returns the values.
|
||
*/
|
||
function setToArray(set) {
|
||
var index = -1,
|
||
result = Array(set.size);
|
||
|
||
set.forEach(function(value) {
|
||
result[++index] = value;
|
||
});
|
||
return result;
|
||
}
|
||
|
||
module.exports = setToArray;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_setToString.js":
|
||
/*!*********************************************!*\
|
||
!*** ./node_modules/lodash/_setToString.js ***!
|
||
\*********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var baseSetToString = __webpack_require__(/*! ./_baseSetToString */ "./node_modules/lodash/_baseSetToString.js"),
|
||
shortOut = __webpack_require__(/*! ./_shortOut */ "./node_modules/lodash/_shortOut.js");
|
||
|
||
/**
|
||
* Sets the `toString` method of `func` to return `string`.
|
||
*
|
||
* @private
|
||
* @param {Function} func The function to modify.
|
||
* @param {Function} string The `toString` result.
|
||
* @returns {Function} Returns `func`.
|
||
*/
|
||
var setToString = shortOut(baseSetToString);
|
||
|
||
module.exports = setToString;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_shortOut.js":
|
||
/*!******************************************!*\
|
||
!*** ./node_modules/lodash/_shortOut.js ***!
|
||
\******************************************/
|
||
/***/ (function(module) {
|
||
|
||
/** Used to detect hot functions by number of calls within a span of milliseconds. */
|
||
var HOT_COUNT = 800,
|
||
HOT_SPAN = 16;
|
||
|
||
/* Built-in method references for those with the same name as other `lodash` methods. */
|
||
var nativeNow = Date.now;
|
||
|
||
/**
|
||
* Creates a function that'll short out and invoke `identity` instead
|
||
* of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`
|
||
* milliseconds.
|
||
*
|
||
* @private
|
||
* @param {Function} func The function to restrict.
|
||
* @returns {Function} Returns the new shortable function.
|
||
*/
|
||
function shortOut(func) {
|
||
var count = 0,
|
||
lastCalled = 0;
|
||
|
||
return function() {
|
||
var stamp = nativeNow(),
|
||
remaining = HOT_SPAN - (stamp - lastCalled);
|
||
|
||
lastCalled = stamp;
|
||
if (remaining > 0) {
|
||
if (++count >= HOT_COUNT) {
|
||
return arguments[0];
|
||
}
|
||
} else {
|
||
count = 0;
|
||
}
|
||
return func.apply(undefined, arguments);
|
||
};
|
||
}
|
||
|
||
module.exports = shortOut;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_stackClear.js":
|
||
/*!********************************************!*\
|
||
!*** ./node_modules/lodash/_stackClear.js ***!
|
||
\********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var ListCache = __webpack_require__(/*! ./_ListCache */ "./node_modules/lodash/_ListCache.js");
|
||
|
||
/**
|
||
* Removes all key-value entries from the stack.
|
||
*
|
||
* @private
|
||
* @name clear
|
||
* @memberOf Stack
|
||
*/
|
||
function stackClear() {
|
||
this.__data__ = new ListCache;
|
||
this.size = 0;
|
||
}
|
||
|
||
module.exports = stackClear;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_stackDelete.js":
|
||
/*!*********************************************!*\
|
||
!*** ./node_modules/lodash/_stackDelete.js ***!
|
||
\*********************************************/
|
||
/***/ (function(module) {
|
||
|
||
/**
|
||
* Removes `key` and its value from the stack.
|
||
*
|
||
* @private
|
||
* @name delete
|
||
* @memberOf Stack
|
||
* @param {string} key The key of the value to remove.
|
||
* @returns {boolean} Returns `true` if the entry was removed, else `false`.
|
||
*/
|
||
function stackDelete(key) {
|
||
var data = this.__data__,
|
||
result = data['delete'](key);
|
||
|
||
this.size = data.size;
|
||
return result;
|
||
}
|
||
|
||
module.exports = stackDelete;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_stackGet.js":
|
||
/*!******************************************!*\
|
||
!*** ./node_modules/lodash/_stackGet.js ***!
|
||
\******************************************/
|
||
/***/ (function(module) {
|
||
|
||
/**
|
||
* Gets the stack value for `key`.
|
||
*
|
||
* @private
|
||
* @name get
|
||
* @memberOf Stack
|
||
* @param {string} key The key of the value to get.
|
||
* @returns {*} Returns the entry value.
|
||
*/
|
||
function stackGet(key) {
|
||
return this.__data__.get(key);
|
||
}
|
||
|
||
module.exports = stackGet;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_stackHas.js":
|
||
/*!******************************************!*\
|
||
!*** ./node_modules/lodash/_stackHas.js ***!
|
||
\******************************************/
|
||
/***/ (function(module) {
|
||
|
||
/**
|
||
* Checks if a stack value for `key` exists.
|
||
*
|
||
* @private
|
||
* @name has
|
||
* @memberOf Stack
|
||
* @param {string} key The key of the entry to check.
|
||
* @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
|
||
*/
|
||
function stackHas(key) {
|
||
return this.__data__.has(key);
|
||
}
|
||
|
||
module.exports = stackHas;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_stackSet.js":
|
||
/*!******************************************!*\
|
||
!*** ./node_modules/lodash/_stackSet.js ***!
|
||
\******************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var ListCache = __webpack_require__(/*! ./_ListCache */ "./node_modules/lodash/_ListCache.js"),
|
||
Map = __webpack_require__(/*! ./_Map */ "./node_modules/lodash/_Map.js"),
|
||
MapCache = __webpack_require__(/*! ./_MapCache */ "./node_modules/lodash/_MapCache.js");
|
||
|
||
/** Used as the size to enable large array optimizations. */
|
||
var LARGE_ARRAY_SIZE = 200;
|
||
|
||
/**
|
||
* Sets the stack `key` to `value`.
|
||
*
|
||
* @private
|
||
* @name set
|
||
* @memberOf Stack
|
||
* @param {string} key The key of the value to set.
|
||
* @param {*} value The value to set.
|
||
* @returns {Object} Returns the stack cache instance.
|
||
*/
|
||
function stackSet(key, value) {
|
||
var data = this.__data__;
|
||
if (data instanceof ListCache) {
|
||
var pairs = data.__data__;
|
||
if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {
|
||
pairs.push([key, value]);
|
||
this.size = ++data.size;
|
||
return this;
|
||
}
|
||
data = this.__data__ = new MapCache(pairs);
|
||
}
|
||
data.set(key, value);
|
||
this.size = data.size;
|
||
return this;
|
||
}
|
||
|
||
module.exports = stackSet;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/_toSource.js":
|
||
/*!******************************************!*\
|
||
!*** ./node_modules/lodash/_toSource.js ***!
|
||
\******************************************/
|
||
/***/ (function(module) {
|
||
|
||
/** Used for built-in method references. */
|
||
var funcProto = Function.prototype;
|
||
|
||
/** Used to resolve the decompiled source of functions. */
|
||
var funcToString = funcProto.toString;
|
||
|
||
/**
|
||
* Converts `func` to its source code.
|
||
*
|
||
* @private
|
||
* @param {Function} func The function to convert.
|
||
* @returns {string} Returns the source code.
|
||
*/
|
||
function toSource(func) {
|
||
if (func != null) {
|
||
try {
|
||
return funcToString.call(func);
|
||
} catch (e) {}
|
||
try {
|
||
return (func + '');
|
||
} catch (e) {}
|
||
}
|
||
return '';
|
||
}
|
||
|
||
module.exports = toSource;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/constant.js":
|
||
/*!*****************************************!*\
|
||
!*** ./node_modules/lodash/constant.js ***!
|
||
\*****************************************/
|
||
/***/ (function(module) {
|
||
|
||
/**
|
||
* Creates a function that returns `value`.
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 2.4.0
|
||
* @category Util
|
||
* @param {*} value The value to return from the new function.
|
||
* @returns {Function} Returns the new constant function.
|
||
* @example
|
||
*
|
||
* var objects = _.times(2, _.constant({ 'a': 1 }));
|
||
*
|
||
* console.log(objects);
|
||
* // => [{ 'a': 1 }, { 'a': 1 }]
|
||
*
|
||
* console.log(objects[0] === objects[1]);
|
||
* // => true
|
||
*/
|
||
function constant(value) {
|
||
return function() {
|
||
return value;
|
||
};
|
||
}
|
||
|
||
module.exports = constant;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/eq.js":
|
||
/*!***********************************!*\
|
||
!*** ./node_modules/lodash/eq.js ***!
|
||
\***********************************/
|
||
/***/ (function(module) {
|
||
|
||
/**
|
||
* Performs a
|
||
* [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
|
||
* comparison between two values to determine if they are equivalent.
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 4.0.0
|
||
* @category Lang
|
||
* @param {*} value The value to compare.
|
||
* @param {*} other The other value to compare.
|
||
* @returns {boolean} Returns `true` if the values are equivalent, else `false`.
|
||
* @example
|
||
*
|
||
* var object = { 'a': 1 };
|
||
* var other = { 'a': 1 };
|
||
*
|
||
* _.eq(object, object);
|
||
* // => true
|
||
*
|
||
* _.eq(object, other);
|
||
* // => false
|
||
*
|
||
* _.eq('a', 'a');
|
||
* // => true
|
||
*
|
||
* _.eq('a', Object('a'));
|
||
* // => false
|
||
*
|
||
* _.eq(NaN, NaN);
|
||
* // => true
|
||
*/
|
||
function eq(value, other) {
|
||
return value === other || (value !== value && other !== other);
|
||
}
|
||
|
||
module.exports = eq;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/identity.js":
|
||
/*!*****************************************!*\
|
||
!*** ./node_modules/lodash/identity.js ***!
|
||
\*****************************************/
|
||
/***/ (function(module) {
|
||
|
||
/**
|
||
* This method returns the first argument it receives.
|
||
*
|
||
* @static
|
||
* @since 0.1.0
|
||
* @memberOf _
|
||
* @category Util
|
||
* @param {*} value Any value.
|
||
* @returns {*} Returns `value`.
|
||
* @example
|
||
*
|
||
* var object = { 'a': 1 };
|
||
*
|
||
* console.log(_.identity(object) === object);
|
||
* // => true
|
||
*/
|
||
function identity(value) {
|
||
return value;
|
||
}
|
||
|
||
module.exports = identity;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/isArguments.js":
|
||
/*!********************************************!*\
|
||
!*** ./node_modules/lodash/isArguments.js ***!
|
||
\********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var baseIsArguments = __webpack_require__(/*! ./_baseIsArguments */ "./node_modules/lodash/_baseIsArguments.js"),
|
||
isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js");
|
||
|
||
/** Used for built-in method references. */
|
||
var objectProto = Object.prototype;
|
||
|
||
/** Used to check objects for own properties. */
|
||
var hasOwnProperty = objectProto.hasOwnProperty;
|
||
|
||
/** Built-in value references. */
|
||
var propertyIsEnumerable = objectProto.propertyIsEnumerable;
|
||
|
||
/**
|
||
* Checks if `value` is likely an `arguments` object.
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 0.1.0
|
||
* @category Lang
|
||
* @param {*} value The value to check.
|
||
* @returns {boolean} Returns `true` if `value` is an `arguments` object,
|
||
* else `false`.
|
||
* @example
|
||
*
|
||
* _.isArguments(function() { return arguments; }());
|
||
* // => true
|
||
*
|
||
* _.isArguments([1, 2, 3]);
|
||
* // => false
|
||
*/
|
||
var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {
|
||
return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&
|
||
!propertyIsEnumerable.call(value, 'callee');
|
||
};
|
||
|
||
module.exports = isArguments;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/isArray.js":
|
||
/*!****************************************!*\
|
||
!*** ./node_modules/lodash/isArray.js ***!
|
||
\****************************************/
|
||
/***/ (function(module) {
|
||
|
||
/**
|
||
* Checks if `value` is classified as an `Array` object.
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 0.1.0
|
||
* @category Lang
|
||
* @param {*} value The value to check.
|
||
* @returns {boolean} Returns `true` if `value` is an array, else `false`.
|
||
* @example
|
||
*
|
||
* _.isArray([1, 2, 3]);
|
||
* // => true
|
||
*
|
||
* _.isArray(document.body.children);
|
||
* // => false
|
||
*
|
||
* _.isArray('abc');
|
||
* // => false
|
||
*
|
||
* _.isArray(_.noop);
|
||
* // => false
|
||
*/
|
||
var isArray = Array.isArray;
|
||
|
||
module.exports = isArray;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/isArrayLike.js":
|
||
/*!********************************************!*\
|
||
!*** ./node_modules/lodash/isArrayLike.js ***!
|
||
\********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var isFunction = __webpack_require__(/*! ./isFunction */ "./node_modules/lodash/isFunction.js"),
|
||
isLength = __webpack_require__(/*! ./isLength */ "./node_modules/lodash/isLength.js");
|
||
|
||
/**
|
||
* Checks if `value` is array-like. A value is considered array-like if it's
|
||
* not a function and has a `value.length` that's an integer greater than or
|
||
* equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 4.0.0
|
||
* @category Lang
|
||
* @param {*} value The value to check.
|
||
* @returns {boolean} Returns `true` if `value` is array-like, else `false`.
|
||
* @example
|
||
*
|
||
* _.isArrayLike([1, 2, 3]);
|
||
* // => true
|
||
*
|
||
* _.isArrayLike(document.body.children);
|
||
* // => true
|
||
*
|
||
* _.isArrayLike('abc');
|
||
* // => true
|
||
*
|
||
* _.isArrayLike(_.noop);
|
||
* // => false
|
||
*/
|
||
function isArrayLike(value) {
|
||
return value != null && isLength(value.length) && !isFunction(value);
|
||
}
|
||
|
||
module.exports = isArrayLike;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/isArrayLikeObject.js":
|
||
/*!**************************************************!*\
|
||
!*** ./node_modules/lodash/isArrayLikeObject.js ***!
|
||
\**************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var isArrayLike = __webpack_require__(/*! ./isArrayLike */ "./node_modules/lodash/isArrayLike.js"),
|
||
isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js");
|
||
|
||
/**
|
||
* This method is like `_.isArrayLike` except that it also checks if `value`
|
||
* is an object.
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 4.0.0
|
||
* @category Lang
|
||
* @param {*} value The value to check.
|
||
* @returns {boolean} Returns `true` if `value` is an array-like object,
|
||
* else `false`.
|
||
* @example
|
||
*
|
||
* _.isArrayLikeObject([1, 2, 3]);
|
||
* // => true
|
||
*
|
||
* _.isArrayLikeObject(document.body.children);
|
||
* // => true
|
||
*
|
||
* _.isArrayLikeObject('abc');
|
||
* // => false
|
||
*
|
||
* _.isArrayLikeObject(_.noop);
|
||
* // => false
|
||
*/
|
||
function isArrayLikeObject(value) {
|
||
return isObjectLike(value) && isArrayLike(value);
|
||
}
|
||
|
||
module.exports = isArrayLikeObject;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/isBuffer.js":
|
||
/*!*****************************************!*\
|
||
!*** ./node_modules/lodash/isBuffer.js ***!
|
||
\*****************************************/
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
/* module decorator */ module = __webpack_require__.nmd(module);
|
||
var root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"),
|
||
stubFalse = __webpack_require__(/*! ./stubFalse */ "./node_modules/lodash/stubFalse.js");
|
||
|
||
/** Detect free variable `exports`. */
|
||
var freeExports = true && exports && !exports.nodeType && exports;
|
||
|
||
/** Detect free variable `module`. */
|
||
var freeModule = freeExports && "object" == 'object' && module && !module.nodeType && module;
|
||
|
||
/** Detect the popular CommonJS extension `module.exports`. */
|
||
var moduleExports = freeModule && freeModule.exports === freeExports;
|
||
|
||
/** Built-in value references. */
|
||
var Buffer = moduleExports ? root.Buffer : undefined;
|
||
|
||
/* Built-in method references for those with the same name as other `lodash` methods. */
|
||
var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;
|
||
|
||
/**
|
||
* Checks if `value` is a buffer.
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 4.3.0
|
||
* @category Lang
|
||
* @param {*} value The value to check.
|
||
* @returns {boolean} Returns `true` if `value` is a buffer, else `false`.
|
||
* @example
|
||
*
|
||
* _.isBuffer(new Buffer(2));
|
||
* // => true
|
||
*
|
||
* _.isBuffer(new Uint8Array(2));
|
||
* // => false
|
||
*/
|
||
var isBuffer = nativeIsBuffer || stubFalse;
|
||
|
||
module.exports = isBuffer;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/isEqual.js":
|
||
/*!****************************************!*\
|
||
!*** ./node_modules/lodash/isEqual.js ***!
|
||
\****************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var baseIsEqual = __webpack_require__(/*! ./_baseIsEqual */ "./node_modules/lodash/_baseIsEqual.js");
|
||
|
||
/**
|
||
* Performs a deep comparison between two values to determine if they are
|
||
* equivalent.
|
||
*
|
||
* **Note:** This method supports comparing arrays, array buffers, booleans,
|
||
* date objects, error objects, maps, numbers, `Object` objects, regexes,
|
||
* sets, strings, symbols, and typed arrays. `Object` objects are compared
|
||
* by their own, not inherited, enumerable properties. Functions and DOM
|
||
* nodes are compared by strict equality, i.e. `===`.
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 0.1.0
|
||
* @category Lang
|
||
* @param {*} value The value to compare.
|
||
* @param {*} other The other value to compare.
|
||
* @returns {boolean} Returns `true` if the values are equivalent, else `false`.
|
||
* @example
|
||
*
|
||
* var object = { 'a': 1 };
|
||
* var other = { 'a': 1 };
|
||
*
|
||
* _.isEqual(object, other);
|
||
* // => true
|
||
*
|
||
* object === other;
|
||
* // => false
|
||
*/
|
||
function isEqual(value, other) {
|
||
return baseIsEqual(value, other);
|
||
}
|
||
|
||
module.exports = isEqual;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/isFunction.js":
|
||
/*!*******************************************!*\
|
||
!*** ./node_modules/lodash/isFunction.js ***!
|
||
\*******************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "./node_modules/lodash/_baseGetTag.js"),
|
||
isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js");
|
||
|
||
/** `Object#toString` result references. */
|
||
var asyncTag = '[object AsyncFunction]',
|
||
funcTag = '[object Function]',
|
||
genTag = '[object GeneratorFunction]',
|
||
proxyTag = '[object Proxy]';
|
||
|
||
/**
|
||
* Checks if `value` is classified as a `Function` object.
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 0.1.0
|
||
* @category Lang
|
||
* @param {*} value The value to check.
|
||
* @returns {boolean} Returns `true` if `value` is a function, else `false`.
|
||
* @example
|
||
*
|
||
* _.isFunction(_);
|
||
* // => true
|
||
*
|
||
* _.isFunction(/abc/);
|
||
* // => false
|
||
*/
|
||
function isFunction(value) {
|
||
if (!isObject(value)) {
|
||
return false;
|
||
}
|
||
// The use of `Object#toString` avoids issues with the `typeof` operator
|
||
// in Safari 9 which returns 'object' for typed arrays and other constructors.
|
||
var tag = baseGetTag(value);
|
||
return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
|
||
}
|
||
|
||
module.exports = isFunction;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/isLength.js":
|
||
/*!*****************************************!*\
|
||
!*** ./node_modules/lodash/isLength.js ***!
|
||
\*****************************************/
|
||
/***/ (function(module) {
|
||
|
||
/** Used as references for various `Number` constants. */
|
||
var MAX_SAFE_INTEGER = 9007199254740991;
|
||
|
||
/**
|
||
* Checks if `value` is a valid array-like length.
|
||
*
|
||
* **Note:** This method is loosely based on
|
||
* [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 4.0.0
|
||
* @category Lang
|
||
* @param {*} value The value to check.
|
||
* @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
|
||
* @example
|
||
*
|
||
* _.isLength(3);
|
||
* // => true
|
||
*
|
||
* _.isLength(Number.MIN_VALUE);
|
||
* // => false
|
||
*
|
||
* _.isLength(Infinity);
|
||
* // => false
|
||
*
|
||
* _.isLength('3');
|
||
* // => false
|
||
*/
|
||
function isLength(value) {
|
||
return typeof value == 'number' &&
|
||
value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
|
||
}
|
||
|
||
module.exports = isLength;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/isObject.js":
|
||
/*!*****************************************!*\
|
||
!*** ./node_modules/lodash/isObject.js ***!
|
||
\*****************************************/
|
||
/***/ (function(module) {
|
||
|
||
/**
|
||
* Checks if `value` is the
|
||
* [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
|
||
* of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 0.1.0
|
||
* @category Lang
|
||
* @param {*} value The value to check.
|
||
* @returns {boolean} Returns `true` if `value` is an object, else `false`.
|
||
* @example
|
||
*
|
||
* _.isObject({});
|
||
* // => true
|
||
*
|
||
* _.isObject([1, 2, 3]);
|
||
* // => true
|
||
*
|
||
* _.isObject(_.noop);
|
||
* // => true
|
||
*
|
||
* _.isObject(null);
|
||
* // => false
|
||
*/
|
||
function isObject(value) {
|
||
var type = typeof value;
|
||
return value != null && (type == 'object' || type == 'function');
|
||
}
|
||
|
||
module.exports = isObject;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/isObjectLike.js":
|
||
/*!*********************************************!*\
|
||
!*** ./node_modules/lodash/isObjectLike.js ***!
|
||
\*********************************************/
|
||
/***/ (function(module) {
|
||
|
||
/**
|
||
* Checks if `value` is object-like. A value is object-like if it's not `null`
|
||
* and has a `typeof` result of "object".
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 4.0.0
|
||
* @category Lang
|
||
* @param {*} value The value to check.
|
||
* @returns {boolean} Returns `true` if `value` is object-like, else `false`.
|
||
* @example
|
||
*
|
||
* _.isObjectLike({});
|
||
* // => true
|
||
*
|
||
* _.isObjectLike([1, 2, 3]);
|
||
* // => true
|
||
*
|
||
* _.isObjectLike(_.noop);
|
||
* // => false
|
||
*
|
||
* _.isObjectLike(null);
|
||
* // => false
|
||
*/
|
||
function isObjectLike(value) {
|
||
return value != null && typeof value == 'object';
|
||
}
|
||
|
||
module.exports = isObjectLike;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/isPlainObject.js":
|
||
/*!**********************************************!*\
|
||
!*** ./node_modules/lodash/isPlainObject.js ***!
|
||
\**********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "./node_modules/lodash/_baseGetTag.js"),
|
||
getPrototype = __webpack_require__(/*! ./_getPrototype */ "./node_modules/lodash/_getPrototype.js"),
|
||
isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js");
|
||
|
||
/** `Object#toString` result references. */
|
||
var objectTag = '[object Object]';
|
||
|
||
/** Used for built-in method references. */
|
||
var funcProto = Function.prototype,
|
||
objectProto = Object.prototype;
|
||
|
||
/** Used to resolve the decompiled source of functions. */
|
||
var funcToString = funcProto.toString;
|
||
|
||
/** Used to check objects for own properties. */
|
||
var hasOwnProperty = objectProto.hasOwnProperty;
|
||
|
||
/** Used to infer the `Object` constructor. */
|
||
var objectCtorString = funcToString.call(Object);
|
||
|
||
/**
|
||
* Checks if `value` is a plain object, that is, an object created by the
|
||
* `Object` constructor or one with a `[[Prototype]]` of `null`.
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 0.8.0
|
||
* @category Lang
|
||
* @param {*} value The value to check.
|
||
* @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
|
||
* @example
|
||
*
|
||
* function Foo() {
|
||
* this.a = 1;
|
||
* }
|
||
*
|
||
* _.isPlainObject(new Foo);
|
||
* // => false
|
||
*
|
||
* _.isPlainObject([1, 2, 3]);
|
||
* // => false
|
||
*
|
||
* _.isPlainObject({ 'x': 0, 'y': 0 });
|
||
* // => true
|
||
*
|
||
* _.isPlainObject(Object.create(null));
|
||
* // => true
|
||
*/
|
||
function isPlainObject(value) {
|
||
if (!isObjectLike(value) || baseGetTag(value) != objectTag) {
|
||
return false;
|
||
}
|
||
var proto = getPrototype(value);
|
||
if (proto === null) {
|
||
return true;
|
||
}
|
||
var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;
|
||
return typeof Ctor == 'function' && Ctor instanceof Ctor &&
|
||
funcToString.call(Ctor) == objectCtorString;
|
||
}
|
||
|
||
module.exports = isPlainObject;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/isTypedArray.js":
|
||
/*!*********************************************!*\
|
||
!*** ./node_modules/lodash/isTypedArray.js ***!
|
||
\*********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var baseIsTypedArray = __webpack_require__(/*! ./_baseIsTypedArray */ "./node_modules/lodash/_baseIsTypedArray.js"),
|
||
baseUnary = __webpack_require__(/*! ./_baseUnary */ "./node_modules/lodash/_baseUnary.js"),
|
||
nodeUtil = __webpack_require__(/*! ./_nodeUtil */ "./node_modules/lodash/_nodeUtil.js");
|
||
|
||
/* Node.js helper references. */
|
||
var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
|
||
|
||
/**
|
||
* Checks if `value` is classified as a typed array.
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 3.0.0
|
||
* @category Lang
|
||
* @param {*} value The value to check.
|
||
* @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
|
||
* @example
|
||
*
|
||
* _.isTypedArray(new Uint8Array);
|
||
* // => true
|
||
*
|
||
* _.isTypedArray([]);
|
||
* // => false
|
||
*/
|
||
var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
|
||
|
||
module.exports = isTypedArray;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/keys.js":
|
||
/*!*************************************!*\
|
||
!*** ./node_modules/lodash/keys.js ***!
|
||
\*************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var arrayLikeKeys = __webpack_require__(/*! ./_arrayLikeKeys */ "./node_modules/lodash/_arrayLikeKeys.js"),
|
||
baseKeys = __webpack_require__(/*! ./_baseKeys */ "./node_modules/lodash/_baseKeys.js"),
|
||
isArrayLike = __webpack_require__(/*! ./isArrayLike */ "./node_modules/lodash/isArrayLike.js");
|
||
|
||
/**
|
||
* Creates an array of the own enumerable property names of `object`.
|
||
*
|
||
* **Note:** Non-object values are coerced to objects. See the
|
||
* [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
|
||
* for more details.
|
||
*
|
||
* @static
|
||
* @since 0.1.0
|
||
* @memberOf _
|
||
* @category Object
|
||
* @param {Object} object The object to query.
|
||
* @returns {Array} Returns the array of property names.
|
||
* @example
|
||
*
|
||
* function Foo() {
|
||
* this.a = 1;
|
||
* this.b = 2;
|
||
* }
|
||
*
|
||
* Foo.prototype.c = 3;
|
||
*
|
||
* _.keys(new Foo);
|
||
* // => ['a', 'b'] (iteration order is not guaranteed)
|
||
*
|
||
* _.keys('hi');
|
||
* // => ['0', '1']
|
||
*/
|
||
function keys(object) {
|
||
return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);
|
||
}
|
||
|
||
module.exports = keys;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/keysIn.js":
|
||
/*!***************************************!*\
|
||
!*** ./node_modules/lodash/keysIn.js ***!
|
||
\***************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var arrayLikeKeys = __webpack_require__(/*! ./_arrayLikeKeys */ "./node_modules/lodash/_arrayLikeKeys.js"),
|
||
baseKeysIn = __webpack_require__(/*! ./_baseKeysIn */ "./node_modules/lodash/_baseKeysIn.js"),
|
||
isArrayLike = __webpack_require__(/*! ./isArrayLike */ "./node_modules/lodash/isArrayLike.js");
|
||
|
||
/**
|
||
* Creates an array of the own and inherited enumerable property names of `object`.
|
||
*
|
||
* **Note:** Non-object values are coerced to objects.
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 3.0.0
|
||
* @category Object
|
||
* @param {Object} object The object to query.
|
||
* @returns {Array} Returns the array of property names.
|
||
* @example
|
||
*
|
||
* function Foo() {
|
||
* this.a = 1;
|
||
* this.b = 2;
|
||
* }
|
||
*
|
||
* Foo.prototype.c = 3;
|
||
*
|
||
* _.keysIn(new Foo);
|
||
* // => ['a', 'b', 'c'] (iteration order is not guaranteed)
|
||
*/
|
||
function keysIn(object) {
|
||
return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
|
||
}
|
||
|
||
module.exports = keysIn;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/merge.js":
|
||
/*!**************************************!*\
|
||
!*** ./node_modules/lodash/merge.js ***!
|
||
\**************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var baseMerge = __webpack_require__(/*! ./_baseMerge */ "./node_modules/lodash/_baseMerge.js"),
|
||
createAssigner = __webpack_require__(/*! ./_createAssigner */ "./node_modules/lodash/_createAssigner.js");
|
||
|
||
/**
|
||
* This method is like `_.assign` except that it recursively merges own and
|
||
* inherited enumerable string keyed properties of source objects into the
|
||
* destination object. Source properties that resolve to `undefined` are
|
||
* skipped if a destination value exists. Array and plain object properties
|
||
* are merged recursively. Other objects and value types are overridden by
|
||
* assignment. Source objects are applied from left to right. Subsequent
|
||
* sources overwrite property assignments of previous sources.
|
||
*
|
||
* **Note:** This method mutates `object`.
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 0.5.0
|
||
* @category Object
|
||
* @param {Object} object The destination object.
|
||
* @param {...Object} [sources] The source objects.
|
||
* @returns {Object} Returns `object`.
|
||
* @example
|
||
*
|
||
* var object = {
|
||
* 'a': [{ 'b': 2 }, { 'd': 4 }]
|
||
* };
|
||
*
|
||
* var other = {
|
||
* 'a': [{ 'c': 3 }, { 'e': 5 }]
|
||
* };
|
||
*
|
||
* _.merge(object, other);
|
||
* // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }
|
||
*/
|
||
var merge = createAssigner(function(object, source, srcIndex) {
|
||
baseMerge(object, source, srcIndex);
|
||
});
|
||
|
||
module.exports = merge;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/stubArray.js":
|
||
/*!******************************************!*\
|
||
!*** ./node_modules/lodash/stubArray.js ***!
|
||
\******************************************/
|
||
/***/ (function(module) {
|
||
|
||
/**
|
||
* This method returns a new empty array.
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 4.13.0
|
||
* @category Util
|
||
* @returns {Array} Returns the new empty array.
|
||
* @example
|
||
*
|
||
* var arrays = _.times(2, _.stubArray);
|
||
*
|
||
* console.log(arrays);
|
||
* // => [[], []]
|
||
*
|
||
* console.log(arrays[0] === arrays[1]);
|
||
* // => false
|
||
*/
|
||
function stubArray() {
|
||
return [];
|
||
}
|
||
|
||
module.exports = stubArray;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/stubFalse.js":
|
||
/*!******************************************!*\
|
||
!*** ./node_modules/lodash/stubFalse.js ***!
|
||
\******************************************/
|
||
/***/ (function(module) {
|
||
|
||
/**
|
||
* This method returns `false`.
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 4.13.0
|
||
* @category Util
|
||
* @returns {boolean} Returns `false`.
|
||
* @example
|
||
*
|
||
* _.times(2, _.stubFalse);
|
||
* // => [false, false]
|
||
*/
|
||
function stubFalse() {
|
||
return false;
|
||
}
|
||
|
||
module.exports = stubFalse;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/lodash/toPlainObject.js":
|
||
/*!**********************************************!*\
|
||
!*** ./node_modules/lodash/toPlainObject.js ***!
|
||
\**********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
var copyObject = __webpack_require__(/*! ./_copyObject */ "./node_modules/lodash/_copyObject.js"),
|
||
keysIn = __webpack_require__(/*! ./keysIn */ "./node_modules/lodash/keysIn.js");
|
||
|
||
/**
|
||
* Converts `value` to a plain object flattening inherited enumerable string
|
||
* keyed properties of `value` to own properties of the plain object.
|
||
*
|
||
* @static
|
||
* @memberOf _
|
||
* @since 3.0.0
|
||
* @category Lang
|
||
* @param {*} value The value to convert.
|
||
* @returns {Object} Returns the converted plain object.
|
||
* @example
|
||
*
|
||
* function Foo() {
|
||
* this.b = 2;
|
||
* }
|
||
*
|
||
* Foo.prototype.c = 3;
|
||
*
|
||
* _.assign({ 'a': 1 }, new Foo);
|
||
* // => { 'a': 1, 'b': 2 }
|
||
*
|
||
* _.assign({ 'a': 1 }, _.toPlainObject(new Foo));
|
||
* // => { 'a': 1, 'b': 2, 'c': 3 }
|
||
*/
|
||
function toPlainObject(value) {
|
||
return copyObject(value, keysIn(value));
|
||
}
|
||
|
||
module.exports = toPlainObject;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/md5/md5.js":
|
||
/*!*********************************!*\
|
||
!*** ./node_modules/md5/md5.js ***!
|
||
\*********************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
(function(){
|
||
var crypt = __webpack_require__(/*! crypt */ "./node_modules/crypt/crypt.js"),
|
||
utf8 = __webpack_require__(/*! charenc */ "./node_modules/charenc/charenc.js").utf8,
|
||
isBuffer = __webpack_require__(/*! is-buffer */ "./node_modules/is-buffer/index.js"),
|
||
bin = __webpack_require__(/*! charenc */ "./node_modules/charenc/charenc.js").bin,
|
||
|
||
// The core
|
||
md5 = function (message, options) {
|
||
// Convert to byte array
|
||
if (message.constructor == String)
|
||
if (options && options.encoding === 'binary')
|
||
message = bin.stringToBytes(message);
|
||
else
|
||
message = utf8.stringToBytes(message);
|
||
else if (isBuffer(message))
|
||
message = Array.prototype.slice.call(message, 0);
|
||
else if (!Array.isArray(message) && message.constructor !== Uint8Array)
|
||
message = message.toString();
|
||
// else, assume byte array already
|
||
|
||
var m = crypt.bytesToWords(message),
|
||
l = message.length * 8,
|
||
a = 1732584193,
|
||
b = -271733879,
|
||
c = -1732584194,
|
||
d = 271733878;
|
||
|
||
// Swap endian
|
||
for (var i = 0; i < m.length; i++) {
|
||
m[i] = ((m[i] << 8) | (m[i] >>> 24)) & 0x00FF00FF |
|
||
((m[i] << 24) | (m[i] >>> 8)) & 0xFF00FF00;
|
||
}
|
||
|
||
// Padding
|
||
m[l >>> 5] |= 0x80 << (l % 32);
|
||
m[(((l + 64) >>> 9) << 4) + 14] = l;
|
||
|
||
// Method shortcuts
|
||
var FF = md5._ff,
|
||
GG = md5._gg,
|
||
HH = md5._hh,
|
||
II = md5._ii;
|
||
|
||
for (var i = 0; i < m.length; i += 16) {
|
||
|
||
var aa = a,
|
||
bb = b,
|
||
cc = c,
|
||
dd = d;
|
||
|
||
a = FF(a, b, c, d, m[i+ 0], 7, -680876936);
|
||
d = FF(d, a, b, c, m[i+ 1], 12, -389564586);
|
||
c = FF(c, d, a, b, m[i+ 2], 17, 606105819);
|
||
b = FF(b, c, d, a, m[i+ 3], 22, -1044525330);
|
||
a = FF(a, b, c, d, m[i+ 4], 7, -176418897);
|
||
d = FF(d, a, b, c, m[i+ 5], 12, 1200080426);
|
||
c = FF(c, d, a, b, m[i+ 6], 17, -1473231341);
|
||
b = FF(b, c, d, a, m[i+ 7], 22, -45705983);
|
||
a = FF(a, b, c, d, m[i+ 8], 7, 1770035416);
|
||
d = FF(d, a, b, c, m[i+ 9], 12, -1958414417);
|
||
c = FF(c, d, a, b, m[i+10], 17, -42063);
|
||
b = FF(b, c, d, a, m[i+11], 22, -1990404162);
|
||
a = FF(a, b, c, d, m[i+12], 7, 1804603682);
|
||
d = FF(d, a, b, c, m[i+13], 12, -40341101);
|
||
c = FF(c, d, a, b, m[i+14], 17, -1502002290);
|
||
b = FF(b, c, d, a, m[i+15], 22, 1236535329);
|
||
|
||
a = GG(a, b, c, d, m[i+ 1], 5, -165796510);
|
||
d = GG(d, a, b, c, m[i+ 6], 9, -1069501632);
|
||
c = GG(c, d, a, b, m[i+11], 14, 643717713);
|
||
b = GG(b, c, d, a, m[i+ 0], 20, -373897302);
|
||
a = GG(a, b, c, d, m[i+ 5], 5, -701558691);
|
||
d = GG(d, a, b, c, m[i+10], 9, 38016083);
|
||
c = GG(c, d, a, b, m[i+15], 14, -660478335);
|
||
b = GG(b, c, d, a, m[i+ 4], 20, -405537848);
|
||
a = GG(a, b, c, d, m[i+ 9], 5, 568446438);
|
||
d = GG(d, a, b, c, m[i+14], 9, -1019803690);
|
||
c = GG(c, d, a, b, m[i+ 3], 14, -187363961);
|
||
b = GG(b, c, d, a, m[i+ 8], 20, 1163531501);
|
||
a = GG(a, b, c, d, m[i+13], 5, -1444681467);
|
||
d = GG(d, a, b, c, m[i+ 2], 9, -51403784);
|
||
c = GG(c, d, a, b, m[i+ 7], 14, 1735328473);
|
||
b = GG(b, c, d, a, m[i+12], 20, -1926607734);
|
||
|
||
a = HH(a, b, c, d, m[i+ 5], 4, -378558);
|
||
d = HH(d, a, b, c, m[i+ 8], 11, -2022574463);
|
||
c = HH(c, d, a, b, m[i+11], 16, 1839030562);
|
||
b = HH(b, c, d, a, m[i+14], 23, -35309556);
|
||
a = HH(a, b, c, d, m[i+ 1], 4, -1530992060);
|
||
d = HH(d, a, b, c, m[i+ 4], 11, 1272893353);
|
||
c = HH(c, d, a, b, m[i+ 7], 16, -155497632);
|
||
b = HH(b, c, d, a, m[i+10], 23, -1094730640);
|
||
a = HH(a, b, c, d, m[i+13], 4, 681279174);
|
||
d = HH(d, a, b, c, m[i+ 0], 11, -358537222);
|
||
c = HH(c, d, a, b, m[i+ 3], 16, -722521979);
|
||
b = HH(b, c, d, a, m[i+ 6], 23, 76029189);
|
||
a = HH(a, b, c, d, m[i+ 9], 4, -640364487);
|
||
d = HH(d, a, b, c, m[i+12], 11, -421815835);
|
||
c = HH(c, d, a, b, m[i+15], 16, 530742520);
|
||
b = HH(b, c, d, a, m[i+ 2], 23, -995338651);
|
||
|
||
a = II(a, b, c, d, m[i+ 0], 6, -198630844);
|
||
d = II(d, a, b, c, m[i+ 7], 10, 1126891415);
|
||
c = II(c, d, a, b, m[i+14], 15, -1416354905);
|
||
b = II(b, c, d, a, m[i+ 5], 21, -57434055);
|
||
a = II(a, b, c, d, m[i+12], 6, 1700485571);
|
||
d = II(d, a, b, c, m[i+ 3], 10, -1894986606);
|
||
c = II(c, d, a, b, m[i+10], 15, -1051523);
|
||
b = II(b, c, d, a, m[i+ 1], 21, -2054922799);
|
||
a = II(a, b, c, d, m[i+ 8], 6, 1873313359);
|
||
d = II(d, a, b, c, m[i+15], 10, -30611744);
|
||
c = II(c, d, a, b, m[i+ 6], 15, -1560198380);
|
||
b = II(b, c, d, a, m[i+13], 21, 1309151649);
|
||
a = II(a, b, c, d, m[i+ 4], 6, -145523070);
|
||
d = II(d, a, b, c, m[i+11], 10, -1120210379);
|
||
c = II(c, d, a, b, m[i+ 2], 15, 718787259);
|
||
b = II(b, c, d, a, m[i+ 9], 21, -343485551);
|
||
|
||
a = (a + aa) >>> 0;
|
||
b = (b + bb) >>> 0;
|
||
c = (c + cc) >>> 0;
|
||
d = (d + dd) >>> 0;
|
||
}
|
||
|
||
return crypt.endian([a, b, c, d]);
|
||
};
|
||
|
||
// Auxiliary functions
|
||
md5._ff = function (a, b, c, d, x, s, t) {
|
||
var n = a + (b & c | ~b & d) + (x >>> 0) + t;
|
||
return ((n << s) | (n >>> (32 - s))) + b;
|
||
};
|
||
md5._gg = function (a, b, c, d, x, s, t) {
|
||
var n = a + (b & d | c & ~d) + (x >>> 0) + t;
|
||
return ((n << s) | (n >>> (32 - s))) + b;
|
||
};
|
||
md5._hh = function (a, b, c, d, x, s, t) {
|
||
var n = a + (b ^ c ^ d) + (x >>> 0) + t;
|
||
return ((n << s) | (n >>> (32 - s))) + b;
|
||
};
|
||
md5._ii = function (a, b, c, d, x, s, t) {
|
||
var n = a + (c ^ (b | ~d)) + (x >>> 0) + t;
|
||
return ((n << s) | (n >>> (32 - s))) + b;
|
||
};
|
||
|
||
// Package private blocksize
|
||
md5._blocksize = 16;
|
||
md5._digestsize = 16;
|
||
|
||
module.exports = function (message, options) {
|
||
if (message === undefined || message === null)
|
||
throw new Error('Illegal argument ' + message);
|
||
|
||
var digestbytes = crypt.wordsToBytes(md5(message, options));
|
||
return options && options.asBytes ? digestbytes :
|
||
options && options.asString ? bin.bytesToString(digestbytes) :
|
||
crypt.bytesToHex(digestbytes);
|
||
};
|
||
|
||
})();
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/node-gettext/lib/gettext.js":
|
||
/*!**************************************************!*\
|
||
!*** ./node_modules/node-gettext/lib/gettext.js ***!
|
||
\**************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
/* provided dependency */ var console = __webpack_require__(/*! console-browserify */ "./node_modules/console-browserify/index.js");
|
||
|
||
|
||
var get = __webpack_require__(/*! lodash.get */ "./node_modules/lodash.get/index.js");
|
||
var plurals = __webpack_require__(/*! ./plurals */ "./node_modules/node-gettext/lib/plurals.js");
|
||
|
||
module.exports = Gettext;
|
||
|
||
/**
|
||
* Creates and returns a new Gettext instance.
|
||
*
|
||
* @constructor
|
||
* @param {Object} [options] A set of options
|
||
* @param {String} options.sourceLocale The locale that the source code and its
|
||
* texts are written in. Translations for
|
||
* this locale is not necessary.
|
||
* @param {Boolean} options.debug Whether to output debug info into the
|
||
* console.
|
||
* @return {Object} A Gettext instance
|
||
*/
|
||
function Gettext(options) {
|
||
options = options || {};
|
||
|
||
this.catalogs = {};
|
||
this.locale = '';
|
||
this.domain = 'messages';
|
||
|
||
this.listeners = [];
|
||
|
||
// Set source locale
|
||
this.sourceLocale = '';
|
||
if (options.sourceLocale) {
|
||
if (typeof options.sourceLocale === 'string') {
|
||
this.sourceLocale = options.sourceLocale;
|
||
}
|
||
else {
|
||
this.warn('The `sourceLocale` option should be a string');
|
||
}
|
||
}
|
||
|
||
// Set debug flag
|
||
this.debug = 'debug' in options && options.debug === true;
|
||
}
|
||
|
||
/**
|
||
* Adds an event listener.
|
||
*
|
||
* @param {String} eventName An event name
|
||
* @param {Function} callback An event handler function
|
||
*/
|
||
Gettext.prototype.on = function(eventName, callback) {
|
||
this.listeners.push({
|
||
eventName: eventName,
|
||
callback: callback
|
||
});
|
||
};
|
||
|
||
/**
|
||
* Removes an event listener.
|
||
*
|
||
* @param {String} eventName An event name
|
||
* @param {Function} callback A previously registered event handler function
|
||
*/
|
||
Gettext.prototype.off = function(eventName, callback) {
|
||
this.listeners = this.listeners.filter(function(listener) {
|
||
return (
|
||
listener.eventName === eventName &&
|
||
listener.callback === callback
|
||
) === false;
|
||
});
|
||
};
|
||
|
||
/**
|
||
* Emits an event to all registered event listener.
|
||
*
|
||
* @private
|
||
* @param {String} eventName An event name
|
||
* @param {any} eventData Data to pass to event listeners
|
||
*/
|
||
Gettext.prototype.emit = function(eventName, eventData) {
|
||
for (var i = 0; i < this.listeners.length; i++) {
|
||
var listener = this.listeners[i];
|
||
if (listener.eventName === eventName) {
|
||
listener.callback(eventData);
|
||
}
|
||
}
|
||
};
|
||
|
||
/**
|
||
* Logs a warning to the console if debug mode is enabled.
|
||
*
|
||
* @ignore
|
||
* @param {String} message A warning message
|
||
*/
|
||
Gettext.prototype.warn = function(message) {
|
||
if (this.debug) {
|
||
console.warn(message);
|
||
}
|
||
|
||
this.emit('error', new Error(message));
|
||
};
|
||
|
||
/**
|
||
* Stores a set of translations in the set of gettext
|
||
* catalogs.
|
||
*
|
||
* @example
|
||
* gt.addTranslations('sv-SE', 'messages', translationsObject)
|
||
*
|
||
* @param {String} locale A locale string
|
||
* @param {String} domain A domain name
|
||
* @param {Object} translations An object of gettext-parser JSON shape
|
||
*/
|
||
Gettext.prototype.addTranslations = function(locale, domain, translations) {
|
||
if (!this.catalogs[locale]) {
|
||
this.catalogs[locale] = {};
|
||
}
|
||
|
||
this.catalogs[locale][domain] = translations;
|
||
};
|
||
|
||
/**
|
||
* Sets the locale to get translated messages for.
|
||
*
|
||
* @example
|
||
* gt.setLocale('sv-SE')
|
||
*
|
||
* @param {String} locale A locale
|
||
*/
|
||
Gettext.prototype.setLocale = function(locale) {
|
||
if (typeof locale !== 'string') {
|
||
this.warn(
|
||
'You called setLocale() with an argument of type ' + (typeof locale) + '. ' +
|
||
'The locale must be a string.'
|
||
);
|
||
return;
|
||
}
|
||
|
||
if (locale.trim() === '') {
|
||
this.warn('You called setLocale() with an empty value, which makes little sense.');
|
||
}
|
||
|
||
if (locale !== this.sourceLocale && !this.catalogs[locale]) {
|
||
this.warn('You called setLocale() with "' + locale + '", but no translations for that locale has been added.');
|
||
}
|
||
|
||
this.locale = locale;
|
||
};
|
||
|
||
/**
|
||
* Sets the default gettext domain.
|
||
*
|
||
* @example
|
||
* gt.setTextDomain('domainname')
|
||
*
|
||
* @param {String} domain A gettext domain name
|
||
*/
|
||
Gettext.prototype.setTextDomain = function(domain) {
|
||
if (typeof domain !== 'string') {
|
||
this.warn(
|
||
'You called setTextDomain() with an argument of type ' + (typeof domain) + '. ' +
|
||
'The domain must be a string.'
|
||
);
|
||
return;
|
||
}
|
||
|
||
if (domain.trim() === '') {
|
||
this.warn('You called setTextDomain() with an empty `domain` value.');
|
||
}
|
||
|
||
this.domain = domain;
|
||
};
|
||
|
||
/**
|
||
* Translates a string using the default textdomain
|
||
*
|
||
* @example
|
||
* gt.gettext('Some text')
|
||
*
|
||
* @param {String} msgid String to be translated
|
||
* @return {String} Translation or the original string if no translation was found
|
||
*/
|
||
Gettext.prototype.gettext = function(msgid) {
|
||
return this.dnpgettext(this.domain, '', msgid);
|
||
};
|
||
|
||
/**
|
||
* Translates a string using a specific domain
|
||
*
|
||
* @example
|
||
* gt.dgettext('domainname', 'Some text')
|
||
*
|
||
* @param {String} domain A gettext domain name
|
||
* @param {String} msgid String to be translated
|
||
* @return {String} Translation or the original string if no translation was found
|
||
*/
|
||
Gettext.prototype.dgettext = function(domain, msgid) {
|
||
return this.dnpgettext(domain, '', msgid);
|
||
};
|
||
|
||
/**
|
||
* Translates a plural string using the default textdomain
|
||
*
|
||
* @example
|
||
* gt.ngettext('One thing', 'Many things', numberOfThings)
|
||
*
|
||
* @param {String} msgid String to be translated when count is not plural
|
||
* @param {String} msgidPlural String to be translated when count is plural
|
||
* @param {Number} count Number count for the plural
|
||
* @return {String} Translation or the original string if no translation was found
|
||
*/
|
||
Gettext.prototype.ngettext = function(msgid, msgidPlural, count) {
|
||
return this.dnpgettext(this.domain, '', msgid, msgidPlural, count);
|
||
};
|
||
|
||
/**
|
||
* Translates a plural string using a specific textdomain
|
||
*
|
||
* @example
|
||
* gt.dngettext('domainname', 'One thing', 'Many things', numberOfThings)
|
||
*
|
||
* @param {String} domain A gettext domain name
|
||
* @param {String} msgid String to be translated when count is not plural
|
||
* @param {String} msgidPlural String to be translated when count is plural
|
||
* @param {Number} count Number count for the plural
|
||
* @return {String} Translation or the original string if no translation was found
|
||
*/
|
||
Gettext.prototype.dngettext = function(domain, msgid, msgidPlural, count) {
|
||
return this.dnpgettext(domain, '', msgid, msgidPlural, count);
|
||
};
|
||
|
||
/**
|
||
* Translates a string from a specific context using the default textdomain
|
||
*
|
||
* @example
|
||
* gt.pgettext('sports', 'Back')
|
||
*
|
||
* @param {String} msgctxt Translation context
|
||
* @param {String} msgid String to be translated
|
||
* @return {String} Translation or the original string if no translation was found
|
||
*/
|
||
Gettext.prototype.pgettext = function(msgctxt, msgid) {
|
||
return this.dnpgettext(this.domain, msgctxt, msgid);
|
||
};
|
||
|
||
/**
|
||
* Translates a string from a specific context using s specific textdomain
|
||
*
|
||
* @example
|
||
* gt.dpgettext('domainname', 'sports', 'Back')
|
||
*
|
||
* @param {String} domain A gettext domain name
|
||
* @param {String} msgctxt Translation context
|
||
* @param {String} msgid String to be translated
|
||
* @return {String} Translation or the original string if no translation was found
|
||
*/
|
||
Gettext.prototype.dpgettext = function(domain, msgctxt, msgid) {
|
||
return this.dnpgettext(domain, msgctxt, msgid);
|
||
};
|
||
|
||
/**
|
||
* Translates a plural string from a specific context using the default textdomain
|
||
*
|
||
* @example
|
||
* gt.npgettext('sports', 'Back', '%d backs', numberOfBacks)
|
||
*
|
||
* @param {String} msgctxt Translation context
|
||
* @param {String} msgid String to be translated when count is not plural
|
||
* @param {String} msgidPlural String to be translated when count is plural
|
||
* @param {Number} count Number count for the plural
|
||
* @return {String} Translation or the original string if no translation was found
|
||
*/
|
||
Gettext.prototype.npgettext = function(msgctxt, msgid, msgidPlural, count) {
|
||
return this.dnpgettext(this.domain, msgctxt, msgid, msgidPlural, count);
|
||
};
|
||
|
||
/**
|
||
* Translates a plural string from a specifi context using a specific textdomain
|
||
*
|
||
* @example
|
||
* gt.dnpgettext('domainname', 'sports', 'Back', '%d backs', numberOfBacks)
|
||
*
|
||
* @param {String} domain A gettext domain name
|
||
* @param {String} msgctxt Translation context
|
||
* @param {String} msgid String to be translated
|
||
* @param {String} msgidPlural If no translation was found, return this on count!=1
|
||
* @param {Number} count Number count for the plural
|
||
* @return {String} Translation or the original string if no translation was found
|
||
*/
|
||
Gettext.prototype.dnpgettext = function(domain, msgctxt, msgid, msgidPlural, count) {
|
||
var defaultTranslation = msgid;
|
||
var translation;
|
||
var index;
|
||
|
||
msgctxt = msgctxt || '';
|
||
|
||
if (!isNaN(count) && count !== 1) {
|
||
defaultTranslation = msgidPlural || msgid;
|
||
}
|
||
|
||
translation = this._getTranslation(domain, msgctxt, msgid);
|
||
|
||
if (translation) {
|
||
if (typeof count === 'number') {
|
||
var pluralsFunc = plurals[Gettext.getLanguageCode(this.locale)].pluralsFunc;
|
||
index = pluralsFunc(count);
|
||
if (typeof index === 'boolean') {
|
||
index = index ? 1 : 0;
|
||
}
|
||
} else {
|
||
index = 0;
|
||
}
|
||
|
||
return translation.msgstr[index] || defaultTranslation;
|
||
}
|
||
else if (!this.sourceLocale || this.locale !== this.sourceLocale) {
|
||
this.warn('No translation was found for msgid "' + msgid + '" in msgctxt "' + msgctxt + '" and domain "' + domain + '"');
|
||
}
|
||
|
||
return defaultTranslation;
|
||
};
|
||
|
||
/**
|
||
* Retrieves comments object for a translation. The comments object
|
||
* has the shape `{ translator, extracted, reference, flag, previous }`.
|
||
*
|
||
* @example
|
||
* const comment = gt.getComment('domainname', 'sports', 'Backs')
|
||
*
|
||
* @private
|
||
* @param {String} domain A gettext domain name
|
||
* @param {String} msgctxt Translation context
|
||
* @param {String} msgid String to be translated
|
||
* @return {Object} Comments object or false if not found
|
||
*/
|
||
Gettext.prototype.getComment = function(domain, msgctxt, msgid) {
|
||
var translation;
|
||
|
||
translation = this._getTranslation(domain, msgctxt, msgid);
|
||
if (translation) {
|
||
return translation.comments || {};
|
||
}
|
||
|
||
return {};
|
||
};
|
||
|
||
/**
|
||
* Retrieves translation object from the domain and context
|
||
*
|
||
* @private
|
||
* @param {String} domain A gettext domain name
|
||
* @param {String} msgctxt Translation context
|
||
* @param {String} msgid String to be translated
|
||
* @return {Object} Translation object or false if not found
|
||
*/
|
||
Gettext.prototype._getTranslation = function(domain, msgctxt, msgid) {
|
||
msgctxt = msgctxt || '';
|
||
|
||
return get(this.catalogs, [this.locale, domain, 'translations', msgctxt, msgid]);
|
||
};
|
||
|
||
/**
|
||
* Returns the language code part of a locale
|
||
*
|
||
* @example
|
||
* Gettext.getLanguageCode('sv-SE')
|
||
* // -> "sv"
|
||
*
|
||
* @private
|
||
* @param {String} locale A case-insensitive locale string
|
||
* @returns {String} A language code
|
||
*/
|
||
Gettext.getLanguageCode = function(locale) {
|
||
return locale.split(/[\-_]/)[0].toLowerCase();
|
||
};
|
||
|
||
/* C-style aliases */
|
||
|
||
/**
|
||
* C-style alias for [setTextDomain](#gettextsettextdomaindomain)
|
||
*
|
||
* @see Gettext#setTextDomain
|
||
*/
|
||
Gettext.prototype.textdomain = function(domain) {
|
||
if (this.debug) {
|
||
console.warn('textdomain(domain) was used to set locales in node-gettext v1. ' +
|
||
'Make sure you are using it for domains, and switch to setLocale(locale) if you are not.\n\n ' +
|
||
'To read more about the migration from node-gettext v1 to v2, ' +
|
||
'see https://github.com/alexanderwallin/node-gettext/#migrating-from-1x-to-2x\n\n' +
|
||
'This warning will be removed in the final 2.0.0');
|
||
}
|
||
|
||
this.setTextDomain(domain);
|
||
};
|
||
|
||
/**
|
||
* C-style alias for [setLocale](#gettextsetlocalelocale)
|
||
*
|
||
* @see Gettext#setLocale
|
||
*/
|
||
Gettext.prototype.setlocale = function(locale) {
|
||
this.setLocale(locale);
|
||
};
|
||
|
||
/* Deprecated functions */
|
||
|
||
/**
|
||
* This function will be removed in the final 2.0.0 release.
|
||
*
|
||
* @deprecated
|
||
*/
|
||
Gettext.prototype.addTextdomain = function() {
|
||
console.error('addTextdomain() is deprecated.\n\n' +
|
||
'* To add translations, use addTranslations()\n' +
|
||
'* To set the default domain, use setTextDomain() (or its alias textdomain())\n' +
|
||
'\n' +
|
||
'To read more about the migration from node-gettext v1 to v2, ' +
|
||
'see https://github.com/alexanderwallin/node-gettext/#migrating-from-1x-to-2x');
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/node-gettext/lib/plurals.js":
|
||
/*!**************************************************!*\
|
||
!*** ./node_modules/node-gettext/lib/plurals.js ***!
|
||
\**************************************************/
|
||
/***/ (function(module) {
|
||
|
||
"use strict";
|
||
|
||
|
||
module.exports = {
|
||
ach: {
|
||
name: 'Acholi',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n > 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n > 1);
|
||
}
|
||
},
|
||
af: {
|
||
name: 'Afrikaans',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
ak: {
|
||
name: 'Akan',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n > 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n > 1);
|
||
}
|
||
},
|
||
am: {
|
||
name: 'Amharic',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n > 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n > 1);
|
||
}
|
||
},
|
||
an: {
|
||
name: 'Aragonese',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
ar: {
|
||
name: 'Arabic',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 0
|
||
}, {
|
||
plural: 1,
|
||
sample: 1
|
||
}, {
|
||
plural: 2,
|
||
sample: 2
|
||
}, {
|
||
plural: 3,
|
||
sample: 3
|
||
}, {
|
||
plural: 4,
|
||
sample: 11
|
||
}, {
|
||
plural: 5,
|
||
sample: 100
|
||
}],
|
||
nplurals: 6,
|
||
pluralsText: 'nplurals = 6; plural = (n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5)',
|
||
pluralsFunc: function(n) {
|
||
return (n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);
|
||
}
|
||
},
|
||
arn: {
|
||
name: 'Mapudungun',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n > 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n > 1);
|
||
}
|
||
},
|
||
ast: {
|
||
name: 'Asturian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
ay: {
|
||
name: 'Aymará',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
az: {
|
||
name: 'Azerbaijani',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
be: {
|
||
name: 'Belarusian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}, {
|
||
plural: 2,
|
||
sample: 5
|
||
}],
|
||
nplurals: 3,
|
||
pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',
|
||
pluralsFunc: function(n) {
|
||
return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);
|
||
}
|
||
},
|
||
bg: {
|
||
name: 'Bulgarian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
bn: {
|
||
name: 'Bengali',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
bo: {
|
||
name: 'Tibetan',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
br: {
|
||
name: 'Breton',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n > 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n > 1);
|
||
}
|
||
},
|
||
brx: {
|
||
name: 'Bodo',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
bs: {
|
||
name: 'Bosnian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}, {
|
||
plural: 2,
|
||
sample: 5
|
||
}],
|
||
nplurals: 3,
|
||
pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',
|
||
pluralsFunc: function(n) {
|
||
return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);
|
||
}
|
||
},
|
||
ca: {
|
||
name: 'Catalan',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
cgg: {
|
||
name: 'Chiga',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
cs: {
|
||
name: 'Czech',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}, {
|
||
plural: 2,
|
||
sample: 5
|
||
}],
|
||
nplurals: 3,
|
||
pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2)',
|
||
pluralsFunc: function(n) {
|
||
return (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2);
|
||
}
|
||
},
|
||
csb: {
|
||
name: 'Kashubian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}, {
|
||
plural: 2,
|
||
sample: 5
|
||
}],
|
||
nplurals: 3,
|
||
pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',
|
||
pluralsFunc: function(n) {
|
||
return (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);
|
||
}
|
||
},
|
||
cy: {
|
||
name: 'Welsh',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}, {
|
||
plural: 2,
|
||
sample: 3
|
||
}, {
|
||
plural: 3,
|
||
sample: 8
|
||
}],
|
||
nplurals: 4,
|
||
pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 2 ? 1 : (n !== 8 && n !== 11) ? 2 : 3)',
|
||
pluralsFunc: function(n) {
|
||
return (n === 1 ? 0 : n === 2 ? 1 : (n !== 8 && n !== 11) ? 2 : 3);
|
||
}
|
||
},
|
||
da: {
|
||
name: 'Danish',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
de: {
|
||
name: 'German',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
doi: {
|
||
name: 'Dogri',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
dz: {
|
||
name: 'Dzongkha',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
el: {
|
||
name: 'Greek',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
en: {
|
||
name: 'English',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
eo: {
|
||
name: 'Esperanto',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
es: {
|
||
name: 'Spanish',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
et: {
|
||
name: 'Estonian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
eu: {
|
||
name: 'Basque',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
fa: {
|
||
name: 'Persian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
ff: {
|
||
name: 'Fulah',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
fi: {
|
||
name: 'Finnish',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
fil: {
|
||
name: 'Filipino',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n > 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n > 1);
|
||
}
|
||
},
|
||
fo: {
|
||
name: 'Faroese',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
fr: {
|
||
name: 'French',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n > 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n > 1);
|
||
}
|
||
},
|
||
fur: {
|
||
name: 'Friulian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
fy: {
|
||
name: 'Frisian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
ga: {
|
||
name: 'Irish',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}, {
|
||
plural: 2,
|
||
sample: 3
|
||
}, {
|
||
plural: 3,
|
||
sample: 7
|
||
}, {
|
||
plural: 4,
|
||
sample: 11
|
||
}],
|
||
nplurals: 5,
|
||
pluralsText: 'nplurals = 5; plural = (n === 1 ? 0 : n === 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4)',
|
||
pluralsFunc: function(n) {
|
||
return (n === 1 ? 0 : n === 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);
|
||
}
|
||
},
|
||
gd: {
|
||
name: 'Scottish Gaelic',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}, {
|
||
plural: 2,
|
||
sample: 3
|
||
}, {
|
||
plural: 3,
|
||
sample: 20
|
||
}],
|
||
nplurals: 4,
|
||
pluralsText: 'nplurals = 4; plural = ((n === 1 || n === 11) ? 0 : (n === 2 || n === 12) ? 1 : (n > 2 && n < 20) ? 2 : 3)',
|
||
pluralsFunc: function(n) {
|
||
return ((n === 1 || n === 11) ? 0 : (n === 2 || n === 12) ? 1 : (n > 2 && n < 20) ? 2 : 3);
|
||
}
|
||
},
|
||
gl: {
|
||
name: 'Galician',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
gu: {
|
||
name: 'Gujarati',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
gun: {
|
||
name: 'Gun',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n > 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n > 1);
|
||
}
|
||
},
|
||
ha: {
|
||
name: 'Hausa',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
he: {
|
||
name: 'Hebrew',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
hi: {
|
||
name: 'Hindi',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
hne: {
|
||
name: 'Chhattisgarhi',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
hr: {
|
||
name: 'Croatian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}, {
|
||
plural: 2,
|
||
sample: 5
|
||
}],
|
||
nplurals: 3,
|
||
pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',
|
||
pluralsFunc: function(n) {
|
||
return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);
|
||
}
|
||
},
|
||
hu: {
|
||
name: 'Hungarian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
hy: {
|
||
name: 'Armenian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
id: {
|
||
name: 'Indonesian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
is: {
|
||
name: 'Icelandic',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n % 10 !== 1 || n % 100 === 11)',
|
||
pluralsFunc: function(n) {
|
||
return (n % 10 !== 1 || n % 100 === 11);
|
||
}
|
||
},
|
||
it: {
|
||
name: 'Italian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
ja: {
|
||
name: 'Japanese',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
jbo: {
|
||
name: 'Lojban',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
jv: {
|
||
name: 'Javanese',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 0
|
||
}, {
|
||
plural: 1,
|
||
sample: 1
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 0)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 0);
|
||
}
|
||
},
|
||
ka: {
|
||
name: 'Georgian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
kk: {
|
||
name: 'Kazakh',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
km: {
|
||
name: 'Khmer',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
kn: {
|
||
name: 'Kannada',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
ko: {
|
||
name: 'Korean',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
ku: {
|
||
name: 'Kurdish',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
kw: {
|
||
name: 'Cornish',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}, {
|
||
plural: 2,
|
||
sample: 3
|
||
}, {
|
||
plural: 3,
|
||
sample: 4
|
||
}],
|
||
nplurals: 4,
|
||
pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 2 ? 1 : n === 3 ? 2 : 3)',
|
||
pluralsFunc: function(n) {
|
||
return (n === 1 ? 0 : n === 2 ? 1 : n === 3 ? 2 : 3);
|
||
}
|
||
},
|
||
ky: {
|
||
name: 'Kyrgyz',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
lb: {
|
||
name: 'Letzeburgesch',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
ln: {
|
||
name: 'Lingala',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n > 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n > 1);
|
||
}
|
||
},
|
||
lo: {
|
||
name: 'Lao',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
lt: {
|
||
name: 'Lithuanian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}, {
|
||
plural: 2,
|
||
sample: 10
|
||
}],
|
||
nplurals: 3,
|
||
pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',
|
||
pluralsFunc: function(n) {
|
||
return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);
|
||
}
|
||
},
|
||
lv: {
|
||
name: 'Latvian',
|
||
examples: [{
|
||
plural: 2,
|
||
sample: 0
|
||
}, {
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 3,
|
||
pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n !== 0 ? 1 : 2)',
|
||
pluralsFunc: function(n) {
|
||
return (n % 10 === 1 && n % 100 !== 11 ? 0 : n !== 0 ? 1 : 2);
|
||
}
|
||
},
|
||
mai: {
|
||
name: 'Maithili',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
mfe: {
|
||
name: 'Mauritian Creole',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n > 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n > 1);
|
||
}
|
||
},
|
||
mg: {
|
||
name: 'Malagasy',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n > 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n > 1);
|
||
}
|
||
},
|
||
mi: {
|
||
name: 'Maori',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n > 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n > 1);
|
||
}
|
||
},
|
||
mk: {
|
||
name: 'Macedonian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n === 1 || n % 10 === 1 ? 0 : 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n === 1 || n % 10 === 1 ? 0 : 1);
|
||
}
|
||
},
|
||
ml: {
|
||
name: 'Malayalam',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
mn: {
|
||
name: 'Mongolian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
mni: {
|
||
name: 'Manipuri',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
mnk: {
|
||
name: 'Mandinka',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 0
|
||
}, {
|
||
plural: 1,
|
||
sample: 1
|
||
}, {
|
||
plural: 2,
|
||
sample: 2
|
||
}],
|
||
nplurals: 3,
|
||
pluralsText: 'nplurals = 3; plural = (n === 0 ? 0 : n === 1 ? 1 : 2)',
|
||
pluralsFunc: function(n) {
|
||
return (n === 0 ? 0 : n === 1 ? 1 : 2);
|
||
}
|
||
},
|
||
mr: {
|
||
name: 'Marathi',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
ms: {
|
||
name: 'Malay',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
mt: {
|
||
name: 'Maltese',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}, {
|
||
plural: 2,
|
||
sample: 11
|
||
}, {
|
||
plural: 3,
|
||
sample: 20
|
||
}],
|
||
nplurals: 4,
|
||
pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 0 || ( n % 100 > 1 && n % 100 < 11) ? 1 : (n % 100 > 10 && n % 100 < 20 ) ? 2 : 3)',
|
||
pluralsFunc: function(n) {
|
||
return (n === 1 ? 0 : n === 0 || (n % 100 > 1 && n % 100 < 11) ? 1 : (n % 100 > 10 && n % 100 < 20) ? 2 : 3);
|
||
}
|
||
},
|
||
my: {
|
||
name: 'Burmese',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
nah: {
|
||
name: 'Nahuatl',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
nap: {
|
||
name: 'Neapolitan',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
nb: {
|
||
name: 'Norwegian Bokmal',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
ne: {
|
||
name: 'Nepali',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
nl: {
|
||
name: 'Dutch',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
nn: {
|
||
name: 'Norwegian Nynorsk',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
no: {
|
||
name: 'Norwegian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
nso: {
|
||
name: 'Northern Sotho',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
oc: {
|
||
name: 'Occitan',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n > 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n > 1);
|
||
}
|
||
},
|
||
or: {
|
||
name: 'Oriya',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
pa: {
|
||
name: 'Punjabi',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
pap: {
|
||
name: 'Papiamento',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
pl: {
|
||
name: 'Polish',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}, {
|
||
plural: 2,
|
||
sample: 5
|
||
}],
|
||
nplurals: 3,
|
||
pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',
|
||
pluralsFunc: function(n) {
|
||
return (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);
|
||
}
|
||
},
|
||
pms: {
|
||
name: 'Piemontese',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
ps: {
|
||
name: 'Pashto',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
pt: {
|
||
name: 'Portuguese',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
rm: {
|
||
name: 'Romansh',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
ro: {
|
||
name: 'Romanian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}, {
|
||
plural: 2,
|
||
sample: 20
|
||
}],
|
||
nplurals: 3,
|
||
pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n === 0 || (n % 100 > 0 && n % 100 < 20)) ? 1 : 2)',
|
||
pluralsFunc: function(n) {
|
||
return (n === 1 ? 0 : (n === 0 || (n % 100 > 0 && n % 100 < 20)) ? 1 : 2);
|
||
}
|
||
},
|
||
ru: {
|
||
name: 'Russian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}, {
|
||
plural: 2,
|
||
sample: 5
|
||
}],
|
||
nplurals: 3,
|
||
pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',
|
||
pluralsFunc: function(n) {
|
||
return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);
|
||
}
|
||
},
|
||
rw: {
|
||
name: 'Kinyarwanda',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
sah: {
|
||
name: 'Yakut',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
sat: {
|
||
name: 'Santali',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
sco: {
|
||
name: 'Scots',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
sd: {
|
||
name: 'Sindhi',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
se: {
|
||
name: 'Northern Sami',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
si: {
|
||
name: 'Sinhala',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
sk: {
|
||
name: 'Slovak',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}, {
|
||
plural: 2,
|
||
sample: 5
|
||
}],
|
||
nplurals: 3,
|
||
pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2)',
|
||
pluralsFunc: function(n) {
|
||
return (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2);
|
||
}
|
||
},
|
||
sl: {
|
||
name: 'Slovenian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}, {
|
||
plural: 2,
|
||
sample: 3
|
||
}, {
|
||
plural: 3,
|
||
sample: 5
|
||
}],
|
||
nplurals: 4,
|
||
pluralsText: 'nplurals = 4; plural = (n % 100 === 1 ? 0 : n % 100 === 2 ? 1 : n % 100 === 3 || n % 100 === 4 ? 2 : 3)',
|
||
pluralsFunc: function(n) {
|
||
return (n % 100 === 1 ? 0 : n % 100 === 2 ? 1 : n % 100 === 3 || n % 100 === 4 ? 2 : 3);
|
||
}
|
||
},
|
||
so: {
|
||
name: 'Somali',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
son: {
|
||
name: 'Songhay',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
sq: {
|
||
name: 'Albanian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
sr: {
|
||
name: 'Serbian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}, {
|
||
plural: 2,
|
||
sample: 5
|
||
}],
|
||
nplurals: 3,
|
||
pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',
|
||
pluralsFunc: function(n) {
|
||
return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);
|
||
}
|
||
},
|
||
su: {
|
||
name: 'Sundanese',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
sv: {
|
||
name: 'Swedish',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
sw: {
|
||
name: 'Swahili',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
ta: {
|
||
name: 'Tamil',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
te: {
|
||
name: 'Telugu',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
tg: {
|
||
name: 'Tajik',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n > 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n > 1);
|
||
}
|
||
},
|
||
th: {
|
||
name: 'Thai',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
ti: {
|
||
name: 'Tigrinya',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n > 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n > 1);
|
||
}
|
||
},
|
||
tk: {
|
||
name: 'Turkmen',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
tr: {
|
||
name: 'Turkish',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n > 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n > 1);
|
||
}
|
||
},
|
||
tt: {
|
||
name: 'Tatar',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
ug: {
|
||
name: 'Uyghur',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
uk: {
|
||
name: 'Ukrainian',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}, {
|
||
plural: 2,
|
||
sample: 5
|
||
}],
|
||
nplurals: 3,
|
||
pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',
|
||
pluralsFunc: function(n) {
|
||
return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);
|
||
}
|
||
},
|
||
ur: {
|
||
name: 'Urdu',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
uz: {
|
||
name: 'Uzbek',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n > 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n > 1);
|
||
}
|
||
},
|
||
vi: {
|
||
name: 'Vietnamese',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
wa: {
|
||
name: 'Walloon',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n > 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n > 1);
|
||
}
|
||
},
|
||
wo: {
|
||
name: 'Wolof',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
},
|
||
yo: {
|
||
name: 'Yoruba',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}, {
|
||
plural: 1,
|
||
sample: 2
|
||
}],
|
||
nplurals: 2,
|
||
pluralsText: 'nplurals = 2; plural = (n !== 1)',
|
||
pluralsFunc: function(n) {
|
||
return (n !== 1);
|
||
}
|
||
},
|
||
zh: {
|
||
name: 'Chinese',
|
||
examples: [{
|
||
plural: 0,
|
||
sample: 1
|
||
}],
|
||
nplurals: 1,
|
||
pluralsText: 'nplurals = 1; plural = 0',
|
||
pluralsFunc: function() {
|
||
return 0;
|
||
}
|
||
}
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/object-is/implementation.js":
|
||
/*!**************************************************!*\
|
||
!*** ./node_modules/object-is/implementation.js ***!
|
||
\**************************************************/
|
||
/***/ (function(module) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var numberIsNaN = function (value) {
|
||
return value !== value;
|
||
};
|
||
|
||
module.exports = function is(a, b) {
|
||
if (a === 0 && b === 0) {
|
||
return 1 / a === 1 / b;
|
||
}
|
||
if (a === b) {
|
||
return true;
|
||
}
|
||
if (numberIsNaN(a) && numberIsNaN(b)) {
|
||
return true;
|
||
}
|
||
return false;
|
||
};
|
||
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/object-is/index.js":
|
||
/*!*****************************************!*\
|
||
!*** ./node_modules/object-is/index.js ***!
|
||
\*****************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var define = __webpack_require__(/*! define-properties */ "./node_modules/define-properties/index.js");
|
||
var callBind = __webpack_require__(/*! call-bind */ "./node_modules/call-bind/index.js");
|
||
|
||
var implementation = __webpack_require__(/*! ./implementation */ "./node_modules/object-is/implementation.js");
|
||
var getPolyfill = __webpack_require__(/*! ./polyfill */ "./node_modules/object-is/polyfill.js");
|
||
var shim = __webpack_require__(/*! ./shim */ "./node_modules/object-is/shim.js");
|
||
|
||
var polyfill = callBind(getPolyfill(), Object);
|
||
|
||
define(polyfill, {
|
||
getPolyfill: getPolyfill,
|
||
implementation: implementation,
|
||
shim: shim
|
||
});
|
||
|
||
module.exports = polyfill;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/object-is/polyfill.js":
|
||
/*!********************************************!*\
|
||
!*** ./node_modules/object-is/polyfill.js ***!
|
||
\********************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var implementation = __webpack_require__(/*! ./implementation */ "./node_modules/object-is/implementation.js");
|
||
|
||
module.exports = function getPolyfill() {
|
||
return typeof Object.is === 'function' ? Object.is : implementation;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/object-is/shim.js":
|
||
/*!****************************************!*\
|
||
!*** ./node_modules/object-is/shim.js ***!
|
||
\****************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var getPolyfill = __webpack_require__(/*! ./polyfill */ "./node_modules/object-is/polyfill.js");
|
||
var define = __webpack_require__(/*! define-properties */ "./node_modules/define-properties/index.js");
|
||
|
||
module.exports = function shimObjectIs() {
|
||
var polyfill = getPolyfill();
|
||
define(Object, { is: polyfill }, {
|
||
is: function testObjectIs() {
|
||
return Object.is !== polyfill;
|
||
}
|
||
});
|
||
return polyfill;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/object-keys/implementation.js":
|
||
/*!****************************************************!*\
|
||
!*** ./node_modules/object-keys/implementation.js ***!
|
||
\****************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var keysShim;
|
||
if (!Object.keys) {
|
||
// modified from https://github.com/es-shims/es5-shim
|
||
var has = Object.prototype.hasOwnProperty;
|
||
var toStr = Object.prototype.toString;
|
||
var isArgs = __webpack_require__(/*! ./isArguments */ "./node_modules/object-keys/isArguments.js"); // eslint-disable-line global-require
|
||
var isEnumerable = Object.prototype.propertyIsEnumerable;
|
||
var hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');
|
||
var hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');
|
||
var dontEnums = [
|
||
'toString',
|
||
'toLocaleString',
|
||
'valueOf',
|
||
'hasOwnProperty',
|
||
'isPrototypeOf',
|
||
'propertyIsEnumerable',
|
||
'constructor'
|
||
];
|
||
var equalsConstructorPrototype = function (o) {
|
||
var ctor = o.constructor;
|
||
return ctor && ctor.prototype === o;
|
||
};
|
||
var excludedKeys = {
|
||
$applicationCache: true,
|
||
$console: true,
|
||
$external: true,
|
||
$frame: true,
|
||
$frameElement: true,
|
||
$frames: true,
|
||
$innerHeight: true,
|
||
$innerWidth: true,
|
||
$onmozfullscreenchange: true,
|
||
$onmozfullscreenerror: true,
|
||
$outerHeight: true,
|
||
$outerWidth: true,
|
||
$pageXOffset: true,
|
||
$pageYOffset: true,
|
||
$parent: true,
|
||
$scrollLeft: true,
|
||
$scrollTop: true,
|
||
$scrollX: true,
|
||
$scrollY: true,
|
||
$self: true,
|
||
$webkitIndexedDB: true,
|
||
$webkitStorageInfo: true,
|
||
$window: true
|
||
};
|
||
var hasAutomationEqualityBug = (function () {
|
||
/* global window */
|
||
if (typeof window === 'undefined') { return false; }
|
||
for (var k in window) {
|
||
try {
|
||
if (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {
|
||
try {
|
||
equalsConstructorPrototype(window[k]);
|
||
} catch (e) {
|
||
return true;
|
||
}
|
||
}
|
||
} catch (e) {
|
||
return true;
|
||
}
|
||
}
|
||
return false;
|
||
}());
|
||
var equalsConstructorPrototypeIfNotBuggy = function (o) {
|
||
/* global window */
|
||
if (typeof window === 'undefined' || !hasAutomationEqualityBug) {
|
||
return equalsConstructorPrototype(o);
|
||
}
|
||
try {
|
||
return equalsConstructorPrototype(o);
|
||
} catch (e) {
|
||
return false;
|
||
}
|
||
};
|
||
|
||
keysShim = function keys(object) {
|
||
var isObject = object !== null && typeof object === 'object';
|
||
var isFunction = toStr.call(object) === '[object Function]';
|
||
var isArguments = isArgs(object);
|
||
var isString = isObject && toStr.call(object) === '[object String]';
|
||
var theKeys = [];
|
||
|
||
if (!isObject && !isFunction && !isArguments) {
|
||
throw new TypeError('Object.keys called on a non-object');
|
||
}
|
||
|
||
var skipProto = hasProtoEnumBug && isFunction;
|
||
if (isString && object.length > 0 && !has.call(object, 0)) {
|
||
for (var i = 0; i < object.length; ++i) {
|
||
theKeys.push(String(i));
|
||
}
|
||
}
|
||
|
||
if (isArguments && object.length > 0) {
|
||
for (var j = 0; j < object.length; ++j) {
|
||
theKeys.push(String(j));
|
||
}
|
||
} else {
|
||
for (var name in object) {
|
||
if (!(skipProto && name === 'prototype') && has.call(object, name)) {
|
||
theKeys.push(String(name));
|
||
}
|
||
}
|
||
}
|
||
|
||
if (hasDontEnumBug) {
|
||
var skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);
|
||
|
||
for (var k = 0; k < dontEnums.length; ++k) {
|
||
if (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {
|
||
theKeys.push(dontEnums[k]);
|
||
}
|
||
}
|
||
}
|
||
return theKeys;
|
||
};
|
||
}
|
||
module.exports = keysShim;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/object-keys/index.js":
|
||
/*!*******************************************!*\
|
||
!*** ./node_modules/object-keys/index.js ***!
|
||
\*******************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var slice = Array.prototype.slice;
|
||
var isArgs = __webpack_require__(/*! ./isArguments */ "./node_modules/object-keys/isArguments.js");
|
||
|
||
var origKeys = Object.keys;
|
||
var keysShim = origKeys ? function keys(o) { return origKeys(o); } : __webpack_require__(/*! ./implementation */ "./node_modules/object-keys/implementation.js");
|
||
|
||
var originalKeys = Object.keys;
|
||
|
||
keysShim.shim = function shimObjectKeys() {
|
||
if (Object.keys) {
|
||
var keysWorksWithArguments = (function () {
|
||
// Safari 5.0 bug
|
||
var args = Object.keys(arguments);
|
||
return args && args.length === arguments.length;
|
||
}(1, 2));
|
||
if (!keysWorksWithArguments) {
|
||
Object.keys = function keys(object) { // eslint-disable-line func-name-matching
|
||
if (isArgs(object)) {
|
||
return originalKeys(slice.call(object));
|
||
}
|
||
return originalKeys(object);
|
||
};
|
||
}
|
||
} else {
|
||
Object.keys = keysShim;
|
||
}
|
||
return Object.keys || keysShim;
|
||
};
|
||
|
||
module.exports = keysShim;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/object-keys/isArguments.js":
|
||
/*!*************************************************!*\
|
||
!*** ./node_modules/object-keys/isArguments.js ***!
|
||
\*************************************************/
|
||
/***/ (function(module) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var toStr = Object.prototype.toString;
|
||
|
||
module.exports = function isArguments(value) {
|
||
var str = toStr.call(value);
|
||
var isArgs = str === '[object Arguments]';
|
||
if (!isArgs) {
|
||
isArgs = str !== '[object Array]' &&
|
||
value !== null &&
|
||
typeof value === 'object' &&
|
||
typeof value.length === 'number' &&
|
||
value.length >= 0 &&
|
||
toStr.call(value.callee) === '[object Function]';
|
||
}
|
||
return isArgs;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/popper.js/dist/esm/popper.js":
|
||
/*!***************************************************!*\
|
||
!*** ./node_modules/popper.js/dist/esm/popper.js ***!
|
||
\***************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* provided dependency */ var console = __webpack_require__(/*! console-browserify */ "./node_modules/console-browserify/index.js");
|
||
/**!
|
||
* @fileOverview Kickass library to create and place poppers near their reference elements.
|
||
* @version 1.16.1
|
||
* @license
|
||
* Copyright (c) 2016 Federico Zivolo and contributors
|
||
*
|
||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||
* of this software and associated documentation files (the "Software"), to deal
|
||
* in the Software without restriction, including without limitation the rights
|
||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||
* copies of the Software, and to permit persons to whom the Software is
|
||
* furnished to do so, subject to the following conditions:
|
||
*
|
||
* The above copyright notice and this permission notice shall be included in all
|
||
* copies or substantial portions of the Software.
|
||
*
|
||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||
* SOFTWARE.
|
||
*/
|
||
var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';
|
||
|
||
var timeoutDuration = function () {
|
||
var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];
|
||
for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {
|
||
if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {
|
||
return 1;
|
||
}
|
||
}
|
||
return 0;
|
||
}();
|
||
|
||
function microtaskDebounce(fn) {
|
||
var called = false;
|
||
return function () {
|
||
if (called) {
|
||
return;
|
||
}
|
||
called = true;
|
||
window.Promise.resolve().then(function () {
|
||
called = false;
|
||
fn();
|
||
});
|
||
};
|
||
}
|
||
|
||
function taskDebounce(fn) {
|
||
var scheduled = false;
|
||
return function () {
|
||
if (!scheduled) {
|
||
scheduled = true;
|
||
setTimeout(function () {
|
||
scheduled = false;
|
||
fn();
|
||
}, timeoutDuration);
|
||
}
|
||
};
|
||
}
|
||
|
||
var supportsMicroTasks = isBrowser && window.Promise;
|
||
|
||
/**
|
||
* Create a debounced version of a method, that's asynchronously deferred
|
||
* but called in the minimum time possible.
|
||
*
|
||
* @method
|
||
* @memberof Popper.Utils
|
||
* @argument {Function} fn
|
||
* @returns {Function}
|
||
*/
|
||
var debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;
|
||
|
||
/**
|
||
* Check if the given variable is a function
|
||
* @method
|
||
* @memberof Popper.Utils
|
||
* @argument {Any} functionToCheck - variable to check
|
||
* @returns {Boolean} answer to: is a function?
|
||
*/
|
||
function isFunction(functionToCheck) {
|
||
var getType = {};
|
||
return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';
|
||
}
|
||
|
||
/**
|
||
* Get CSS computed property of the given element
|
||
* @method
|
||
* @memberof Popper.Utils
|
||
* @argument {Eement} element
|
||
* @argument {String} property
|
||
*/
|
||
function getStyleComputedProperty(element, property) {
|
||
if (element.nodeType !== 1) {
|
||
return [];
|
||
}
|
||
// NOTE: 1 DOM access here
|
||
var window = element.ownerDocument.defaultView;
|
||
var css = window.getComputedStyle(element, null);
|
||
return property ? css[property] : css;
|
||
}
|
||
|
||
/**
|
||
* Returns the parentNode or the host of the element
|
||
* @method
|
||
* @memberof Popper.Utils
|
||
* @argument {Element} element
|
||
* @returns {Element} parent
|
||
*/
|
||
function getParentNode(element) {
|
||
if (element.nodeName === 'HTML') {
|
||
return element;
|
||
}
|
||
return element.parentNode || element.host;
|
||
}
|
||
|
||
/**
|
||
* Returns the scrolling parent of the given element
|
||
* @method
|
||
* @memberof Popper.Utils
|
||
* @argument {Element} element
|
||
* @returns {Element} scroll parent
|
||
*/
|
||
function getScrollParent(element) {
|
||
// Return body, `getScroll` will take care to get the correct `scrollTop` from it
|
||
if (!element) {
|
||
return document.body;
|
||
}
|
||
|
||
switch (element.nodeName) {
|
||
case 'HTML':
|
||
case 'BODY':
|
||
return element.ownerDocument.body;
|
||
case '#document':
|
||
return element.body;
|
||
}
|
||
|
||
// Firefox want us to check `-x` and `-y` variations as well
|
||
|
||
var _getStyleComputedProp = getStyleComputedProperty(element),
|
||
overflow = _getStyleComputedProp.overflow,
|
||
overflowX = _getStyleComputedProp.overflowX,
|
||
overflowY = _getStyleComputedProp.overflowY;
|
||
|
||
if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {
|
||
return element;
|
||
}
|
||
|
||
return getScrollParent(getParentNode(element));
|
||
}
|
||
|
||
/**
|
||
* Returns the reference node of the reference object, or the reference object itself.
|
||
* @method
|
||
* @memberof Popper.Utils
|
||
* @param {Element|Object} reference - the reference element (the popper will be relative to this)
|
||
* @returns {Element} parent
|
||
*/
|
||
function getReferenceNode(reference) {
|
||
return reference && reference.referenceNode ? reference.referenceNode : reference;
|
||
}
|
||
|
||
var isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);
|
||
var isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);
|
||
|
||
/**
|
||
* Determines if the browser is Internet Explorer
|
||
* @method
|
||
* @memberof Popper.Utils
|
||
* @param {Number} version to check
|
||
* @returns {Boolean} isIE
|
||
*/
|
||
function isIE(version) {
|
||
if (version === 11) {
|
||
return isIE11;
|
||
}
|
||
if (version === 10) {
|
||
return isIE10;
|
||
}
|
||
return isIE11 || isIE10;
|
||
}
|
||
|
||
/**
|
||
* Returns the offset parent of the given element
|
||
* @method
|
||
* @memberof Popper.Utils
|
||
* @argument {Element} element
|
||
* @returns {Element} offset parent
|
||
*/
|
||
function getOffsetParent(element) {
|
||
if (!element) {
|
||
return document.documentElement;
|
||
}
|
||
|
||
var noOffsetParent = isIE(10) ? document.body : null;
|
||
|
||
// NOTE: 1 DOM access here
|
||
var offsetParent = element.offsetParent || null;
|
||
// Skip hidden elements which don't have an offsetParent
|
||
while (offsetParent === noOffsetParent && element.nextElementSibling) {
|
||
offsetParent = (element = element.nextElementSibling).offsetParent;
|
||
}
|
||
|
||
var nodeName = offsetParent && offsetParent.nodeName;
|
||
|
||
if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {
|
||
return element ? element.ownerDocument.documentElement : document.documentElement;
|
||
}
|
||
|
||
// .offsetParent will return the closest TH, TD or TABLE in case
|
||
// no offsetParent is present, I hate this job...
|
||
if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {
|
||
return getOffsetParent(offsetParent);
|
||
}
|
||
|
||
return offsetParent;
|
||
}
|
||
|
||
function isOffsetContainer(element) {
|
||
var nodeName = element.nodeName;
|
||
|
||
if (nodeName === 'BODY') {
|
||
return false;
|
||
}
|
||
return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;
|
||
}
|
||
|
||
/**
|
||
* Finds the root node (document, shadowDOM root) of the given element
|
||
* @method
|
||
* @memberof Popper.Utils
|
||
* @argument {Element} node
|
||
* @returns {Element} root node
|
||
*/
|
||
function getRoot(node) {
|
||
if (node.parentNode !== null) {
|
||
return getRoot(node.parentNode);
|
||
}
|
||
|
||
return node;
|
||
}
|
||
|
||
/**
|
||
* Finds the offset parent common to the two provided nodes
|
||
* @method
|
||
* @memberof Popper.Utils
|
||
* @argument {Element} element1
|
||
* @argument {Element} element2
|
||
* @returns {Element} common offset parent
|
||
*/
|
||
function findCommonOffsetParent(element1, element2) {
|
||
// This check is needed to avoid errors in case one of the elements isn't defined for any reason
|
||
if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {
|
||
return document.documentElement;
|
||
}
|
||
|
||
// Here we make sure to give as "start" the element that comes first in the DOM
|
||
var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;
|
||
var start = order ? element1 : element2;
|
||
var end = order ? element2 : element1;
|
||
|
||
// Get common ancestor container
|
||
var range = document.createRange();
|
||
range.setStart(start, 0);
|
||
range.setEnd(end, 0);
|
||
var commonAncestorContainer = range.commonAncestorContainer;
|
||
|
||
// Both nodes are inside #document
|
||
|
||
if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {
|
||
if (isOffsetContainer(commonAncestorContainer)) {
|
||
return commonAncestorContainer;
|
||
}
|
||
|
||
return getOffsetParent(commonAncestorContainer);
|
||
}
|
||
|
||
// one of the nodes is inside shadowDOM, find which one
|
||
var element1root = getRoot(element1);
|
||
if (element1root.host) {
|
||
return findCommonOffsetParent(element1root.host, element2);
|
||
} else {
|
||
return findCommonOffsetParent(element1, getRoot(element2).host);
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Gets the scroll value of the given element in the given side (top and left)
|
||
* @method
|
||
* @memberof Popper.Utils
|
||
* @argument {Element} element
|
||
* @argument {String} side `top` or `left`
|
||
* @returns {number} amount of scrolled pixels
|
||
*/
|
||
function getScroll(element) {
|
||
var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';
|
||
|
||
var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';
|
||
var nodeName = element.nodeName;
|
||
|
||
if (nodeName === 'BODY' || nodeName === 'HTML') {
|
||
var html = element.ownerDocument.documentElement;
|
||
var scrollingElement = element.ownerDocument.scrollingElement || html;
|
||
return scrollingElement[upperSide];
|
||
}
|
||
|
||
return element[upperSide];
|
||
}
|
||
|
||
/*
|
||
* Sum or subtract the element scroll values (left and top) from a given rect object
|
||
* @method
|
||
* @memberof Popper.Utils
|
||
* @param {Object} rect - Rect object you want to change
|
||
* @param {HTMLElement} element - The element from the function reads the scroll values
|
||
* @param {Boolean} subtract - set to true if you want to subtract the scroll values
|
||
* @return {Object} rect - The modifier rect object
|
||
*/
|
||
function includeScroll(rect, element) {
|
||
var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
||
|
||
var scrollTop = getScroll(element, 'top');
|
||
var scrollLeft = getScroll(element, 'left');
|
||
var modifier = subtract ? -1 : 1;
|
||
rect.top += scrollTop * modifier;
|
||
rect.bottom += scrollTop * modifier;
|
||
rect.left += scrollLeft * modifier;
|
||
rect.right += scrollLeft * modifier;
|
||
return rect;
|
||
}
|
||
|
||
/*
|
||
* Helper to detect borders of a given element
|
||
* @method
|
||
* @memberof Popper.Utils
|
||
* @param {CSSStyleDeclaration} styles
|
||
* Result of `getStyleComputedProperty` on the given element
|
||
* @param {String} axis - `x` or `y`
|
||
* @return {number} borders - The borders size of the given axis
|
||
*/
|
||
|
||
function getBordersSize(styles, axis) {
|
||
var sideA = axis === 'x' ? 'Left' : 'Top';
|
||
var sideB = sideA === 'Left' ? 'Right' : 'Bottom';
|
||
|
||
return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);
|
||
}
|
||
|
||
function getSize(axis, body, html, computedStyle) {
|
||
return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);
|
||
}
|
||
|
||
function getWindowSizes(document) {
|
||
var body = document.body;
|
||
var html = document.documentElement;
|
||
var computedStyle = isIE(10) && getComputedStyle(html);
|
||
|
||
return {
|
||
height: getSize('Height', body, html, computedStyle),
|
||
width: getSize('Width', body, html, computedStyle)
|
||
};
|
||
}
|
||
|
||
var classCallCheck = function (instance, Constructor) {
|
||
if (!(instance instanceof Constructor)) {
|
||
throw new TypeError("Cannot call a class as a function");
|
||
}
|
||
};
|
||
|
||
var createClass = function () {
|
||
function defineProperties(target, props) {
|
||
for (var i = 0; i < props.length; i++) {
|
||
var descriptor = props[i];
|
||
descriptor.enumerable = descriptor.enumerable || false;
|
||
descriptor.configurable = true;
|
||
if ("value" in descriptor) descriptor.writable = true;
|
||
Object.defineProperty(target, descriptor.key, descriptor);
|
||
}
|
||
}
|
||
|
||
return function (Constructor, protoProps, staticProps) {
|
||
if (protoProps) defineProperties(Constructor.prototype, protoProps);
|
||
if (staticProps) defineProperties(Constructor, staticProps);
|
||
return Constructor;
|
||
};
|
||
}();
|
||
|
||
|
||
|
||
|
||
|
||
var defineProperty = function (obj, key, value) {
|
||
if (key in obj) {
|
||
Object.defineProperty(obj, key, {
|
||
value: value,
|
||
enumerable: true,
|
||
configurable: true,
|
||
writable: true
|
||
});
|
||
} else {
|
||
obj[key] = value;
|
||
}
|
||
|
||
return obj;
|
||
};
|
||
|
||
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;
|
||
};
|
||
|
||
/**
|
||
* Given element offsets, generate an output similar to getBoundingClientRect
|
||
* @method
|
||
* @memberof Popper.Utils
|
||
* @argument {Object} offsets
|
||
* @returns {Object} ClientRect like output
|
||
*/
|
||
function getClientRect(offsets) {
|
||
return _extends({}, offsets, {
|
||
right: offsets.left + offsets.width,
|
||
bottom: offsets.top + offsets.height
|
||
});
|
||
}
|
||
|
||
/**
|
||
* Get bounding client rect of given element
|
||
* @method
|
||
* @memberof Popper.Utils
|
||
* @param {HTMLElement} element
|
||
* @return {Object} client rect
|
||
*/
|
||
function getBoundingClientRect(element) {
|
||
var rect = {};
|
||
|
||
// IE10 10 FIX: Please, don't ask, the element isn't
|
||
// considered in DOM in some circumstances...
|
||
// This isn't reproducible in IE10 compatibility mode of IE11
|
||
try {
|
||
if (isIE(10)) {
|
||
rect = element.getBoundingClientRect();
|
||
var scrollTop = getScroll(element, 'top');
|
||
var scrollLeft = getScroll(element, 'left');
|
||
rect.top += scrollTop;
|
||
rect.left += scrollLeft;
|
||
rect.bottom += scrollTop;
|
||
rect.right += scrollLeft;
|
||
} else {
|
||
rect = element.getBoundingClientRect();
|
||
}
|
||
} catch (e) {}
|
||
|
||
var result = {
|
||
left: rect.left,
|
||
top: rect.top,
|
||
width: rect.right - rect.left,
|
||
height: rect.bottom - rect.top
|
||
};
|
||
|
||
// subtract scrollbar size from sizes
|
||
var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};
|
||
var width = sizes.width || element.clientWidth || result.width;
|
||
var height = sizes.height || element.clientHeight || result.height;
|
||
|
||
var horizScrollbar = element.offsetWidth - width;
|
||
var vertScrollbar = element.offsetHeight - height;
|
||
|
||
// if an hypothetical scrollbar is detected, we must be sure it's not a `border`
|
||
// we make this check conditional for performance reasons
|
||
if (horizScrollbar || vertScrollbar) {
|
||
var styles = getStyleComputedProperty(element);
|
||
horizScrollbar -= getBordersSize(styles, 'x');
|
||
vertScrollbar -= getBordersSize(styles, 'y');
|
||
|
||
result.width -= horizScrollbar;
|
||
result.height -= vertScrollbar;
|
||
}
|
||
|
||
return getClientRect(result);
|
||
}
|
||
|
||
function getOffsetRectRelativeToArbitraryNode(children, parent) {
|
||
var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
||
|
||
var isIE10 = isIE(10);
|
||
var isHTML = parent.nodeName === 'HTML';
|
||
var childrenRect = getBoundingClientRect(children);
|
||
var parentRect = getBoundingClientRect(parent);
|
||
var scrollParent = getScrollParent(children);
|
||
|
||
var styles = getStyleComputedProperty(parent);
|
||
var borderTopWidth = parseFloat(styles.borderTopWidth);
|
||
var borderLeftWidth = parseFloat(styles.borderLeftWidth);
|
||
|
||
// In cases where the parent is fixed, we must ignore negative scroll in offset calc
|
||
if (fixedPosition && isHTML) {
|
||
parentRect.top = Math.max(parentRect.top, 0);
|
||
parentRect.left = Math.max(parentRect.left, 0);
|
||
}
|
||
var offsets = getClientRect({
|
||
top: childrenRect.top - parentRect.top - borderTopWidth,
|
||
left: childrenRect.left - parentRect.left - borderLeftWidth,
|
||
width: childrenRect.width,
|
||
height: childrenRect.height
|
||
});
|
||
offsets.marginTop = 0;
|
||
offsets.marginLeft = 0;
|
||
|
||
// Subtract margins of documentElement in case it's being used as parent
|
||
// we do this only on HTML because it's the only element that behaves
|
||
// differently when margins are applied to it. The margins are included in
|
||
// the box of the documentElement, in the other cases not.
|
||
if (!isIE10 && isHTML) {
|
||
var marginTop = parseFloat(styles.marginTop);
|
||
var marginLeft = parseFloat(styles.marginLeft);
|
||
|
||
offsets.top -= borderTopWidth - marginTop;
|
||
offsets.bottom -= borderTopWidth - marginTop;
|
||
offsets.left -= borderLeftWidth - marginLeft;
|
||
offsets.right -= borderLeftWidth - marginLeft;
|
||
|
||
// Attach marginTop and marginLeft because in some circumstances we may need them
|
||
offsets.marginTop = marginTop;
|
||
offsets.marginLeft = marginLeft;
|
||
}
|
||
|
||
if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {
|
||
offsets = includeScroll(offsets, parent);
|
||
}
|
||
|
||
return offsets;
|
||
}
|
||
|
||
function getViewportOffsetRectRelativeToArtbitraryNode(element) {
|
||
var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
||
|
||
var html = element.ownerDocument.documentElement;
|
||
var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);
|
||
var width = Math.max(html.clientWidth, window.innerWidth || 0);
|
||
var height = Math.max(html.clientHeight, window.innerHeight || 0);
|
||
|
||
var scrollTop = !excludeScroll ? getScroll(html) : 0;
|
||
var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;
|
||
|
||
var offset = {
|
||
top: scrollTop - relativeOffset.top + relativeOffset.marginTop,
|
||
left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,
|
||
width: width,
|
||
height: height
|
||
};
|
||
|
||
return getClientRect(offset);
|
||
}
|
||
|
||
/**
|
||
* Check if the given element is fixed or is inside a fixed parent
|
||
* @method
|
||
* @memberof Popper.Utils
|
||
* @argument {Element} element
|
||
* @argument {Element} customContainer
|
||
* @returns {Boolean} answer to "isFixed?"
|
||
*/
|
||
function isFixed(element) {
|
||
var nodeName = element.nodeName;
|
||
if (nodeName === 'BODY' || nodeName === 'HTML') {
|
||
return false;
|
||
}
|
||
if (getStyleComputedProperty(element, 'position') === 'fixed') {
|
||
return true;
|
||
}
|
||
var parentNode = getParentNode(element);
|
||
if (!parentNode) {
|
||
return false;
|
||
}
|
||
return isFixed(parentNode);
|
||
}
|
||
|
||
/**
|
||
* Finds the first parent of an element that has a transformed property defined
|
||
* @method
|
||
* @memberof Popper.Utils
|
||
* @argument {Element} element
|
||
* @returns {Element} first transformed parent or documentElement
|
||
*/
|
||
|
||
function getFixedPositionOffsetParent(element) {
|
||
// This check is needed to avoid errors in case one of the elements isn't defined for any reason
|
||
if (!element || !element.parentElement || isIE()) {
|
||
return document.documentElement;
|
||
}
|
||
var el = element.parentElement;
|
||
while (el && getStyleComputedProperty(el, 'transform') === 'none') {
|
||
el = el.parentElement;
|
||
}
|
||
return el || document.documentElement;
|
||
}
|
||
|
||
/**
|
||
* Computed the boundaries limits and return them
|
||
* @method
|
||
* @memberof Popper.Utils
|
||
* @param {HTMLElement} popper
|
||
* @param {HTMLElement} reference
|
||
* @param {number} padding
|
||
* @param {HTMLElement} boundariesElement - Element used to define the boundaries
|
||
* @param {Boolean} fixedPosition - Is in fixed position mode
|
||
* @returns {Object} Coordinates of the boundaries
|
||
*/
|
||
function getBoundaries(popper, reference, padding, boundariesElement) {
|
||
var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
|
||
|
||
// NOTE: 1 DOM access here
|
||
|
||
var boundaries = { top: 0, left: 0 };
|
||
var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));
|
||
|
||
// Handle viewport case
|
||
if (boundariesElement === 'viewport') {
|
||
boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);
|
||
} else {
|
||
// Handle other cases based on DOM element used as boundaries
|
||
var boundariesNode = void 0;
|
||
if (boundariesElement === 'scrollParent') {
|
||
boundariesNode = getScrollParent(getParentNode(reference));
|
||
if (boundariesNode.nodeName === 'BODY') {
|
||
boundariesNode = popper.ownerDocument.documentElement;
|
||
}
|
||
} else if (boundariesElement === 'window') {
|
||
boundariesNode = popper.ownerDocument.documentElement;
|
||
} else {
|
||
boundariesNode = boundariesElement;
|
||
}
|
||
|
||
var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);
|
||
|
||
// In case of HTML, we need a different computation
|
||
if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {
|
||
var _getWindowSizes = getWindowSizes(popper.ownerDocument),
|
||
height = _getWindowSizes.height,
|
||
width = _getWindowSizes.width;
|
||
|
||
boundaries.top += offsets.top - offsets.marginTop;
|
||
boundaries.bottom = height + offsets.top;
|
||
boundaries.left += offsets.left - offsets.marginLeft;
|
||
boundaries.right = width + offsets.left;
|
||
} else {
|
||
// for all the other DOM elements, this one is good
|
||
boundaries = offsets;
|
||
}
|
||
}
|
||
|
||
// Add paddings
|
||
padding = padding || 0;
|
||
var isPaddingNumber = typeof padding === 'number';
|
||
boundaries.left += isPaddingNumber ? padding : padding.left || 0;
|
||
boundaries.top += isPaddingNumber ? padding : padding.top || 0;
|
||
boundaries.right -= isPaddingNumber ? padding : padding.right || 0;
|
||
boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;
|
||
|
||
return boundaries;
|
||
}
|
||
|
||
function getArea(_ref) {
|
||
var width = _ref.width,
|
||
height = _ref.height;
|
||
|
||
return width * height;
|
||
}
|
||
|
||
/**
|
||
* Utility used to transform the `auto` placement to the placement with more
|
||
* available space.
|
||
* @method
|
||
* @memberof Popper.Utils
|
||
* @argument {Object} data - The data object generated by update method
|
||
* @argument {Object} options - Modifiers configuration and options
|
||
* @returns {Object} The data object, properly modified
|
||
*/
|
||
function computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {
|
||
var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;
|
||
|
||
if (placement.indexOf('auto') === -1) {
|
||
return placement;
|
||
}
|
||
|
||
var boundaries = getBoundaries(popper, reference, padding, boundariesElement);
|
||
|
||
var rects = {
|
||
top: {
|
||
width: boundaries.width,
|
||
height: refRect.top - boundaries.top
|
||
},
|
||
right: {
|
||
width: boundaries.right - refRect.right,
|
||
height: boundaries.height
|
||
},
|
||
bottom: {
|
||
width: boundaries.width,
|
||
height: boundaries.bottom - refRect.bottom
|
||
},
|
||
left: {
|
||
width: refRect.left - boundaries.left,
|
||
height: boundaries.height
|
||
}
|
||
};
|
||
|
||
var sortedAreas = Object.keys(rects).map(function (key) {
|
||
return _extends({
|
||
key: key
|
||
}, rects[key], {
|
||
area: getArea(rects[key])
|
||
});
|
||
}).sort(function (a, b) {
|
||
return b.area - a.area;
|
||
});
|
||
|
||
var filteredAreas = sortedAreas.filter(function (_ref2) {
|
||
var width = _ref2.width,
|
||
height = _ref2.height;
|
||
return width >= popper.clientWidth && height >= popper.clientHeight;
|
||
});
|
||
|
||
var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;
|
||
|
||
var variation = placement.split('-')[1];
|
||
|
||
return computedPlacement + (variation ? '-' + variation : '');
|
||
}
|
||
|
||
/**
|
||
* Get offsets to the reference element
|
||
* @method
|
||
* @memberof Popper.Utils
|
||
* @param {Object} state
|
||
* @param {Element} popper - the popper element
|
||
* @param {Element} reference - the reference element (the popper will be relative to this)
|
||
* @param {Element} fixedPosition - is in fixed position mode
|
||
* @returns {Object} An object containing the offsets which will be applied to the popper
|
||
*/
|
||
function getReferenceOffsets(state, popper, reference) {
|
||
var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
|
||
|
||
var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));
|
||
return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);
|
||
}
|
||
|
||
/**
|
||
* Get the outer sizes of the given element (offset size + margins)
|
||
* @method
|
||
* @memberof Popper.Utils
|
||
* @argument {Element} element
|
||
* @returns {Object} object containing width and height properties
|
||
*/
|
||
function getOuterSizes(element) {
|
||
var window = element.ownerDocument.defaultView;
|
||
var styles = window.getComputedStyle(element);
|
||
var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);
|
||
var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);
|
||
var result = {
|
||
width: element.offsetWidth + y,
|
||
height: element.offsetHeight + x
|
||
};
|
||
return result;
|
||
}
|
||
|
||
/**
|
||
* Get the opposite placement of the given one
|
||
* @method
|
||
* @memberof Popper.Utils
|
||
* @argument {String} placement
|
||
* @returns {String} flipped placement
|
||
*/
|
||
function getOppositePlacement(placement) {
|
||
var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };
|
||
return placement.replace(/left|right|bottom|top/g, function (matched) {
|
||
return hash[matched];
|
||
});
|
||
}
|
||
|
||
/**
|
||
* Get offsets to the popper
|
||
* @method
|
||
* @memberof Popper.Utils
|
||
* @param {Object} position - CSS position the Popper will get applied
|
||
* @param {HTMLElement} popper - the popper element
|
||
* @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)
|
||
* @param {String} placement - one of the valid placement options
|
||
* @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper
|
||
*/
|
||
function getPopperOffsets(popper, referenceOffsets, placement) {
|
||
placement = placement.split('-')[0];
|
||
|
||
// Get popper node sizes
|
||
var popperRect = getOuterSizes(popper);
|
||
|
||
// Add position, width and height to our offsets object
|
||
var popperOffsets = {
|
||
width: popperRect.width,
|
||
height: popperRect.height
|
||
};
|
||
|
||
// depending by the popper placement we have to compute its offsets slightly differently
|
||
var isHoriz = ['right', 'left'].indexOf(placement) !== -1;
|
||
var mainSide = isHoriz ? 'top' : 'left';
|
||
var secondarySide = isHoriz ? 'left' : 'top';
|
||
var measurement = isHoriz ? 'height' : 'width';
|
||
var secondaryMeasurement = !isHoriz ? 'height' : 'width';
|
||
|
||
popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;
|
||
if (placement === secondarySide) {
|
||
popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];
|
||
} else {
|
||
popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];
|
||
}
|
||
|
||
return popperOffsets;
|
||
}
|
||
|
||
/**
|
||
* Mimics the `find` method of Array
|
||
* @method
|
||
* @memberof Popper.Utils
|
||
* @argument {Array} arr
|
||
* @argument prop
|
||
* @argument value
|
||
* @returns index or -1
|
||
*/
|
||
function find(arr, check) {
|
||
// use native find if supported
|
||
if (Array.prototype.find) {
|
||
return arr.find(check);
|
||
}
|
||
|
||
// use `filter` to obtain the same behavior of `find`
|
||
return arr.filter(check)[0];
|
||
}
|
||
|
||
/**
|
||
* Return the index of the matching object
|
||
* @method
|
||
* @memberof Popper.Utils
|
||
* @argument {Array} arr
|
||
* @argument prop
|
||
* @argument value
|
||
* @returns index or -1
|
||
*/
|
||
function findIndex(arr, prop, value) {
|
||
// use native findIndex if supported
|
||
if (Array.prototype.findIndex) {
|
||
return arr.findIndex(function (cur) {
|
||
return cur[prop] === value;
|
||
});
|
||
}
|
||
|
||
// use `find` + `indexOf` if `findIndex` isn't supported
|
||
var match = find(arr, function (obj) {
|
||
return obj[prop] === value;
|
||
});
|
||
return arr.indexOf(match);
|
||
}
|
||
|
||
/**
|
||
* Loop trough the list of modifiers and run them in order,
|
||
* each of them will then edit the data object.
|
||
* @method
|
||
* @memberof Popper.Utils
|
||
* @param {dataObject} data
|
||
* @param {Array} modifiers
|
||
* @param {String} ends - Optional modifier name used as stopper
|
||
* @returns {dataObject}
|
||
*/
|
||
function runModifiers(modifiers, data, ends) {
|
||
var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));
|
||
|
||
modifiersToRun.forEach(function (modifier) {
|
||
if (modifier['function']) {
|
||
// eslint-disable-line dot-notation
|
||
console.warn('`modifier.function` is deprecated, use `modifier.fn`!');
|
||
}
|
||
var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation
|
||
if (modifier.enabled && isFunction(fn)) {
|
||
// Add properties to offsets to make them a complete clientRect object
|
||
// we do this before each modifier to make sure the previous one doesn't
|
||
// mess with these values
|
||
data.offsets.popper = getClientRect(data.offsets.popper);
|
||
data.offsets.reference = getClientRect(data.offsets.reference);
|
||
|
||
data = fn(data, modifier);
|
||
}
|
||
});
|
||
|
||
return data;
|
||
}
|
||
|
||
/**
|
||
* Updates the position of the popper, computing the new offsets and applying
|
||
* the new style.<br />
|
||
* Prefer `scheduleUpdate` over `update` because of performance reasons.
|
||
* @method
|
||
* @memberof Popper
|
||
*/
|
||
function update() {
|
||
// if popper is destroyed, don't perform any further update
|
||
if (this.state.isDestroyed) {
|
||
return;
|
||
}
|
||
|
||
var data = {
|
||
instance: this,
|
||
styles: {},
|
||
arrowStyles: {},
|
||
attributes: {},
|
||
flipped: false,
|
||
offsets: {}
|
||
};
|
||
|
||
// compute reference element offsets
|
||
data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);
|
||
|
||
// compute auto placement, store placement inside the data object,
|
||
// modifiers will be able to edit `placement` if needed
|
||
// and refer to originalPlacement to know the original value
|
||
data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);
|
||
|
||
// store the computed placement inside `originalPlacement`
|
||
data.originalPlacement = data.placement;
|
||
|
||
data.positionFixed = this.options.positionFixed;
|
||
|
||
// compute the popper offsets
|
||
data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);
|
||
|
||
data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';
|
||
|
||
// run the modifiers
|
||
data = runModifiers(this.modifiers, data);
|
||
|
||
// the first `update` will call `onCreate` callback
|
||
// the other ones will call `onUpdate` callback
|
||
if (!this.state.isCreated) {
|
||
this.state.isCreated = true;
|
||
this.options.onCreate(data);
|
||
} else {
|
||
this.options.onUpdate(data);
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Helper used to know if the given modifier is enabled.
|
||
* @method
|
||
* @memberof Popper.Utils
|
||
* @returns {Boolean}
|
||
*/
|
||
function isModifierEnabled(modifiers, modifierName) {
|
||
return modifiers.some(function (_ref) {
|
||
var name = _ref.name,
|
||
enabled = _ref.enabled;
|
||
return enabled && name === modifierName;
|
||
});
|
||
}
|
||
|
||
/**
|
||
* Get the prefixed supported property name
|
||
* @method
|
||
* @memberof Popper.Utils
|
||
* @argument {String} property (camelCase)
|
||
* @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)
|
||
*/
|
||
function getSupportedPropertyName(property) {
|
||
var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];
|
||
var upperProp = property.charAt(0).toUpperCase() + property.slice(1);
|
||
|
||
for (var i = 0; i < prefixes.length; i++) {
|
||
var prefix = prefixes[i];
|
||
var toCheck = prefix ? '' + prefix + upperProp : property;
|
||
if (typeof document.body.style[toCheck] !== 'undefined') {
|
||
return toCheck;
|
||
}
|
||
}
|
||
return null;
|
||
}
|
||
|
||
/**
|
||
* Destroys the popper.
|
||
* @method
|
||
* @memberof Popper
|
||
*/
|
||
function destroy() {
|
||
this.state.isDestroyed = true;
|
||
|
||
// touch DOM only if `applyStyle` modifier is enabled
|
||
if (isModifierEnabled(this.modifiers, 'applyStyle')) {
|
||
this.popper.removeAttribute('x-placement');
|
||
this.popper.style.position = '';
|
||
this.popper.style.top = '';
|
||
this.popper.style.left = '';
|
||
this.popper.style.right = '';
|
||
this.popper.style.bottom = '';
|
||
this.popper.style.willChange = '';
|
||
this.popper.style[getSupportedPropertyName('transform')] = '';
|
||
}
|
||
|
||
this.disableEventListeners();
|
||
|
||
// remove the popper if user explicitly asked for the deletion on destroy
|
||
// do not use `remove` because IE11 doesn't support it
|
||
if (this.options.removeOnDestroy) {
|
||
this.popper.parentNode.removeChild(this.popper);
|
||
}
|
||
return this;
|
||
}
|
||
|
||
/**
|
||
* Get the window associated with the element
|
||
* @argument {Element} element
|
||
* @returns {Window}
|
||
*/
|
||
function getWindow(element) {
|
||
var ownerDocument = element.ownerDocument;
|
||
return ownerDocument ? ownerDocument.defaultView : window;
|
||
}
|
||
|
||
function attachToScrollParents(scrollParent, event, callback, scrollParents) {
|
||
var isBody = scrollParent.nodeName === 'BODY';
|
||
var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;
|
||
target.addEventListener(event, callback, { passive: true });
|
||
|
||
if (!isBody) {
|
||
attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);
|
||
}
|
||
scrollParents.push(target);
|
||
}
|
||
|
||
/**
|
||
* Setup needed event listeners used to update the popper position
|
||
* @method
|
||
* @memberof Popper.Utils
|
||
* @private
|
||
*/
|
||
function setupEventListeners(reference, options, state, updateBound) {
|
||
// Resize event listener on window
|
||
state.updateBound = updateBound;
|
||
getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });
|
||
|
||
// Scroll event listener on scroll parents
|
||
var scrollElement = getScrollParent(reference);
|
||
attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);
|
||
state.scrollElement = scrollElement;
|
||
state.eventsEnabled = true;
|
||
|
||
return state;
|
||
}
|
||
|
||
/**
|
||
* It will add resize/scroll events and start recalculating
|
||
* position of the popper element when they are triggered.
|
||
* @method
|
||
* @memberof Popper
|
||
*/
|
||
function enableEventListeners() {
|
||
if (!this.state.eventsEnabled) {
|
||
this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Remove event listeners used to update the popper position
|
||
* @method
|
||
* @memberof Popper.Utils
|
||
* @private
|
||
*/
|
||
function removeEventListeners(reference, state) {
|
||
// Remove resize event listener on window
|
||
getWindow(reference).removeEventListener('resize', state.updateBound);
|
||
|
||
// Remove scroll event listener on scroll parents
|
||
state.scrollParents.forEach(function (target) {
|
||
target.removeEventListener('scroll', state.updateBound);
|
||
});
|
||
|
||
// Reset state
|
||
state.updateBound = null;
|
||
state.scrollParents = [];
|
||
state.scrollElement = null;
|
||
state.eventsEnabled = false;
|
||
return state;
|
||
}
|
||
|
||
/**
|
||
* It will remove resize/scroll events and won't recalculate popper position
|
||
* when they are triggered. It also won't trigger `onUpdate` callback anymore,
|
||
* unless you call `update` method manually.
|
||
* @method
|
||
* @memberof Popper
|
||
*/
|
||
function disableEventListeners() {
|
||
if (this.state.eventsEnabled) {
|
||
cancelAnimationFrame(this.scheduleUpdate);
|
||
this.state = removeEventListeners(this.reference, this.state);
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Tells if a given input is a number
|
||
* @method
|
||
* @memberof Popper.Utils
|
||
* @param {*} input to check
|
||
* @return {Boolean}
|
||
*/
|
||
function isNumeric(n) {
|
||
return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);
|
||
}
|
||
|
||
/**
|
||
* Set the style to the given popper
|
||
* @method
|
||
* @memberof Popper.Utils
|
||
* @argument {Element} element - Element to apply the style to
|
||
* @argument {Object} styles
|
||
* Object with a list of properties and values which will be applied to the element
|
||
*/
|
||
function setStyles(element, styles) {
|
||
Object.keys(styles).forEach(function (prop) {
|
||
var unit = '';
|
||
// add unit if the value is numeric and is one of the following
|
||
if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {
|
||
unit = 'px';
|
||
}
|
||
element.style[prop] = styles[prop] + unit;
|
||
});
|
||
}
|
||
|
||
/**
|
||
* Set the attributes to the given popper
|
||
* @method
|
||
* @memberof Popper.Utils
|
||
* @argument {Element} element - Element to apply the attributes to
|
||
* @argument {Object} styles
|
||
* Object with a list of properties and values which will be applied to the element
|
||
*/
|
||
function setAttributes(element, attributes) {
|
||
Object.keys(attributes).forEach(function (prop) {
|
||
var value = attributes[prop];
|
||
if (value !== false) {
|
||
element.setAttribute(prop, attributes[prop]);
|
||
} else {
|
||
element.removeAttribute(prop);
|
||
}
|
||
});
|
||
}
|
||
|
||
/**
|
||
* @function
|
||
* @memberof Modifiers
|
||
* @argument {Object} data - The data object generated by `update` method
|
||
* @argument {Object} data.styles - List of style properties - values to apply to popper element
|
||
* @argument {Object} data.attributes - List of attribute properties - values to apply to popper element
|
||
* @argument {Object} options - Modifiers configuration and options
|
||
* @returns {Object} The same data object
|
||
*/
|
||
function applyStyle(data) {
|
||
// any property present in `data.styles` will be applied to the popper,
|
||
// in this way we can make the 3rd party modifiers add custom styles to it
|
||
// Be aware, modifiers could override the properties defined in the previous
|
||
// lines of this modifier!
|
||
setStyles(data.instance.popper, data.styles);
|
||
|
||
// any property present in `data.attributes` will be applied to the popper,
|
||
// they will be set as HTML attributes of the element
|
||
setAttributes(data.instance.popper, data.attributes);
|
||
|
||
// if arrowElement is defined and arrowStyles has some properties
|
||
if (data.arrowElement && Object.keys(data.arrowStyles).length) {
|
||
setStyles(data.arrowElement, data.arrowStyles);
|
||
}
|
||
|
||
return data;
|
||
}
|
||
|
||
/**
|
||
* Set the x-placement attribute before everything else because it could be used
|
||
* to add margins to the popper margins needs to be calculated to get the
|
||
* correct popper offsets.
|
||
* @method
|
||
* @memberof Popper.modifiers
|
||
* @param {HTMLElement} reference - The reference element used to position the popper
|
||
* @param {HTMLElement} popper - The HTML element used as popper
|
||
* @param {Object} options - Popper.js options
|
||
*/
|
||
function applyStyleOnLoad(reference, popper, options, modifierOptions, state) {
|
||
// compute reference element offsets
|
||
var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);
|
||
|
||
// compute auto placement, store placement inside the data object,
|
||
// modifiers will be able to edit `placement` if needed
|
||
// and refer to originalPlacement to know the original value
|
||
var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);
|
||
|
||
popper.setAttribute('x-placement', placement);
|
||
|
||
// Apply `position` to popper before anything else because
|
||
// without the position applied we can't guarantee correct computations
|
||
setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });
|
||
|
||
return options;
|
||
}
|
||
|
||
/**
|
||
* @function
|
||
* @memberof Popper.Utils
|
||
* @argument {Object} data - The data object generated by `update` method
|
||
* @argument {Boolean} shouldRound - If the offsets should be rounded at all
|
||
* @returns {Object} The popper's position offsets rounded
|
||
*
|
||
* The tale of pixel-perfect positioning. It's still not 100% perfect, but as
|
||
* good as it can be within reason.
|
||
* Discussion here: https://github.com/FezVrasta/popper.js/pull/715
|
||
*
|
||
* Low DPI screens cause a popper to be blurry if not using full pixels (Safari
|
||
* as well on High DPI screens).
|
||
*
|
||
* Firefox prefers no rounding for positioning and does not have blurriness on
|
||
* high DPI screens.
|
||
*
|
||
* Only horizontal placement and left/right values need to be considered.
|
||
*/
|
||
function getRoundedOffsets(data, shouldRound) {
|
||
var _data$offsets = data.offsets,
|
||
popper = _data$offsets.popper,
|
||
reference = _data$offsets.reference;
|
||
var round = Math.round,
|
||
floor = Math.floor;
|
||
|
||
var noRound = function noRound(v) {
|
||
return v;
|
||
};
|
||
|
||
var referenceWidth = round(reference.width);
|
||
var popperWidth = round(popper.width);
|
||
|
||
var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;
|
||
var isVariation = data.placement.indexOf('-') !== -1;
|
||
var sameWidthParity = referenceWidth % 2 === popperWidth % 2;
|
||
var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;
|
||
|
||
var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;
|
||
var verticalToInteger = !shouldRound ? noRound : round;
|
||
|
||
return {
|
||
left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),
|
||
top: verticalToInteger(popper.top),
|
||
bottom: verticalToInteger(popper.bottom),
|
||
right: horizontalToInteger(popper.right)
|
||
};
|
||
}
|
||
|
||
var isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);
|
||
|
||
/**
|
||
* @function
|
||
* @memberof Modifiers
|
||
* @argument {Object} data - The data object generated by `update` method
|
||
* @argument {Object} options - Modifiers configuration and options
|
||
* @returns {Object} The data object, properly modified
|
||
*/
|
||
function computeStyle(data, options) {
|
||
var x = options.x,
|
||
y = options.y;
|
||
var popper = data.offsets.popper;
|
||
|
||
// Remove this legacy support in Popper.js v2
|
||
|
||
var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {
|
||
return modifier.name === 'applyStyle';
|
||
}).gpuAcceleration;
|
||
if (legacyGpuAccelerationOption !== undefined) {
|
||
console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');
|
||
}
|
||
var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;
|
||
|
||
var offsetParent = getOffsetParent(data.instance.popper);
|
||
var offsetParentRect = getBoundingClientRect(offsetParent);
|
||
|
||
// Styles
|
||
var styles = {
|
||
position: popper.position
|
||
};
|
||
|
||
var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);
|
||
|
||
var sideA = x === 'bottom' ? 'top' : 'bottom';
|
||
var sideB = y === 'right' ? 'left' : 'right';
|
||
|
||
// if gpuAcceleration is set to `true` and transform is supported,
|
||
// we use `translate3d` to apply the position to the popper we
|
||
// automatically use the supported prefixed version if needed
|
||
var prefixedProperty = getSupportedPropertyName('transform');
|
||
|
||
// now, let's make a step back and look at this code closely (wtf?)
|
||
// If the content of the popper grows once it's been positioned, it
|
||
// may happen that the popper gets misplaced because of the new content
|
||
// overflowing its reference element
|
||
// To avoid this problem, we provide two options (x and y), which allow
|
||
// the consumer to define the offset origin.
|
||
// If we position a popper on top of a reference element, we can set
|
||
// `x` to `top` to make the popper grow towards its top instead of
|
||
// its bottom.
|
||
var left = void 0,
|
||
top = void 0;
|
||
if (sideA === 'bottom') {
|
||
// when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)
|
||
// and not the bottom of the html element
|
||
if (offsetParent.nodeName === 'HTML') {
|
||
top = -offsetParent.clientHeight + offsets.bottom;
|
||
} else {
|
||
top = -offsetParentRect.height + offsets.bottom;
|
||
}
|
||
} else {
|
||
top = offsets.top;
|
||
}
|
||
if (sideB === 'right') {
|
||
if (offsetParent.nodeName === 'HTML') {
|
||
left = -offsetParent.clientWidth + offsets.right;
|
||
} else {
|
||
left = -offsetParentRect.width + offsets.right;
|
||
}
|
||
} else {
|
||
left = offsets.left;
|
||
}
|
||
if (gpuAcceleration && prefixedProperty) {
|
||
styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';
|
||
styles[sideA] = 0;
|
||
styles[sideB] = 0;
|
||
styles.willChange = 'transform';
|
||
} else {
|
||
// othwerise, we use the standard `top`, `left`, `bottom` and `right` properties
|
||
var invertTop = sideA === 'bottom' ? -1 : 1;
|
||
var invertLeft = sideB === 'right' ? -1 : 1;
|
||
styles[sideA] = top * invertTop;
|
||
styles[sideB] = left * invertLeft;
|
||
styles.willChange = sideA + ', ' + sideB;
|
||
}
|
||
|
||
// Attributes
|
||
var attributes = {
|
||
'x-placement': data.placement
|
||
};
|
||
|
||
// Update `data` attributes, styles and arrowStyles
|
||
data.attributes = _extends({}, attributes, data.attributes);
|
||
data.styles = _extends({}, styles, data.styles);
|
||
data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);
|
||
|
||
return data;
|
||
}
|
||
|
||
/**
|
||
* Helper used to know if the given modifier depends from another one.<br />
|
||
* It checks if the needed modifier is listed and enabled.
|
||
* @method
|
||
* @memberof Popper.Utils
|
||
* @param {Array} modifiers - list of modifiers
|
||
* @param {String} requestingName - name of requesting modifier
|
||
* @param {String} requestedName - name of requested modifier
|
||
* @returns {Boolean}
|
||
*/
|
||
function isModifierRequired(modifiers, requestingName, requestedName) {
|
||
var requesting = find(modifiers, function (_ref) {
|
||
var name = _ref.name;
|
||
return name === requestingName;
|
||
});
|
||
|
||
var isRequired = !!requesting && modifiers.some(function (modifier) {
|
||
return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;
|
||
});
|
||
|
||
if (!isRequired) {
|
||
var _requesting = '`' + requestingName + '`';
|
||
var requested = '`' + requestedName + '`';
|
||
console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');
|
||
}
|
||
return isRequired;
|
||
}
|
||
|
||
/**
|
||
* @function
|
||
* @memberof Modifiers
|
||
* @argument {Object} data - The data object generated by update method
|
||
* @argument {Object} options - Modifiers configuration and options
|
||
* @returns {Object} The data object, properly modified
|
||
*/
|
||
function arrow(data, options) {
|
||
var _data$offsets$arrow;
|
||
|
||
// arrow depends on keepTogether in order to work
|
||
if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {
|
||
return data;
|
||
}
|
||
|
||
var arrowElement = options.element;
|
||
|
||
// if arrowElement is a string, suppose it's a CSS selector
|
||
if (typeof arrowElement === 'string') {
|
||
arrowElement = data.instance.popper.querySelector(arrowElement);
|
||
|
||
// if arrowElement is not found, don't run the modifier
|
||
if (!arrowElement) {
|
||
return data;
|
||
}
|
||
} else {
|
||
// if the arrowElement isn't a query selector we must check that the
|
||
// provided DOM node is child of its popper node
|
||
if (!data.instance.popper.contains(arrowElement)) {
|
||
console.warn('WARNING: `arrow.element` must be child of its popper element!');
|
||
return data;
|
||
}
|
||
}
|
||
|
||
var placement = data.placement.split('-')[0];
|
||
var _data$offsets = data.offsets,
|
||
popper = _data$offsets.popper,
|
||
reference = _data$offsets.reference;
|
||
|
||
var isVertical = ['left', 'right'].indexOf(placement) !== -1;
|
||
|
||
var len = isVertical ? 'height' : 'width';
|
||
var sideCapitalized = isVertical ? 'Top' : 'Left';
|
||
var side = sideCapitalized.toLowerCase();
|
||
var altSide = isVertical ? 'left' : 'top';
|
||
var opSide = isVertical ? 'bottom' : 'right';
|
||
var arrowElementSize = getOuterSizes(arrowElement)[len];
|
||
|
||
//
|
||
// extends keepTogether behavior making sure the popper and its
|
||
// reference have enough pixels in conjunction
|
||
//
|
||
|
||
// top/left side
|
||
if (reference[opSide] - arrowElementSize < popper[side]) {
|
||
data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);
|
||
}
|
||
// bottom/right side
|
||
if (reference[side] + arrowElementSize > popper[opSide]) {
|
||
data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];
|
||
}
|
||
data.offsets.popper = getClientRect(data.offsets.popper);
|
||
|
||
// compute center of the popper
|
||
var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;
|
||
|
||
// Compute the sideValue using the updated popper offsets
|
||
// take popper margin in account because we don't have this info available
|
||
var css = getStyleComputedProperty(data.instance.popper);
|
||
var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);
|
||
var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);
|
||
var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;
|
||
|
||
// prevent arrowElement from being placed not contiguously to its popper
|
||
sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);
|
||
|
||
data.arrowElement = arrowElement;
|
||
data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);
|
||
|
||
return data;
|
||
}
|
||
|
||
/**
|
||
* Get the opposite placement variation of the given one
|
||
* @method
|
||
* @memberof Popper.Utils
|
||
* @argument {String} placement variation
|
||
* @returns {String} flipped placement variation
|
||
*/
|
||
function getOppositeVariation(variation) {
|
||
if (variation === 'end') {
|
||
return 'start';
|
||
} else if (variation === 'start') {
|
||
return 'end';
|
||
}
|
||
return variation;
|
||
}
|
||
|
||
/**
|
||
* List of accepted placements to use as values of the `placement` option.<br />
|
||
* Valid placements are:
|
||
* - `auto`
|
||
* - `top`
|
||
* - `right`
|
||
* - `bottom`
|
||
* - `left`
|
||
*
|
||
* Each placement can have a variation from this list:
|
||
* - `-start`
|
||
* - `-end`
|
||
*
|
||
* Variations are interpreted easily if you think of them as the left to right
|
||
* written languages. Horizontally (`top` and `bottom`), `start` is left and `end`
|
||
* is right.<br />
|
||
* Vertically (`left` and `right`), `start` is top and `end` is bottom.
|
||
*
|
||
* Some valid examples are:
|
||
* - `top-end` (on top of reference, right aligned)
|
||
* - `right-start` (on right of reference, top aligned)
|
||
* - `bottom` (on bottom, centered)
|
||
* - `auto-end` (on the side with more space available, alignment depends by placement)
|
||
*
|
||
* @static
|
||
* @type {Array}
|
||
* @enum {String}
|
||
* @readonly
|
||
* @method placements
|
||
* @memberof Popper
|
||
*/
|
||
var placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];
|
||
|
||
// Get rid of `auto` `auto-start` and `auto-end`
|
||
var validPlacements = placements.slice(3);
|
||
|
||
/**
|
||
* Given an initial placement, returns all the subsequent placements
|
||
* clockwise (or counter-clockwise).
|
||
*
|
||
* @method
|
||
* @memberof Popper.Utils
|
||
* @argument {String} placement - A valid placement (it accepts variations)
|
||
* @argument {Boolean} counter - Set to true to walk the placements counterclockwise
|
||
* @returns {Array} placements including their variations
|
||
*/
|
||
function clockwise(placement) {
|
||
var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
||
|
||
var index = validPlacements.indexOf(placement);
|
||
var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));
|
||
return counter ? arr.reverse() : arr;
|
||
}
|
||
|
||
var BEHAVIORS = {
|
||
FLIP: 'flip',
|
||
CLOCKWISE: 'clockwise',
|
||
COUNTERCLOCKWISE: 'counterclockwise'
|
||
};
|
||
|
||
/**
|
||
* @function
|
||
* @memberof Modifiers
|
||
* @argument {Object} data - The data object generated by update method
|
||
* @argument {Object} options - Modifiers configuration and options
|
||
* @returns {Object} The data object, properly modified
|
||
*/
|
||
function flip(data, options) {
|
||
// if `inner` modifier is enabled, we can't use the `flip` modifier
|
||
if (isModifierEnabled(data.instance.modifiers, 'inner')) {
|
||
return data;
|
||
}
|
||
|
||
if (data.flipped && data.placement === data.originalPlacement) {
|
||
// seems like flip is trying to loop, probably there's not enough space on any of the flippable sides
|
||
return data;
|
||
}
|
||
|
||
var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);
|
||
|
||
var placement = data.placement.split('-')[0];
|
||
var placementOpposite = getOppositePlacement(placement);
|
||
var variation = data.placement.split('-')[1] || '';
|
||
|
||
var flipOrder = [];
|
||
|
||
switch (options.behavior) {
|
||
case BEHAVIORS.FLIP:
|
||
flipOrder = [placement, placementOpposite];
|
||
break;
|
||
case BEHAVIORS.CLOCKWISE:
|
||
flipOrder = clockwise(placement);
|
||
break;
|
||
case BEHAVIORS.COUNTERCLOCKWISE:
|
||
flipOrder = clockwise(placement, true);
|
||
break;
|
||
default:
|
||
flipOrder = options.behavior;
|
||
}
|
||
|
||
flipOrder.forEach(function (step, index) {
|
||
if (placement !== step || flipOrder.length === index + 1) {
|
||
return data;
|
||
}
|
||
|
||
placement = data.placement.split('-')[0];
|
||
placementOpposite = getOppositePlacement(placement);
|
||
|
||
var popperOffsets = data.offsets.popper;
|
||
var refOffsets = data.offsets.reference;
|
||
|
||
// using floor because the reference offsets may contain decimals we are not going to consider here
|
||
var floor = Math.floor;
|
||
var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);
|
||
|
||
var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);
|
||
var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);
|
||
var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);
|
||
var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);
|
||
|
||
var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;
|
||
|
||
// flip the variation if required
|
||
var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;
|
||
|
||
// flips variation if reference element overflows boundaries
|
||
var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);
|
||
|
||
// flips variation if popper content overflows boundaries
|
||
var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);
|
||
|
||
var flippedVariation = flippedVariationByRef || flippedVariationByContent;
|
||
|
||
if (overlapsRef || overflowsBoundaries || flippedVariation) {
|
||
// this boolean to detect any flip loop
|
||
data.flipped = true;
|
||
|
||
if (overlapsRef || overflowsBoundaries) {
|
||
placement = flipOrder[index + 1];
|
||
}
|
||
|
||
if (flippedVariation) {
|
||
variation = getOppositeVariation(variation);
|
||
}
|
||
|
||
data.placement = placement + (variation ? '-' + variation : '');
|
||
|
||
// this object contains `position`, we want to preserve it along with
|
||
// any additional property we may add in the future
|
||
data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));
|
||
|
||
data = runModifiers(data.instance.modifiers, data, 'flip');
|
||
}
|
||
});
|
||
return data;
|
||
}
|
||
|
||
/**
|
||
* @function
|
||
* @memberof Modifiers
|
||
* @argument {Object} data - The data object generated by update method
|
||
* @argument {Object} options - Modifiers configuration and options
|
||
* @returns {Object} The data object, properly modified
|
||
*/
|
||
function keepTogether(data) {
|
||
var _data$offsets = data.offsets,
|
||
popper = _data$offsets.popper,
|
||
reference = _data$offsets.reference;
|
||
|
||
var placement = data.placement.split('-')[0];
|
||
var floor = Math.floor;
|
||
var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;
|
||
var side = isVertical ? 'right' : 'bottom';
|
||
var opSide = isVertical ? 'left' : 'top';
|
||
var measurement = isVertical ? 'width' : 'height';
|
||
|
||
if (popper[side] < floor(reference[opSide])) {
|
||
data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];
|
||
}
|
||
if (popper[opSide] > floor(reference[side])) {
|
||
data.offsets.popper[opSide] = floor(reference[side]);
|
||
}
|
||
|
||
return data;
|
||
}
|
||
|
||
/**
|
||
* Converts a string containing value + unit into a px value number
|
||
* @function
|
||
* @memberof {modifiers~offset}
|
||
* @private
|
||
* @argument {String} str - Value + unit string
|
||
* @argument {String} measurement - `height` or `width`
|
||
* @argument {Object} popperOffsets
|
||
* @argument {Object} referenceOffsets
|
||
* @returns {Number|String}
|
||
* Value in pixels, or original string if no values were extracted
|
||
*/
|
||
function toValue(str, measurement, popperOffsets, referenceOffsets) {
|
||
// separate value from unit
|
||
var split = str.match(/((?:\-|\+)?\d*\.?\d*)(.*)/);
|
||
var value = +split[1];
|
||
var unit = split[2];
|
||
|
||
// If it's not a number it's an operator, I guess
|
||
if (!value) {
|
||
return str;
|
||
}
|
||
|
||
if (unit.indexOf('%') === 0) {
|
||
var element = void 0;
|
||
switch (unit) {
|
||
case '%p':
|
||
element = popperOffsets;
|
||
break;
|
||
case '%':
|
||
case '%r':
|
||
default:
|
||
element = referenceOffsets;
|
||
}
|
||
|
||
var rect = getClientRect(element);
|
||
return rect[measurement] / 100 * value;
|
||
} else if (unit === 'vh' || unit === 'vw') {
|
||
// if is a vh or vw, we calculate the size based on the viewport
|
||
var size = void 0;
|
||
if (unit === 'vh') {
|
||
size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);
|
||
} else {
|
||
size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);
|
||
}
|
||
return size / 100 * value;
|
||
} else {
|
||
// if is an explicit pixel unit, we get rid of the unit and keep the value
|
||
// if is an implicit unit, it's px, and we return just the value
|
||
return value;
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Parse an `offset` string to extrapolate `x` and `y` numeric offsets.
|
||
* @function
|
||
* @memberof {modifiers~offset}
|
||
* @private
|
||
* @argument {String} offset
|
||
* @argument {Object} popperOffsets
|
||
* @argument {Object} referenceOffsets
|
||
* @argument {String} basePlacement
|
||
* @returns {Array} a two cells array with x and y offsets in numbers
|
||
*/
|
||
function parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {
|
||
var offsets = [0, 0];
|
||
|
||
// Use height if placement is left or right and index is 0 otherwise use width
|
||
// in this way the first offset will use an axis and the second one
|
||
// will use the other one
|
||
var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;
|
||
|
||
// Split the offset string to obtain a list of values and operands
|
||
// The regex addresses values with the plus or minus sign in front (+10, -20, etc)
|
||
var fragments = offset.split(/(\+|\-)/).map(function (frag) {
|
||
return frag.trim();
|
||
});
|
||
|
||
// Detect if the offset string contains a pair of values or a single one
|
||
// they could be separated by comma or space
|
||
var divider = fragments.indexOf(find(fragments, function (frag) {
|
||
return frag.search(/,|\s/) !== -1;
|
||
}));
|
||
|
||
if (fragments[divider] && fragments[divider].indexOf(',') === -1) {
|
||
console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');
|
||
}
|
||
|
||
// If divider is found, we divide the list of values and operands to divide
|
||
// them by ofset X and Y.
|
||
var splitRegex = /\s*,\s*|\s+/;
|
||
var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];
|
||
|
||
// Convert the values with units to absolute pixels to allow our computations
|
||
ops = ops.map(function (op, index) {
|
||
// Most of the units rely on the orientation of the popper
|
||
var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';
|
||
var mergeWithPrevious = false;
|
||
return op
|
||
// This aggregates any `+` or `-` sign that aren't considered operators
|
||
// e.g.: 10 + +5 => [10, +, +5]
|
||
.reduce(function (a, b) {
|
||
if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {
|
||
a[a.length - 1] = b;
|
||
mergeWithPrevious = true;
|
||
return a;
|
||
} else if (mergeWithPrevious) {
|
||
a[a.length - 1] += b;
|
||
mergeWithPrevious = false;
|
||
return a;
|
||
} else {
|
||
return a.concat(b);
|
||
}
|
||
}, [])
|
||
// Here we convert the string values into number values (in px)
|
||
.map(function (str) {
|
||
return toValue(str, measurement, popperOffsets, referenceOffsets);
|
||
});
|
||
});
|
||
|
||
// Loop trough the offsets arrays and execute the operations
|
||
ops.forEach(function (op, index) {
|
||
op.forEach(function (frag, index2) {
|
||
if (isNumeric(frag)) {
|
||
offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);
|
||
}
|
||
});
|
||
});
|
||
return offsets;
|
||
}
|
||
|
||
/**
|
||
* @function
|
||
* @memberof Modifiers
|
||
* @argument {Object} data - The data object generated by update method
|
||
* @argument {Object} options - Modifiers configuration and options
|
||
* @argument {Number|String} options.offset=0
|
||
* The offset value as described in the modifier description
|
||
* @returns {Object} The data object, properly modified
|
||
*/
|
||
function offset(data, _ref) {
|
||
var offset = _ref.offset;
|
||
var placement = data.placement,
|
||
_data$offsets = data.offsets,
|
||
popper = _data$offsets.popper,
|
||
reference = _data$offsets.reference;
|
||
|
||
var basePlacement = placement.split('-')[0];
|
||
|
||
var offsets = void 0;
|
||
if (isNumeric(+offset)) {
|
||
offsets = [+offset, 0];
|
||
} else {
|
||
offsets = parseOffset(offset, popper, reference, basePlacement);
|
||
}
|
||
|
||
if (basePlacement === 'left') {
|
||
popper.top += offsets[0];
|
||
popper.left -= offsets[1];
|
||
} else if (basePlacement === 'right') {
|
||
popper.top += offsets[0];
|
||
popper.left += offsets[1];
|
||
} else if (basePlacement === 'top') {
|
||
popper.left += offsets[0];
|
||
popper.top -= offsets[1];
|
||
} else if (basePlacement === 'bottom') {
|
||
popper.left += offsets[0];
|
||
popper.top += offsets[1];
|
||
}
|
||
|
||
data.popper = popper;
|
||
return data;
|
||
}
|
||
|
||
/**
|
||
* @function
|
||
* @memberof Modifiers
|
||
* @argument {Object} data - The data object generated by `update` method
|
||
* @argument {Object} options - Modifiers configuration and options
|
||
* @returns {Object} The data object, properly modified
|
||
*/
|
||
function preventOverflow(data, options) {
|
||
var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);
|
||
|
||
// If offsetParent is the reference element, we really want to
|
||
// go one step up and use the next offsetParent as reference to
|
||
// avoid to make this modifier completely useless and look like broken
|
||
if (data.instance.reference === boundariesElement) {
|
||
boundariesElement = getOffsetParent(boundariesElement);
|
||
}
|
||
|
||
// NOTE: DOM access here
|
||
// resets the popper's position so that the document size can be calculated excluding
|
||
// the size of the popper element itself
|
||
var transformProp = getSupportedPropertyName('transform');
|
||
var popperStyles = data.instance.popper.style; // assignment to help minification
|
||
var top = popperStyles.top,
|
||
left = popperStyles.left,
|
||
transform = popperStyles[transformProp];
|
||
|
||
popperStyles.top = '';
|
||
popperStyles.left = '';
|
||
popperStyles[transformProp] = '';
|
||
|
||
var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);
|
||
|
||
// NOTE: DOM access here
|
||
// restores the original style properties after the offsets have been computed
|
||
popperStyles.top = top;
|
||
popperStyles.left = left;
|
||
popperStyles[transformProp] = transform;
|
||
|
||
options.boundaries = boundaries;
|
||
|
||
var order = options.priority;
|
||
var popper = data.offsets.popper;
|
||
|
||
var check = {
|
||
primary: function primary(placement) {
|
||
var value = popper[placement];
|
||
if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {
|
||
value = Math.max(popper[placement], boundaries[placement]);
|
||
}
|
||
return defineProperty({}, placement, value);
|
||
},
|
||
secondary: function secondary(placement) {
|
||
var mainSide = placement === 'right' ? 'left' : 'top';
|
||
var value = popper[mainSide];
|
||
if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {
|
||
value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));
|
||
}
|
||
return defineProperty({}, mainSide, value);
|
||
}
|
||
};
|
||
|
||
order.forEach(function (placement) {
|
||
var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';
|
||
popper = _extends({}, popper, check[side](placement));
|
||
});
|
||
|
||
data.offsets.popper = popper;
|
||
|
||
return data;
|
||
}
|
||
|
||
/**
|
||
* @function
|
||
* @memberof Modifiers
|
||
* @argument {Object} data - The data object generated by `update` method
|
||
* @argument {Object} options - Modifiers configuration and options
|
||
* @returns {Object} The data object, properly modified
|
||
*/
|
||
function shift(data) {
|
||
var placement = data.placement;
|
||
var basePlacement = placement.split('-')[0];
|
||
var shiftvariation = placement.split('-')[1];
|
||
|
||
// if shift shiftvariation is specified, run the modifier
|
||
if (shiftvariation) {
|
||
var _data$offsets = data.offsets,
|
||
reference = _data$offsets.reference,
|
||
popper = _data$offsets.popper;
|
||
|
||
var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;
|
||
var side = isVertical ? 'left' : 'top';
|
||
var measurement = isVertical ? 'width' : 'height';
|
||
|
||
var shiftOffsets = {
|
||
start: defineProperty({}, side, reference[side]),
|
||
end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])
|
||
};
|
||
|
||
data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);
|
||
}
|
||
|
||
return data;
|
||
}
|
||
|
||
/**
|
||
* @function
|
||
* @memberof Modifiers
|
||
* @argument {Object} data - The data object generated by update method
|
||
* @argument {Object} options - Modifiers configuration and options
|
||
* @returns {Object} The data object, properly modified
|
||
*/
|
||
function hide(data) {
|
||
if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {
|
||
return data;
|
||
}
|
||
|
||
var refRect = data.offsets.reference;
|
||
var bound = find(data.instance.modifiers, function (modifier) {
|
||
return modifier.name === 'preventOverflow';
|
||
}).boundaries;
|
||
|
||
if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {
|
||
// Avoid unnecessary DOM access if visibility hasn't changed
|
||
if (data.hide === true) {
|
||
return data;
|
||
}
|
||
|
||
data.hide = true;
|
||
data.attributes['x-out-of-boundaries'] = '';
|
||
} else {
|
||
// Avoid unnecessary DOM access if visibility hasn't changed
|
||
if (data.hide === false) {
|
||
return data;
|
||
}
|
||
|
||
data.hide = false;
|
||
data.attributes['x-out-of-boundaries'] = false;
|
||
}
|
||
|
||
return data;
|
||
}
|
||
|
||
/**
|
||
* @function
|
||
* @memberof Modifiers
|
||
* @argument {Object} data - The data object generated by `update` method
|
||
* @argument {Object} options - Modifiers configuration and options
|
||
* @returns {Object} The data object, properly modified
|
||
*/
|
||
function inner(data) {
|
||
var placement = data.placement;
|
||
var basePlacement = placement.split('-')[0];
|
||
var _data$offsets = data.offsets,
|
||
popper = _data$offsets.popper,
|
||
reference = _data$offsets.reference;
|
||
|
||
var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;
|
||
|
||
var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;
|
||
|
||
popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);
|
||
|
||
data.placement = getOppositePlacement(placement);
|
||
data.offsets.popper = getClientRect(popper);
|
||
|
||
return data;
|
||
}
|
||
|
||
/**
|
||
* Modifier function, each modifier can have a function of this type assigned
|
||
* to its `fn` property.<br />
|
||
* These functions will be called on each update, this means that you must
|
||
* make sure they are performant enough to avoid performance bottlenecks.
|
||
*
|
||
* @function ModifierFn
|
||
* @argument {dataObject} data - The data object generated by `update` method
|
||
* @argument {Object} options - Modifiers configuration and options
|
||
* @returns {dataObject} The data object, properly modified
|
||
*/
|
||
|
||
/**
|
||
* Modifiers are plugins used to alter the behavior of your poppers.<br />
|
||
* Popper.js uses a set of 9 modifiers to provide all the basic functionalities
|
||
* needed by the library.
|
||
*
|
||
* Usually you don't want to override the `order`, `fn` and `onLoad` props.
|
||
* All the other properties are configurations that could be tweaked.
|
||
* @namespace modifiers
|
||
*/
|
||
var modifiers = {
|
||
/**
|
||
* Modifier used to shift the popper on the start or end of its reference
|
||
* element.<br />
|
||
* It will read the variation of the `placement` property.<br />
|
||
* It can be one either `-end` or `-start`.
|
||
* @memberof modifiers
|
||
* @inner
|
||
*/
|
||
shift: {
|
||
/** @prop {number} order=100 - Index used to define the order of execution */
|
||
order: 100,
|
||
/** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
|
||
enabled: true,
|
||
/** @prop {ModifierFn} */
|
||
fn: shift
|
||
},
|
||
|
||
/**
|
||
* The `offset` modifier can shift your popper on both its axis.
|
||
*
|
||
* It accepts the following units:
|
||
* - `px` or unit-less, interpreted as pixels
|
||
* - `%` or `%r`, percentage relative to the length of the reference element
|
||
* - `%p`, percentage relative to the length of the popper element
|
||
* - `vw`, CSS viewport width unit
|
||
* - `vh`, CSS viewport height unit
|
||
*
|
||
* For length is intended the main axis relative to the placement of the popper.<br />
|
||
* This means that if the placement is `top` or `bottom`, the length will be the
|
||
* `width`. In case of `left` or `right`, it will be the `height`.
|
||
*
|
||
* You can provide a single value (as `Number` or `String`), or a pair of values
|
||
* as `String` divided by a comma or one (or more) white spaces.<br />
|
||
* The latter is a deprecated method because it leads to confusion and will be
|
||
* removed in v2.<br />
|
||
* Additionally, it accepts additions and subtractions between different units.
|
||
* Note that multiplications and divisions aren't supported.
|
||
*
|
||
* Valid examples are:
|
||
* ```
|
||
* 10
|
||
* '10%'
|
||
* '10, 10'
|
||
* '10%, 10'
|
||
* '10 + 10%'
|
||
* '10 - 5vh + 3%'
|
||
* '-10px + 5vh, 5px - 6%'
|
||
* ```
|
||
* > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap
|
||
* > with their reference element, unfortunately, you will have to disable the `flip` modifier.
|
||
* > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).
|
||
*
|
||
* @memberof modifiers
|
||
* @inner
|
||
*/
|
||
offset: {
|
||
/** @prop {number} order=200 - Index used to define the order of execution */
|
||
order: 200,
|
||
/** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
|
||
enabled: true,
|
||
/** @prop {ModifierFn} */
|
||
fn: offset,
|
||
/** @prop {Number|String} offset=0
|
||
* The offset value as described in the modifier description
|
||
*/
|
||
offset: 0
|
||
},
|
||
|
||
/**
|
||
* Modifier used to prevent the popper from being positioned outside the boundary.
|
||
*
|
||
* A scenario exists where the reference itself is not within the boundaries.<br />
|
||
* We can say it has "escaped the boundaries" — or just "escaped".<br />
|
||
* In this case we need to decide whether the popper should either:
|
||
*
|
||
* - detach from the reference and remain "trapped" in the boundaries, or
|
||
* - if it should ignore the boundary and "escape with its reference"
|
||
*
|
||
* When `escapeWithReference` is set to`true` and reference is completely
|
||
* outside its boundaries, the popper will overflow (or completely leave)
|
||
* the boundaries in order to remain attached to the edge of the reference.
|
||
*
|
||
* @memberof modifiers
|
||
* @inner
|
||
*/
|
||
preventOverflow: {
|
||
/** @prop {number} order=300 - Index used to define the order of execution */
|
||
order: 300,
|
||
/** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
|
||
enabled: true,
|
||
/** @prop {ModifierFn} */
|
||
fn: preventOverflow,
|
||
/**
|
||
* @prop {Array} [priority=['left','right','top','bottom']]
|
||
* Popper will try to prevent overflow following these priorities by default,
|
||
* then, it could overflow on the left and on top of the `boundariesElement`
|
||
*/
|
||
priority: ['left', 'right', 'top', 'bottom'],
|
||
/**
|
||
* @prop {number} padding=5
|
||
* Amount of pixel used to define a minimum distance between the boundaries
|
||
* and the popper. This makes sure the popper always has a little padding
|
||
* between the edges of its container
|
||
*/
|
||
padding: 5,
|
||
/**
|
||
* @prop {String|HTMLElement} boundariesElement='scrollParent'
|
||
* Boundaries used by the modifier. Can be `scrollParent`, `window`,
|
||
* `viewport` or any DOM element.
|
||
*/
|
||
boundariesElement: 'scrollParent'
|
||
},
|
||
|
||
/**
|
||
* Modifier used to make sure the reference and its popper stay near each other
|
||
* without leaving any gap between the two. Especially useful when the arrow is
|
||
* enabled and you want to ensure that it points to its reference element.
|
||
* It cares only about the first axis. You can still have poppers with margin
|
||
* between the popper and its reference element.
|
||
* @memberof modifiers
|
||
* @inner
|
||
*/
|
||
keepTogether: {
|
||
/** @prop {number} order=400 - Index used to define the order of execution */
|
||
order: 400,
|
||
/** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
|
||
enabled: true,
|
||
/** @prop {ModifierFn} */
|
||
fn: keepTogether
|
||
},
|
||
|
||
/**
|
||
* This modifier is used to move the `arrowElement` of the popper to make
|
||
* sure it is positioned between the reference element and its popper element.
|
||
* It will read the outer size of the `arrowElement` node to detect how many
|
||
* pixels of conjunction are needed.
|
||
*
|
||
* It has no effect if no `arrowElement` is provided.
|
||
* @memberof modifiers
|
||
* @inner
|
||
*/
|
||
arrow: {
|
||
/** @prop {number} order=500 - Index used to define the order of execution */
|
||
order: 500,
|
||
/** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
|
||
enabled: true,
|
||
/** @prop {ModifierFn} */
|
||
fn: arrow,
|
||
/** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */
|
||
element: '[x-arrow]'
|
||
},
|
||
|
||
/**
|
||
* Modifier used to flip the popper's placement when it starts to overlap its
|
||
* reference element.
|
||
*
|
||
* Requires the `preventOverflow` modifier before it in order to work.
|
||
*
|
||
* **NOTE:** this modifier will interrupt the current update cycle and will
|
||
* restart it if it detects the need to flip the placement.
|
||
* @memberof modifiers
|
||
* @inner
|
||
*/
|
||
flip: {
|
||
/** @prop {number} order=600 - Index used to define the order of execution */
|
||
order: 600,
|
||
/** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
|
||
enabled: true,
|
||
/** @prop {ModifierFn} */
|
||
fn: flip,
|
||
/**
|
||
* @prop {String|Array} behavior='flip'
|
||
* The behavior used to change the popper's placement. It can be one of
|
||
* `flip`, `clockwise`, `counterclockwise` or an array with a list of valid
|
||
* placements (with optional variations)
|
||
*/
|
||
behavior: 'flip',
|
||
/**
|
||
* @prop {number} padding=5
|
||
* The popper will flip if it hits the edges of the `boundariesElement`
|
||
*/
|
||
padding: 5,
|
||
/**
|
||
* @prop {String|HTMLElement} boundariesElement='viewport'
|
||
* The element which will define the boundaries of the popper position.
|
||
* The popper will never be placed outside of the defined boundaries
|
||
* (except if `keepTogether` is enabled)
|
||
*/
|
||
boundariesElement: 'viewport',
|
||
/**
|
||
* @prop {Boolean} flipVariations=false
|
||
* The popper will switch placement variation between `-start` and `-end` when
|
||
* the reference element overlaps its boundaries.
|
||
*
|
||
* The original placement should have a set variation.
|
||
*/
|
||
flipVariations: false,
|
||
/**
|
||
* @prop {Boolean} flipVariationsByContent=false
|
||
* The popper will switch placement variation between `-start` and `-end` when
|
||
* the popper element overlaps its reference boundaries.
|
||
*
|
||
* The original placement should have a set variation.
|
||
*/
|
||
flipVariationsByContent: false
|
||
},
|
||
|
||
/**
|
||
* Modifier used to make the popper flow toward the inner of the reference element.
|
||
* By default, when this modifier is disabled, the popper will be placed outside
|
||
* the reference element.
|
||
* @memberof modifiers
|
||
* @inner
|
||
*/
|
||
inner: {
|
||
/** @prop {number} order=700 - Index used to define the order of execution */
|
||
order: 700,
|
||
/** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */
|
||
enabled: false,
|
||
/** @prop {ModifierFn} */
|
||
fn: inner
|
||
},
|
||
|
||
/**
|
||
* Modifier used to hide the popper when its reference element is outside of the
|
||
* popper boundaries. It will set a `x-out-of-boundaries` attribute which can
|
||
* be used to hide with a CSS selector the popper when its reference is
|
||
* out of boundaries.
|
||
*
|
||
* Requires the `preventOverflow` modifier before it in order to work.
|
||
* @memberof modifiers
|
||
* @inner
|
||
*/
|
||
hide: {
|
||
/** @prop {number} order=800 - Index used to define the order of execution */
|
||
order: 800,
|
||
/** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
|
||
enabled: true,
|
||
/** @prop {ModifierFn} */
|
||
fn: hide
|
||
},
|
||
|
||
/**
|
||
* Computes the style that will be applied to the popper element to gets
|
||
* properly positioned.
|
||
*
|
||
* Note that this modifier will not touch the DOM, it just prepares the styles
|
||
* so that `applyStyle` modifier can apply it. This separation is useful
|
||
* in case you need to replace `applyStyle` with a custom implementation.
|
||
*
|
||
* This modifier has `850` as `order` value to maintain backward compatibility
|
||
* with previous versions of Popper.js. Expect the modifiers ordering method
|
||
* to change in future major versions of the library.
|
||
*
|
||
* @memberof modifiers
|
||
* @inner
|
||
*/
|
||
computeStyle: {
|
||
/** @prop {number} order=850 - Index used to define the order of execution */
|
||
order: 850,
|
||
/** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
|
||
enabled: true,
|
||
/** @prop {ModifierFn} */
|
||
fn: computeStyle,
|
||
/**
|
||
* @prop {Boolean} gpuAcceleration=true
|
||
* If true, it uses the CSS 3D transformation to position the popper.
|
||
* Otherwise, it will use the `top` and `left` properties
|
||
*/
|
||
gpuAcceleration: true,
|
||
/**
|
||
* @prop {string} [x='bottom']
|
||
* Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.
|
||
* Change this if your popper should grow in a direction different from `bottom`
|
||
*/
|
||
x: 'bottom',
|
||
/**
|
||
* @prop {string} [x='left']
|
||
* Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.
|
||
* Change this if your popper should grow in a direction different from `right`
|
||
*/
|
||
y: 'right'
|
||
},
|
||
|
||
/**
|
||
* Applies the computed styles to the popper element.
|
||
*
|
||
* All the DOM manipulations are limited to this modifier. This is useful in case
|
||
* you want to integrate Popper.js inside a framework or view library and you
|
||
* want to delegate all the DOM manipulations to it.
|
||
*
|
||
* Note that if you disable this modifier, you must make sure the popper element
|
||
* has its position set to `absolute` before Popper.js can do its work!
|
||
*
|
||
* Just disable this modifier and define your own to achieve the desired effect.
|
||
*
|
||
* @memberof modifiers
|
||
* @inner
|
||
*/
|
||
applyStyle: {
|
||
/** @prop {number} order=900 - Index used to define the order of execution */
|
||
order: 900,
|
||
/** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
|
||
enabled: true,
|
||
/** @prop {ModifierFn} */
|
||
fn: applyStyle,
|
||
/** @prop {Function} */
|
||
onLoad: applyStyleOnLoad,
|
||
/**
|
||
* @deprecated since version 1.10.0, the property moved to `computeStyle` modifier
|
||
* @prop {Boolean} gpuAcceleration=true
|
||
* If true, it uses the CSS 3D transformation to position the popper.
|
||
* Otherwise, it will use the `top` and `left` properties
|
||
*/
|
||
gpuAcceleration: undefined
|
||
}
|
||
};
|
||
|
||
/**
|
||
* The `dataObject` is an object containing all the information used by Popper.js.
|
||
* This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.
|
||
* @name dataObject
|
||
* @property {Object} data.instance The Popper.js instance
|
||
* @property {String} data.placement Placement applied to popper
|
||
* @property {String} data.originalPlacement Placement originally defined on init
|
||
* @property {Boolean} data.flipped True if popper has been flipped by flip modifier
|
||
* @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper
|
||
* @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier
|
||
* @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)
|
||
* @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)
|
||
* @property {Object} data.boundaries Offsets of the popper boundaries
|
||
* @property {Object} data.offsets The measurements of popper, reference and arrow elements
|
||
* @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values
|
||
* @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values
|
||
* @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0
|
||
*/
|
||
|
||
/**
|
||
* Default options provided to Popper.js constructor.<br />
|
||
* These can be overridden using the `options` argument of Popper.js.<br />
|
||
* To override an option, simply pass an object with the same
|
||
* structure of the `options` object, as the 3rd argument. For example:
|
||
* ```
|
||
* new Popper(ref, pop, {
|
||
* modifiers: {
|
||
* preventOverflow: { enabled: false }
|
||
* }
|
||
* })
|
||
* ```
|
||
* @type {Object}
|
||
* @static
|
||
* @memberof Popper
|
||
*/
|
||
var Defaults = {
|
||
/**
|
||
* Popper's placement.
|
||
* @prop {Popper.placements} placement='bottom'
|
||
*/
|
||
placement: 'bottom',
|
||
|
||
/**
|
||
* Set this to true if you want popper to position it self in 'fixed' mode
|
||
* @prop {Boolean} positionFixed=false
|
||
*/
|
||
positionFixed: false,
|
||
|
||
/**
|
||
* Whether events (resize, scroll) are initially enabled.
|
||
* @prop {Boolean} eventsEnabled=true
|
||
*/
|
||
eventsEnabled: true,
|
||
|
||
/**
|
||
* Set to true if you want to automatically remove the popper when
|
||
* you call the `destroy` method.
|
||
* @prop {Boolean} removeOnDestroy=false
|
||
*/
|
||
removeOnDestroy: false,
|
||
|
||
/**
|
||
* Callback called when the popper is created.<br />
|
||
* By default, it is set to no-op.<br />
|
||
* Access Popper.js instance with `data.instance`.
|
||
* @prop {onCreate}
|
||
*/
|
||
onCreate: function onCreate() {},
|
||
|
||
/**
|
||
* Callback called when the popper is updated. This callback is not called
|
||
* on the initialization/creation of the popper, but only on subsequent
|
||
* updates.<br />
|
||
* By default, it is set to no-op.<br />
|
||
* Access Popper.js instance with `data.instance`.
|
||
* @prop {onUpdate}
|
||
*/
|
||
onUpdate: function onUpdate() {},
|
||
|
||
/**
|
||
* List of modifiers used to modify the offsets before they are applied to the popper.
|
||
* They provide most of the functionalities of Popper.js.
|
||
* @prop {modifiers}
|
||
*/
|
||
modifiers: modifiers
|
||
};
|
||
|
||
/**
|
||
* @callback onCreate
|
||
* @param {dataObject} data
|
||
*/
|
||
|
||
/**
|
||
* @callback onUpdate
|
||
* @param {dataObject} data
|
||
*/
|
||
|
||
// Utils
|
||
// Methods
|
||
var Popper = function () {
|
||
/**
|
||
* Creates a new Popper.js instance.
|
||
* @class Popper
|
||
* @param {Element|referenceObject} reference - The reference element used to position the popper
|
||
* @param {Element} popper - The HTML / XML element used as the popper
|
||
* @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)
|
||
* @return {Object} instance - The generated Popper.js instance
|
||
*/
|
||
function Popper(reference, popper) {
|
||
var _this = this;
|
||
|
||
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
||
classCallCheck(this, Popper);
|
||
|
||
this.scheduleUpdate = function () {
|
||
return requestAnimationFrame(_this.update);
|
||
};
|
||
|
||
// make update() debounced, so that it only runs at most once-per-tick
|
||
this.update = debounce(this.update.bind(this));
|
||
|
||
// with {} we create a new object with the options inside it
|
||
this.options = _extends({}, Popper.Defaults, options);
|
||
|
||
// init state
|
||
this.state = {
|
||
isDestroyed: false,
|
||
isCreated: false,
|
||
scrollParents: []
|
||
};
|
||
|
||
// get reference and popper elements (allow jQuery wrappers)
|
||
this.reference = reference && reference.jquery ? reference[0] : reference;
|
||
this.popper = popper && popper.jquery ? popper[0] : popper;
|
||
|
||
// Deep merge modifiers options
|
||
this.options.modifiers = {};
|
||
Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {
|
||
_this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});
|
||
});
|
||
|
||
// Refactoring modifiers' list (Object => Array)
|
||
this.modifiers = Object.keys(this.options.modifiers).map(function (name) {
|
||
return _extends({
|
||
name: name
|
||
}, _this.options.modifiers[name]);
|
||
})
|
||
// sort the modifiers by order
|
||
.sort(function (a, b) {
|
||
return a.order - b.order;
|
||
});
|
||
|
||
// modifiers have the ability to execute arbitrary code when Popper.js get inited
|
||
// such code is executed in the same order of its modifier
|
||
// they could add new properties to their options configuration
|
||
// BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!
|
||
this.modifiers.forEach(function (modifierOptions) {
|
||
if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {
|
||
modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);
|
||
}
|
||
});
|
||
|
||
// fire the first update to position the popper in the right place
|
||
this.update();
|
||
|
||
var eventsEnabled = this.options.eventsEnabled;
|
||
if (eventsEnabled) {
|
||
// setup event listeners, they will take care of update the position in specific situations
|
||
this.enableEventListeners();
|
||
}
|
||
|
||
this.state.eventsEnabled = eventsEnabled;
|
||
}
|
||
|
||
// We can't use class properties because they don't get listed in the
|
||
// class prototype and break stuff like Sinon stubs
|
||
|
||
|
||
createClass(Popper, [{
|
||
key: 'update',
|
||
value: function update$$1() {
|
||
return update.call(this);
|
||
}
|
||
}, {
|
||
key: 'destroy',
|
||
value: function destroy$$1() {
|
||
return destroy.call(this);
|
||
}
|
||
}, {
|
||
key: 'enableEventListeners',
|
||
value: function enableEventListeners$$1() {
|
||
return enableEventListeners.call(this);
|
||
}
|
||
}, {
|
||
key: 'disableEventListeners',
|
||
value: function disableEventListeners$$1() {
|
||
return disableEventListeners.call(this);
|
||
}
|
||
|
||
/**
|
||
* Schedules an update. It will run on the next UI update available.
|
||
* @method scheduleUpdate
|
||
* @memberof Popper
|
||
*/
|
||
|
||
|
||
/**
|
||
* Collection of utilities useful when writing custom modifiers.
|
||
* Starting from version 1.7, this method is available only if you
|
||
* include `popper-utils.js` before `popper.js`.
|
||
*
|
||
* **DEPRECATION**: This way to access PopperUtils is deprecated
|
||
* and will be removed in v2! Use the PopperUtils module directly instead.
|
||
* Due to the high instability of the methods contained in Utils, we can't
|
||
* guarantee them to follow semver. Use them at your own risk!
|
||
* @static
|
||
* @private
|
||
* @type {Object}
|
||
* @deprecated since version 1.8
|
||
* @member Utils
|
||
* @memberof Popper
|
||
*/
|
||
|
||
}]);
|
||
return Popper;
|
||
}();
|
||
|
||
/**
|
||
* The `referenceObject` is an object that provides an interface compatible with Popper.js
|
||
* and lets you use it as replacement of a real DOM node.<br />
|
||
* You can use this method to position a popper relatively to a set of coordinates
|
||
* in case you don't have a DOM node to use as reference.
|
||
*
|
||
* ```
|
||
* new Popper(referenceObject, popperNode);
|
||
* ```
|
||
*
|
||
* NB: This feature isn't supported in Internet Explorer 10.
|
||
* @name referenceObject
|
||
* @property {Function} data.getBoundingClientRect
|
||
* A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.
|
||
* @property {number} data.clientWidth
|
||
* An ES6 getter that will return the width of the virtual reference element.
|
||
* @property {number} data.clientHeight
|
||
* An ES6 getter that will return the height of the virtual reference element.
|
||
*/
|
||
|
||
|
||
Popper.Utils = (typeof window !== 'undefined' ? window : __webpack_require__.g).PopperUtils;
|
||
Popper.placements = placements;
|
||
Popper.Defaults = Defaults;
|
||
|
||
/* harmony default export */ __webpack_exports__["default"] = (Popper);
|
||
//# sourceMappingURL=popper.js.map
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/process/browser.js":
|
||
/*!*****************************************!*\
|
||
!*** ./node_modules/process/browser.js ***!
|
||
\*****************************************/
|
||
/***/ (function(module) {
|
||
|
||
// shim for using process in browser
|
||
var process = module.exports = {};
|
||
|
||
// cached from whatever global is present so that test runners that stub it
|
||
// don't break things. But we need to wrap it in a try catch in case it is
|
||
// wrapped in strict mode code which doesn't define any globals. It's inside a
|
||
// function because try/catches deoptimize in certain engines.
|
||
|
||
var cachedSetTimeout;
|
||
var cachedClearTimeout;
|
||
|
||
function defaultSetTimout() {
|
||
throw new Error('setTimeout has not been defined');
|
||
}
|
||
function defaultClearTimeout () {
|
||
throw new Error('clearTimeout has not been defined');
|
||
}
|
||
(function () {
|
||
try {
|
||
if (typeof setTimeout === 'function') {
|
||
cachedSetTimeout = setTimeout;
|
||
} else {
|
||
cachedSetTimeout = defaultSetTimout;
|
||
}
|
||
} catch (e) {
|
||
cachedSetTimeout = defaultSetTimout;
|
||
}
|
||
try {
|
||
if (typeof clearTimeout === 'function') {
|
||
cachedClearTimeout = clearTimeout;
|
||
} else {
|
||
cachedClearTimeout = defaultClearTimeout;
|
||
}
|
||
} catch (e) {
|
||
cachedClearTimeout = defaultClearTimeout;
|
||
}
|
||
} ())
|
||
function runTimeout(fun) {
|
||
if (cachedSetTimeout === setTimeout) {
|
||
//normal enviroments in sane situations
|
||
return setTimeout(fun, 0);
|
||
}
|
||
// if setTimeout wasn't available but was latter defined
|
||
if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
|
||
cachedSetTimeout = setTimeout;
|
||
return setTimeout(fun, 0);
|
||
}
|
||
try {
|
||
// when when somebody has screwed with setTimeout but no I.E. maddness
|
||
return cachedSetTimeout(fun, 0);
|
||
} catch(e){
|
||
try {
|
||
// When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
|
||
return cachedSetTimeout.call(null, fun, 0);
|
||
} catch(e){
|
||
// same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
|
||
return cachedSetTimeout.call(this, fun, 0);
|
||
}
|
||
}
|
||
|
||
|
||
}
|
||
function runClearTimeout(marker) {
|
||
if (cachedClearTimeout === clearTimeout) {
|
||
//normal enviroments in sane situations
|
||
return clearTimeout(marker);
|
||
}
|
||
// if clearTimeout wasn't available but was latter defined
|
||
if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
|
||
cachedClearTimeout = clearTimeout;
|
||
return clearTimeout(marker);
|
||
}
|
||
try {
|
||
// when when somebody has screwed with setTimeout but no I.E. maddness
|
||
return cachedClearTimeout(marker);
|
||
} catch (e){
|
||
try {
|
||
// When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
|
||
return cachedClearTimeout.call(null, marker);
|
||
} catch (e){
|
||
// same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
|
||
// Some versions of I.E. have different rules for clearTimeout vs setTimeout
|
||
return cachedClearTimeout.call(this, marker);
|
||
}
|
||
}
|
||
|
||
|
||
|
||
}
|
||
var queue = [];
|
||
var draining = false;
|
||
var currentQueue;
|
||
var queueIndex = -1;
|
||
|
||
function cleanUpNextTick() {
|
||
if (!draining || !currentQueue) {
|
||
return;
|
||
}
|
||
draining = false;
|
||
if (currentQueue.length) {
|
||
queue = currentQueue.concat(queue);
|
||
} else {
|
||
queueIndex = -1;
|
||
}
|
||
if (queue.length) {
|
||
drainQueue();
|
||
}
|
||
}
|
||
|
||
function drainQueue() {
|
||
if (draining) {
|
||
return;
|
||
}
|
||
var timeout = runTimeout(cleanUpNextTick);
|
||
draining = true;
|
||
|
||
var len = queue.length;
|
||
while(len) {
|
||
currentQueue = queue;
|
||
queue = [];
|
||
while (++queueIndex < len) {
|
||
if (currentQueue) {
|
||
currentQueue[queueIndex].run();
|
||
}
|
||
}
|
||
queueIndex = -1;
|
||
len = queue.length;
|
||
}
|
||
currentQueue = null;
|
||
draining = false;
|
||
runClearTimeout(timeout);
|
||
}
|
||
|
||
process.nextTick = function (fun) {
|
||
var args = new Array(arguments.length - 1);
|
||
if (arguments.length > 1) {
|
||
for (var i = 1; i < arguments.length; i++) {
|
||
args[i - 1] = arguments[i];
|
||
}
|
||
}
|
||
queue.push(new Item(fun, args));
|
||
if (queue.length === 1 && !draining) {
|
||
runTimeout(drainQueue);
|
||
}
|
||
};
|
||
|
||
// v8 likes predictible objects
|
||
function Item(fun, array) {
|
||
this.fun = fun;
|
||
this.array = array;
|
||
}
|
||
Item.prototype.run = function () {
|
||
this.fun.apply(null, this.array);
|
||
};
|
||
process.title = 'browser';
|
||
process.browser = true;
|
||
process.env = {};
|
||
process.argv = [];
|
||
process.version = ''; // empty string to avoid regexp issues
|
||
process.versions = {};
|
||
|
||
function noop() {}
|
||
|
||
process.on = noop;
|
||
process.addListener = noop;
|
||
process.once = noop;
|
||
process.off = noop;
|
||
process.removeListener = noop;
|
||
process.removeAllListeners = noop;
|
||
process.emit = noop;
|
||
process.prependListener = noop;
|
||
process.prependOnceListener = noop;
|
||
|
||
process.listeners = function (name) { return [] }
|
||
|
||
process.binding = function (name) {
|
||
throw new Error('process.binding is not supported');
|
||
};
|
||
|
||
process.cwd = function () { return '/' };
|
||
process.chdir = function (dir) {
|
||
throw new Error('process.chdir is not supported');
|
||
};
|
||
process.umask = function() { return 0; };
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/regenerator-runtime/runtime.js":
|
||
/*!*****************************************************!*\
|
||
!*** ./node_modules/regenerator-runtime/runtime.js ***!
|
||
\*****************************************************/
|
||
/***/ (function(module) {
|
||
|
||
/**
|
||
* Copyright (c) 2014-present, Facebook, Inc.
|
||
*
|
||
* This source code is licensed under the MIT license found in the
|
||
* LICENSE file in the root directory of this source tree.
|
||
*/
|
||
|
||
var runtime = (function (exports) {
|
||
"use strict";
|
||
|
||
var Op = Object.prototype;
|
||
var hasOwn = Op.hasOwnProperty;
|
||
var undefined; // More compressible than void 0.
|
||
var $Symbol = typeof Symbol === "function" ? Symbol : {};
|
||
var iteratorSymbol = $Symbol.iterator || "@@iterator";
|
||
var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
|
||
var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
|
||
|
||
function define(obj, key, value) {
|
||
Object.defineProperty(obj, key, {
|
||
value: value,
|
||
enumerable: true,
|
||
configurable: true,
|
||
writable: true
|
||
});
|
||
return obj[key];
|
||
}
|
||
try {
|
||
// IE 8 has a broken Object.defineProperty that only works on DOM objects.
|
||
define({}, "");
|
||
} catch (err) {
|
||
define = function(obj, key, value) {
|
||
return obj[key] = value;
|
||
};
|
||
}
|
||
|
||
function wrap(innerFn, outerFn, self, tryLocsList) {
|
||
// If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.
|
||
var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
|
||
var generator = Object.create(protoGenerator.prototype);
|
||
var context = new Context(tryLocsList || []);
|
||
|
||
// The ._invoke method unifies the implementations of the .next,
|
||
// .throw, and .return methods.
|
||
generator._invoke = makeInvokeMethod(innerFn, self, context);
|
||
|
||
return generator;
|
||
}
|
||
exports.wrap = wrap;
|
||
|
||
// Try/catch helper to minimize deoptimizations. Returns a completion
|
||
// record like context.tryEntries[i].completion. This interface could
|
||
// have been (and was previously) designed to take a closure to be
|
||
// invoked without arguments, but in all the cases we care about we
|
||
// already have an existing method we want to call, so there's no need
|
||
// to create a new function object. We can even get away with assuming
|
||
// the method takes exactly one argument, since that happens to be true
|
||
// in every case, so we don't have to touch the arguments object. The
|
||
// only additional allocation required is the completion record, which
|
||
// has a stable shape and so hopefully should be cheap to allocate.
|
||
function tryCatch(fn, obj, arg) {
|
||
try {
|
||
return { type: "normal", arg: fn.call(obj, arg) };
|
||
} catch (err) {
|
||
return { type: "throw", arg: err };
|
||
}
|
||
}
|
||
|
||
var GenStateSuspendedStart = "suspendedStart";
|
||
var GenStateSuspendedYield = "suspendedYield";
|
||
var GenStateExecuting = "executing";
|
||
var GenStateCompleted = "completed";
|
||
|
||
// Returning this object from the innerFn has the same effect as
|
||
// breaking out of the dispatch switch statement.
|
||
var ContinueSentinel = {};
|
||
|
||
// Dummy constructor functions that we use as the .constructor and
|
||
// .constructor.prototype properties for functions that return Generator
|
||
// objects. For full spec compliance, you may wish to configure your
|
||
// minifier not to mangle the names of these two functions.
|
||
function Generator() {}
|
||
function GeneratorFunction() {}
|
||
function GeneratorFunctionPrototype() {}
|
||
|
||
// This is a polyfill for %IteratorPrototype% for environments that
|
||
// don't natively support it.
|
||
var IteratorPrototype = {};
|
||
IteratorPrototype[iteratorSymbol] = function () {
|
||
return this;
|
||
};
|
||
|
||
var getProto = Object.getPrototypeOf;
|
||
var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
|
||
if (NativeIteratorPrototype &&
|
||
NativeIteratorPrototype !== Op &&
|
||
hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
|
||
// This environment has a native %IteratorPrototype%; use it instead
|
||
// of the polyfill.
|
||
IteratorPrototype = NativeIteratorPrototype;
|
||
}
|
||
|
||
var Gp = GeneratorFunctionPrototype.prototype =
|
||
Generator.prototype = Object.create(IteratorPrototype);
|
||
GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
|
||
GeneratorFunctionPrototype.constructor = GeneratorFunction;
|
||
GeneratorFunction.displayName = define(
|
||
GeneratorFunctionPrototype,
|
||
toStringTagSymbol,
|
||
"GeneratorFunction"
|
||
);
|
||
|
||
// Helper for defining the .next, .throw, and .return methods of the
|
||
// Iterator interface in terms of a single ._invoke method.
|
||
function defineIteratorMethods(prototype) {
|
||
["next", "throw", "return"].forEach(function(method) {
|
||
define(prototype, method, function(arg) {
|
||
return this._invoke(method, arg);
|
||
});
|
||
});
|
||
}
|
||
|
||
exports.isGeneratorFunction = function(genFun) {
|
||
var ctor = typeof genFun === "function" && genFun.constructor;
|
||
return ctor
|
||
? ctor === GeneratorFunction ||
|
||
// For the native GeneratorFunction constructor, the best we can
|
||
// do is to check its .name property.
|
||
(ctor.displayName || ctor.name) === "GeneratorFunction"
|
||
: false;
|
||
};
|
||
|
||
exports.mark = function(genFun) {
|
||
if (Object.setPrototypeOf) {
|
||
Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
|
||
} else {
|
||
genFun.__proto__ = GeneratorFunctionPrototype;
|
||
define(genFun, toStringTagSymbol, "GeneratorFunction");
|
||
}
|
||
genFun.prototype = Object.create(Gp);
|
||
return genFun;
|
||
};
|
||
|
||
// Within the body of any async function, `await x` is transformed to
|
||
// `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
|
||
// `hasOwn.call(value, "__await")` to determine if the yielded value is
|
||
// meant to be awaited.
|
||
exports.awrap = function(arg) {
|
||
return { __await: arg };
|
||
};
|
||
|
||
function AsyncIterator(generator, PromiseImpl) {
|
||
function invoke(method, arg, resolve, reject) {
|
||
var record = tryCatch(generator[method], generator, arg);
|
||
if (record.type === "throw") {
|
||
reject(record.arg);
|
||
} else {
|
||
var result = record.arg;
|
||
var value = result.value;
|
||
if (value &&
|
||
typeof value === "object" &&
|
||
hasOwn.call(value, "__await")) {
|
||
return PromiseImpl.resolve(value.__await).then(function(value) {
|
||
invoke("next", value, resolve, reject);
|
||
}, function(err) {
|
||
invoke("throw", err, resolve, reject);
|
||
});
|
||
}
|
||
|
||
return PromiseImpl.resolve(value).then(function(unwrapped) {
|
||
// When a yielded Promise is resolved, its final value becomes
|
||
// the .value of the Promise<{value,done}> result for the
|
||
// current iteration.
|
||
result.value = unwrapped;
|
||
resolve(result);
|
||
}, function(error) {
|
||
// If a rejected Promise was yielded, throw the rejection back
|
||
// into the async generator function so it can be handled there.
|
||
return invoke("throw", error, resolve, reject);
|
||
});
|
||
}
|
||
}
|
||
|
||
var previousPromise;
|
||
|
||
function enqueue(method, arg) {
|
||
function callInvokeWithMethodAndArg() {
|
||
return new PromiseImpl(function(resolve, reject) {
|
||
invoke(method, arg, resolve, reject);
|
||
});
|
||
}
|
||
|
||
return previousPromise =
|
||
// If enqueue has been called before, then we want to wait until
|
||
// all previous Promises have been resolved before calling invoke,
|
||
// so that results are always delivered in the correct order. If
|
||
// enqueue has not been called before, then it is important to
|
||
// call invoke immediately, without waiting on a callback to fire,
|
||
// so that the async generator function has the opportunity to do
|
||
// any necessary setup in a predictable way. This predictability
|
||
// is why the Promise constructor synchronously invokes its
|
||
// executor callback, and why async functions synchronously
|
||
// execute code before the first await. Since we implement simple
|
||
// async functions in terms of async generators, it is especially
|
||
// important to get this right, even though it requires care.
|
||
previousPromise ? previousPromise.then(
|
||
callInvokeWithMethodAndArg,
|
||
// Avoid propagating failures to Promises returned by later
|
||
// invocations of the iterator.
|
||
callInvokeWithMethodAndArg
|
||
) : callInvokeWithMethodAndArg();
|
||
}
|
||
|
||
// Define the unified helper method that is used to implement .next,
|
||
// .throw, and .return (see defineIteratorMethods).
|
||
this._invoke = enqueue;
|
||
}
|
||
|
||
defineIteratorMethods(AsyncIterator.prototype);
|
||
AsyncIterator.prototype[asyncIteratorSymbol] = function () {
|
||
return this;
|
||
};
|
||
exports.AsyncIterator = AsyncIterator;
|
||
|
||
// Note that simple async functions are implemented on top of
|
||
// AsyncIterator objects; they just return a Promise for the value of
|
||
// the final result produced by the iterator.
|
||
exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {
|
||
if (PromiseImpl === void 0) PromiseImpl = Promise;
|
||
|
||
var iter = new AsyncIterator(
|
||
wrap(innerFn, outerFn, self, tryLocsList),
|
||
PromiseImpl
|
||
);
|
||
|
||
return exports.isGeneratorFunction(outerFn)
|
||
? iter // If outerFn is a generator, return the full iterator.
|
||
: iter.next().then(function(result) {
|
||
return result.done ? result.value : iter.next();
|
||
});
|
||
};
|
||
|
||
function makeInvokeMethod(innerFn, self, context) {
|
||
var state = GenStateSuspendedStart;
|
||
|
||
return function invoke(method, arg) {
|
||
if (state === GenStateExecuting) {
|
||
throw new Error("Generator is already running");
|
||
}
|
||
|
||
if (state === GenStateCompleted) {
|
||
if (method === "throw") {
|
||
throw arg;
|
||
}
|
||
|
||
// Be forgiving, per 25.3.3.3.3 of the spec:
|
||
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
|
||
return doneResult();
|
||
}
|
||
|
||
context.method = method;
|
||
context.arg = arg;
|
||
|
||
while (true) {
|
||
var delegate = context.delegate;
|
||
if (delegate) {
|
||
var delegateResult = maybeInvokeDelegate(delegate, context);
|
||
if (delegateResult) {
|
||
if (delegateResult === ContinueSentinel) continue;
|
||
return delegateResult;
|
||
}
|
||
}
|
||
|
||
if (context.method === "next") {
|
||
// Setting context._sent for legacy support of Babel's
|
||
// function.sent implementation.
|
||
context.sent = context._sent = context.arg;
|
||
|
||
} else if (context.method === "throw") {
|
||
if (state === GenStateSuspendedStart) {
|
||
state = GenStateCompleted;
|
||
throw context.arg;
|
||
}
|
||
|
||
context.dispatchException(context.arg);
|
||
|
||
} else if (context.method === "return") {
|
||
context.abrupt("return", context.arg);
|
||
}
|
||
|
||
state = GenStateExecuting;
|
||
|
||
var record = tryCatch(innerFn, self, context);
|
||
if (record.type === "normal") {
|
||
// If an exception is thrown from innerFn, we leave state ===
|
||
// GenStateExecuting and loop back for another invocation.
|
||
state = context.done
|
||
? GenStateCompleted
|
||
: GenStateSuspendedYield;
|
||
|
||
if (record.arg === ContinueSentinel) {
|
||
continue;
|
||
}
|
||
|
||
return {
|
||
value: record.arg,
|
||
done: context.done
|
||
};
|
||
|
||
} else if (record.type === "throw") {
|
||
state = GenStateCompleted;
|
||
// Dispatch the exception by looping back around to the
|
||
// context.dispatchException(context.arg) call above.
|
||
context.method = "throw";
|
||
context.arg = record.arg;
|
||
}
|
||
}
|
||
};
|
||
}
|
||
|
||
// Call delegate.iterator[context.method](context.arg) and handle the
|
||
// result, either by returning a { value, done } result from the
|
||
// delegate iterator, or by modifying context.method and context.arg,
|
||
// setting context.delegate to null, and returning the ContinueSentinel.
|
||
function maybeInvokeDelegate(delegate, context) {
|
||
var method = delegate.iterator[context.method];
|
||
if (method === undefined) {
|
||
// A .throw or .return when the delegate iterator has no .throw
|
||
// method always terminates the yield* loop.
|
||
context.delegate = null;
|
||
|
||
if (context.method === "throw") {
|
||
// Note: ["return"] must be used for ES3 parsing compatibility.
|
||
if (delegate.iterator["return"]) {
|
||
// If the delegate iterator has a return method, give it a
|
||
// chance to clean up.
|
||
context.method = "return";
|
||
context.arg = undefined;
|
||
maybeInvokeDelegate(delegate, context);
|
||
|
||
if (context.method === "throw") {
|
||
// If maybeInvokeDelegate(context) changed context.method from
|
||
// "return" to "throw", let that override the TypeError below.
|
||
return ContinueSentinel;
|
||
}
|
||
}
|
||
|
||
context.method = "throw";
|
||
context.arg = new TypeError(
|
||
"The iterator does not provide a 'throw' method");
|
||
}
|
||
|
||
return ContinueSentinel;
|
||
}
|
||
|
||
var record = tryCatch(method, delegate.iterator, context.arg);
|
||
|
||
if (record.type === "throw") {
|
||
context.method = "throw";
|
||
context.arg = record.arg;
|
||
context.delegate = null;
|
||
return ContinueSentinel;
|
||
}
|
||
|
||
var info = record.arg;
|
||
|
||
if (! info) {
|
||
context.method = "throw";
|
||
context.arg = new TypeError("iterator result is not an object");
|
||
context.delegate = null;
|
||
return ContinueSentinel;
|
||
}
|
||
|
||
if (info.done) {
|
||
// Assign the result of the finished delegate to the temporary
|
||
// variable specified by delegate.resultName (see delegateYield).
|
||
context[delegate.resultName] = info.value;
|
||
|
||
// Resume execution at the desired location (see delegateYield).
|
||
context.next = delegate.nextLoc;
|
||
|
||
// If context.method was "throw" but the delegate handled the
|
||
// exception, let the outer generator proceed normally. If
|
||
// context.method was "next", forget context.arg since it has been
|
||
// "consumed" by the delegate iterator. If context.method was
|
||
// "return", allow the original .return call to continue in the
|
||
// outer generator.
|
||
if (context.method !== "return") {
|
||
context.method = "next";
|
||
context.arg = undefined;
|
||
}
|
||
|
||
} else {
|
||
// Re-yield the result returned by the delegate method.
|
||
return info;
|
||
}
|
||
|
||
// The delegate iterator is finished, so forget it and continue with
|
||
// the outer generator.
|
||
context.delegate = null;
|
||
return ContinueSentinel;
|
||
}
|
||
|
||
// Define Generator.prototype.{next,throw,return} in terms of the
|
||
// unified ._invoke helper method.
|
||
defineIteratorMethods(Gp);
|
||
|
||
define(Gp, toStringTagSymbol, "Generator");
|
||
|
||
// A Generator should always return itself as the iterator object when the
|
||
// @@iterator function is called on it. Some browsers' implementations of the
|
||
// iterator prototype chain incorrectly implement this, causing the Generator
|
||
// object to not be returned from this call. This ensures that doesn't happen.
|
||
// See https://github.com/facebook/regenerator/issues/274 for more details.
|
||
Gp[iteratorSymbol] = function() {
|
||
return this;
|
||
};
|
||
|
||
Gp.toString = function() {
|
||
return "[object Generator]";
|
||
};
|
||
|
||
function pushTryEntry(locs) {
|
||
var entry = { tryLoc: locs[0] };
|
||
|
||
if (1 in locs) {
|
||
entry.catchLoc = locs[1];
|
||
}
|
||
|
||
if (2 in locs) {
|
||
entry.finallyLoc = locs[2];
|
||
entry.afterLoc = locs[3];
|
||
}
|
||
|
||
this.tryEntries.push(entry);
|
||
}
|
||
|
||
function resetTryEntry(entry) {
|
||
var record = entry.completion || {};
|
||
record.type = "normal";
|
||
delete record.arg;
|
||
entry.completion = record;
|
||
}
|
||
|
||
function Context(tryLocsList) {
|
||
// The root entry object (effectively a try statement without a catch
|
||
// or a finally block) gives us a place to store values thrown from
|
||
// locations where there is no enclosing try statement.
|
||
this.tryEntries = [{ tryLoc: "root" }];
|
||
tryLocsList.forEach(pushTryEntry, this);
|
||
this.reset(true);
|
||
}
|
||
|
||
exports.keys = function(object) {
|
||
var keys = [];
|
||
for (var key in object) {
|
||
keys.push(key);
|
||
}
|
||
keys.reverse();
|
||
|
||
// Rather than returning an object with a next method, we keep
|
||
// things simple and return the next function itself.
|
||
return function next() {
|
||
while (keys.length) {
|
||
var key = keys.pop();
|
||
if (key in object) {
|
||
next.value = key;
|
||
next.done = false;
|
||
return next;
|
||
}
|
||
}
|
||
|
||
// To avoid creating an additional object, we just hang the .value
|
||
// and .done properties off the next function object itself. This
|
||
// also ensures that the minifier will not anonymize the function.
|
||
next.done = true;
|
||
return next;
|
||
};
|
||
};
|
||
|
||
function values(iterable) {
|
||
if (iterable) {
|
||
var iteratorMethod = iterable[iteratorSymbol];
|
||
if (iteratorMethod) {
|
||
return iteratorMethod.call(iterable);
|
||
}
|
||
|
||
if (typeof iterable.next === "function") {
|
||
return iterable;
|
||
}
|
||
|
||
if (!isNaN(iterable.length)) {
|
||
var i = -1, next = function next() {
|
||
while (++i < iterable.length) {
|
||
if (hasOwn.call(iterable, i)) {
|
||
next.value = iterable[i];
|
||
next.done = false;
|
||
return next;
|
||
}
|
||
}
|
||
|
||
next.value = undefined;
|
||
next.done = true;
|
||
|
||
return next;
|
||
};
|
||
|
||
return next.next = next;
|
||
}
|
||
}
|
||
|
||
// Return an iterator with no values.
|
||
return { next: doneResult };
|
||
}
|
||
exports.values = values;
|
||
|
||
function doneResult() {
|
||
return { value: undefined, done: true };
|
||
}
|
||
|
||
Context.prototype = {
|
||
constructor: Context,
|
||
|
||
reset: function(skipTempReset) {
|
||
this.prev = 0;
|
||
this.next = 0;
|
||
// Resetting context._sent for legacy support of Babel's
|
||
// function.sent implementation.
|
||
this.sent = this._sent = undefined;
|
||
this.done = false;
|
||
this.delegate = null;
|
||
|
||
this.method = "next";
|
||
this.arg = undefined;
|
||
|
||
this.tryEntries.forEach(resetTryEntry);
|
||
|
||
if (!skipTempReset) {
|
||
for (var name in this) {
|
||
// Not sure about the optimal order of these conditions:
|
||
if (name.charAt(0) === "t" &&
|
||
hasOwn.call(this, name) &&
|
||
!isNaN(+name.slice(1))) {
|
||
this[name] = undefined;
|
||
}
|
||
}
|
||
}
|
||
},
|
||
|
||
stop: function() {
|
||
this.done = true;
|
||
|
||
var rootEntry = this.tryEntries[0];
|
||
var rootRecord = rootEntry.completion;
|
||
if (rootRecord.type === "throw") {
|
||
throw rootRecord.arg;
|
||
}
|
||
|
||
return this.rval;
|
||
},
|
||
|
||
dispatchException: function(exception) {
|
||
if (this.done) {
|
||
throw exception;
|
||
}
|
||
|
||
var context = this;
|
||
function handle(loc, caught) {
|
||
record.type = "throw";
|
||
record.arg = exception;
|
||
context.next = loc;
|
||
|
||
if (caught) {
|
||
// If the dispatched exception was caught by a catch block,
|
||
// then let that catch block handle the exception normally.
|
||
context.method = "next";
|
||
context.arg = undefined;
|
||
}
|
||
|
||
return !! caught;
|
||
}
|
||
|
||
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
|
||
var entry = this.tryEntries[i];
|
||
var record = entry.completion;
|
||
|
||
if (entry.tryLoc === "root") {
|
||
// Exception thrown outside of any try block that could handle
|
||
// it, so set the completion value of the entire function to
|
||
// throw the exception.
|
||
return handle("end");
|
||
}
|
||
|
||
if (entry.tryLoc <= this.prev) {
|
||
var hasCatch = hasOwn.call(entry, "catchLoc");
|
||
var hasFinally = hasOwn.call(entry, "finallyLoc");
|
||
|
||
if (hasCatch && hasFinally) {
|
||
if (this.prev < entry.catchLoc) {
|
||
return handle(entry.catchLoc, true);
|
||
} else if (this.prev < entry.finallyLoc) {
|
||
return handle(entry.finallyLoc);
|
||
}
|
||
|
||
} else if (hasCatch) {
|
||
if (this.prev < entry.catchLoc) {
|
||
return handle(entry.catchLoc, true);
|
||
}
|
||
|
||
} else if (hasFinally) {
|
||
if (this.prev < entry.finallyLoc) {
|
||
return handle(entry.finallyLoc);
|
||
}
|
||
|
||
} else {
|
||
throw new Error("try statement without catch or finally");
|
||
}
|
||
}
|
||
}
|
||
},
|
||
|
||
abrupt: function(type, arg) {
|
||
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
|
||
var entry = this.tryEntries[i];
|
||
if (entry.tryLoc <= this.prev &&
|
||
hasOwn.call(entry, "finallyLoc") &&
|
||
this.prev < entry.finallyLoc) {
|
||
var finallyEntry = entry;
|
||
break;
|
||
}
|
||
}
|
||
|
||
if (finallyEntry &&
|
||
(type === "break" ||
|
||
type === "continue") &&
|
||
finallyEntry.tryLoc <= arg &&
|
||
arg <= finallyEntry.finallyLoc) {
|
||
// Ignore the finally entry if control is not jumping to a
|
||
// location outside the try/catch block.
|
||
finallyEntry = null;
|
||
}
|
||
|
||
var record = finallyEntry ? finallyEntry.completion : {};
|
||
record.type = type;
|
||
record.arg = arg;
|
||
|
||
if (finallyEntry) {
|
||
this.method = "next";
|
||
this.next = finallyEntry.finallyLoc;
|
||
return ContinueSentinel;
|
||
}
|
||
|
||
return this.complete(record);
|
||
},
|
||
|
||
complete: function(record, afterLoc) {
|
||
if (record.type === "throw") {
|
||
throw record.arg;
|
||
}
|
||
|
||
if (record.type === "break" ||
|
||
record.type === "continue") {
|
||
this.next = record.arg;
|
||
} else if (record.type === "return") {
|
||
this.rval = this.arg = record.arg;
|
||
this.method = "return";
|
||
this.next = "end";
|
||
} else if (record.type === "normal" && afterLoc) {
|
||
this.next = afterLoc;
|
||
}
|
||
|
||
return ContinueSentinel;
|
||
},
|
||
|
||
finish: function(finallyLoc) {
|
||
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
|
||
var entry = this.tryEntries[i];
|
||
if (entry.finallyLoc === finallyLoc) {
|
||
this.complete(entry.completion, entry.afterLoc);
|
||
resetTryEntry(entry);
|
||
return ContinueSentinel;
|
||
}
|
||
}
|
||
},
|
||
|
||
"catch": function(tryLoc) {
|
||
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
|
||
var entry = this.tryEntries[i];
|
||
if (entry.tryLoc === tryLoc) {
|
||
var record = entry.completion;
|
||
if (record.type === "throw") {
|
||
var thrown = record.arg;
|
||
resetTryEntry(entry);
|
||
}
|
||
return thrown;
|
||
}
|
||
}
|
||
|
||
// The context.catch method must only be called with a location
|
||
// argument that corresponds to a known catch block.
|
||
throw new Error("illegal catch attempt");
|
||
},
|
||
|
||
delegateYield: function(iterable, resultName, nextLoc) {
|
||
this.delegate = {
|
||
iterator: values(iterable),
|
||
resultName: resultName,
|
||
nextLoc: nextLoc
|
||
};
|
||
|
||
if (this.method === "next") {
|
||
// Deliberately forget the last sent value so that we don't
|
||
// accidentally pass it on to the delegate.
|
||
this.arg = undefined;
|
||
}
|
||
|
||
return ContinueSentinel;
|
||
}
|
||
};
|
||
|
||
// Regardless of whether this script is executing as a CommonJS module
|
||
// or not, return the runtime object so that we can declare the variable
|
||
// regeneratorRuntime in the outer scope, which allows this module to be
|
||
// injected easily by `bin/regenerator --include-runtime script.js`.
|
||
return exports;
|
||
|
||
}(
|
||
// If this script is executing as a CommonJS module, use module.exports
|
||
// as the regeneratorRuntime namespace. Otherwise create a new empty
|
||
// object. Either way, the resulting object will be used to initialize
|
||
// the regeneratorRuntime variable at the top of this file.
|
||
true ? module.exports : 0
|
||
));
|
||
|
||
try {
|
||
regeneratorRuntime = runtime;
|
||
} catch (accidentalStrictMode) {
|
||
// This module should not be running in strict mode, so the above
|
||
// assignment should always work unless something is misconfigured. Just
|
||
// in case runtime.js accidentally runs in strict mode, we can escape
|
||
// strict mode using a global Function call. This could conceivably fail
|
||
// if a Content Security Policy forbids using Function, but in that case
|
||
// the proper solution is to fix the accidental strict mode problem. If
|
||
// you've misconfigured your bundler to force strict mode and applied a
|
||
// CSP to forbid Function, and you're not willing to fix either of those
|
||
// problems, please detail your unique predicament in a GitHub issue.
|
||
Function("r", "regeneratorRuntime = r")(runtime);
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/striptags/src/striptags.js":
|
||
/*!*************************************************!*\
|
||
!*** ./node_modules/striptags/src/striptags.js ***!
|
||
\*************************************************/
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
var __WEBPACK_AMD_DEFINE_RESULT__;
|
||
|
||
(function (global) {
|
||
|
||
// minimal symbol polyfill for IE11 and others
|
||
if (typeof Symbol !== 'function') {
|
||
var Symbol = function(name) {
|
||
return name;
|
||
}
|
||
|
||
Symbol.nonNative = true;
|
||
}
|
||
|
||
const STATE_PLAINTEXT = Symbol('plaintext');
|
||
const STATE_HTML = Symbol('html');
|
||
const STATE_COMMENT = Symbol('comment');
|
||
|
||
const ALLOWED_TAGS_REGEX = /<(\w*)>/g;
|
||
const NORMALIZE_TAG_REGEX = /<\/?([^\s\/>]+)/;
|
||
|
||
function striptags(html, allowable_tags, tag_replacement) {
|
||
html = html || '';
|
||
allowable_tags = allowable_tags || [];
|
||
tag_replacement = tag_replacement || '';
|
||
|
||
let context = init_context(allowable_tags, tag_replacement);
|
||
|
||
return striptags_internal(html, context);
|
||
}
|
||
|
||
function init_striptags_stream(allowable_tags, tag_replacement) {
|
||
allowable_tags = allowable_tags || [];
|
||
tag_replacement = tag_replacement || '';
|
||
|
||
let context = init_context(allowable_tags, tag_replacement);
|
||
|
||
return function striptags_stream(html) {
|
||
return striptags_internal(html || '', context);
|
||
};
|
||
}
|
||
|
||
striptags.init_streaming_mode = init_striptags_stream;
|
||
|
||
function init_context(allowable_tags, tag_replacement) {
|
||
allowable_tags = parse_allowable_tags(allowable_tags);
|
||
|
||
return {
|
||
allowable_tags : allowable_tags,
|
||
tag_replacement: tag_replacement,
|
||
|
||
state : STATE_PLAINTEXT,
|
||
tag_buffer : '',
|
||
depth : 0,
|
||
in_quote_char : ''
|
||
};
|
||
}
|
||
|
||
function striptags_internal(html, context) {
|
||
let allowable_tags = context.allowable_tags;
|
||
let tag_replacement = context.tag_replacement;
|
||
|
||
let state = context.state;
|
||
let tag_buffer = context.tag_buffer;
|
||
let depth = context.depth;
|
||
let in_quote_char = context.in_quote_char;
|
||
let output = '';
|
||
|
||
for (let idx = 0, length = html.length; idx < length; idx++) {
|
||
let char = html[idx];
|
||
|
||
if (state === STATE_PLAINTEXT) {
|
||
switch (char) {
|
||
case '<':
|
||
state = STATE_HTML;
|
||
tag_buffer += char;
|
||
break;
|
||
|
||
default:
|
||
output += char;
|
||
break;
|
||
}
|
||
}
|
||
|
||
else if (state === STATE_HTML) {
|
||
switch (char) {
|
||
case '<':
|
||
// ignore '<' if inside a quote
|
||
if (in_quote_char) {
|
||
break;
|
||
}
|
||
|
||
// we're seeing a nested '<'
|
||
depth++;
|
||
break;
|
||
|
||
case '>':
|
||
// ignore '>' if inside a quote
|
||
if (in_quote_char) {
|
||
break;
|
||
}
|
||
|
||
// something like this is happening: '<<>>'
|
||
if (depth) {
|
||
depth--;
|
||
|
||
break;
|
||
}
|
||
|
||
// this is closing the tag in tag_buffer
|
||
in_quote_char = '';
|
||
state = STATE_PLAINTEXT;
|
||
tag_buffer += '>';
|
||
|
||
if (allowable_tags.has(normalize_tag(tag_buffer))) {
|
||
output += tag_buffer;
|
||
} else {
|
||
output += tag_replacement;
|
||
}
|
||
|
||
tag_buffer = '';
|
||
break;
|
||
|
||
case '"':
|
||
case '\'':
|
||
// catch both single and double quotes
|
||
|
||
if (char === in_quote_char) {
|
||
in_quote_char = '';
|
||
} else {
|
||
in_quote_char = in_quote_char || char;
|
||
}
|
||
|
||
tag_buffer += char;
|
||
break;
|
||
|
||
case '-':
|
||
if (tag_buffer === '<!-') {
|
||
state = STATE_COMMENT;
|
||
}
|
||
|
||
tag_buffer += char;
|
||
break;
|
||
|
||
case ' ':
|
||
case '\n':
|
||
if (tag_buffer === '<') {
|
||
state = STATE_PLAINTEXT;
|
||
output += '< ';
|
||
tag_buffer = '';
|
||
|
||
break;
|
||
}
|
||
|
||
tag_buffer += char;
|
||
break;
|
||
|
||
default:
|
||
tag_buffer += char;
|
||
break;
|
||
}
|
||
}
|
||
|
||
else if (state === STATE_COMMENT) {
|
||
switch (char) {
|
||
case '>':
|
||
if (tag_buffer.slice(-2) == '--') {
|
||
// close the comment
|
||
state = STATE_PLAINTEXT;
|
||
}
|
||
|
||
tag_buffer = '';
|
||
break;
|
||
|
||
default:
|
||
tag_buffer += char;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
|
||
// save the context for future iterations
|
||
context.state = state;
|
||
context.tag_buffer = tag_buffer;
|
||
context.depth = depth;
|
||
context.in_quote_char = in_quote_char;
|
||
|
||
return output;
|
||
}
|
||
|
||
function parse_allowable_tags(allowable_tags) {
|
||
let tag_set = new Set();
|
||
|
||
if (typeof allowable_tags === 'string') {
|
||
let match;
|
||
|
||
while ((match = ALLOWED_TAGS_REGEX.exec(allowable_tags))) {
|
||
tag_set.add(match[1]);
|
||
}
|
||
}
|
||
|
||
else if (!Symbol.nonNative &&
|
||
typeof allowable_tags[Symbol.iterator] === 'function') {
|
||
|
||
tag_set = new Set(allowable_tags);
|
||
}
|
||
|
||
else if (typeof allowable_tags.forEach === 'function') {
|
||
// IE11 compatible
|
||
allowable_tags.forEach(tag_set.add, tag_set);
|
||
}
|
||
|
||
return tag_set;
|
||
}
|
||
|
||
function normalize_tag(tag_buffer) {
|
||
let match = NORMALIZE_TAG_REGEX.exec(tag_buffer);
|
||
|
||
return match ? match[1].toLowerCase() : null;
|
||
}
|
||
|
||
if (true) {
|
||
// AMD
|
||
!(__WEBPACK_AMD_DEFINE_RESULT__ = (function module_factory() { return striptags; }).call(exports, __webpack_require__, exports, module),
|
||
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
||
}
|
||
|
||
else {}
|
||
}(this));
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/dialogs/styles/toast.scss":
|
||
/*!***********************************************************!*\
|
||
!*** ./node_modules/@nextcloud/dialogs/styles/toast.scss ***!
|
||
\***********************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony import */ var _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");
|
||
/* harmony import */ var _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);
|
||
/* harmony import */ var _css_loader_dist_cjs_js_sass_loader_dist_cjs_js_toast_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../css-loader/dist/cjs.js!../../../sass-loader/dist/cjs.js!./toast.scss */ "./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/@nextcloud/dialogs/styles/toast.scss");
|
||
|
||
|
||
|
||
var options = {};
|
||
|
||
options.insert = "head";
|
||
options.singleton = false;
|
||
|
||
var update = _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_css_loader_dist_cjs_js_sass_loader_dist_cjs_js_toast_scss__WEBPACK_IMPORTED_MODULE_1__.default, options);
|
||
|
||
|
||
|
||
/* harmony default export */ __webpack_exports__["default"] = (_css_loader_dist_cjs_js_sass_loader_dist_cjs_js_toast_scss__WEBPACK_IMPORTED_MODULE_1__.default.locals || {});
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/AdminSettings.vue?vue&type=style&index=0&id=c8770f2e&scoped=true&lang=scss&":
|
||
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/AdminSettings.vue?vue&type=style&index=0&id=c8770f2e&scoped=true&lang=scss& ***!
|
||
\**********************************************************************************************************************************************************************************************************************************************************************************************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");
|
||
/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);
|
||
/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AdminSettings_vue_vue_type_style_index_0_id_c8770f2e_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../node_modules/css-loader/dist/cjs.js!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/sass-loader/dist/cjs.js!../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdminSettings.vue?vue&type=style&index=0&id=c8770f2e&scoped=true&lang=scss& */ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/AdminSettings.vue?vue&type=style&index=0&id=c8770f2e&scoped=true&lang=scss&");
|
||
|
||
|
||
|
||
var options = {};
|
||
|
||
options.insert = "head";
|
||
options.singleton = false;
|
||
|
||
var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AdminSettings_vue_vue_type_style_index_0_id_c8770f2e_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_1__.default, options);
|
||
|
||
|
||
|
||
/* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AdminSettings_vue_vue_type_style_index_0_id_c8770f2e_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_1__.default.locals || {});
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js":
|
||
/*!****************************************************************************!*\
|
||
!*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***!
|
||
\****************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var isOldIE = function isOldIE() {
|
||
var memo;
|
||
return function memorize() {
|
||
if (typeof memo === 'undefined') {
|
||
// Test for IE <= 9 as proposed by Browserhacks
|
||
// @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805
|
||
// Tests for existence of standard globals is to allow style-loader
|
||
// to operate correctly into non-standard environments
|
||
// @see https://github.com/webpack-contrib/style-loader/issues/177
|
||
memo = Boolean(window && document && document.all && !window.atob);
|
||
}
|
||
|
||
return memo;
|
||
};
|
||
}();
|
||
|
||
var getTarget = function getTarget() {
|
||
var memo = {};
|
||
return function memorize(target) {
|
||
if (typeof memo[target] === 'undefined') {
|
||
var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself
|
||
|
||
if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {
|
||
try {
|
||
// This will throw an exception if access to iframe is blocked
|
||
// due to cross-origin restrictions
|
||
styleTarget = styleTarget.contentDocument.head;
|
||
} catch (e) {
|
||
// istanbul ignore next
|
||
styleTarget = null;
|
||
}
|
||
}
|
||
|
||
memo[target] = styleTarget;
|
||
}
|
||
|
||
return memo[target];
|
||
};
|
||
}();
|
||
|
||
var stylesInDom = [];
|
||
|
||
function getIndexByIdentifier(identifier) {
|
||
var result = -1;
|
||
|
||
for (var i = 0; i < stylesInDom.length; i++) {
|
||
if (stylesInDom[i].identifier === identifier) {
|
||
result = i;
|
||
break;
|
||
}
|
||
}
|
||
|
||
return result;
|
||
}
|
||
|
||
function modulesToDom(list, options) {
|
||
var idCountMap = {};
|
||
var identifiers = [];
|
||
|
||
for (var i = 0; i < list.length; i++) {
|
||
var item = list[i];
|
||
var id = options.base ? item[0] + options.base : item[0];
|
||
var count = idCountMap[id] || 0;
|
||
var identifier = "".concat(id, " ").concat(count);
|
||
idCountMap[id] = count + 1;
|
||
var index = getIndexByIdentifier(identifier);
|
||
var obj = {
|
||
css: item[1],
|
||
media: item[2],
|
||
sourceMap: item[3]
|
||
};
|
||
|
||
if (index !== -1) {
|
||
stylesInDom[index].references++;
|
||
stylesInDom[index].updater(obj);
|
||
} else {
|
||
stylesInDom.push({
|
||
identifier: identifier,
|
||
updater: addStyle(obj, options),
|
||
references: 1
|
||
});
|
||
}
|
||
|
||
identifiers.push(identifier);
|
||
}
|
||
|
||
return identifiers;
|
||
}
|
||
|
||
function insertStyleElement(options) {
|
||
var style = document.createElement('style');
|
||
var attributes = options.attributes || {};
|
||
|
||
if (typeof attributes.nonce === 'undefined') {
|
||
var nonce = true ? __webpack_require__.nc : 0;
|
||
|
||
if (nonce) {
|
||
attributes.nonce = nonce;
|
||
}
|
||
}
|
||
|
||
Object.keys(attributes).forEach(function (key) {
|
||
style.setAttribute(key, attributes[key]);
|
||
});
|
||
|
||
if (typeof options.insert === 'function') {
|
||
options.insert(style);
|
||
} else {
|
||
var target = getTarget(options.insert || 'head');
|
||
|
||
if (!target) {
|
||
throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");
|
||
}
|
||
|
||
target.appendChild(style);
|
||
}
|
||
|
||
return style;
|
||
}
|
||
|
||
function removeStyleElement(style) {
|
||
// istanbul ignore if
|
||
if (style.parentNode === null) {
|
||
return false;
|
||
}
|
||
|
||
style.parentNode.removeChild(style);
|
||
}
|
||
/* istanbul ignore next */
|
||
|
||
|
||
var replaceText = function replaceText() {
|
||
var textStore = [];
|
||
return function replace(index, replacement) {
|
||
textStore[index] = replacement;
|
||
return textStore.filter(Boolean).join('\n');
|
||
};
|
||
}();
|
||
|
||
function applyToSingletonTag(style, index, remove, obj) {
|
||
var css = remove ? '' : obj.media ? "@media ".concat(obj.media, " {").concat(obj.css, "}") : obj.css; // For old IE
|
||
|
||
/* istanbul ignore if */
|
||
|
||
if (style.styleSheet) {
|
||
style.styleSheet.cssText = replaceText(index, css);
|
||
} else {
|
||
var cssNode = document.createTextNode(css);
|
||
var childNodes = style.childNodes;
|
||
|
||
if (childNodes[index]) {
|
||
style.removeChild(childNodes[index]);
|
||
}
|
||
|
||
if (childNodes.length) {
|
||
style.insertBefore(cssNode, childNodes[index]);
|
||
} else {
|
||
style.appendChild(cssNode);
|
||
}
|
||
}
|
||
}
|
||
|
||
function applyToTag(style, options, obj) {
|
||
var css = obj.css;
|
||
var media = obj.media;
|
||
var sourceMap = obj.sourceMap;
|
||
|
||
if (media) {
|
||
style.setAttribute('media', media);
|
||
} else {
|
||
style.removeAttribute('media');
|
||
}
|
||
|
||
if (sourceMap && typeof btoa !== 'undefined') {
|
||
css += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */");
|
||
} // For old IE
|
||
|
||
/* istanbul ignore if */
|
||
|
||
|
||
if (style.styleSheet) {
|
||
style.styleSheet.cssText = css;
|
||
} else {
|
||
while (style.firstChild) {
|
||
style.removeChild(style.firstChild);
|
||
}
|
||
|
||
style.appendChild(document.createTextNode(css));
|
||
}
|
||
}
|
||
|
||
var singleton = null;
|
||
var singletonCounter = 0;
|
||
|
||
function addStyle(obj, options) {
|
||
var style;
|
||
var update;
|
||
var remove;
|
||
|
||
if (options.singleton) {
|
||
var styleIndex = singletonCounter++;
|
||
style = singleton || (singleton = insertStyleElement(options));
|
||
update = applyToSingletonTag.bind(null, style, styleIndex, false);
|
||
remove = applyToSingletonTag.bind(null, style, styleIndex, true);
|
||
} else {
|
||
style = insertStyleElement(options);
|
||
update = applyToTag.bind(null, style, options);
|
||
|
||
remove = function remove() {
|
||
removeStyleElement(style);
|
||
};
|
||
}
|
||
|
||
update(obj);
|
||
return function updateStyle(newObj) {
|
||
if (newObj) {
|
||
if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {
|
||
return;
|
||
}
|
||
|
||
update(obj = newObj);
|
||
} else {
|
||
remove();
|
||
}
|
||
};
|
||
}
|
||
|
||
module.exports = function (list, options) {
|
||
options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>
|
||
// tags it will allow on a page
|
||
|
||
if (!options.singleton && typeof options.singleton !== 'boolean') {
|
||
options.singleton = isOldIE();
|
||
}
|
||
|
||
list = list || [];
|
||
var lastIdentifiers = modulesToDom(list, options);
|
||
return function update(newList) {
|
||
newList = newList || [];
|
||
|
||
if (Object.prototype.toString.call(newList) !== '[object Array]') {
|
||
return;
|
||
}
|
||
|
||
for (var i = 0; i < lastIdentifiers.length; i++) {
|
||
var identifier = lastIdentifiers[i];
|
||
var index = getIndexByIdentifier(identifier);
|
||
stylesInDom[index].references--;
|
||
}
|
||
|
||
var newLastIdentifiers = modulesToDom(newList, options);
|
||
|
||
for (var _i = 0; _i < lastIdentifiers.length; _i++) {
|
||
var _identifier = lastIdentifiers[_i];
|
||
|
||
var _index = getIndexByIdentifier(_identifier);
|
||
|
||
if (stylesInDom[_index].references === 0) {
|
||
stylesInDom[_index].updater();
|
||
|
||
stylesInDom.splice(_index, 1);
|
||
}
|
||
}
|
||
|
||
lastIdentifiers = newLastIdentifiers;
|
||
};
|
||
};
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/dialogs/styles/close-dark.svg":
|
||
/*!***************************************************************!*\
|
||
!*** ./node_modules/@nextcloud/dialogs/styles/close-dark.svg ***!
|
||
\***************************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony default export */ __webpack_exports__["default"] = ("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTYiIHdpZHRoPSIxNiI+CiAgPHBhdGggZD0iTTE0IDEyLjNMMTIuMyAxNCA4IDkuNyAzLjcgMTQgMiAxMi4zIDYuMyA4IDIgMy43IDMuNyAyIDggNi4zIDEyLjMgMiAxNCAzLjcgOS43IDh6IiBzdHlsZT0iZmlsbC1vcGFjaXR5OjE7ZmlsbDojZmZmZmZmIi8+Cjwvc3ZnPgo=");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/@nextcloud/dialogs/styles/close.svg":
|
||
/*!**********************************************************!*\
|
||
!*** ./node_modules/@nextcloud/dialogs/styles/close.svg ***!
|
||
\**********************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony default export */ __webpack_exports__["default"] = ("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTYiIHdpZHRoPSIxNiI+CiAgPHBhdGggZD0iTTE0IDEyLjNMMTIuMyAxNCA4IDkuNyAzLjcgMTQgMiAxMi4zIDYuMyA4IDIgMy43IDMuNyAyIDggNi4zIDEyLjMgMiAxNCAzLjcgOS43IDh6Ii8+Cjwvc3ZnPgo=");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/util/support/isBufferBrowser.js":
|
||
/*!******************************************************!*\
|
||
!*** ./node_modules/util/support/isBufferBrowser.js ***!
|
||
\******************************************************/
|
||
/***/ (function(module) {
|
||
|
||
module.exports = function isBuffer(arg) {
|
||
return arg && typeof arg === 'object'
|
||
&& typeof arg.copy === 'function'
|
||
&& typeof arg.fill === 'function'
|
||
&& typeof arg.readUInt8 === 'function';
|
||
}
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/util/support/types.js":
|
||
/*!********************************************!*\
|
||
!*** ./node_modules/util/support/types.js ***!
|
||
\********************************************/
|
||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
// Currently in sync with Node.js lib/internal/util/types.js
|
||
// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9
|
||
|
||
|
||
|
||
var isArgumentsObject = __webpack_require__(/*! is-arguments */ "./node_modules/is-arguments/index.js");
|
||
var isGeneratorFunction = __webpack_require__(/*! is-generator-function */ "./node_modules/is-generator-function/index.js");
|
||
var whichTypedArray = __webpack_require__(/*! which-typed-array */ "./node_modules/which-typed-array/index.js");
|
||
var isTypedArray = __webpack_require__(/*! is-typed-array */ "./node_modules/is-typed-array/index.js");
|
||
|
||
function uncurryThis(f) {
|
||
return f.call.bind(f);
|
||
}
|
||
|
||
var BigIntSupported = typeof BigInt !== 'undefined';
|
||
var SymbolSupported = typeof Symbol !== 'undefined';
|
||
|
||
var ObjectToString = uncurryThis(Object.prototype.toString);
|
||
|
||
var numberValue = uncurryThis(Number.prototype.valueOf);
|
||
var stringValue = uncurryThis(String.prototype.valueOf);
|
||
var booleanValue = uncurryThis(Boolean.prototype.valueOf);
|
||
|
||
if (BigIntSupported) {
|
||
var bigIntValue = uncurryThis(BigInt.prototype.valueOf);
|
||
}
|
||
|
||
if (SymbolSupported) {
|
||
var symbolValue = uncurryThis(Symbol.prototype.valueOf);
|
||
}
|
||
|
||
function checkBoxedPrimitive(value, prototypeValueOf) {
|
||
if (typeof value !== 'object') {
|
||
return false;
|
||
}
|
||
try {
|
||
prototypeValueOf(value);
|
||
return true;
|
||
} catch(e) {
|
||
return false;
|
||
}
|
||
}
|
||
|
||
exports.isArgumentsObject = isArgumentsObject;
|
||
exports.isGeneratorFunction = isGeneratorFunction;
|
||
exports.isTypedArray = isTypedArray;
|
||
|
||
// Taken from here and modified for better browser support
|
||
// https://github.com/sindresorhus/p-is-promise/blob/cda35a513bda03f977ad5cde3a079d237e82d7ef/index.js
|
||
function isPromise(input) {
|
||
return (
|
||
(
|
||
typeof Promise !== 'undefined' &&
|
||
input instanceof Promise
|
||
) ||
|
||
(
|
||
input !== null &&
|
||
typeof input === 'object' &&
|
||
typeof input.then === 'function' &&
|
||
typeof input.catch === 'function'
|
||
)
|
||
);
|
||
}
|
||
exports.isPromise = isPromise;
|
||
|
||
function isArrayBufferView(value) {
|
||
if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {
|
||
return ArrayBuffer.isView(value);
|
||
}
|
||
|
||
return (
|
||
isTypedArray(value) ||
|
||
isDataView(value)
|
||
);
|
||
}
|
||
exports.isArrayBufferView = isArrayBufferView;
|
||
|
||
|
||
function isUint8Array(value) {
|
||
return whichTypedArray(value) === 'Uint8Array';
|
||
}
|
||
exports.isUint8Array = isUint8Array;
|
||
|
||
function isUint8ClampedArray(value) {
|
||
return whichTypedArray(value) === 'Uint8ClampedArray';
|
||
}
|
||
exports.isUint8ClampedArray = isUint8ClampedArray;
|
||
|
||
function isUint16Array(value) {
|
||
return whichTypedArray(value) === 'Uint16Array';
|
||
}
|
||
exports.isUint16Array = isUint16Array;
|
||
|
||
function isUint32Array(value) {
|
||
return whichTypedArray(value) === 'Uint32Array';
|
||
}
|
||
exports.isUint32Array = isUint32Array;
|
||
|
||
function isInt8Array(value) {
|
||
return whichTypedArray(value) === 'Int8Array';
|
||
}
|
||
exports.isInt8Array = isInt8Array;
|
||
|
||
function isInt16Array(value) {
|
||
return whichTypedArray(value) === 'Int16Array';
|
||
}
|
||
exports.isInt16Array = isInt16Array;
|
||
|
||
function isInt32Array(value) {
|
||
return whichTypedArray(value) === 'Int32Array';
|
||
}
|
||
exports.isInt32Array = isInt32Array;
|
||
|
||
function isFloat32Array(value) {
|
||
return whichTypedArray(value) === 'Float32Array';
|
||
}
|
||
exports.isFloat32Array = isFloat32Array;
|
||
|
||
function isFloat64Array(value) {
|
||
return whichTypedArray(value) === 'Float64Array';
|
||
}
|
||
exports.isFloat64Array = isFloat64Array;
|
||
|
||
function isBigInt64Array(value) {
|
||
return whichTypedArray(value) === 'BigInt64Array';
|
||
}
|
||
exports.isBigInt64Array = isBigInt64Array;
|
||
|
||
function isBigUint64Array(value) {
|
||
return whichTypedArray(value) === 'BigUint64Array';
|
||
}
|
||
exports.isBigUint64Array = isBigUint64Array;
|
||
|
||
function isMapToString(value) {
|
||
return ObjectToString(value) === '[object Map]';
|
||
}
|
||
isMapToString.working = (
|
||
typeof Map !== 'undefined' &&
|
||
isMapToString(new Map())
|
||
);
|
||
|
||
function isMap(value) {
|
||
if (typeof Map === 'undefined') {
|
||
return false;
|
||
}
|
||
|
||
return isMapToString.working
|
||
? isMapToString(value)
|
||
: value instanceof Map;
|
||
}
|
||
exports.isMap = isMap;
|
||
|
||
function isSetToString(value) {
|
||
return ObjectToString(value) === '[object Set]';
|
||
}
|
||
isSetToString.working = (
|
||
typeof Set !== 'undefined' &&
|
||
isSetToString(new Set())
|
||
);
|
||
function isSet(value) {
|
||
if (typeof Set === 'undefined') {
|
||
return false;
|
||
}
|
||
|
||
return isSetToString.working
|
||
? isSetToString(value)
|
||
: value instanceof Set;
|
||
}
|
||
exports.isSet = isSet;
|
||
|
||
function isWeakMapToString(value) {
|
||
return ObjectToString(value) === '[object WeakMap]';
|
||
}
|
||
isWeakMapToString.working = (
|
||
typeof WeakMap !== 'undefined' &&
|
||
isWeakMapToString(new WeakMap())
|
||
);
|
||
function isWeakMap(value) {
|
||
if (typeof WeakMap === 'undefined') {
|
||
return false;
|
||
}
|
||
|
||
return isWeakMapToString.working
|
||
? isWeakMapToString(value)
|
||
: value instanceof WeakMap;
|
||
}
|
||
exports.isWeakMap = isWeakMap;
|
||
|
||
function isWeakSetToString(value) {
|
||
return ObjectToString(value) === '[object WeakSet]';
|
||
}
|
||
isWeakSetToString.working = (
|
||
typeof WeakSet !== 'undefined' &&
|
||
isWeakSetToString(new WeakSet())
|
||
);
|
||
function isWeakSet(value) {
|
||
return isWeakSetToString(value);
|
||
}
|
||
exports.isWeakSet = isWeakSet;
|
||
|
||
function isArrayBufferToString(value) {
|
||
return ObjectToString(value) === '[object ArrayBuffer]';
|
||
}
|
||
isArrayBufferToString.working = (
|
||
typeof ArrayBuffer !== 'undefined' &&
|
||
isArrayBufferToString(new ArrayBuffer())
|
||
);
|
||
function isArrayBuffer(value) {
|
||
if (typeof ArrayBuffer === 'undefined') {
|
||
return false;
|
||
}
|
||
|
||
return isArrayBufferToString.working
|
||
? isArrayBufferToString(value)
|
||
: value instanceof ArrayBuffer;
|
||
}
|
||
exports.isArrayBuffer = isArrayBuffer;
|
||
|
||
function isDataViewToString(value) {
|
||
return ObjectToString(value) === '[object DataView]';
|
||
}
|
||
isDataViewToString.working = (
|
||
typeof ArrayBuffer !== 'undefined' &&
|
||
typeof DataView !== 'undefined' &&
|
||
isDataViewToString(new DataView(new ArrayBuffer(1), 0, 1))
|
||
);
|
||
function isDataView(value) {
|
||
if (typeof DataView === 'undefined') {
|
||
return false;
|
||
}
|
||
|
||
return isDataViewToString.working
|
||
? isDataViewToString(value)
|
||
: value instanceof DataView;
|
||
}
|
||
exports.isDataView = isDataView;
|
||
|
||
function isSharedArrayBufferToString(value) {
|
||
return ObjectToString(value) === '[object SharedArrayBuffer]';
|
||
}
|
||
isSharedArrayBufferToString.working = (
|
||
typeof SharedArrayBuffer !== 'undefined' &&
|
||
isSharedArrayBufferToString(new SharedArrayBuffer())
|
||
);
|
||
function isSharedArrayBuffer(value) {
|
||
if (typeof SharedArrayBuffer === 'undefined') {
|
||
return false;
|
||
}
|
||
|
||
return isSharedArrayBufferToString.working
|
||
? isSharedArrayBufferToString(value)
|
||
: value instanceof SharedArrayBuffer;
|
||
}
|
||
exports.isSharedArrayBuffer = isSharedArrayBuffer;
|
||
|
||
function isAsyncFunction(value) {
|
||
return ObjectToString(value) === '[object AsyncFunction]';
|
||
}
|
||
exports.isAsyncFunction = isAsyncFunction;
|
||
|
||
function isMapIterator(value) {
|
||
return ObjectToString(value) === '[object Map Iterator]';
|
||
}
|
||
exports.isMapIterator = isMapIterator;
|
||
|
||
function isSetIterator(value) {
|
||
return ObjectToString(value) === '[object Set Iterator]';
|
||
}
|
||
exports.isSetIterator = isSetIterator;
|
||
|
||
function isGeneratorObject(value) {
|
||
return ObjectToString(value) === '[object Generator]';
|
||
}
|
||
exports.isGeneratorObject = isGeneratorObject;
|
||
|
||
function isWebAssemblyCompiledModule(value) {
|
||
return ObjectToString(value) === '[object WebAssembly.Module]';
|
||
}
|
||
exports.isWebAssemblyCompiledModule = isWebAssemblyCompiledModule;
|
||
|
||
function isNumberObject(value) {
|
||
return checkBoxedPrimitive(value, numberValue);
|
||
}
|
||
exports.isNumberObject = isNumberObject;
|
||
|
||
function isStringObject(value) {
|
||
return checkBoxedPrimitive(value, stringValue);
|
||
}
|
||
exports.isStringObject = isStringObject;
|
||
|
||
function isBooleanObject(value) {
|
||
return checkBoxedPrimitive(value, booleanValue);
|
||
}
|
||
exports.isBooleanObject = isBooleanObject;
|
||
|
||
function isBigIntObject(value) {
|
||
return BigIntSupported && checkBoxedPrimitive(value, bigIntValue);
|
||
}
|
||
exports.isBigIntObject = isBigIntObject;
|
||
|
||
function isSymbolObject(value) {
|
||
return SymbolSupported && checkBoxedPrimitive(value, symbolValue);
|
||
}
|
||
exports.isSymbolObject = isSymbolObject;
|
||
|
||
function isBoxedPrimitive(value) {
|
||
return (
|
||
isNumberObject(value) ||
|
||
isStringObject(value) ||
|
||
isBooleanObject(value) ||
|
||
isBigIntObject(value) ||
|
||
isSymbolObject(value)
|
||
);
|
||
}
|
||
exports.isBoxedPrimitive = isBoxedPrimitive;
|
||
|
||
function isAnyArrayBuffer(value) {
|
||
return typeof Uint8Array !== 'undefined' && (
|
||
isArrayBuffer(value) ||
|
||
isSharedArrayBuffer(value)
|
||
);
|
||
}
|
||
exports.isAnyArrayBuffer = isAnyArrayBuffer;
|
||
|
||
['isProxy', 'isExternal', 'isModuleNamespaceObject'].forEach(function(method) {
|
||
Object.defineProperty(exports, method, {
|
||
enumerable: false,
|
||
value: function() {
|
||
throw new Error(method + ' is not supported in userland');
|
||
}
|
||
});
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/util/util.js":
|
||
/*!***********************************!*\
|
||
!*** ./node_modules/util/util.js ***!
|
||
\***********************************/
|
||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
||
|
||
/* provided dependency */ var process = __webpack_require__(/*! process/browser */ "./node_modules/process/browser.js");
|
||
/* provided dependency */ var console = __webpack_require__(/*! console-browserify */ "./node_modules/console-browserify/index.js");
|
||
// Copyright Joyent, Inc. and other Node contributors.
|
||
//
|
||
// Permission is hereby granted, free of charge, to any person obtaining a
|
||
// copy of this software and associated documentation files (the
|
||
// "Software"), to deal in the Software without restriction, including
|
||
// without limitation the rights to use, copy, modify, merge, publish,
|
||
// distribute, sublicense, and/or sell copies of the Software, and to permit
|
||
// persons to whom the Software is furnished to do so, subject to the
|
||
// following conditions:
|
||
//
|
||
// The above copyright notice and this permission notice shall be included
|
||
// in all copies or substantial portions of the Software.
|
||
//
|
||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
|
||
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
||
// USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||
|
||
var getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||
|
||
function getOwnPropertyDescriptors(obj) {
|
||
var keys = Object.keys(obj);
|
||
var descriptors = {};
|
||
for (var i = 0; i < keys.length; i++) {
|
||
descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);
|
||
}
|
||
return descriptors;
|
||
};
|
||
|
||
var formatRegExp = /%[sdj%]/g;
|
||
exports.format = function(f) {
|
||
if (!isString(f)) {
|
||
var objects = [];
|
||
for (var i = 0; i < arguments.length; i++) {
|
||
objects.push(inspect(arguments[i]));
|
||
}
|
||
return objects.join(' ');
|
||
}
|
||
|
||
var i = 1;
|
||
var args = arguments;
|
||
var len = args.length;
|
||
var str = String(f).replace(formatRegExp, function(x) {
|
||
if (x === '%%') return '%';
|
||
if (i >= len) return x;
|
||
switch (x) {
|
||
case '%s': return String(args[i++]);
|
||
case '%d': return Number(args[i++]);
|
||
case '%j':
|
||
try {
|
||
return JSON.stringify(args[i++]);
|
||
} catch (_) {
|
||
return '[Circular]';
|
||
}
|
||
default:
|
||
return x;
|
||
}
|
||
});
|
||
for (var x = args[i]; i < len; x = args[++i]) {
|
||
if (isNull(x) || !isObject(x)) {
|
||
str += ' ' + x;
|
||
} else {
|
||
str += ' ' + inspect(x);
|
||
}
|
||
}
|
||
return str;
|
||
};
|
||
|
||
|
||
// Mark that a method should not be used.
|
||
// Returns a modified function which warns once by default.
|
||
// If --no-deprecation is set, then it is a no-op.
|
||
exports.deprecate = function(fn, msg) {
|
||
if (typeof process !== 'undefined' && process.noDeprecation === true) {
|
||
return fn;
|
||
}
|
||
|
||
// Allow for deprecating things in the process of starting up.
|
||
if (typeof process === 'undefined') {
|
||
return function() {
|
||
return exports.deprecate(fn, msg).apply(this, arguments);
|
||
};
|
||
}
|
||
|
||
var warned = false;
|
||
function deprecated() {
|
||
if (!warned) {
|
||
if (process.throwDeprecation) {
|
||
throw new Error(msg);
|
||
} else if (process.traceDeprecation) {
|
||
console.trace(msg);
|
||
} else {
|
||
console.error(msg);
|
||
}
|
||
warned = true;
|
||
}
|
||
return fn.apply(this, arguments);
|
||
}
|
||
|
||
return deprecated;
|
||
};
|
||
|
||
|
||
var debugs = {};
|
||
var debugEnvRegex = /^$/;
|
||
|
||
if (process.env.NODE_DEBUG) {
|
||
var debugEnv = process.env.NODE_DEBUG;
|
||
debugEnv = debugEnv.replace(/[|\\{}()[\]^$+?.]/g, '\\$&')
|
||
.replace(/\*/g, '.*')
|
||
.replace(/,/g, '$|^')
|
||
.toUpperCase();
|
||
debugEnvRegex = new RegExp('^' + debugEnv + '$', 'i');
|
||
}
|
||
exports.debuglog = function(set) {
|
||
set = set.toUpperCase();
|
||
if (!debugs[set]) {
|
||
if (debugEnvRegex.test(set)) {
|
||
var pid = process.pid;
|
||
debugs[set] = function() {
|
||
var msg = exports.format.apply(exports, arguments);
|
||
console.error('%s %d: %s', set, pid, msg);
|
||
};
|
||
} else {
|
||
debugs[set] = function() {};
|
||
}
|
||
}
|
||
return debugs[set];
|
||
};
|
||
|
||
|
||
/**
|
||
* Echos the value of a value. Trys to print the value out
|
||
* in the best way possible given the different types.
|
||
*
|
||
* @param {Object} obj The object to print out.
|
||
* @param {Object} opts Optional options object that alters the output.
|
||
*/
|
||
/* legacy: obj, showHidden, depth, colors*/
|
||
function inspect(obj, opts) {
|
||
// default options
|
||
var ctx = {
|
||
seen: [],
|
||
stylize: stylizeNoColor
|
||
};
|
||
// legacy...
|
||
if (arguments.length >= 3) ctx.depth = arguments[2];
|
||
if (arguments.length >= 4) ctx.colors = arguments[3];
|
||
if (isBoolean(opts)) {
|
||
// legacy...
|
||
ctx.showHidden = opts;
|
||
} else if (opts) {
|
||
// got an "options" object
|
||
exports._extend(ctx, opts);
|
||
}
|
||
// set default options
|
||
if (isUndefined(ctx.showHidden)) ctx.showHidden = false;
|
||
if (isUndefined(ctx.depth)) ctx.depth = 2;
|
||
if (isUndefined(ctx.colors)) ctx.colors = false;
|
||
if (isUndefined(ctx.customInspect)) ctx.customInspect = true;
|
||
if (ctx.colors) ctx.stylize = stylizeWithColor;
|
||
return formatValue(ctx, obj, ctx.depth);
|
||
}
|
||
exports.inspect = inspect;
|
||
|
||
|
||
// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics
|
||
inspect.colors = {
|
||
'bold' : [1, 22],
|
||
'italic' : [3, 23],
|
||
'underline' : [4, 24],
|
||
'inverse' : [7, 27],
|
||
'white' : [37, 39],
|
||
'grey' : [90, 39],
|
||
'black' : [30, 39],
|
||
'blue' : [34, 39],
|
||
'cyan' : [36, 39],
|
||
'green' : [32, 39],
|
||
'magenta' : [35, 39],
|
||
'red' : [31, 39],
|
||
'yellow' : [33, 39]
|
||
};
|
||
|
||
// Don't use 'blue' not visible on cmd.exe
|
||
inspect.styles = {
|
||
'special': 'cyan',
|
||
'number': 'yellow',
|
||
'boolean': 'yellow',
|
||
'undefined': 'grey',
|
||
'null': 'bold',
|
||
'string': 'green',
|
||
'date': 'magenta',
|
||
// "name": intentionally not styling
|
||
'regexp': 'red'
|
||
};
|
||
|
||
|
||
function stylizeWithColor(str, styleType) {
|
||
var style = inspect.styles[styleType];
|
||
|
||
if (style) {
|
||
return '\u001b[' + inspect.colors[style][0] + 'm' + str +
|
||
'\u001b[' + inspect.colors[style][1] + 'm';
|
||
} else {
|
||
return str;
|
||
}
|
||
}
|
||
|
||
|
||
function stylizeNoColor(str, styleType) {
|
||
return str;
|
||
}
|
||
|
||
|
||
function arrayToHash(array) {
|
||
var hash = {};
|
||
|
||
array.forEach(function(val, idx) {
|
||
hash[val] = true;
|
||
});
|
||
|
||
return hash;
|
||
}
|
||
|
||
|
||
function formatValue(ctx, value, recurseTimes) {
|
||
// Provide a hook for user-specified inspect functions.
|
||
// Check that value is an object with an inspect function on it
|
||
if (ctx.customInspect &&
|
||
value &&
|
||
isFunction(value.inspect) &&
|
||
// Filter out the util module, it's inspect function is special
|
||
value.inspect !== exports.inspect &&
|
||
// Also filter out any prototype objects using the circular check.
|
||
!(value.constructor && value.constructor.prototype === value)) {
|
||
var ret = value.inspect(recurseTimes, ctx);
|
||
if (!isString(ret)) {
|
||
ret = formatValue(ctx, ret, recurseTimes);
|
||
}
|
||
return ret;
|
||
}
|
||
|
||
// Primitive types cannot have properties
|
||
var primitive = formatPrimitive(ctx, value);
|
||
if (primitive) {
|
||
return primitive;
|
||
}
|
||
|
||
// Look up the keys of the object.
|
||
var keys = Object.keys(value);
|
||
var visibleKeys = arrayToHash(keys);
|
||
|
||
if (ctx.showHidden) {
|
||
keys = Object.getOwnPropertyNames(value);
|
||
}
|
||
|
||
// IE doesn't make error fields non-enumerable
|
||
// http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx
|
||
if (isError(value)
|
||
&& (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {
|
||
return formatError(value);
|
||
}
|
||
|
||
// Some type of object without properties can be shortcutted.
|
||
if (keys.length === 0) {
|
||
if (isFunction(value)) {
|
||
var name = value.name ? ': ' + value.name : '';
|
||
return ctx.stylize('[Function' + name + ']', 'special');
|
||
}
|
||
if (isRegExp(value)) {
|
||
return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
|
||
}
|
||
if (isDate(value)) {
|
||
return ctx.stylize(Date.prototype.toString.call(value), 'date');
|
||
}
|
||
if (isError(value)) {
|
||
return formatError(value);
|
||
}
|
||
}
|
||
|
||
var base = '', array = false, braces = ['{', '}'];
|
||
|
||
// Make Array say that they are Array
|
||
if (isArray(value)) {
|
||
array = true;
|
||
braces = ['[', ']'];
|
||
}
|
||
|
||
// Make functions say that they are functions
|
||
if (isFunction(value)) {
|
||
var n = value.name ? ': ' + value.name : '';
|
||
base = ' [Function' + n + ']';
|
||
}
|
||
|
||
// Make RegExps say that they are RegExps
|
||
if (isRegExp(value)) {
|
||
base = ' ' + RegExp.prototype.toString.call(value);
|
||
}
|
||
|
||
// Make dates with properties first say the date
|
||
if (isDate(value)) {
|
||
base = ' ' + Date.prototype.toUTCString.call(value);
|
||
}
|
||
|
||
// Make error with message first say the error
|
||
if (isError(value)) {
|
||
base = ' ' + formatError(value);
|
||
}
|
||
|
||
if (keys.length === 0 && (!array || value.length == 0)) {
|
||
return braces[0] + base + braces[1];
|
||
}
|
||
|
||
if (recurseTimes < 0) {
|
||
if (isRegExp(value)) {
|
||
return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
|
||
} else {
|
||
return ctx.stylize('[Object]', 'special');
|
||
}
|
||
}
|
||
|
||
ctx.seen.push(value);
|
||
|
||
var output;
|
||
if (array) {
|
||
output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);
|
||
} else {
|
||
output = keys.map(function(key) {
|
||
return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);
|
||
});
|
||
}
|
||
|
||
ctx.seen.pop();
|
||
|
||
return reduceToSingleString(output, base, braces);
|
||
}
|
||
|
||
|
||
function formatPrimitive(ctx, value) {
|
||
if (isUndefined(value))
|
||
return ctx.stylize('undefined', 'undefined');
|
||
if (isString(value)) {
|
||
var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '')
|
||
.replace(/'/g, "\\'")
|
||
.replace(/\\"/g, '"') + '\'';
|
||
return ctx.stylize(simple, 'string');
|
||
}
|
||
if (isNumber(value))
|
||
return ctx.stylize('' + value, 'number');
|
||
if (isBoolean(value))
|
||
return ctx.stylize('' + value, 'boolean');
|
||
// For some reason typeof null is "object", so special case here.
|
||
if (isNull(value))
|
||
return ctx.stylize('null', 'null');
|
||
}
|
||
|
||
|
||
function formatError(value) {
|
||
return '[' + Error.prototype.toString.call(value) + ']';
|
||
}
|
||
|
||
|
||
function formatArray(ctx, value, recurseTimes, visibleKeys, keys) {
|
||
var output = [];
|
||
for (var i = 0, l = value.length; i < l; ++i) {
|
||
if (hasOwnProperty(value, String(i))) {
|
||
output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
|
||
String(i), true));
|
||
} else {
|
||
output.push('');
|
||
}
|
||
}
|
||
keys.forEach(function(key) {
|
||
if (!key.match(/^\d+$/)) {
|
||
output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
|
||
key, true));
|
||
}
|
||
});
|
||
return output;
|
||
}
|
||
|
||
|
||
function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {
|
||
var name, str, desc;
|
||
desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };
|
||
if (desc.get) {
|
||
if (desc.set) {
|
||
str = ctx.stylize('[Getter/Setter]', 'special');
|
||
} else {
|
||
str = ctx.stylize('[Getter]', 'special');
|
||
}
|
||
} else {
|
||
if (desc.set) {
|
||
str = ctx.stylize('[Setter]', 'special');
|
||
}
|
||
}
|
||
if (!hasOwnProperty(visibleKeys, key)) {
|
||
name = '[' + key + ']';
|
||
}
|
||
if (!str) {
|
||
if (ctx.seen.indexOf(desc.value) < 0) {
|
||
if (isNull(recurseTimes)) {
|
||
str = formatValue(ctx, desc.value, null);
|
||
} else {
|
||
str = formatValue(ctx, desc.value, recurseTimes - 1);
|
||
}
|
||
if (str.indexOf('\n') > -1) {
|
||
if (array) {
|
||
str = str.split('\n').map(function(line) {
|
||
return ' ' + line;
|
||
}).join('\n').substr(2);
|
||
} else {
|
||
str = '\n' + str.split('\n').map(function(line) {
|
||
return ' ' + line;
|
||
}).join('\n');
|
||
}
|
||
}
|
||
} else {
|
||
str = ctx.stylize('[Circular]', 'special');
|
||
}
|
||
}
|
||
if (isUndefined(name)) {
|
||
if (array && key.match(/^\d+$/)) {
|
||
return str;
|
||
}
|
||
name = JSON.stringify('' + key);
|
||
if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) {
|
||
name = name.substr(1, name.length - 2);
|
||
name = ctx.stylize(name, 'name');
|
||
} else {
|
||
name = name.replace(/'/g, "\\'")
|
||
.replace(/\\"/g, '"')
|
||
.replace(/(^"|"$)/g, "'");
|
||
name = ctx.stylize(name, 'string');
|
||
}
|
||
}
|
||
|
||
return name + ': ' + str;
|
||
}
|
||
|
||
|
||
function reduceToSingleString(output, base, braces) {
|
||
var numLinesEst = 0;
|
||
var length = output.reduce(function(prev, cur) {
|
||
numLinesEst++;
|
||
if (cur.indexOf('\n') >= 0) numLinesEst++;
|
||
return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1;
|
||
}, 0);
|
||
|
||
if (length > 60) {
|
||
return braces[0] +
|
||
(base === '' ? '' : base + '\n ') +
|
||
' ' +
|
||
output.join(',\n ') +
|
||
' ' +
|
||
braces[1];
|
||
}
|
||
|
||
return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];
|
||
}
|
||
|
||
|
||
// NOTE: These type checking functions intentionally don't use `instanceof`
|
||
// because it is fragile and can be easily faked with `Object.create()`.
|
||
exports.types = __webpack_require__(/*! ./support/types */ "./node_modules/util/support/types.js");
|
||
|
||
function isArray(ar) {
|
||
return Array.isArray(ar);
|
||
}
|
||
exports.isArray = isArray;
|
||
|
||
function isBoolean(arg) {
|
||
return typeof arg === 'boolean';
|
||
}
|
||
exports.isBoolean = isBoolean;
|
||
|
||
function isNull(arg) {
|
||
return arg === null;
|
||
}
|
||
exports.isNull = isNull;
|
||
|
||
function isNullOrUndefined(arg) {
|
||
return arg == null;
|
||
}
|
||
exports.isNullOrUndefined = isNullOrUndefined;
|
||
|
||
function isNumber(arg) {
|
||
return typeof arg === 'number';
|
||
}
|
||
exports.isNumber = isNumber;
|
||
|
||
function isString(arg) {
|
||
return typeof arg === 'string';
|
||
}
|
||
exports.isString = isString;
|
||
|
||
function isSymbol(arg) {
|
||
return typeof arg === 'symbol';
|
||
}
|
||
exports.isSymbol = isSymbol;
|
||
|
||
function isUndefined(arg) {
|
||
return arg === void 0;
|
||
}
|
||
exports.isUndefined = isUndefined;
|
||
|
||
function isRegExp(re) {
|
||
return isObject(re) && objectToString(re) === '[object RegExp]';
|
||
}
|
||
exports.isRegExp = isRegExp;
|
||
exports.types.isRegExp = isRegExp;
|
||
|
||
function isObject(arg) {
|
||
return typeof arg === 'object' && arg !== null;
|
||
}
|
||
exports.isObject = isObject;
|
||
|
||
function isDate(d) {
|
||
return isObject(d) && objectToString(d) === '[object Date]';
|
||
}
|
||
exports.isDate = isDate;
|
||
exports.types.isDate = isDate;
|
||
|
||
function isError(e) {
|
||
return isObject(e) &&
|
||
(objectToString(e) === '[object Error]' || e instanceof Error);
|
||
}
|
||
exports.isError = isError;
|
||
exports.types.isNativeError = isError;
|
||
|
||
function isFunction(arg) {
|
||
return typeof arg === 'function';
|
||
}
|
||
exports.isFunction = isFunction;
|
||
|
||
function isPrimitive(arg) {
|
||
return arg === null ||
|
||
typeof arg === 'boolean' ||
|
||
typeof arg === 'number' ||
|
||
typeof arg === 'string' ||
|
||
typeof arg === 'symbol' || // ES6 symbol
|
||
typeof arg === 'undefined';
|
||
}
|
||
exports.isPrimitive = isPrimitive;
|
||
|
||
exports.isBuffer = __webpack_require__(/*! ./support/isBuffer */ "./node_modules/util/support/isBufferBrowser.js");
|
||
|
||
function objectToString(o) {
|
||
return Object.prototype.toString.call(o);
|
||
}
|
||
|
||
|
||
function pad(n) {
|
||
return n < 10 ? '0' + n.toString(10) : n.toString(10);
|
||
}
|
||
|
||
|
||
var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',
|
||
'Oct', 'Nov', 'Dec'];
|
||
|
||
// 26 Feb 16:19:34
|
||
function timestamp() {
|
||
var d = new Date();
|
||
var time = [pad(d.getHours()),
|
||
pad(d.getMinutes()),
|
||
pad(d.getSeconds())].join(':');
|
||
return [d.getDate(), months[d.getMonth()], time].join(' ');
|
||
}
|
||
|
||
|
||
// log is just a thin wrapper to console.log that prepends a timestamp
|
||
exports.log = function() {
|
||
console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));
|
||
};
|
||
|
||
|
||
/**
|
||
* Inherit the prototype methods from one constructor into another.
|
||
*
|
||
* The Function.prototype.inherits from lang.js rewritten as a standalone
|
||
* function (not on Function.prototype). NOTE: If this file is to be loaded
|
||
* during bootstrapping this function needs to be rewritten using some native
|
||
* functions as prototype setup using normal JavaScript does not work as
|
||
* expected during bootstrapping (see mirror.js in r114903).
|
||
*
|
||
* @param {function} ctor Constructor function which needs to inherit the
|
||
* prototype.
|
||
* @param {function} superCtor Constructor function to inherit prototype from.
|
||
*/
|
||
exports.inherits = __webpack_require__(/*! inherits */ "./node_modules/inherits/inherits_browser.js");
|
||
|
||
exports._extend = function(origin, add) {
|
||
// Don't do anything if add isn't an object
|
||
if (!add || !isObject(add)) return origin;
|
||
|
||
var keys = Object.keys(add);
|
||
var i = keys.length;
|
||
while (i--) {
|
||
origin[keys[i]] = add[keys[i]];
|
||
}
|
||
return origin;
|
||
};
|
||
|
||
function hasOwnProperty(obj, prop) {
|
||
return Object.prototype.hasOwnProperty.call(obj, prop);
|
||
}
|
||
|
||
var kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;
|
||
|
||
exports.promisify = function promisify(original) {
|
||
if (typeof original !== 'function')
|
||
throw new TypeError('The "original" argument must be of type Function');
|
||
|
||
if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {
|
||
var fn = original[kCustomPromisifiedSymbol];
|
||
if (typeof fn !== 'function') {
|
||
throw new TypeError('The "util.promisify.custom" argument must be of type Function');
|
||
}
|
||
Object.defineProperty(fn, kCustomPromisifiedSymbol, {
|
||
value: fn, enumerable: false, writable: false, configurable: true
|
||
});
|
||
return fn;
|
||
}
|
||
|
||
function fn() {
|
||
var promiseResolve, promiseReject;
|
||
var promise = new Promise(function (resolve, reject) {
|
||
promiseResolve = resolve;
|
||
promiseReject = reject;
|
||
});
|
||
|
||
var args = [];
|
||
for (var i = 0; i < arguments.length; i++) {
|
||
args.push(arguments[i]);
|
||
}
|
||
args.push(function (err, value) {
|
||
if (err) {
|
||
promiseReject(err);
|
||
} else {
|
||
promiseResolve(value);
|
||
}
|
||
});
|
||
|
||
try {
|
||
original.apply(this, args);
|
||
} catch (err) {
|
||
promiseReject(err);
|
||
}
|
||
|
||
return promise;
|
||
}
|
||
|
||
Object.setPrototypeOf(fn, Object.getPrototypeOf(original));
|
||
|
||
if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {
|
||
value: fn, enumerable: false, writable: false, configurable: true
|
||
});
|
||
return Object.defineProperties(
|
||
fn,
|
||
getOwnPropertyDescriptors(original)
|
||
);
|
||
}
|
||
|
||
exports.promisify.custom = kCustomPromisifiedSymbol
|
||
|
||
function callbackifyOnRejected(reason, cb) {
|
||
// `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).
|
||
// Because `null` is a special error value in callbacks which means "no error
|
||
// occurred", we error-wrap so the callback consumer can distinguish between
|
||
// "the promise rejected with null" or "the promise fulfilled with undefined".
|
||
if (!reason) {
|
||
var newReason = new Error('Promise was rejected with a falsy value');
|
||
newReason.reason = reason;
|
||
reason = newReason;
|
||
}
|
||
return cb(reason);
|
||
}
|
||
|
||
function callbackify(original) {
|
||
if (typeof original !== 'function') {
|
||
throw new TypeError('The "original" argument must be of type Function');
|
||
}
|
||
|
||
// We DO NOT return the promise as it gives the user a false sense that
|
||
// the promise is actually somehow related to the callback's execution
|
||
// and that the callback throwing will reject the promise.
|
||
function callbackified() {
|
||
var args = [];
|
||
for (var i = 0; i < arguments.length; i++) {
|
||
args.push(arguments[i]);
|
||
}
|
||
|
||
var maybeCb = args.pop();
|
||
if (typeof maybeCb !== 'function') {
|
||
throw new TypeError('The last argument must be of type Function');
|
||
}
|
||
var self = this;
|
||
var cb = function() {
|
||
return maybeCb.apply(self, arguments);
|
||
};
|
||
// In true node style we process the callback on `nextTick` with all the
|
||
// implications (stack, `uncaughtException`, `async_hooks`)
|
||
original.apply(this, args)
|
||
.then(function(ret) { process.nextTick(cb.bind(null, null, ret)) },
|
||
function(rej) { process.nextTick(callbackifyOnRejected.bind(null, rej, cb)) });
|
||
}
|
||
|
||
Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));
|
||
Object.defineProperties(callbackified,
|
||
getOwnPropertyDescriptors(original));
|
||
return callbackified;
|
||
}
|
||
exports.callbackify = callbackify;
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/v-click-outside/dist/v-click-outside.umd.js":
|
||
/*!******************************************************************!*\
|
||
!*** ./node_modules/v-click-outside/dist/v-click-outside.umd.js ***!
|
||
\******************************************************************/
|
||
/***/ (function(module) {
|
||
|
||
!function(e,n){ true?module.exports=n():0}(this,function(){var e="undefined"!=typeof window,n="undefined"!=typeof navigator,t=e&&("ontouchstart"in window||n&&navigator.msMaxTouchPoints>0)?["touchstart"]:["click"];function i(e){var n=e.event,t=e.handler;(0,e.middleware)(n)&&t(n)}function r(e,n){var r=function(e){var n="function"==typeof e;if(!n&&"object"!=typeof e)throw new Error("v-click-outside: Binding value must be a function or an object");return{handler:n?e:e.handler,middleware:e.middleware||function(e){return e},events:e.events||t,isActive:!(!1===e.isActive),detectIframe:!(!1===e.detectIframe)}}(n.value),d=r.handler,o=r.middleware,a=r.detectIframe;if(r.isActive){if(e["__v-click-outside"]=r.events.map(function(n){return{event:n,srcTarget:document.documentElement,handler:function(n){return function(e){var n=e.el,t=e.event,r=e.handler,d=e.middleware,o=t.path||t.composedPath&&t.composedPath();(o?o.indexOf(n)<0:!n.contains(t.target))&&i({event:t,handler:r,middleware:d})}({el:e,event:n,handler:d,middleware:o})}}}),a){var c={event:"blur",srcTarget:window,handler:function(n){return function(e){var n=e.el,t=e.event,r=e.handler,d=e.middleware;setTimeout(function(){var e=document.activeElement;e&&"IFRAME"===e.tagName&&!n.contains(e)&&i({event:t,handler:r,middleware:d})},0)}({el:e,event:n,handler:d,middleware:o})}};e["__v-click-outside"]=[].concat(e["__v-click-outside"],[c])}e["__v-click-outside"].forEach(function(n){var t=n.event,i=n.srcTarget,r=n.handler;return setTimeout(function(){e["__v-click-outside"]&&i.addEventListener(t,r,!1)},0)})}}function d(e){(e["__v-click-outside"]||[]).forEach(function(e){return e.srcTarget.removeEventListener(e.event,e.handler,!1)}),delete e["__v-click-outside"]}var o=e?{bind:r,update:function(e,n){var t=n.value,i=n.oldValue;JSON.stringify(t)!==JSON.stringify(i)&&(d(e),r(e,{value:t}))},unbind:d}:{};return{install:function(e){e.directive("click-outside",o)},directive:o}});
|
||
//# sourceMappingURL=v-click-outside.umd.js.map
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/v-tooltip/dist/v-tooltip.esm.js":
|
||
/*!******************************************************!*\
|
||
!*** ./node_modules/v-tooltip/dist/v-tooltip.esm.js ***!
|
||
\******************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ "VClosePopover": function() { return /* binding */ VClosePopover; },
|
||
/* harmony export */ "VPopover": function() { return /* binding */ VPopover; },
|
||
/* harmony export */ "VTooltip": function() { return /* binding */ VTooltip; },
|
||
/* harmony export */ "createTooltip": function() { return /* binding */ createTooltip; },
|
||
/* harmony export */ "destroyTooltip": function() { return /* binding */ destroyTooltip; },
|
||
/* harmony export */ "install": function() { return /* binding */ install; }
|
||
/* harmony export */ });
|
||
/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "./node_modules/@babel/runtime/helpers/esm/typeof.js");
|
||
/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js");
|
||
/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js");
|
||
/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js");
|
||
/* harmony import */ var popper_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! popper.js */ "./node_modules/popper.js/dist/esm/popper.js");
|
||
/* harmony import */ var lodash_isEqual__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash/isEqual */ "./node_modules/lodash/isEqual.js");
|
||
/* harmony import */ var lodash_isEqual__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash_isEqual__WEBPACK_IMPORTED_MODULE_4__);
|
||
/* harmony import */ var vue_resize__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! vue-resize */ "./node_modules/vue-resize/dist/vue-resize.esm.js");
|
||
/* harmony import */ var lodash_merge__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lodash/merge */ "./node_modules/lodash/merge.js");
|
||
/* harmony import */ var lodash_merge__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash_merge__WEBPACK_IMPORTED_MODULE_6__);
|
||
/* provided dependency */ var console = __webpack_require__(/*! console-browserify */ "./node_modules/console-browserify/index.js");
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
var SVGAnimatedString = function SVGAnimatedString() {};
|
||
|
||
if (typeof window !== 'undefined') {
|
||
SVGAnimatedString = window.SVGAnimatedString;
|
||
}
|
||
|
||
function convertToArray(value) {
|
||
if (typeof value === 'string') {
|
||
value = value.split(' ');
|
||
}
|
||
|
||
return value;
|
||
}
|
||
/**
|
||
* Add classes to an element.
|
||
* This method checks to ensure that the classes don't already exist before adding them.
|
||
* It uses el.className rather than classList in order to be IE friendly.
|
||
* @param {object} el - The element to add the classes to.
|
||
* @param {classes} string - List of space separated classes to be added to the element.
|
||
*/
|
||
|
||
function addClasses(el, classes) {
|
||
var newClasses = convertToArray(classes);
|
||
var classList;
|
||
|
||
if (el.className instanceof SVGAnimatedString) {
|
||
classList = convertToArray(el.className.baseVal);
|
||
} else {
|
||
classList = convertToArray(el.className);
|
||
}
|
||
|
||
newClasses.forEach(function (newClass) {
|
||
if (classList.indexOf(newClass) === -1) {
|
||
classList.push(newClass);
|
||
}
|
||
});
|
||
|
||
if (el instanceof SVGElement) {
|
||
el.setAttribute('class', classList.join(' '));
|
||
} else {
|
||
el.className = classList.join(' ');
|
||
}
|
||
}
|
||
/**
|
||
* Remove classes from an element.
|
||
* It uses el.className rather than classList in order to be IE friendly.
|
||
* @export
|
||
* @param {any} el The element to remove the classes from.
|
||
* @param {any} classes List of space separated classes to be removed from the element.
|
||
*/
|
||
|
||
function removeClasses(el, classes) {
|
||
var newClasses = convertToArray(classes);
|
||
var classList;
|
||
|
||
if (el.className instanceof SVGAnimatedString) {
|
||
classList = convertToArray(el.className.baseVal);
|
||
} else {
|
||
classList = convertToArray(el.className);
|
||
}
|
||
|
||
newClasses.forEach(function (newClass) {
|
||
var index = classList.indexOf(newClass);
|
||
|
||
if (index !== -1) {
|
||
classList.splice(index, 1);
|
||
}
|
||
});
|
||
|
||
if (el instanceof SVGElement) {
|
||
el.setAttribute('class', classList.join(' '));
|
||
} else {
|
||
el.className = classList.join(' ');
|
||
}
|
||
}
|
||
var supportsPassive = false;
|
||
|
||
if (typeof window !== 'undefined') {
|
||
supportsPassive = false;
|
||
|
||
try {
|
||
var opts = Object.defineProperty({}, 'passive', {
|
||
get: function get() {
|
||
supportsPassive = true;
|
||
}
|
||
});
|
||
window.addEventListener('test', null, opts);
|
||
} catch (e) {}
|
||
}
|
||
|
||
function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
||
|
||
function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
||
var DEFAULT_OPTIONS = {
|
||
container: false,
|
||
delay: 0,
|
||
html: false,
|
||
placement: 'top',
|
||
title: '',
|
||
template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
|
||
trigger: 'hover focus',
|
||
offset: 0
|
||
};
|
||
var openTooltips = [];
|
||
|
||
var Tooltip = /*#__PURE__*/function () {
|
||
/**
|
||
* Create a new Tooltip.js instance
|
||
* @class Tooltip
|
||
* @param {HTMLElement} reference - The DOM node used as reference of the tooltip (it can be a jQuery element).
|
||
* @param {Object} options
|
||
* @param {String} options.placement=bottom
|
||
* Placement of the popper accepted values: `top(-start, -end), right(-start, -end), bottom(-start, -end),
|
||
* left(-start, -end)`
|
||
* @param {HTMLElement|String|false} options.container=false - Append the tooltip to a specific element.
|
||
* @param {Number|Object} options.delay=0
|
||
* Delay showing and hiding the tooltip (ms) - does not apply to manual trigger type.
|
||
* If a number is supplied, delay is applied to both hide/show.
|
||
* Object structure is: `{ show: 500, hide: 100 }`
|
||
* @param {Boolean} options.html=false - Insert HTML into the tooltip. If false, the content will inserted with `innerText`.
|
||
* @param {String|PlacementFunction} options.placement='top' - One of the allowed placements, or a function returning one of them.
|
||
* @param {String} [options.template='<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>']
|
||
* Base HTML to used when creating the tooltip.
|
||
* The tooltip's `title` will be injected into the `.tooltip-inner` or `.tooltip__inner`.
|
||
* `.tooltip-arrow` or `.tooltip__arrow` will become the tooltip's arrow.
|
||
* The outermost wrapper element should have the `.tooltip` class.
|
||
* @param {String|HTMLElement|TitleFunction} options.title='' - Default title value if `title` attribute isn't present.
|
||
* @param {String} [options.trigger='hover focus']
|
||
* How tooltip is triggered - click, hover, focus, manual.
|
||
* You may pass multiple triggers; separate them with a space. `manual` cannot be combined with any other trigger.
|
||
* @param {HTMLElement} options.boundariesElement
|
||
* The element used as boundaries for the tooltip. For more information refer to Popper.js'
|
||
* [boundariesElement docs](https://popper.js.org/popper-documentation.html)
|
||
* @param {Number|String} options.offset=0 - Offset of the tooltip relative to its reference. For more information refer to Popper.js'
|
||
* [offset docs](https://popper.js.org/popper-documentation.html)
|
||
* @param {Object} options.popperOptions={} - Popper options, will be passed directly to popper instance. For more information refer to Popper.js'
|
||
* [options docs](https://popper.js.org/popper-documentation.html)
|
||
* @param {string} [options.ariaId] Id used for accessibility
|
||
* @return {Object} instance - The generated tooltip instance
|
||
*/
|
||
function Tooltip(_reference, _options) {
|
||
var _this = this;
|
||
|
||
(0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__.default)(this, Tooltip);
|
||
|
||
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__.default)(this, "_events", []);
|
||
|
||
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__.default)(this, "_setTooltipNodeEvent", function (evt, reference, delay, options) {
|
||
var relatedreference = evt.relatedreference || evt.toElement || evt.relatedTarget;
|
||
|
||
var callback = function callback(evt2) {
|
||
var relatedreference2 = evt2.relatedreference || evt2.toElement || evt2.relatedTarget; // Remove event listener after call
|
||
|
||
_this._tooltipNode.removeEventListener(evt.type, callback); // If the new reference is not the reference element
|
||
|
||
|
||
if (!reference.contains(relatedreference2)) {
|
||
// Schedule to hide tooltip
|
||
_this._scheduleHide(reference, options.delay, options, evt2);
|
||
}
|
||
};
|
||
|
||
if (_this._tooltipNode.contains(relatedreference)) {
|
||
// listen to mouseleave on the tooltip element to be able to hide the tooltip
|
||
_this._tooltipNode.addEventListener(evt.type, callback);
|
||
|
||
return true;
|
||
}
|
||
|
||
return false;
|
||
});
|
||
|
||
// apply user options over default ones
|
||
_options = _objectSpread$2(_objectSpread$2({}, DEFAULT_OPTIONS), _options);
|
||
_reference.jquery && (_reference = _reference[0]);
|
||
this.show = this.show.bind(this);
|
||
this.hide = this.hide.bind(this); // cache reference and options
|
||
|
||
this.reference = _reference;
|
||
this.options = _options; // set initial state
|
||
|
||
this._isOpen = false;
|
||
|
||
this._init();
|
||
} //
|
||
// Public methods
|
||
//
|
||
|
||
/**
|
||
* Reveals an element's tooltip. This is considered a "manual" triggering of the tooltip.
|
||
* Tooltips with zero-length titles are never displayed.
|
||
* @method Tooltip#show
|
||
* @memberof Tooltip
|
||
*/
|
||
|
||
|
||
(0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__.default)(Tooltip, [{
|
||
key: "show",
|
||
value: function show() {
|
||
this._show(this.reference, this.options);
|
||
}
|
||
/**
|
||
* Hides an element’s tooltip. This is considered a “manual” triggering of the tooltip.
|
||
* @method Tooltip#hide
|
||
* @memberof Tooltip
|
||
*/
|
||
|
||
}, {
|
||
key: "hide",
|
||
value: function hide() {
|
||
this._hide();
|
||
}
|
||
/**
|
||
* Hides and destroys an element’s tooltip.
|
||
* @method Tooltip#dispose
|
||
* @memberof Tooltip
|
||
*/
|
||
|
||
}, {
|
||
key: "dispose",
|
||
value: function dispose() {
|
||
this._dispose();
|
||
}
|
||
/**
|
||
* Toggles an element’s tooltip. This is considered a “manual” triggering of the tooltip.
|
||
* @method Tooltip#toggle
|
||
* @memberof Tooltip
|
||
*/
|
||
|
||
}, {
|
||
key: "toggle",
|
||
value: function toggle() {
|
||
if (this._isOpen) {
|
||
return this.hide();
|
||
} else {
|
||
return this.show();
|
||
}
|
||
}
|
||
}, {
|
||
key: "setClasses",
|
||
value: function setClasses(classes) {
|
||
this._classes = classes;
|
||
}
|
||
}, {
|
||
key: "setContent",
|
||
value: function setContent(content) {
|
||
this.options.title = content;
|
||
|
||
if (this._tooltipNode) {
|
||
this._setContent(content, this.options);
|
||
}
|
||
}
|
||
}, {
|
||
key: "setOptions",
|
||
value: function setOptions(options) {
|
||
var classesUpdated = false;
|
||
var classes = options && options.classes || directive.options.defaultClass;
|
||
|
||
if (!lodash_isEqual__WEBPACK_IMPORTED_MODULE_4___default()(this._classes, classes)) {
|
||
this.setClasses(classes);
|
||
classesUpdated = true;
|
||
}
|
||
|
||
options = getOptions(options);
|
||
var needPopperUpdate = false;
|
||
var needRestart = false;
|
||
|
||
if (this.options.offset !== options.offset || this.options.placement !== options.placement) {
|
||
needPopperUpdate = true;
|
||
}
|
||
|
||
if (this.options.template !== options.template || this.options.trigger !== options.trigger || this.options.container !== options.container || classesUpdated) {
|
||
needRestart = true;
|
||
}
|
||
|
||
for (var key in options) {
|
||
this.options[key] = options[key];
|
||
}
|
||
|
||
if (this._tooltipNode) {
|
||
if (needRestart) {
|
||
var isOpen = this._isOpen;
|
||
this.dispose();
|
||
|
||
this._init();
|
||
|
||
if (isOpen) {
|
||
this.show();
|
||
}
|
||
} else if (needPopperUpdate) {
|
||
this.popperInstance.update();
|
||
}
|
||
}
|
||
} //
|
||
// Private methods
|
||
//
|
||
|
||
}, {
|
||
key: "_init",
|
||
value: function _init() {
|
||
// get events list
|
||
var events = typeof this.options.trigger === 'string' ? this.options.trigger.split(' ') : [];
|
||
this._isDisposed = false;
|
||
this._enableDocumentTouch = events.indexOf('manual') === -1;
|
||
events = events.filter(function (trigger) {
|
||
return ['click', 'hover', 'focus'].indexOf(trigger) !== -1;
|
||
}); // set event listeners
|
||
|
||
this._setEventListeners(this.reference, events, this.options); // title attribute
|
||
|
||
|
||
this.$_originalTitle = this.reference.getAttribute('title');
|
||
this.reference.removeAttribute('title');
|
||
this.reference.setAttribute('data-original-title', this.$_originalTitle);
|
||
}
|
||
/**
|
||
* Creates a new tooltip node
|
||
* @memberof Tooltip
|
||
* @private
|
||
* @param {HTMLElement} reference
|
||
* @param {String} template
|
||
* @param {String|HTMLElement|TitleFunction} title
|
||
* @param {Boolean} allowHtml
|
||
* @return {HTMLelement} tooltipNode
|
||
*/
|
||
|
||
}, {
|
||
key: "_create",
|
||
value: function _create(reference, template) {
|
||
var _this2 = this;
|
||
|
||
// create tooltip element
|
||
var tooltipGenerator = window.document.createElement('div');
|
||
tooltipGenerator.innerHTML = template.trim();
|
||
var tooltipNode = tooltipGenerator.childNodes[0]; // add unique ID to our tooltip (needed for accessibility reasons)
|
||
|
||
tooltipNode.id = this.options.ariaId || "tooltip_".concat(Math.random().toString(36).substr(2, 10)); // Initially hide the tooltip
|
||
// The attribute will be switched in a next frame so
|
||
// CSS transitions can play
|
||
|
||
tooltipNode.setAttribute('aria-hidden', 'true');
|
||
|
||
if (this.options.autoHide && this.options.trigger.indexOf('hover') !== -1) {
|
||
tooltipNode.addEventListener('mouseenter', function (evt) {
|
||
return _this2._scheduleHide(reference, _this2.options.delay, _this2.options, evt);
|
||
});
|
||
tooltipNode.addEventListener('click', function (evt) {
|
||
return _this2._scheduleHide(reference, _this2.options.delay, _this2.options, evt);
|
||
});
|
||
} // return the generated tooltip node
|
||
|
||
|
||
return tooltipNode;
|
||
}
|
||
}, {
|
||
key: "_setContent",
|
||
value: function _setContent(content, options) {
|
||
var _this3 = this;
|
||
|
||
this.asyncContent = false;
|
||
|
||
this._applyContent(content, options).then(function () {
|
||
if (!_this3.popperInstance) return;
|
||
|
||
_this3.popperInstance.update();
|
||
});
|
||
}
|
||
}, {
|
||
key: "_applyContent",
|
||
value: function _applyContent(title, options) {
|
||
var _this4 = this;
|
||
|
||
return new Promise(function (resolve, reject) {
|
||
var allowHtml = options.html;
|
||
var rootNode = _this4._tooltipNode;
|
||
if (!rootNode) return;
|
||
var titleNode = rootNode.querySelector(_this4.options.innerSelector);
|
||
|
||
if (title.nodeType === 1) {
|
||
// if title is a node, append it only if allowHtml is true
|
||
if (allowHtml) {
|
||
while (titleNode.firstChild) {
|
||
titleNode.removeChild(titleNode.firstChild);
|
||
}
|
||
|
||
titleNode.appendChild(title);
|
||
}
|
||
} else if (typeof title === 'function') {
|
||
// if title is a function, call it and set innerText or innerHtml depending by `allowHtml` value
|
||
var result = title();
|
||
|
||
if (result && typeof result.then === 'function') {
|
||
_this4.asyncContent = true;
|
||
options.loadingClass && addClasses(rootNode, options.loadingClass);
|
||
|
||
if (options.loadingContent) {
|
||
_this4._applyContent(options.loadingContent, options);
|
||
}
|
||
|
||
result.then(function (asyncResult) {
|
||
options.loadingClass && removeClasses(rootNode, options.loadingClass);
|
||
return _this4._applyContent(asyncResult, options);
|
||
}).then(resolve).catch(reject);
|
||
} else {
|
||
_this4._applyContent(result, options).then(resolve).catch(reject);
|
||
}
|
||
|
||
return;
|
||
} else {
|
||
// if it's just a simple text, set innerText or innerHtml depending by `allowHtml` value
|
||
allowHtml ? titleNode.innerHTML = title : titleNode.innerText = title;
|
||
}
|
||
|
||
resolve();
|
||
});
|
||
}
|
||
}, {
|
||
key: "_show",
|
||
value: function _show(reference, options) {
|
||
if (options && typeof options.container === 'string') {
|
||
var container = document.querySelector(options.container);
|
||
if (!container) return;
|
||
}
|
||
|
||
clearTimeout(this._disposeTimer);
|
||
options = Object.assign({}, options);
|
||
delete options.offset;
|
||
var updateClasses = true;
|
||
|
||
if (this._tooltipNode) {
|
||
addClasses(this._tooltipNode, this._classes);
|
||
updateClasses = false;
|
||
}
|
||
|
||
var result = this._ensureShown(reference, options);
|
||
|
||
if (updateClasses && this._tooltipNode) {
|
||
addClasses(this._tooltipNode, this._classes);
|
||
}
|
||
|
||
addClasses(reference, ['v-tooltip-open']);
|
||
return result;
|
||
}
|
||
}, {
|
||
key: "_ensureShown",
|
||
value: function _ensureShown(reference, options) {
|
||
var _this5 = this;
|
||
|
||
// don't show if it's already visible
|
||
if (this._isOpen) {
|
||
return this;
|
||
}
|
||
|
||
this._isOpen = true;
|
||
openTooltips.push(this); // if the tooltipNode already exists, just show it
|
||
|
||
if (this._tooltipNode) {
|
||
this._tooltipNode.style.display = '';
|
||
|
||
this._tooltipNode.setAttribute('aria-hidden', 'false');
|
||
|
||
this.popperInstance.enableEventListeners();
|
||
this.popperInstance.update();
|
||
|
||
if (this.asyncContent) {
|
||
this._setContent(options.title, options);
|
||
}
|
||
|
||
return this;
|
||
} // get title
|
||
|
||
|
||
var title = reference.getAttribute('title') || options.title; // don't show tooltip if no title is defined
|
||
|
||
if (!title) {
|
||
return this;
|
||
} // create tooltip node
|
||
|
||
|
||
var tooltipNode = this._create(reference, options.template);
|
||
|
||
this._tooltipNode = tooltipNode; // Add `aria-describedby` to our reference element for accessibility reasons
|
||
|
||
reference.setAttribute('aria-describedby', tooltipNode.id); // append tooltip to container
|
||
|
||
var container = this._findContainer(options.container, reference);
|
||
|
||
this._append(tooltipNode, container);
|
||
|
||
var popperOptions = _objectSpread$2(_objectSpread$2({}, options.popperOptions), {}, {
|
||
placement: options.placement
|
||
});
|
||
|
||
popperOptions.modifiers = _objectSpread$2(_objectSpread$2({}, popperOptions.modifiers), {}, {
|
||
arrow: {
|
||
element: this.options.arrowSelector
|
||
}
|
||
});
|
||
|
||
if (options.boundariesElement) {
|
||
popperOptions.modifiers.preventOverflow = {
|
||
boundariesElement: options.boundariesElement
|
||
};
|
||
}
|
||
|
||
this.popperInstance = new popper_js__WEBPACK_IMPORTED_MODULE_7__.default(reference, tooltipNode, popperOptions);
|
||
|
||
this._setContent(title, options); // Fix position
|
||
|
||
|
||
requestAnimationFrame(function () {
|
||
if (!_this5._isDisposed && _this5.popperInstance) {
|
||
_this5.popperInstance.update(); // Show the tooltip
|
||
|
||
|
||
requestAnimationFrame(function () {
|
||
if (!_this5._isDisposed) {
|
||
_this5._isOpen && tooltipNode.setAttribute('aria-hidden', 'false');
|
||
} else {
|
||
_this5.dispose();
|
||
}
|
||
});
|
||
} else {
|
||
_this5.dispose();
|
||
}
|
||
});
|
||
return this;
|
||
}
|
||
}, {
|
||
key: "_noLongerOpen",
|
||
value: function _noLongerOpen() {
|
||
var index = openTooltips.indexOf(this);
|
||
|
||
if (index !== -1) {
|
||
openTooltips.splice(index, 1);
|
||
}
|
||
}
|
||
}, {
|
||
key: "_hide",
|
||
value: function _hide()
|
||
/* reference, options */
|
||
{
|
||
var _this6 = this;
|
||
|
||
// don't hide if it's already hidden
|
||
if (!this._isOpen) {
|
||
return this;
|
||
}
|
||
|
||
this._isOpen = false;
|
||
|
||
this._noLongerOpen(); // hide tooltipNode
|
||
|
||
|
||
this._tooltipNode.style.display = 'none';
|
||
|
||
this._tooltipNode.setAttribute('aria-hidden', 'true');
|
||
|
||
if (this.popperInstance) {
|
||
this.popperInstance.disableEventListeners();
|
||
}
|
||
|
||
clearTimeout(this._disposeTimer);
|
||
var disposeTime = directive.options.disposeTimeout;
|
||
|
||
if (disposeTime !== null) {
|
||
this._disposeTimer = setTimeout(function () {
|
||
if (_this6._tooltipNode) {
|
||
_this6._tooltipNode.removeEventListener('mouseenter', _this6.hide);
|
||
|
||
_this6._tooltipNode.removeEventListener('click', _this6.hide); // Don't remove popper instance, just the HTML element
|
||
|
||
|
||
_this6._removeTooltipNode();
|
||
}
|
||
}, disposeTime);
|
||
}
|
||
|
||
removeClasses(this.reference, ['v-tooltip-open']);
|
||
return this;
|
||
}
|
||
}, {
|
||
key: "_removeTooltipNode",
|
||
value: function _removeTooltipNode() {
|
||
if (!this._tooltipNode) return;
|
||
var parentNode = this._tooltipNode.parentNode;
|
||
|
||
if (parentNode) {
|
||
parentNode.removeChild(this._tooltipNode);
|
||
this.reference.removeAttribute('aria-describedby');
|
||
}
|
||
|
||
this._tooltipNode = null;
|
||
}
|
||
}, {
|
||
key: "_dispose",
|
||
value: function _dispose() {
|
||
var _this7 = this;
|
||
|
||
this._isDisposed = true;
|
||
this.reference.removeAttribute('data-original-title');
|
||
|
||
if (this.$_originalTitle) {
|
||
this.reference.setAttribute('title', this.$_originalTitle);
|
||
} // remove event listeners first to prevent any unexpected behaviour
|
||
|
||
|
||
this._events.forEach(function (_ref) {
|
||
var func = _ref.func,
|
||
event = _ref.event;
|
||
|
||
_this7.reference.removeEventListener(event, func);
|
||
});
|
||
|
||
this._events = [];
|
||
|
||
if (this._tooltipNode) {
|
||
this._hide();
|
||
|
||
this._tooltipNode.removeEventListener('mouseenter', this.hide);
|
||
|
||
this._tooltipNode.removeEventListener('click', this.hide); // destroy instance
|
||
|
||
|
||
this.popperInstance.destroy(); // destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element
|
||
|
||
if (!this.popperInstance.options.removeOnDestroy) {
|
||
this._removeTooltipNode();
|
||
}
|
||
} else {
|
||
this._noLongerOpen();
|
||
}
|
||
|
||
return this;
|
||
}
|
||
}, {
|
||
key: "_findContainer",
|
||
value: function _findContainer(container, reference) {
|
||
// if container is a query, get the relative element
|
||
if (typeof container === 'string') {
|
||
container = window.document.querySelector(container);
|
||
} else if (container === false) {
|
||
// if container is `false`, set it to reference parent
|
||
container = reference.parentNode;
|
||
}
|
||
|
||
return container;
|
||
}
|
||
/**
|
||
* Append tooltip to container
|
||
* @memberof Tooltip
|
||
* @private
|
||
* @param {HTMLElement} tooltip
|
||
* @param {HTMLElement|String|false} container
|
||
*/
|
||
|
||
}, {
|
||
key: "_append",
|
||
value: function _append(tooltipNode, container) {
|
||
container.appendChild(tooltipNode);
|
||
}
|
||
}, {
|
||
key: "_setEventListeners",
|
||
value: function _setEventListeners(reference, events, options) {
|
||
var _this8 = this;
|
||
|
||
var directEvents = [];
|
||
var oppositeEvents = [];
|
||
events.forEach(function (event) {
|
||
switch (event) {
|
||
case 'hover':
|
||
directEvents.push('mouseenter');
|
||
oppositeEvents.push('mouseleave');
|
||
if (_this8.options.hideOnTargetClick) oppositeEvents.push('click');
|
||
break;
|
||
|
||
case 'focus':
|
||
directEvents.push('focus');
|
||
oppositeEvents.push('blur');
|
||
if (_this8.options.hideOnTargetClick) oppositeEvents.push('click');
|
||
break;
|
||
|
||
case 'click':
|
||
directEvents.push('click');
|
||
oppositeEvents.push('click');
|
||
break;
|
||
}
|
||
}); // schedule show tooltip
|
||
|
||
directEvents.forEach(function (event) {
|
||
var func = function func(evt) {
|
||
if (_this8._isOpen === true) {
|
||
return;
|
||
}
|
||
|
||
evt.usedByTooltip = true;
|
||
|
||
_this8._scheduleShow(reference, options.delay, options, evt);
|
||
};
|
||
|
||
_this8._events.push({
|
||
event: event,
|
||
func: func
|
||
});
|
||
|
||
reference.addEventListener(event, func);
|
||
}); // schedule hide tooltip
|
||
|
||
oppositeEvents.forEach(function (event) {
|
||
var func = function func(evt) {
|
||
if (evt.usedByTooltip === true) {
|
||
return;
|
||
}
|
||
|
||
_this8._scheduleHide(reference, options.delay, options, evt);
|
||
};
|
||
|
||
_this8._events.push({
|
||
event: event,
|
||
func: func
|
||
});
|
||
|
||
reference.addEventListener(event, func);
|
||
});
|
||
}
|
||
}, {
|
||
key: "_onDocumentTouch",
|
||
value: function _onDocumentTouch(event) {
|
||
if (this._enableDocumentTouch) {
|
||
this._scheduleHide(this.reference, this.options.delay, this.options, event);
|
||
}
|
||
}
|
||
}, {
|
||
key: "_scheduleShow",
|
||
value: function _scheduleShow(reference, delay, options
|
||
/*, evt */
|
||
) {
|
||
var _this9 = this;
|
||
|
||
// defaults to 0
|
||
var computedDelay = delay && delay.show || delay || 0;
|
||
clearTimeout(this._scheduleTimer);
|
||
this._scheduleTimer = window.setTimeout(function () {
|
||
return _this9._show(reference, options);
|
||
}, computedDelay);
|
||
}
|
||
}, {
|
||
key: "_scheduleHide",
|
||
value: function _scheduleHide(reference, delay, options, evt) {
|
||
var _this10 = this;
|
||
|
||
// defaults to 0
|
||
var computedDelay = delay && delay.hide || delay || 0;
|
||
clearTimeout(this._scheduleTimer);
|
||
this._scheduleTimer = window.setTimeout(function () {
|
||
if (_this10._isOpen === false) {
|
||
return;
|
||
}
|
||
|
||
if (!_this10._tooltipNode.ownerDocument.body.contains(_this10._tooltipNode)) {
|
||
return;
|
||
} // if we are hiding because of a mouseleave, we must check that the new
|
||
// reference isn't the tooltip, because in this case we don't want to hide it
|
||
|
||
|
||
if (evt.type === 'mouseleave') {
|
||
var isSet = _this10._setTooltipNodeEvent(evt, reference, delay, options); // if we set the new event, don't hide the tooltip yet
|
||
// the new event will take care to hide it if necessary
|
||
|
||
|
||
if (isSet) {
|
||
return;
|
||
}
|
||
}
|
||
|
||
_this10._hide(reference, options);
|
||
}, computedDelay);
|
||
}
|
||
}]);
|
||
|
||
return Tooltip;
|
||
}(); // Hide tooltips on touch devices
|
||
|
||
if (typeof document !== 'undefined') {
|
||
document.addEventListener('touchstart', function (event) {
|
||
for (var i = 0; i < openTooltips.length; i++) {
|
||
openTooltips[i]._onDocumentTouch(event);
|
||
}
|
||
}, supportsPassive ? {
|
||
passive: true,
|
||
capture: true
|
||
} : true);
|
||
}
|
||
/**
|
||
* Placement function, its context is the Tooltip instance.
|
||
* @memberof Tooltip
|
||
* @callback PlacementFunction
|
||
* @param {HTMLElement} tooltip - tooltip DOM node.
|
||
* @param {HTMLElement} reference - reference DOM node.
|
||
* @return {String} placement - One of the allowed placement options.
|
||
*/
|
||
|
||
/**
|
||
* Title function, its context is the Tooltip instance.
|
||
* @memberof Tooltip
|
||
* @callback TitleFunction
|
||
* @return {String} placement - The desired title.
|
||
*/
|
||
|
||
function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
||
|
||
function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
||
var state = {
|
||
enabled: true
|
||
};
|
||
var positions = ['top', 'top-start', 'top-end', 'right', 'right-start', 'right-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end'];
|
||
var defaultOptions = {
|
||
// Default tooltip placement relative to target element
|
||
defaultPlacement: 'top',
|
||
// Default CSS classes applied to the tooltip element
|
||
defaultClass: 'vue-tooltip-theme',
|
||
// Default CSS classes applied to the target element of the tooltip
|
||
defaultTargetClass: 'has-tooltip',
|
||
// Is the content HTML by default?
|
||
defaultHtml: true,
|
||
// Default HTML template of the tooltip element
|
||
// It must include `tooltip-arrow` & `tooltip-inner` CSS classes (can be configured, see below)
|
||
// Change if the classes conflict with other libraries (for example bootstrap)
|
||
defaultTemplate: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
|
||
// Selector used to get the arrow element in the tooltip template
|
||
defaultArrowSelector: '.tooltip-arrow, .tooltip__arrow',
|
||
// Selector used to get the inner content element in the tooltip template
|
||
defaultInnerSelector: '.tooltip-inner, .tooltip__inner',
|
||
// Delay (ms)
|
||
defaultDelay: 0,
|
||
// Default events that trigger the tooltip
|
||
defaultTrigger: 'hover focus',
|
||
// Default position offset (px)
|
||
defaultOffset: 0,
|
||
// Default container where the tooltip will be appended
|
||
defaultContainer: 'body',
|
||
defaultBoundariesElement: undefined,
|
||
defaultPopperOptions: {},
|
||
// Class added when content is loading
|
||
defaultLoadingClass: 'tooltip-loading',
|
||
// Displayed when tooltip content is loading
|
||
defaultLoadingContent: '...',
|
||
// Hide on mouseover tooltip
|
||
autoHide: true,
|
||
// Close tooltip on click on tooltip target?
|
||
defaultHideOnTargetClick: true,
|
||
// Auto destroy tooltip DOM nodes (ms)
|
||
disposeTimeout: 5000,
|
||
// Options for popover
|
||
popover: {
|
||
defaultPlacement: 'bottom',
|
||
// Use the `popoverClass` prop for theming
|
||
defaultClass: 'vue-popover-theme',
|
||
// Base class (change if conflicts with other libraries)
|
||
defaultBaseClass: 'tooltip popover',
|
||
// Wrapper class (contains arrow and inner)
|
||
defaultWrapperClass: 'wrapper',
|
||
// Inner content class
|
||
defaultInnerClass: 'tooltip-inner popover-inner',
|
||
// Arrow class
|
||
defaultArrowClass: 'tooltip-arrow popover-arrow',
|
||
// Class added when popover is open
|
||
defaultOpenClass: 'open',
|
||
defaultDelay: 0,
|
||
defaultTrigger: 'click',
|
||
defaultOffset: 0,
|
||
defaultContainer: 'body',
|
||
defaultBoundariesElement: undefined,
|
||
defaultPopperOptions: {},
|
||
// Hides if clicked outside of popover
|
||
defaultAutoHide: true,
|
||
// Update popper on content resize
|
||
defaultHandleResize: true
|
||
}
|
||
};
|
||
function getOptions(options) {
|
||
var result = {
|
||
placement: typeof options.placement !== 'undefined' ? options.placement : directive.options.defaultPlacement,
|
||
delay: typeof options.delay !== 'undefined' ? options.delay : directive.options.defaultDelay,
|
||
html: typeof options.html !== 'undefined' ? options.html : directive.options.defaultHtml,
|
||
template: typeof options.template !== 'undefined' ? options.template : directive.options.defaultTemplate,
|
||
arrowSelector: typeof options.arrowSelector !== 'undefined' ? options.arrowSelector : directive.options.defaultArrowSelector,
|
||
innerSelector: typeof options.innerSelector !== 'undefined' ? options.innerSelector : directive.options.defaultInnerSelector,
|
||
trigger: typeof options.trigger !== 'undefined' ? options.trigger : directive.options.defaultTrigger,
|
||
offset: typeof options.offset !== 'undefined' ? options.offset : directive.options.defaultOffset,
|
||
container: typeof options.container !== 'undefined' ? options.container : directive.options.defaultContainer,
|
||
boundariesElement: typeof options.boundariesElement !== 'undefined' ? options.boundariesElement : directive.options.defaultBoundariesElement,
|
||
autoHide: typeof options.autoHide !== 'undefined' ? options.autoHide : directive.options.autoHide,
|
||
hideOnTargetClick: typeof options.hideOnTargetClick !== 'undefined' ? options.hideOnTargetClick : directive.options.defaultHideOnTargetClick,
|
||
loadingClass: typeof options.loadingClass !== 'undefined' ? options.loadingClass : directive.options.defaultLoadingClass,
|
||
loadingContent: typeof options.loadingContent !== 'undefined' ? options.loadingContent : directive.options.defaultLoadingContent,
|
||
popperOptions: _objectSpread$1({}, typeof options.popperOptions !== 'undefined' ? options.popperOptions : directive.options.defaultPopperOptions)
|
||
};
|
||
|
||
if (result.offset) {
|
||
var typeofOffset = (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__.default)(result.offset);
|
||
|
||
var offset = result.offset; // One value -> switch
|
||
|
||
if (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {
|
||
offset = "0, ".concat(offset);
|
||
}
|
||
|
||
if (!result.popperOptions.modifiers) {
|
||
result.popperOptions.modifiers = {};
|
||
}
|
||
|
||
result.popperOptions.modifiers.offset = {
|
||
offset: offset
|
||
};
|
||
}
|
||
|
||
if (result.trigger && result.trigger.indexOf('click') !== -1) {
|
||
result.hideOnTargetClick = false;
|
||
}
|
||
|
||
return result;
|
||
}
|
||
function getPlacement(value, modifiers) {
|
||
var placement = value.placement;
|
||
|
||
for (var i = 0; i < positions.length; i++) {
|
||
var pos = positions[i];
|
||
|
||
if (modifiers[pos]) {
|
||
placement = pos;
|
||
}
|
||
}
|
||
|
||
return placement;
|
||
}
|
||
function getContent(value) {
|
||
var type = (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__.default)(value);
|
||
|
||
if (type === 'string') {
|
||
return value;
|
||
} else if (value && type === 'object') {
|
||
return value.content;
|
||
} else {
|
||
return false;
|
||
}
|
||
}
|
||
function createTooltip(el, value) {
|
||
var modifiers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
||
var content = getContent(value);
|
||
var classes = typeof value.classes !== 'undefined' ? value.classes : directive.options.defaultClass;
|
||
|
||
var opts = _objectSpread$1({
|
||
title: content
|
||
}, getOptions(_objectSpread$1(_objectSpread$1({}, (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__.default)(value) === 'object' ? value : {}), {}, {
|
||
placement: getPlacement(value, modifiers)
|
||
})));
|
||
|
||
var tooltip = el._tooltip = new Tooltip(el, opts);
|
||
tooltip.setClasses(classes);
|
||
tooltip._vueEl = el; // Class on target
|
||
|
||
var targetClasses = typeof value.targetClasses !== 'undefined' ? value.targetClasses : directive.options.defaultTargetClass;
|
||
el._tooltipTargetClasses = targetClasses;
|
||
addClasses(el, targetClasses);
|
||
return tooltip;
|
||
}
|
||
function destroyTooltip(el) {
|
||
if (el._tooltip) {
|
||
el._tooltip.dispose();
|
||
|
||
delete el._tooltip;
|
||
delete el._tooltipOldShow;
|
||
}
|
||
|
||
if (el._tooltipTargetClasses) {
|
||
removeClasses(el, el._tooltipTargetClasses);
|
||
delete el._tooltipTargetClasses;
|
||
}
|
||
}
|
||
function bind(el, _ref) {
|
||
var value = _ref.value;
|
||
_ref.oldValue;
|
||
var modifiers = _ref.modifiers;
|
||
var content = getContent(value);
|
||
|
||
if (!content || !state.enabled) {
|
||
destroyTooltip(el);
|
||
} else {
|
||
var tooltip;
|
||
|
||
if (el._tooltip) {
|
||
tooltip = el._tooltip; // Content
|
||
|
||
tooltip.setContent(content); // Options
|
||
|
||
tooltip.setOptions(_objectSpread$1(_objectSpread$1({}, value), {}, {
|
||
placement: getPlacement(value, modifiers)
|
||
}));
|
||
} else {
|
||
tooltip = createTooltip(el, value, modifiers);
|
||
} // Manual show
|
||
|
||
|
||
if (typeof value.show !== 'undefined' && value.show !== el._tooltipOldShow) {
|
||
el._tooltipOldShow = value.show;
|
||
value.show ? tooltip.show() : tooltip.hide();
|
||
}
|
||
}
|
||
}
|
||
var directive = {
|
||
options: defaultOptions,
|
||
bind: bind,
|
||
update: bind,
|
||
unbind: function unbind(el) {
|
||
destroyTooltip(el);
|
||
}
|
||
};
|
||
|
||
function addListeners(el) {
|
||
el.addEventListener('click', onClick);
|
||
el.addEventListener('touchstart', onTouchStart, supportsPassive ? {
|
||
passive: true
|
||
} : false);
|
||
}
|
||
|
||
function removeListeners(el) {
|
||
el.removeEventListener('click', onClick);
|
||
el.removeEventListener('touchstart', onTouchStart);
|
||
el.removeEventListener('touchend', onTouchEnd);
|
||
el.removeEventListener('touchcancel', onTouchCancel);
|
||
}
|
||
|
||
function onClick(event) {
|
||
var el = event.currentTarget;
|
||
event.closePopover = !el.$_vclosepopover_touch;
|
||
event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;
|
||
}
|
||
|
||
function onTouchStart(event) {
|
||
if (event.changedTouches.length === 1) {
|
||
var el = event.currentTarget;
|
||
el.$_vclosepopover_touch = true;
|
||
var touch = event.changedTouches[0];
|
||
el.$_vclosepopover_touchPoint = touch;
|
||
el.addEventListener('touchend', onTouchEnd);
|
||
el.addEventListener('touchcancel', onTouchCancel);
|
||
}
|
||
}
|
||
|
||
function onTouchEnd(event) {
|
||
var el = event.currentTarget;
|
||
el.$_vclosepopover_touch = false;
|
||
|
||
if (event.changedTouches.length === 1) {
|
||
var touch = event.changedTouches[0];
|
||
var firstTouch = el.$_vclosepopover_touchPoint;
|
||
event.closePopover = Math.abs(touch.screenY - firstTouch.screenY) < 20 && Math.abs(touch.screenX - firstTouch.screenX) < 20;
|
||
event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;
|
||
}
|
||
}
|
||
|
||
function onTouchCancel(event) {
|
||
var el = event.currentTarget;
|
||
el.$_vclosepopover_touch = false;
|
||
}
|
||
|
||
var vclosepopover = {
|
||
bind: function bind(el, _ref) {
|
||
var value = _ref.value,
|
||
modifiers = _ref.modifiers;
|
||
el.$_closePopoverModifiers = modifiers;
|
||
|
||
if (typeof value === 'undefined' || value) {
|
||
addListeners(el);
|
||
}
|
||
},
|
||
update: function update(el, _ref2) {
|
||
var value = _ref2.value,
|
||
oldValue = _ref2.oldValue,
|
||
modifiers = _ref2.modifiers;
|
||
el.$_closePopoverModifiers = modifiers;
|
||
|
||
if (value !== oldValue) {
|
||
if (typeof value === 'undefined' || value) {
|
||
addListeners(el);
|
||
} else {
|
||
removeListeners(el);
|
||
}
|
||
}
|
||
},
|
||
unbind: function unbind(el) {
|
||
removeListeners(el);
|
||
}
|
||
};
|
||
|
||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
||
|
||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
||
|
||
function getDefault(key) {
|
||
var value = directive.options.popover[key];
|
||
|
||
if (typeof value === 'undefined') {
|
||
return directive.options[key];
|
||
}
|
||
|
||
return value;
|
||
}
|
||
|
||
var isIOS = false;
|
||
|
||
if (typeof window !== 'undefined' && typeof navigator !== 'undefined') {
|
||
isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;
|
||
}
|
||
|
||
var openPopovers = [];
|
||
|
||
var Element = function Element() {};
|
||
|
||
if (typeof window !== 'undefined') {
|
||
Element = window.Element;
|
||
}
|
||
|
||
var script = {
|
||
name: 'VPopover',
|
||
components: {
|
||
ResizeObserver: vue_resize__WEBPACK_IMPORTED_MODULE_5__.ResizeObserver
|
||
},
|
||
props: {
|
||
open: {
|
||
type: Boolean,
|
||
default: false
|
||
},
|
||
disabled: {
|
||
type: Boolean,
|
||
default: false
|
||
},
|
||
placement: {
|
||
type: String,
|
||
default: function _default() {
|
||
return getDefault('defaultPlacement');
|
||
}
|
||
},
|
||
delay: {
|
||
type: [String, Number, Object],
|
||
default: function _default() {
|
||
return getDefault('defaultDelay');
|
||
}
|
||
},
|
||
offset: {
|
||
type: [String, Number],
|
||
default: function _default() {
|
||
return getDefault('defaultOffset');
|
||
}
|
||
},
|
||
trigger: {
|
||
type: String,
|
||
default: function _default() {
|
||
return getDefault('defaultTrigger');
|
||
}
|
||
},
|
||
container: {
|
||
type: [String, Object, Element, Boolean],
|
||
default: function _default() {
|
||
return getDefault('defaultContainer');
|
||
}
|
||
},
|
||
boundariesElement: {
|
||
type: [String, Element],
|
||
default: function _default() {
|
||
return getDefault('defaultBoundariesElement');
|
||
}
|
||
},
|
||
popperOptions: {
|
||
type: Object,
|
||
default: function _default() {
|
||
return getDefault('defaultPopperOptions');
|
||
}
|
||
},
|
||
popoverClass: {
|
||
type: [String, Array],
|
||
default: function _default() {
|
||
return getDefault('defaultClass');
|
||
}
|
||
},
|
||
popoverBaseClass: {
|
||
type: [String, Array],
|
||
default: function _default() {
|
||
return directive.options.popover.defaultBaseClass;
|
||
}
|
||
},
|
||
popoverInnerClass: {
|
||
type: [String, Array],
|
||
default: function _default() {
|
||
return directive.options.popover.defaultInnerClass;
|
||
}
|
||
},
|
||
popoverWrapperClass: {
|
||
type: [String, Array],
|
||
default: function _default() {
|
||
return directive.options.popover.defaultWrapperClass;
|
||
}
|
||
},
|
||
popoverArrowClass: {
|
||
type: [String, Array],
|
||
default: function _default() {
|
||
return directive.options.popover.defaultArrowClass;
|
||
}
|
||
},
|
||
autoHide: {
|
||
type: Boolean,
|
||
default: function _default() {
|
||
return directive.options.popover.defaultAutoHide;
|
||
}
|
||
},
|
||
handleResize: {
|
||
type: Boolean,
|
||
default: function _default() {
|
||
return directive.options.popover.defaultHandleResize;
|
||
}
|
||
},
|
||
openGroup: {
|
||
type: String,
|
||
default: null
|
||
},
|
||
openClass: {
|
||
type: [String, Array],
|
||
default: function _default() {
|
||
return directive.options.popover.defaultOpenClass;
|
||
}
|
||
},
|
||
ariaId: {
|
||
default: null
|
||
}
|
||
},
|
||
data: function data() {
|
||
return {
|
||
isOpen: false,
|
||
id: Math.random().toString(36).substr(2, 10)
|
||
};
|
||
},
|
||
computed: {
|
||
cssClass: function cssClass() {
|
||
return (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__.default)({}, this.openClass, this.isOpen);
|
||
},
|
||
popoverId: function popoverId() {
|
||
return "popover_".concat(this.ariaId != null ? this.ariaId : this.id);
|
||
}
|
||
},
|
||
watch: {
|
||
open: function open(val) {
|
||
if (val) {
|
||
this.show();
|
||
} else {
|
||
this.hide();
|
||
}
|
||
},
|
||
disabled: function disabled(val, oldVal) {
|
||
if (val !== oldVal) {
|
||
if (val) {
|
||
this.hide();
|
||
} else if (this.open) {
|
||
this.show();
|
||
}
|
||
}
|
||
},
|
||
container: function container(val) {
|
||
if (this.isOpen && this.popperInstance) {
|
||
var popoverNode = this.$refs.popover;
|
||
var reference = this.$refs.trigger;
|
||
var container = this.$_findContainer(this.container, reference);
|
||
|
||
if (!container) {
|
||
console.warn('No container for popover', this);
|
||
return;
|
||
}
|
||
|
||
container.appendChild(popoverNode);
|
||
this.popperInstance.scheduleUpdate();
|
||
}
|
||
},
|
||
trigger: function trigger(val) {
|
||
this.$_removeEventListeners();
|
||
this.$_addEventListeners();
|
||
},
|
||
placement: function placement(val) {
|
||
var _this = this;
|
||
|
||
this.$_updatePopper(function () {
|
||
_this.popperInstance.options.placement = val;
|
||
});
|
||
},
|
||
offset: '$_restartPopper',
|
||
boundariesElement: '$_restartPopper',
|
||
popperOptions: {
|
||
handler: '$_restartPopper',
|
||
deep: true
|
||
}
|
||
},
|
||
created: function created() {
|
||
this.$_isDisposed = false;
|
||
this.$_mounted = false;
|
||
this.$_events = [];
|
||
this.$_preventOpen = false;
|
||
},
|
||
mounted: function mounted() {
|
||
var popoverNode = this.$refs.popover;
|
||
popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);
|
||
this.$_init();
|
||
|
||
if (this.open) {
|
||
this.show();
|
||
}
|
||
},
|
||
deactivated: function deactivated() {
|
||
this.hide();
|
||
},
|
||
beforeDestroy: function beforeDestroy() {
|
||
this.dispose();
|
||
},
|
||
methods: {
|
||
show: function show() {
|
||
var _this2 = this;
|
||
|
||
var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
||
event = _ref2.event;
|
||
_ref2.skipDelay;
|
||
var _ref2$force = _ref2.force,
|
||
force = _ref2$force === void 0 ? false : _ref2$force;
|
||
|
||
if (force || !this.disabled) {
|
||
this.$_scheduleShow(event);
|
||
this.$emit('show');
|
||
}
|
||
|
||
this.$emit('update:open', true);
|
||
this.$_beingShowed = true;
|
||
requestAnimationFrame(function () {
|
||
_this2.$_beingShowed = false;
|
||
});
|
||
},
|
||
hide: function hide() {
|
||
var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
||
event = _ref3.event;
|
||
_ref3.skipDelay;
|
||
|
||
this.$_scheduleHide(event);
|
||
this.$emit('hide');
|
||
this.$emit('update:open', false);
|
||
},
|
||
dispose: function dispose() {
|
||
this.$_isDisposed = true;
|
||
this.$_removeEventListeners();
|
||
this.hide({
|
||
skipDelay: true
|
||
});
|
||
|
||
if (this.popperInstance) {
|
||
this.popperInstance.destroy(); // destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element
|
||
|
||
if (!this.popperInstance.options.removeOnDestroy) {
|
||
var popoverNode = this.$refs.popover;
|
||
popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);
|
||
}
|
||
}
|
||
|
||
this.$_mounted = false;
|
||
this.popperInstance = null;
|
||
this.isOpen = false;
|
||
this.$emit('dispose');
|
||
},
|
||
$_init: function $_init() {
|
||
if (this.trigger.indexOf('manual') === -1) {
|
||
this.$_addEventListeners();
|
||
}
|
||
},
|
||
$_show: function $_show() {
|
||
var _this3 = this;
|
||
|
||
var reference = this.$refs.trigger;
|
||
var popoverNode = this.$refs.popover;
|
||
clearTimeout(this.$_disposeTimer); // Already open
|
||
|
||
if (this.isOpen) {
|
||
return;
|
||
} // Popper is already initialized
|
||
|
||
|
||
if (this.popperInstance) {
|
||
this.isOpen = true;
|
||
this.popperInstance.enableEventListeners();
|
||
this.popperInstance.scheduleUpdate();
|
||
}
|
||
|
||
if (!this.$_mounted) {
|
||
var container = this.$_findContainer(this.container, reference);
|
||
|
||
if (!container) {
|
||
console.warn('No container for popover', this);
|
||
return;
|
||
}
|
||
|
||
container.appendChild(popoverNode);
|
||
this.$_mounted = true;
|
||
this.isOpen = false;
|
||
|
||
if (this.popperInstance) {
|
||
requestAnimationFrame(function () {
|
||
if (!_this3.hidden) {
|
||
_this3.isOpen = true;
|
||
}
|
||
});
|
||
}
|
||
}
|
||
|
||
if (!this.popperInstance) {
|
||
var popperOptions = _objectSpread(_objectSpread({}, this.popperOptions), {}, {
|
||
placement: this.placement
|
||
});
|
||
|
||
popperOptions.modifiers = _objectSpread(_objectSpread({}, popperOptions.modifiers), {}, {
|
||
arrow: _objectSpread(_objectSpread({}, popperOptions.modifiers && popperOptions.modifiers.arrow), {}, {
|
||
element: this.$refs.arrow
|
||
})
|
||
});
|
||
|
||
if (this.offset) {
|
||
var offset = this.$_getOffset();
|
||
popperOptions.modifiers.offset = _objectSpread(_objectSpread({}, popperOptions.modifiers && popperOptions.modifiers.offset), {}, {
|
||
offset: offset
|
||
});
|
||
}
|
||
|
||
if (this.boundariesElement) {
|
||
popperOptions.modifiers.preventOverflow = _objectSpread(_objectSpread({}, popperOptions.modifiers && popperOptions.modifiers.preventOverflow), {}, {
|
||
boundariesElement: this.boundariesElement
|
||
});
|
||
}
|
||
|
||
this.popperInstance = new popper_js__WEBPACK_IMPORTED_MODULE_7__.default(reference, popoverNode, popperOptions); // Fix position
|
||
|
||
requestAnimationFrame(function () {
|
||
if (_this3.hidden) {
|
||
_this3.hidden = false;
|
||
|
||
_this3.$_hide();
|
||
|
||
return;
|
||
}
|
||
|
||
if (!_this3.$_isDisposed && _this3.popperInstance) {
|
||
_this3.popperInstance.scheduleUpdate(); // Show the tooltip
|
||
|
||
|
||
requestAnimationFrame(function () {
|
||
if (_this3.hidden) {
|
||
_this3.hidden = false;
|
||
|
||
_this3.$_hide();
|
||
|
||
return;
|
||
}
|
||
|
||
if (!_this3.$_isDisposed) {
|
||
_this3.isOpen = true;
|
||
} else {
|
||
_this3.dispose();
|
||
}
|
||
});
|
||
} else {
|
||
_this3.dispose();
|
||
}
|
||
});
|
||
}
|
||
|
||
var openGroup = this.openGroup;
|
||
|
||
if (openGroup) {
|
||
var popover;
|
||
|
||
for (var i = 0; i < openPopovers.length; i++) {
|
||
popover = openPopovers[i];
|
||
|
||
if (popover.openGroup !== openGroup) {
|
||
popover.hide();
|
||
popover.$emit('close-group');
|
||
}
|
||
}
|
||
}
|
||
|
||
openPopovers.push(this);
|
||
this.$emit('apply-show');
|
||
},
|
||
$_hide: function $_hide() {
|
||
var _this4 = this;
|
||
|
||
// Already hidden
|
||
if (!this.isOpen) {
|
||
return;
|
||
}
|
||
|
||
var index = openPopovers.indexOf(this);
|
||
|
||
if (index !== -1) {
|
||
openPopovers.splice(index, 1);
|
||
}
|
||
|
||
this.isOpen = false;
|
||
|
||
if (this.popperInstance) {
|
||
this.popperInstance.disableEventListeners();
|
||
}
|
||
|
||
clearTimeout(this.$_disposeTimer);
|
||
var disposeTime = directive.options.popover.disposeTimeout || directive.options.disposeTimeout;
|
||
|
||
if (disposeTime !== null) {
|
||
this.$_disposeTimer = setTimeout(function () {
|
||
var popoverNode = _this4.$refs.popover;
|
||
|
||
if (popoverNode) {
|
||
// Don't remove popper instance, just the HTML element
|
||
popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);
|
||
_this4.$_mounted = false;
|
||
}
|
||
}, disposeTime);
|
||
}
|
||
|
||
this.$emit('apply-hide');
|
||
},
|
||
$_findContainer: function $_findContainer(container, reference) {
|
||
// if container is a query, get the relative element
|
||
if (typeof container === 'string') {
|
||
container = window.document.querySelector(container);
|
||
} else if (container === false) {
|
||
// if container is `false`, set it to reference parent
|
||
container = reference.parentNode;
|
||
}
|
||
|
||
return container;
|
||
},
|
||
$_getOffset: function $_getOffset() {
|
||
var typeofOffset = (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__.default)(this.offset);
|
||
|
||
var offset = this.offset; // One value -> switch
|
||
|
||
if (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {
|
||
offset = "0, ".concat(offset);
|
||
}
|
||
|
||
return offset;
|
||
},
|
||
$_addEventListeners: function $_addEventListeners() {
|
||
var _this5 = this;
|
||
|
||
var reference = this.$refs.trigger;
|
||
var directEvents = [];
|
||
var oppositeEvents = [];
|
||
var events = typeof this.trigger === 'string' ? this.trigger.split(' ').filter(function (trigger) {
|
||
return ['click', 'hover', 'focus'].indexOf(trigger) !== -1;
|
||
}) : [];
|
||
events.forEach(function (event) {
|
||
switch (event) {
|
||
case 'hover':
|
||
directEvents.push('mouseenter');
|
||
oppositeEvents.push('mouseleave');
|
||
break;
|
||
|
||
case 'focus':
|
||
directEvents.push('focus');
|
||
oppositeEvents.push('blur');
|
||
break;
|
||
|
||
case 'click':
|
||
directEvents.push('click');
|
||
oppositeEvents.push('click');
|
||
break;
|
||
}
|
||
}); // schedule show tooltip
|
||
|
||
directEvents.forEach(function (event) {
|
||
var func = function func(event) {
|
||
if (_this5.isOpen) {
|
||
return;
|
||
}
|
||
|
||
event.usedByTooltip = true;
|
||
!_this5.$_preventOpen && _this5.show({
|
||
event: event
|
||
});
|
||
_this5.hidden = false;
|
||
};
|
||
|
||
_this5.$_events.push({
|
||
event: event,
|
||
func: func
|
||
});
|
||
|
||
reference.addEventListener(event, func);
|
||
}); // schedule hide tooltip
|
||
|
||
oppositeEvents.forEach(function (event) {
|
||
var func = function func(event) {
|
||
if (event.usedByTooltip) {
|
||
return;
|
||
}
|
||
|
||
_this5.hide({
|
||
event: event
|
||
});
|
||
|
||
_this5.hidden = true;
|
||
};
|
||
|
||
_this5.$_events.push({
|
||
event: event,
|
||
func: func
|
||
});
|
||
|
||
reference.addEventListener(event, func);
|
||
});
|
||
},
|
||
$_scheduleShow: function $_scheduleShow() {
|
||
var skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
||
clearTimeout(this.$_scheduleTimer);
|
||
|
||
if (skipDelay) {
|
||
this.$_show();
|
||
} else {
|
||
// defaults to 0
|
||
var computedDelay = parseInt(this.delay && this.delay.show || this.delay || 0);
|
||
this.$_scheduleTimer = setTimeout(this.$_show.bind(this), computedDelay);
|
||
}
|
||
},
|
||
$_scheduleHide: function $_scheduleHide() {
|
||
var _this6 = this;
|
||
|
||
var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
||
var skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
||
clearTimeout(this.$_scheduleTimer);
|
||
|
||
if (skipDelay) {
|
||
this.$_hide();
|
||
} else {
|
||
// defaults to 0
|
||
var computedDelay = parseInt(this.delay && this.delay.hide || this.delay || 0);
|
||
this.$_scheduleTimer = setTimeout(function () {
|
||
if (!_this6.isOpen) {
|
||
return;
|
||
} // if we are hiding because of a mouseleave, we must check that the new
|
||
// reference isn't the tooltip, because in this case we don't want to hide it
|
||
|
||
|
||
if (event && event.type === 'mouseleave') {
|
||
var isSet = _this6.$_setTooltipNodeEvent(event); // if we set the new event, don't hide the tooltip yet
|
||
// the new event will take care to hide it if necessary
|
||
|
||
|
||
if (isSet) {
|
||
return;
|
||
}
|
||
}
|
||
|
||
_this6.$_hide();
|
||
}, computedDelay);
|
||
}
|
||
},
|
||
$_setTooltipNodeEvent: function $_setTooltipNodeEvent(event) {
|
||
var _this7 = this;
|
||
|
||
var reference = this.$refs.trigger;
|
||
var popoverNode = this.$refs.popover;
|
||
var relatedreference = event.relatedreference || event.toElement || event.relatedTarget;
|
||
|
||
var callback = function callback(event2) {
|
||
var relatedreference2 = event2.relatedreference || event2.toElement || event2.relatedTarget; // Remove event listener after call
|
||
|
||
popoverNode.removeEventListener(event.type, callback); // If the new reference is not the reference element
|
||
|
||
if (!reference.contains(relatedreference2)) {
|
||
// Schedule to hide tooltip
|
||
_this7.hide({
|
||
event: event2
|
||
});
|
||
}
|
||
};
|
||
|
||
if (popoverNode.contains(relatedreference)) {
|
||
// listen to mouseleave on the tooltip element to be able to hide the tooltip
|
||
popoverNode.addEventListener(event.type, callback);
|
||
return true;
|
||
}
|
||
|
||
return false;
|
||
},
|
||
$_removeEventListeners: function $_removeEventListeners() {
|
||
var reference = this.$refs.trigger;
|
||
this.$_events.forEach(function (_ref4) {
|
||
var func = _ref4.func,
|
||
event = _ref4.event;
|
||
reference.removeEventListener(event, func);
|
||
});
|
||
this.$_events = [];
|
||
},
|
||
$_updatePopper: function $_updatePopper(cb) {
|
||
if (this.popperInstance) {
|
||
cb();
|
||
if (this.isOpen) this.popperInstance.scheduleUpdate();
|
||
}
|
||
},
|
||
$_restartPopper: function $_restartPopper() {
|
||
if (this.popperInstance) {
|
||
var isOpen = this.isOpen;
|
||
this.dispose();
|
||
this.$_isDisposed = false;
|
||
this.$_init();
|
||
|
||
if (isOpen) {
|
||
this.show({
|
||
skipDelay: true,
|
||
force: true
|
||
});
|
||
}
|
||
}
|
||
},
|
||
$_handleGlobalClose: function $_handleGlobalClose(event) {
|
||
var _this8 = this;
|
||
|
||
var touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
||
if (this.$_beingShowed) return;
|
||
this.hide({
|
||
event: event
|
||
});
|
||
|
||
if (event.closePopover) {
|
||
this.$emit('close-directive');
|
||
} else {
|
||
this.$emit('auto-hide');
|
||
}
|
||
|
||
if (touch) {
|
||
this.$_preventOpen = true;
|
||
setTimeout(function () {
|
||
_this8.$_preventOpen = false;
|
||
}, 300);
|
||
}
|
||
},
|
||
$_handleResize: function $_handleResize() {
|
||
if (this.isOpen && this.popperInstance) {
|
||
this.popperInstance.scheduleUpdate();
|
||
this.$emit('resize');
|
||
}
|
||
}
|
||
}
|
||
};
|
||
|
||
if (typeof document !== 'undefined' && typeof window !== 'undefined') {
|
||
if (isIOS) {
|
||
document.addEventListener('touchend', handleGlobalTouchend, supportsPassive ? {
|
||
passive: true,
|
||
capture: true
|
||
} : true);
|
||
} else {
|
||
window.addEventListener('click', handleGlobalClick, true);
|
||
}
|
||
}
|
||
|
||
function handleGlobalClick(event) {
|
||
handleGlobalClose(event);
|
||
}
|
||
|
||
function handleGlobalTouchend(event) {
|
||
handleGlobalClose(event, true);
|
||
}
|
||
|
||
function handleGlobalClose(event) {
|
||
var touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
||
|
||
var _loop = function _loop(i) {
|
||
var popover = openPopovers[i];
|
||
|
||
if (popover.$refs.popover) {
|
||
var contains = popover.$refs.popover.contains(event.target);
|
||
requestAnimationFrame(function () {
|
||
if (event.closeAllPopover || event.closePopover && contains || popover.autoHide && !contains) {
|
||
popover.$_handleGlobalClose(event, touch);
|
||
}
|
||
});
|
||
}
|
||
};
|
||
|
||
// Delay so that close directive has time to set values
|
||
for (var i = 0; i < openPopovers.length; i++) {
|
||
_loop(i);
|
||
}
|
||
}
|
||
|
||
function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {
|
||
if (typeof shadowMode !== 'boolean') {
|
||
createInjectorSSR = createInjector;
|
||
createInjector = shadowMode;
|
||
shadowMode = false;
|
||
}
|
||
// Vue.extend constructor export interop.
|
||
const options = typeof script === 'function' ? script.options : script;
|
||
// render functions
|
||
if (template && template.render) {
|
||
options.render = template.render;
|
||
options.staticRenderFns = template.staticRenderFns;
|
||
options._compiled = true;
|
||
// functional template
|
||
if (isFunctionalTemplate) {
|
||
options.functional = true;
|
||
}
|
||
}
|
||
// scopedId
|
||
if (scopeId) {
|
||
options._scopeId = scopeId;
|
||
}
|
||
let hook;
|
||
if (moduleIdentifier) {
|
||
// server build
|
||
hook = function (context) {
|
||
// 2.3 injection
|
||
context =
|
||
context || // cached call
|
||
(this.$vnode && this.$vnode.ssrContext) || // stateful
|
||
(this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional
|
||
// 2.2 with runInNewContext: true
|
||
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
|
||
context = __VUE_SSR_CONTEXT__;
|
||
}
|
||
// inject component styles
|
||
if (style) {
|
||
style.call(this, createInjectorSSR(context));
|
||
}
|
||
// register component module identifier for async chunk inference
|
||
if (context && context._registeredComponents) {
|
||
context._registeredComponents.add(moduleIdentifier);
|
||
}
|
||
};
|
||
// used by ssr in case component is cached and beforeCreate
|
||
// never gets called
|
||
options._ssrRegister = hook;
|
||
}
|
||
else if (style) {
|
||
hook = shadowMode
|
||
? function (context) {
|
||
style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));
|
||
}
|
||
: function (context) {
|
||
style.call(this, createInjector(context));
|
||
};
|
||
}
|
||
if (hook) {
|
||
if (options.functional) {
|
||
// register for functional component in vue file
|
||
const originalRender = options.render;
|
||
options.render = function renderWithStyleInjection(h, context) {
|
||
hook.call(context);
|
||
return originalRender(h, context);
|
||
};
|
||
}
|
||
else {
|
||
// inject component registration as beforeCreate hook
|
||
const existing = options.beforeCreate;
|
||
options.beforeCreate = existing ? [].concat(existing, hook) : [hook];
|
||
}
|
||
}
|
||
return script;
|
||
}
|
||
|
||
/* script */
|
||
var __vue_script__ = script;
|
||
/* template */
|
||
|
||
var __vue_render__ = function __vue_render__() {
|
||
var _vm = this;
|
||
|
||
var _h = _vm.$createElement;
|
||
|
||
var _c = _vm._self._c || _h;
|
||
|
||
return _c("div", {
|
||
staticClass: "v-popover",
|
||
class: _vm.cssClass
|
||
}, [_c("div", {
|
||
ref: "trigger",
|
||
staticClass: "trigger",
|
||
staticStyle: {
|
||
display: "inline-block"
|
||
},
|
||
attrs: {
|
||
"aria-describedby": _vm.isOpen ? _vm.popoverId : undefined,
|
||
tabindex: _vm.trigger.indexOf("focus") !== -1 ? 0 : undefined
|
||
}
|
||
}, [_vm._t("default")], 2), _vm._v(" "), _c("div", {
|
||
ref: "popover",
|
||
class: [_vm.popoverBaseClass, _vm.popoverClass, _vm.cssClass],
|
||
style: {
|
||
visibility: _vm.isOpen ? "visible" : "hidden"
|
||
},
|
||
attrs: {
|
||
id: _vm.popoverId,
|
||
"aria-hidden": _vm.isOpen ? "false" : "true",
|
||
tabindex: _vm.autoHide ? 0 : undefined
|
||
},
|
||
on: {
|
||
keyup: function keyup($event) {
|
||
if (!$event.type.indexOf("key") && _vm._k($event.keyCode, "esc", 27, $event.key, ["Esc", "Escape"])) {
|
||
return null;
|
||
}
|
||
|
||
_vm.autoHide && _vm.hide();
|
||
}
|
||
}
|
||
}, [_c("div", {
|
||
class: _vm.popoverWrapperClass
|
||
}, [_c("div", {
|
||
ref: "inner",
|
||
class: _vm.popoverInnerClass,
|
||
staticStyle: {
|
||
position: "relative"
|
||
}
|
||
}, [_c("div", [_vm._t("popover", null, {
|
||
isOpen: _vm.isOpen
|
||
})], 2), _vm._v(" "), _vm.handleResize ? _c("ResizeObserver", {
|
||
on: {
|
||
notify: _vm.$_handleResize
|
||
}
|
||
}) : _vm._e()], 1), _vm._v(" "), _c("div", {
|
||
ref: "arrow",
|
||
class: _vm.popoverArrowClass
|
||
})])])]);
|
||
};
|
||
|
||
var __vue_staticRenderFns__ = [];
|
||
__vue_render__._withStripped = true;
|
||
/* style */
|
||
|
||
var __vue_inject_styles__ = undefined;
|
||
/* scoped */
|
||
|
||
var __vue_scope_id__ = undefined;
|
||
/* module identifier */
|
||
|
||
var __vue_module_identifier__ = undefined;
|
||
/* functional template */
|
||
|
||
var __vue_is_functional_template__ = false;
|
||
/* style inject */
|
||
|
||
/* style inject SSR */
|
||
|
||
/* style inject shadow dom */
|
||
|
||
var __vue_component__ = /*#__PURE__*/normalizeComponent({
|
||
render: __vue_render__,
|
||
staticRenderFns: __vue_staticRenderFns__
|
||
}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);
|
||
|
||
function styleInject(css, ref) {
|
||
if ( ref === void 0 ) ref = {};
|
||
var insertAt = ref.insertAt;
|
||
|
||
if (!css || typeof document === 'undefined') { return; }
|
||
|
||
var head = document.head || document.getElementsByTagName('head')[0];
|
||
var style = document.createElement('style');
|
||
style.type = 'text/css';
|
||
|
||
if (insertAt === 'top') {
|
||
if (head.firstChild) {
|
||
head.insertBefore(style, head.firstChild);
|
||
} else {
|
||
head.appendChild(style);
|
||
}
|
||
} else {
|
||
head.appendChild(style);
|
||
}
|
||
|
||
if (style.styleSheet) {
|
||
style.styleSheet.cssText = css;
|
||
} else {
|
||
style.appendChild(document.createTextNode(css));
|
||
}
|
||
}
|
||
|
||
var css_248z = ".resize-observer[data-v-8859cc6c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-8859cc6c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}";
|
||
styleInject(css_248z);
|
||
|
||
function install(Vue) {
|
||
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
||
if (install.installed) return;
|
||
install.installed = true;
|
||
var finalOptions = {};
|
||
lodash_merge__WEBPACK_IMPORTED_MODULE_6___default()(finalOptions, defaultOptions, options);
|
||
plugin.options = finalOptions;
|
||
directive.options = finalOptions;
|
||
Vue.directive('tooltip', directive);
|
||
Vue.directive('close-popover', vclosepopover);
|
||
Vue.component('VPopover', __vue_component__);
|
||
}
|
||
var VTooltip = directive;
|
||
var VClosePopover = vclosepopover;
|
||
var VPopover = __vue_component__;
|
||
var plugin = {
|
||
install: install,
|
||
|
||
get enabled() {
|
||
return state.enabled;
|
||
},
|
||
|
||
set enabled(value) {
|
||
state.enabled = value;
|
||
}
|
||
|
||
}; // Auto-install
|
||
|
||
var GlobalVue = null;
|
||
|
||
if (typeof window !== 'undefined') {
|
||
GlobalVue = window.Vue;
|
||
} else if (typeof __webpack_require__.g !== 'undefined') {
|
||
GlobalVue = __webpack_require__.g.Vue;
|
||
}
|
||
|
||
if (GlobalVue) {
|
||
GlobalVue.use(plugin);
|
||
}
|
||
|
||
/* harmony default export */ __webpack_exports__["default"] = (plugin);
|
||
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./src/AdminSettings.vue":
|
||
/*!*******************************!*\
|
||
!*** ./src/AdminSettings.vue ***!
|
||
\*******************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ "__esModule": function() { return /* reexport safe */ _AdminSettings_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__.__esModule; }
|
||
/* harmony export */ });
|
||
/* harmony import */ var _AdminSettings_vue_vue_type_template_id_c8770f2e_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AdminSettings.vue?vue&type=template&id=c8770f2e&scoped=true& */ "./src/AdminSettings.vue?vue&type=template&id=c8770f2e&scoped=true&");
|
||
/* harmony import */ var _AdminSettings_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AdminSettings.vue?vue&type=script&lang=js& */ "./src/AdminSettings.vue?vue&type=script&lang=js&");
|
||
/* harmony import */ var _AdminSettings_vue_vue_type_style_index_0_id_c8770f2e_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AdminSettings.vue?vue&type=style&index=0&id=c8770f2e&scoped=true&lang=scss& */ "./src/AdminSettings.vue?vue&type=style&index=0&id=c8770f2e&scoped=true&lang=scss&");
|
||
/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js");
|
||
|
||
|
||
|
||
;
|
||
|
||
|
||
/* normalize component */
|
||
|
||
var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__.default)(
|
||
_AdminSettings_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__.default,
|
||
_AdminSettings_vue_vue_type_template_id_c8770f2e_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render,
|
||
_AdminSettings_vue_vue_type_template_id_c8770f2e_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,
|
||
false,
|
||
null,
|
||
"c8770f2e",
|
||
null
|
||
|
||
)
|
||
|
||
/* hot reload */
|
||
if (false) { var api; }
|
||
component.options.__file = "src/AdminSettings.vue"
|
||
/* harmony default export */ __webpack_exports__["default"] = (component.exports);
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./src/AdminSettings.vue?vue&type=script&lang=js&":
|
||
/*!********************************************************!*\
|
||
!*** ./src/AdminSettings.vue?vue&type=script&lang=js& ***!
|
||
\********************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ "__esModule": function() { return /* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AdminSettings_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__.__esModule; }
|
||
/* harmony export */ });
|
||
/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AdminSettings_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../node_modules/babel-loader/lib/index.js!../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdminSettings.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/AdminSettings.vue?vue&type=script&lang=js&");
|
||
/* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AdminSettings_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__.default);
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./src/AdminSettings.vue?vue&type=style&index=0&id=c8770f2e&scoped=true&lang=scss&":
|
||
/*!*****************************************************************************************!*\
|
||
!*** ./src/AdminSettings.vue?vue&type=style&index=0&id=c8770f2e&scoped=true&lang=scss& ***!
|
||
\*****************************************************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AdminSettings_vue_vue_type_style_index_0_id_c8770f2e_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../node_modules/style-loader/dist/cjs.js!../node_modules/css-loader/dist/cjs.js!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/sass-loader/dist/cjs.js!../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdminSettings.vue?vue&type=style&index=0&id=c8770f2e&scoped=true&lang=scss& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/AdminSettings.vue?vue&type=style&index=0&id=c8770f2e&scoped=true&lang=scss&");
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./src/AdminSettings.vue?vue&type=template&id=c8770f2e&scoped=true&":
|
||
/*!**************************************************************************!*\
|
||
!*** ./src/AdminSettings.vue?vue&type=template&id=c8770f2e&scoped=true& ***!
|
||
\**************************************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ "render": function() { return /* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AdminSettings_vue_vue_type_template_id_c8770f2e_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render; },
|
||
/* harmony export */ "staticRenderFns": function() { return /* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AdminSettings_vue_vue_type_template_id_c8770f2e_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns; }
|
||
/* harmony export */ });
|
||
/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AdminSettings_vue_vue_type_template_id_c8770f2e_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdminSettings.vue?vue&type=template&id=c8770f2e&scoped=true& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/AdminSettings.vue?vue&type=template&id=c8770f2e&scoped=true&");
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/AdminSettings.vue?vue&type=template&id=c8770f2e&scoped=true&":
|
||
/*!*****************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/AdminSettings.vue?vue&type=template&id=c8770f2e&scoped=true& ***!
|
||
\*****************************************************************************************************************************************************************************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ "render": function() { return /* binding */ render; },
|
||
/* harmony export */ "staticRenderFns": function() { return /* binding */ staticRenderFns; }
|
||
/* harmony export */ });
|
||
var render = function() {
|
||
var _vm = this
|
||
var _h = _vm.$createElement
|
||
var _c = _vm._self._c || _h
|
||
return _c(
|
||
"div",
|
||
{ attrs: { id: "registration_settings_form" } },
|
||
[
|
||
_c(
|
||
"SettingsSection",
|
||
{ attrs: { title: _vm.t("registration", "Registration settings") } },
|
||
[
|
||
_c("p", [
|
||
_c("input", {
|
||
directives: [
|
||
{
|
||
name: "model",
|
||
rawName: "v-model",
|
||
value: _vm.adminApproval,
|
||
expression: "adminApproval"
|
||
}
|
||
],
|
||
staticClass: "checkbox",
|
||
attrs: {
|
||
id: "admin_approval",
|
||
type: "checkbox",
|
||
name: "admin_approval",
|
||
disabled: _vm.loading
|
||
},
|
||
domProps: {
|
||
checked: Array.isArray(_vm.adminApproval)
|
||
? _vm._i(_vm.adminApproval, null) > -1
|
||
: _vm.adminApproval
|
||
},
|
||
on: {
|
||
change: [
|
||
function($event) {
|
||
var $$a = _vm.adminApproval,
|
||
$$el = $event.target,
|
||
$$c = $$el.checked ? true : false
|
||
if (Array.isArray($$a)) {
|
||
var $$v = null,
|
||
$$i = _vm._i($$a, $$v)
|
||
if ($$el.checked) {
|
||
$$i < 0 && (_vm.adminApproval = $$a.concat([$$v]))
|
||
} else {
|
||
$$i > -1 &&
|
||
(_vm.adminApproval = $$a
|
||
.slice(0, $$i)
|
||
.concat($$a.slice($$i + 1)))
|
||
}
|
||
} else {
|
||
_vm.adminApproval = $$c
|
||
}
|
||
},
|
||
_vm.saveData
|
||
]
|
||
}
|
||
}),
|
||
_vm._v(" "),
|
||
_c("label", { attrs: { for: "admin_approval" } }, [
|
||
_vm._v(_vm._s(_vm.t("registration", "Require admin approval")))
|
||
])
|
||
]),
|
||
_vm._v(" "),
|
||
_c("em", [
|
||
_vm._v(
|
||
_vm._s(
|
||
_vm.t(
|
||
"registration",
|
||
'Enabling "admin approval" will prevent registrations from mobile and desktop clients to complete as the credentials cannot be verified by the client until the user was enabled.'
|
||
)
|
||
)
|
||
)
|
||
]),
|
||
_vm._v(" "),
|
||
_c(
|
||
"p",
|
||
[
|
||
_c("label", { attrs: { for: "registered_user_group" } }, [
|
||
_vm._v(
|
||
"\n\t\t\t\t" +
|
||
_vm._s(
|
||
_vm.t("registration", "Registered users default group")
|
||
) +
|
||
"\n\t\t\t"
|
||
)
|
||
]),
|
||
_vm._v(" "),
|
||
_c("Multiselect", {
|
||
attrs: {
|
||
id: "registered_user_group",
|
||
placeholder: _vm.t("registration", "Select group"),
|
||
options: _vm.groups,
|
||
disabled: _vm.loading,
|
||
searchable: true,
|
||
"tag-width": 60,
|
||
loading: _vm.loadingGroups,
|
||
"allow-empty": true,
|
||
"close-on-select": false,
|
||
"track-by": "id",
|
||
label: "displayname"
|
||
},
|
||
on: { "search-change": _vm.searchGroup, change: _vm.saveData },
|
||
model: {
|
||
value: _vm.registeredUserGroup,
|
||
callback: function($$v) {
|
||
_vm.registeredUserGroup = $$v
|
||
},
|
||
expression: "registeredUserGroup"
|
||
}
|
||
})
|
||
],
|
||
1
|
||
)
|
||
]
|
||
),
|
||
_vm._v(" "),
|
||
_c(
|
||
"SettingsSection",
|
||
{ attrs: { title: _vm.t("registration", "Email settings") } },
|
||
[
|
||
_c("p", [
|
||
_c("label", { attrs: { for: "allowed_domains" } }, [
|
||
_vm._v(_vm._s(_vm.domainListLabel))
|
||
]),
|
||
_vm._v(" "),
|
||
_c("input", {
|
||
directives: [
|
||
{
|
||
name: "model",
|
||
rawName: "v-model",
|
||
value: _vm.allowedDomains,
|
||
expression: "allowedDomains"
|
||
}
|
||
],
|
||
attrs: {
|
||
id: "allowed_domains",
|
||
type: "text",
|
||
name: "allowed_domains",
|
||
disabled: _vm.loading,
|
||
placeholder: "nextcloud.com;*.example.com",
|
||
"aria-label": _vm.t("registration", "Allowed email domain")
|
||
},
|
||
domProps: { value: _vm.allowedDomains },
|
||
on: {
|
||
input: [
|
||
function($event) {
|
||
if ($event.target.composing) {
|
||
return
|
||
}
|
||
_vm.allowedDomains = $event.target.value
|
||
},
|
||
_vm.debounceSavingSlow
|
||
]
|
||
}
|
||
})
|
||
]),
|
||
_vm._v(" "),
|
||
_c("p", [
|
||
_c("input", {
|
||
directives: [
|
||
{
|
||
name: "model",
|
||
rawName: "v-model",
|
||
value: _vm.domainsIsBlocklist,
|
||
expression: "domainsIsBlocklist"
|
||
}
|
||
],
|
||
staticClass: "checkbox",
|
||
attrs: {
|
||
id: "domains_is_blocklist",
|
||
type: "checkbox",
|
||
name: "domains_is_blocklist",
|
||
disabled: _vm.loading
|
||
},
|
||
domProps: {
|
||
checked: Array.isArray(_vm.domainsIsBlocklist)
|
||
? _vm._i(_vm.domainsIsBlocklist, null) > -1
|
||
: _vm.domainsIsBlocklist
|
||
},
|
||
on: {
|
||
change: [
|
||
function($event) {
|
||
var $$a = _vm.domainsIsBlocklist,
|
||
$$el = $event.target,
|
||
$$c = $$el.checked ? true : false
|
||
if (Array.isArray($$a)) {
|
||
var $$v = null,
|
||
$$i = _vm._i($$a, $$v)
|
||
if ($$el.checked) {
|
||
$$i < 0 && (_vm.domainsIsBlocklist = $$a.concat([$$v]))
|
||
} else {
|
||
$$i > -1 &&
|
||
(_vm.domainsIsBlocklist = $$a
|
||
.slice(0, $$i)
|
||
.concat($$a.slice($$i + 1)))
|
||
}
|
||
} else {
|
||
_vm.domainsIsBlocklist = $$c
|
||
}
|
||
},
|
||
_vm.saveData
|
||
]
|
||
}
|
||
}),
|
||
_vm._v(" "),
|
||
_c("label", { attrs: { for: "domains_is_blocklist" } }, [
|
||
_vm._v(
|
||
_vm._s(
|
||
_vm.t(
|
||
"registration",
|
||
"Block listed email domains instead of allowing them"
|
||
)
|
||
)
|
||
)
|
||
])
|
||
]),
|
||
_vm._v(" "),
|
||
_c("p", [
|
||
_c("input", {
|
||
directives: [
|
||
{
|
||
name: "model",
|
||
rawName: "v-model",
|
||
value: _vm.showDomains,
|
||
expression: "showDomains"
|
||
}
|
||
],
|
||
staticClass: "checkbox",
|
||
attrs: {
|
||
id: "show_domains",
|
||
type: "checkbox",
|
||
name: "show_domains",
|
||
disabled: _vm.loading
|
||
},
|
||
domProps: {
|
||
checked: Array.isArray(_vm.showDomains)
|
||
? _vm._i(_vm.showDomains, null) > -1
|
||
: _vm.showDomains
|
||
},
|
||
on: {
|
||
change: [
|
||
function($event) {
|
||
var $$a = _vm.showDomains,
|
||
$$el = $event.target,
|
||
$$c = $$el.checked ? true : false
|
||
if (Array.isArray($$a)) {
|
||
var $$v = null,
|
||
$$i = _vm._i($$a, $$v)
|
||
if ($$el.checked) {
|
||
$$i < 0 && (_vm.showDomains = $$a.concat([$$v]))
|
||
} else {
|
||
$$i > -1 &&
|
||
(_vm.showDomains = $$a
|
||
.slice(0, $$i)
|
||
.concat($$a.slice($$i + 1)))
|
||
}
|
||
} else {
|
||
_vm.showDomains = $$c
|
||
}
|
||
},
|
||
_vm.saveData
|
||
]
|
||
}
|
||
}),
|
||
_vm._v(" "),
|
||
_c("label", { attrs: { for: "show_domains" } }, [
|
||
_vm._v(_vm._s(_vm.showDomainListLabel))
|
||
])
|
||
]),
|
||
_vm._v(" "),
|
||
_c("p", [
|
||
_c("input", {
|
||
directives: [
|
||
{
|
||
name: "model",
|
||
rawName: "v-model",
|
||
value: _vm.disableEmailVerification,
|
||
expression: "disableEmailVerification"
|
||
}
|
||
],
|
||
staticClass: "checkbox",
|
||
attrs: {
|
||
id: "disable_email_verification",
|
||
type: "checkbox",
|
||
name: "disable_email_verification",
|
||
disabled: _vm.loading
|
||
},
|
||
domProps: {
|
||
checked: Array.isArray(_vm.disableEmailVerification)
|
||
? _vm._i(_vm.disableEmailVerification, null) > -1
|
||
: _vm.disableEmailVerification
|
||
},
|
||
on: {
|
||
change: [
|
||
function($event) {
|
||
var $$a = _vm.disableEmailVerification,
|
||
$$el = $event.target,
|
||
$$c = $$el.checked ? true : false
|
||
if (Array.isArray($$a)) {
|
||
var $$v = null,
|
||
$$i = _vm._i($$a, $$v)
|
||
if ($$el.checked) {
|
||
$$i < 0 &&
|
||
(_vm.disableEmailVerification = $$a.concat([$$v]))
|
||
} else {
|
||
$$i > -1 &&
|
||
(_vm.disableEmailVerification = $$a
|
||
.slice(0, $$i)
|
||
.concat($$a.slice($$i + 1)))
|
||
}
|
||
} else {
|
||
_vm.disableEmailVerification = $$c
|
||
}
|
||
},
|
||
_vm.saveData
|
||
]
|
||
}
|
||
}),
|
||
_vm._v(" "),
|
||
_c("label", { attrs: { for: "disable_email_verification" } }, [
|
||
_vm._v(
|
||
_vm._s(_vm.t("registration", "Disable email verification"))
|
||
)
|
||
])
|
||
])
|
||
]
|
||
),
|
||
_vm._v(" "),
|
||
_c(
|
||
"SettingsSection",
|
||
{ attrs: { title: _vm.t("registration", "User settings") } },
|
||
[
|
||
_c("p", [
|
||
_c("input", {
|
||
directives: [
|
||
{
|
||
name: "model",
|
||
rawName: "v-model",
|
||
value: _vm.emailIsLogin,
|
||
expression: "emailIsLogin"
|
||
}
|
||
],
|
||
staticClass: "checkbox",
|
||
attrs: {
|
||
id: "email_is_login",
|
||
type: "checkbox",
|
||
name: "email_is_login",
|
||
disabled: _vm.loading
|
||
},
|
||
domProps: {
|
||
checked: Array.isArray(_vm.emailIsLogin)
|
||
? _vm._i(_vm.emailIsLogin, null) > -1
|
||
: _vm.emailIsLogin
|
||
},
|
||
on: {
|
||
change: [
|
||
function($event) {
|
||
var $$a = _vm.emailIsLogin,
|
||
$$el = $event.target,
|
||
$$c = $$el.checked ? true : false
|
||
if (Array.isArray($$a)) {
|
||
var $$v = null,
|
||
$$i = _vm._i($$a, $$v)
|
||
if ($$el.checked) {
|
||
$$i < 0 && (_vm.emailIsLogin = $$a.concat([$$v]))
|
||
} else {
|
||
$$i > -1 &&
|
||
(_vm.emailIsLogin = $$a
|
||
.slice(0, $$i)
|
||
.concat($$a.slice($$i + 1)))
|
||
}
|
||
} else {
|
||
_vm.emailIsLogin = $$c
|
||
}
|
||
},
|
||
_vm.saveData
|
||
]
|
||
}
|
||
}),
|
||
_vm._v(" "),
|
||
_c("label", { attrs: { for: "email_is_login" } }, [
|
||
_vm._v(_vm._s(_vm.t("registration", "Force email as login name")))
|
||
])
|
||
]),
|
||
_vm._v(" "),
|
||
!_vm.emailIsLogin
|
||
? [
|
||
_c("p", [
|
||
_c("label", { attrs: { for: "username_policy_regex" } }, [
|
||
_vm._v(_vm._s(_vm.t("registration", "Login name policy")))
|
||
]),
|
||
_vm._v(" "),
|
||
_c("input", {
|
||
directives: [
|
||
{
|
||
name: "model",
|
||
rawName: "v-model",
|
||
value: _vm.usernamePolicyRegex,
|
||
expression: "usernamePolicyRegex"
|
||
}
|
||
],
|
||
attrs: {
|
||
id: "username_policy_regex",
|
||
type: "text",
|
||
name: "username_policy_regex",
|
||
disabled: _vm.loading,
|
||
placeholder: "E.g.: /^[a-z-]+\\.[a-z-]+$/",
|
||
"aria-label": _vm.t(
|
||
"registration",
|
||
"Regular expression to validate login names"
|
||
)
|
||
},
|
||
domProps: { value: _vm.usernamePolicyRegex },
|
||
on: {
|
||
input: [
|
||
function($event) {
|
||
if ($event.target.composing) {
|
||
return
|
||
}
|
||
_vm.usernamePolicyRegex = $event.target.value
|
||
},
|
||
_vm.debounceSavingSlow
|
||
]
|
||
}
|
||
})
|
||
]),
|
||
_vm._v(" "),
|
||
_c("em", [
|
||
_vm._v(
|
||
_vm._s(
|
||
_vm.t(
|
||
"registration",
|
||
"If configured, login names will be validated through the regular expression. If the validation fails the user is prompted with a generic error. Make sure your regex is working correctly."
|
||
)
|
||
)
|
||
)
|
||
])
|
||
]
|
||
: _vm._e(),
|
||
_vm._v(" "),
|
||
_c("p", [
|
||
_c("input", {
|
||
directives: [
|
||
{
|
||
name: "model",
|
||
rawName: "v-model",
|
||
value: _vm.showFullname,
|
||
expression: "showFullname"
|
||
}
|
||
],
|
||
staticClass: "checkbox",
|
||
attrs: {
|
||
id: "show_fullname",
|
||
type: "checkbox",
|
||
name: "show_fullname",
|
||
disabled: _vm.loading
|
||
},
|
||
domProps: {
|
||
checked: Array.isArray(_vm.showFullname)
|
||
? _vm._i(_vm.showFullname, null) > -1
|
||
: _vm.showFullname
|
||
},
|
||
on: {
|
||
change: [
|
||
function($event) {
|
||
var $$a = _vm.showFullname,
|
||
$$el = $event.target,
|
||
$$c = $$el.checked ? true : false
|
||
if (Array.isArray($$a)) {
|
||
var $$v = null,
|
||
$$i = _vm._i($$a, $$v)
|
||
if ($$el.checked) {
|
||
$$i < 0 && (_vm.showFullname = $$a.concat([$$v]))
|
||
} else {
|
||
$$i > -1 &&
|
||
(_vm.showFullname = $$a
|
||
.slice(0, $$i)
|
||
.concat($$a.slice($$i + 1)))
|
||
}
|
||
} else {
|
||
_vm.showFullname = $$c
|
||
}
|
||
},
|
||
_vm.saveData
|
||
]
|
||
}
|
||
}),
|
||
_vm._v(" "),
|
||
_c("label", { attrs: { for: "show_fullname" } }, [
|
||
_vm._v(_vm._s(_vm.t("registration", "Show full name field")))
|
||
])
|
||
]),
|
||
_vm._v(" "),
|
||
_vm.showFullname
|
||
? _c("p", { staticClass: "indent" }, [
|
||
_c("input", {
|
||
directives: [
|
||
{
|
||
name: "model",
|
||
rawName: "v-model",
|
||
value: _vm.enforceFullname,
|
||
expression: "enforceFullname"
|
||
}
|
||
],
|
||
staticClass: "checkbox",
|
||
attrs: {
|
||
id: "enforce_fullname",
|
||
type: "checkbox",
|
||
name: "enforce_fullname",
|
||
disabled: _vm.loading
|
||
},
|
||
domProps: {
|
||
checked: Array.isArray(_vm.enforceFullname)
|
||
? _vm._i(_vm.enforceFullname, null) > -1
|
||
: _vm.enforceFullname
|
||
},
|
||
on: {
|
||
change: [
|
||
function($event) {
|
||
var $$a = _vm.enforceFullname,
|
||
$$el = $event.target,
|
||
$$c = $$el.checked ? true : false
|
||
if (Array.isArray($$a)) {
|
||
var $$v = null,
|
||
$$i = _vm._i($$a, $$v)
|
||
if ($$el.checked) {
|
||
$$i < 0 && (_vm.enforceFullname = $$a.concat([$$v]))
|
||
} else {
|
||
$$i > -1 &&
|
||
(_vm.enforceFullname = $$a
|
||
.slice(0, $$i)
|
||
.concat($$a.slice($$i + 1)))
|
||
}
|
||
} else {
|
||
_vm.enforceFullname = $$c
|
||
}
|
||
},
|
||
_vm.saveData
|
||
]
|
||
}
|
||
}),
|
||
_vm._v(" "),
|
||
_c("label", { attrs: { for: "enforce_fullname" } }, [
|
||
_vm._v(
|
||
_vm._s(_vm.t("registration", "Enforce full name field"))
|
||
)
|
||
])
|
||
])
|
||
: _vm._e(),
|
||
_vm._v(" "),
|
||
_vm.canShowPhone
|
||
? _c("p", [
|
||
_c("input", {
|
||
directives: [
|
||
{
|
||
name: "model",
|
||
rawName: "v-model",
|
||
value: _vm.showPhone,
|
||
expression: "showPhone"
|
||
}
|
||
],
|
||
staticClass: "checkbox",
|
||
attrs: {
|
||
id: "show_phone",
|
||
type: "checkbox",
|
||
name: "show_phone",
|
||
disabled: _vm.loading
|
||
},
|
||
domProps: {
|
||
checked: Array.isArray(_vm.showPhone)
|
||
? _vm._i(_vm.showPhone, null) > -1
|
||
: _vm.showPhone
|
||
},
|
||
on: {
|
||
change: [
|
||
function($event) {
|
||
var $$a = _vm.showPhone,
|
||
$$el = $event.target,
|
||
$$c = $$el.checked ? true : false
|
||
if (Array.isArray($$a)) {
|
||
var $$v = null,
|
||
$$i = _vm._i($$a, $$v)
|
||
if ($$el.checked) {
|
||
$$i < 0 && (_vm.showPhone = $$a.concat([$$v]))
|
||
} else {
|
||
$$i > -1 &&
|
||
(_vm.showPhone = $$a
|
||
.slice(0, $$i)
|
||
.concat($$a.slice($$i + 1)))
|
||
}
|
||
} else {
|
||
_vm.showPhone = $$c
|
||
}
|
||
},
|
||
_vm.saveData
|
||
]
|
||
}
|
||
}),
|
||
_vm._v(" "),
|
||
_c("label", { attrs: { for: "show_phone" } }, [
|
||
_vm._v(_vm._s(_vm.t("registration", "Show phone field")))
|
||
])
|
||
])
|
||
: _vm._e(),
|
||
_vm._v(" "),
|
||
_vm.canShowPhone && _vm.showPhone
|
||
? _c("p", { staticClass: "indent" }, [
|
||
_c("input", {
|
||
directives: [
|
||
{
|
||
name: "model",
|
||
rawName: "v-model",
|
||
value: _vm.enforcePhone,
|
||
expression: "enforcePhone"
|
||
}
|
||
],
|
||
staticClass: "checkbox",
|
||
attrs: {
|
||
id: "enforce_phone",
|
||
type: "checkbox",
|
||
name: "enforce_phone",
|
||
disabled: _vm.loading
|
||
},
|
||
domProps: {
|
||
checked: Array.isArray(_vm.enforcePhone)
|
||
? _vm._i(_vm.enforcePhone, null) > -1
|
||
: _vm.enforcePhone
|
||
},
|
||
on: {
|
||
change: [
|
||
function($event) {
|
||
var $$a = _vm.enforcePhone,
|
||
$$el = $event.target,
|
||
$$c = $$el.checked ? true : false
|
||
if (Array.isArray($$a)) {
|
||
var $$v = null,
|
||
$$i = _vm._i($$a, $$v)
|
||
if ($$el.checked) {
|
||
$$i < 0 && (_vm.enforcePhone = $$a.concat([$$v]))
|
||
} else {
|
||
$$i > -1 &&
|
||
(_vm.enforcePhone = $$a
|
||
.slice(0, $$i)
|
||
.concat($$a.slice($$i + 1)))
|
||
}
|
||
} else {
|
||
_vm.enforcePhone = $$c
|
||
}
|
||
},
|
||
_vm.saveData
|
||
]
|
||
}
|
||
}),
|
||
_vm._v(" "),
|
||
_c("label", { attrs: { for: "enforce_phone" } }, [
|
||
_vm._v(_vm._s(_vm.t("registration", "Enforce phone field")))
|
||
])
|
||
])
|
||
: _vm._e()
|
||
],
|
||
2
|
||
),
|
||
_vm._v(" "),
|
||
_c(
|
||
"SettingsSection",
|
||
{
|
||
attrs: {
|
||
title: _vm.t("registration", "User instructions"),
|
||
description: _vm.t(
|
||
"registration",
|
||
"Caution: The user instructions will not be translated and will therefore be displayed as configured below for all users regardless of their actual language."
|
||
)
|
||
}
|
||
},
|
||
[
|
||
_c("h3", [
|
||
_vm._v(
|
||
_vm._s(_vm.t("registration", "Registration form instructions"))
|
||
)
|
||
]),
|
||
_vm._v(" "),
|
||
_c("p", [
|
||
_c("input", {
|
||
directives: [
|
||
{
|
||
name: "model",
|
||
rawName: "v-model",
|
||
value: _vm.additionalHint,
|
||
expression: "additionalHint"
|
||
}
|
||
],
|
||
attrs: {
|
||
type: "text",
|
||
name: "additional_hint",
|
||
disabled: _vm.loading,
|
||
placeholder:
|
||
"Please create your username following the scheme 'firstname.lastname'.",
|
||
"aria-label": _vm.t(
|
||
"registration",
|
||
"A short message that is shown to the user in the registration process."
|
||
)
|
||
},
|
||
domProps: { value: _vm.additionalHint },
|
||
on: {
|
||
input: [
|
||
function($event) {
|
||
if ($event.target.composing) {
|
||
return
|
||
}
|
||
_vm.additionalHint = $event.target.value
|
||
},
|
||
_vm.debounceSavingSlow
|
||
]
|
||
}
|
||
})
|
||
]),
|
||
_vm._v(" "),
|
||
_c("em", [
|
||
_vm._v(
|
||
_vm._s(
|
||
_vm.t(
|
||
"registration",
|
||
"Add additional user instructions (e.g. for choosing their login name). If configured the text is displayed in the account creation step of the registration process."
|
||
)
|
||
)
|
||
)
|
||
]),
|
||
_vm._v(" "),
|
||
_c("h3", [
|
||
_vm._v(
|
||
_vm._s(_vm.t("registration", "Verification email instructions"))
|
||
)
|
||
]),
|
||
_vm._v(" "),
|
||
_c("p", [
|
||
_c("input", {
|
||
directives: [
|
||
{
|
||
name: "model",
|
||
rawName: "v-model",
|
||
value: _vm.emailVerificationHint,
|
||
expression: "emailVerificationHint"
|
||
}
|
||
],
|
||
attrs: {
|
||
type: "text",
|
||
name: "email_verification_hint",
|
||
disabled: _vm.loading,
|
||
placeholder:
|
||
"Please create your username following the scheme 'firstname.lastname'.",
|
||
"aria-label": _vm.t(
|
||
"registration",
|
||
"A short message that is shown to the user in the verification email."
|
||
)
|
||
},
|
||
domProps: { value: _vm.emailVerificationHint },
|
||
on: {
|
||
input: [
|
||
function($event) {
|
||
if ($event.target.composing) {
|
||
return
|
||
}
|
||
_vm.emailVerificationHint = $event.target.value
|
||
},
|
||
_vm.debounceSavingSlow
|
||
]
|
||
}
|
||
})
|
||
]),
|
||
_vm._v(" "),
|
||
_c("em", [
|
||
_vm._v(
|
||
_vm._s(
|
||
_vm.t(
|
||
"registration",
|
||
"Add additional user instructions (e.g. for choosing their login name). If configured the text is embedded in the verification-email."
|
||
)
|
||
)
|
||
)
|
||
])
|
||
]
|
||
)
|
||
],
|
||
1
|
||
)
|
||
}
|
||
var staticRenderFns = []
|
||
render._withStripped = true
|
||
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js":
|
||
/*!********************************************************************!*\
|
||
!*** ./node_modules/vue-loader/lib/runtime/componentNormalizer.js ***!
|
||
\********************************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ "default": function() { return /* binding */ normalizeComponent; }
|
||
/* harmony export */ });
|
||
/* globals __VUE_SSR_CONTEXT__ */
|
||
|
||
// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
|
||
// This module is a runtime utility for cleaner component module output and will
|
||
// be included in the final webpack user bundle.
|
||
|
||
function normalizeComponent (
|
||
scriptExports,
|
||
render,
|
||
staticRenderFns,
|
||
functionalTemplate,
|
||
injectStyles,
|
||
scopeId,
|
||
moduleIdentifier, /* server only */
|
||
shadowMode /* vue-cli only */
|
||
) {
|
||
// Vue.extend constructor export interop
|
||
var options = typeof scriptExports === 'function'
|
||
? scriptExports.options
|
||
: scriptExports
|
||
|
||
// render functions
|
||
if (render) {
|
||
options.render = render
|
||
options.staticRenderFns = staticRenderFns
|
||
options._compiled = true
|
||
}
|
||
|
||
// functional template
|
||
if (functionalTemplate) {
|
||
options.functional = true
|
||
}
|
||
|
||
// scopedId
|
||
if (scopeId) {
|
||
options._scopeId = 'data-v-' + scopeId
|
||
}
|
||
|
||
var hook
|
||
if (moduleIdentifier) { // server build
|
||
hook = function (context) {
|
||
// 2.3 injection
|
||
context =
|
||
context || // cached call
|
||
(this.$vnode && this.$vnode.ssrContext) || // stateful
|
||
(this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
|
||
// 2.2 with runInNewContext: true
|
||
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
|
||
context = __VUE_SSR_CONTEXT__
|
||
}
|
||
// inject component styles
|
||
if (injectStyles) {
|
||
injectStyles.call(this, context)
|
||
}
|
||
// register component module identifier for async chunk inferrence
|
||
if (context && context._registeredComponents) {
|
||
context._registeredComponents.add(moduleIdentifier)
|
||
}
|
||
}
|
||
// used by ssr in case component is cached and beforeCreate
|
||
// never gets called
|
||
options._ssrRegister = hook
|
||
} else if (injectStyles) {
|
||
hook = shadowMode
|
||
? function () {
|
||
injectStyles.call(
|
||
this,
|
||
(options.functional ? this.parent : this).$root.$options.shadowRoot
|
||
)
|
||
}
|
||
: injectStyles
|
||
}
|
||
|
||
if (hook) {
|
||
if (options.functional) {
|
||
// for template-only hot-reload because in that case the render fn doesn't
|
||
// go through the normalizer
|
||
options._injectStyles = hook
|
||
// register for functional component in vue file
|
||
var originalRender = options.render
|
||
options.render = function renderWithStyleInjection (h, context) {
|
||
hook.call(context)
|
||
return originalRender(h, context)
|
||
}
|
||
} else {
|
||
// inject component registration as beforeCreate hook
|
||
var existing = options.beforeCreate
|
||
options.beforeCreate = existing
|
||
? [].concat(existing, hook)
|
||
: [hook]
|
||
}
|
||
}
|
||
|
||
return {
|
||
exports: scriptExports,
|
||
options: options
|
||
}
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/vue-multiselect/dist/vue-multiselect.min.js":
|
||
/*!******************************************************************!*\
|
||
!*** ./node_modules/vue-multiselect/dist/vue-multiselect.min.js ***!
|
||
\******************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
/* provided dependency */ var console = __webpack_require__(/*! console-browserify */ "./node_modules/console-browserify/index.js");
|
||
!function(t,e){ true?module.exports=e():0}(this,function(){return function(t){function e(i){if(n[i])return n[i].exports;var r=n[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="/",e(e.s=60)}([function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e,n){var i=n(49)("wks"),r=n(30),o=n(0).Symbol,s="function"==typeof o;(t.exports=function(t){return i[t]||(i[t]=s&&o[t]||(s?o:r)("Symbol."+t))}).store=i},function(t,e,n){var i=n(5);t.exports=function(t){if(!i(t))throw TypeError(t+" is not an object!");return t}},function(t,e,n){var i=n(0),r=n(10),o=n(8),s=n(6),u=n(11),a=function(t,e,n){var l,c,f,p,h=t&a.F,d=t&a.G,v=t&a.S,g=t&a.P,y=t&a.B,m=d?i:v?i[e]||(i[e]={}):(i[e]||{}).prototype,b=d?r:r[e]||(r[e]={}),_=b.prototype||(b.prototype={});d&&(n=e);for(l in n)c=!h&&m&&void 0!==m[l],f=(c?m:n)[l],p=y&&c?u(f,i):g&&"function"==typeof f?u(Function.call,f):f,m&&s(m,l,f,t&a.U),b[l]!=f&&o(b,l,p),g&&_[l]!=f&&(_[l]=f)};i.core=r,a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a},function(t,e,n){t.exports=!n(7)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,n){var i=n(0),r=n(8),o=n(12),s=n(30)("src"),u=Function.toString,a=(""+u).split("toString");n(10).inspectSource=function(t){return u.call(t)},(t.exports=function(t,e,n,u){var l="function"==typeof n;l&&(o(n,"name")||r(n,"name",e)),t[e]!==n&&(l&&(o(n,s)||r(n,s,t[e]?""+t[e]:a.join(String(e)))),t===i?t[e]=n:u?t[e]?t[e]=n:r(t,e,n):(delete t[e],r(t,e,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[s]||u.call(this)})},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,n){var i=n(13),r=n(25);t.exports=n(4)?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){var n=t.exports={version:"2.5.7"};"number"==typeof __e&&(__e=n)},function(t,e,n){var i=n(14);t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var i=n(2),r=n(41),o=n(29),s=Object.defineProperty;e.f=n(4)?Object.defineProperty:function(t,e,n){if(i(t),e=o(e,!0),i(n),r)try{return s(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e){t.exports={}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,n){"use strict";var i=n(7);t.exports=function(t,e){return!!t&&i(function(){e?t.call(null,function(){},1):t.call(null)})}},function(t,e,n){var i=n(23),r=n(16);t.exports=function(t){return i(r(t))}},function(t,e,n){var i=n(53),r=Math.min;t.exports=function(t){return t>0?r(i(t),9007199254740991):0}},function(t,e,n){var i=n(11),r=n(23),o=n(28),s=n(19),u=n(64);t.exports=function(t,e){var n=1==t,a=2==t,l=3==t,c=4==t,f=6==t,p=5==t||f,h=e||u;return function(e,u,d){for(var v,g,y=o(e),m=r(y),b=i(u,d,3),_=s(m.length),x=0,w=n?h(e,_):a?h(e,0):void 0;_>x;x++)if((p||x in m)&&(v=m[x],g=b(v,x,y),t))if(n)w[x]=g;else if(g)switch(t){case 3:return!0;case 5:return v;case 6:return x;case 2:w.push(v)}else if(c)return!1;return f?-1:l||c?c:w}}},function(t,e,n){var i=n(5),r=n(0).document,o=i(r)&&i(r.createElement);t.exports=function(t){return o?r.createElement(t):{}}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,n){var i=n(9);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==i(t)?t.split(""):Object(t)}},function(t,e){t.exports=!1},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var i=n(13).f,r=n(12),o=n(1)("toStringTag");t.exports=function(t,e,n){t&&!r(t=n?t:t.prototype,o)&&i(t,o,{configurable:!0,value:e})}},function(t,e,n){var i=n(49)("keys"),r=n(30);t.exports=function(t){return i[t]||(i[t]=r(t))}},function(t,e,n){var i=n(16);t.exports=function(t){return Object(i(t))}},function(t,e,n){var i=n(5);t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")}},function(t,e){var n=0,i=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+i).toString(36))}},function(t,e,n){"use strict";var i=n(0),r=n(12),o=n(9),s=n(67),u=n(29),a=n(7),l=n(77).f,c=n(45).f,f=n(13).f,p=n(51).trim,h=i.Number,d=h,v=h.prototype,g="Number"==o(n(44)(v)),y="trim"in String.prototype,m=function(t){var e=u(t,!1);if("string"==typeof e&&e.length>2){e=y?e.trim():p(e,3);var n,i,r,o=e.charCodeAt(0);if(43===o||45===o){if(88===(n=e.charCodeAt(2))||120===n)return NaN}else if(48===o){switch(e.charCodeAt(1)){case 66:case 98:i=2,r=49;break;case 79:case 111:i=8,r=55;break;default:return+e}for(var s,a=e.slice(2),l=0,c=a.length;l<c;l++)if((s=a.charCodeAt(l))<48||s>r)return NaN;return parseInt(a,i)}}return+e};if(!h(" 0o1")||!h("0b1")||h("+0x1")){h=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof h&&(g?a(function(){v.valueOf.call(n)}):"Number"!=o(n))?s(new d(m(e)),n,h):m(e)};for(var b,_=n(4)?l(d):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),x=0;_.length>x;x++)r(d,b=_[x])&&!r(h,b)&&f(h,b,c(d,b));h.prototype=v,v.constructor=h,n(6)(i,"Number",h)}},function(t,e,n){"use strict";function i(t){return 0!==t&&(!(!Array.isArray(t)||0!==t.length)||!t)}function r(t){return function(){return!t.apply(void 0,arguments)}}function o(t,e){return void 0===t&&(t="undefined"),null===t&&(t="null"),!1===t&&(t="false"),-1!==t.toString().toLowerCase().indexOf(e.trim())}function s(t,e,n,i){return t.filter(function(t){return o(i(t,n),e)})}function u(t){return t.filter(function(t){return!t.$isLabel})}function a(t,e){return function(n){return n.reduce(function(n,i){return i[t]&&i[t].length?(n.push({$groupLabel:i[e],$isLabel:!0}),n.concat(i[t])):n},[])}}function l(t,e,i,r,o){return function(u){return u.map(function(u){var a;if(!u[i])return console.warn("Options passed to vue-multiselect do not contain groups, despite the config."),[];var l=s(u[i],t,e,o);return l.length?(a={},n.i(d.a)(a,r,u[r]),n.i(d.a)(a,i,l),a):[]})}}var c=n(59),f=n(54),p=(n.n(f),n(95)),h=(n.n(p),n(31)),d=(n.n(h),n(58)),v=n(91),g=(n.n(v),n(98)),y=(n.n(g),n(92)),m=(n.n(y),n(88)),b=(n.n(m),n(97)),_=(n.n(b),n(89)),x=(n.n(_),n(96)),w=(n.n(x),n(93)),S=(n.n(w),n(90)),O=(n.n(S),function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return function(t){return e.reduce(function(t,e){return e(t)},t)}});e.a={data:function(){return{search:"",isOpen:!1,preferredOpenDirection:"below",optimizedHeight:this.maxHeight}},props:{internalSearch:{type:Boolean,default:!0},options:{type:Array,required:!0},multiple:{type:Boolean,default:!1},value:{type:null,default:function(){return[]}},trackBy:{type:String},label:{type:String},searchable:{type:Boolean,default:!0},clearOnSelect:{type:Boolean,default:!0},hideSelected:{type:Boolean,default:!1},placeholder:{type:String,default:"Select option"},allowEmpty:{type:Boolean,default:!0},resetAfter:{type:Boolean,default:!1},closeOnSelect:{type:Boolean,default:!0},customLabel:{type:Function,default:function(t,e){return i(t)?"":e?t[e]:t}},taggable:{type:Boolean,default:!1},tagPlaceholder:{type:String,default:"Press enter to create a tag"},tagPosition:{type:String,default:"top"},max:{type:[Number,Boolean],default:!1},id:{default:null},optionsLimit:{type:Number,default:1e3},groupValues:{type:String},groupLabel:{type:String},groupSelect:{type:Boolean,default:!1},blockKeys:{type:Array,default:function(){return[]}},preserveSearch:{type:Boolean,default:!1},preselectFirst:{type:Boolean,default:!1}},mounted:function(){!this.multiple&&this.max&&console.warn("[Vue-Multiselect warn]: Max prop should not be used when prop Multiple equals false."),this.preselectFirst&&!this.internalValue.length&&this.options.length&&this.select(this.filteredOptions[0])},computed:{internalValue:function(){return this.value||0===this.value?Array.isArray(this.value)?this.value:[this.value]:[]},filteredOptions:function(){var t=this.search||"",e=t.toLowerCase().trim(),n=this.options.concat();return n=this.internalSearch?this.groupValues?this.filterAndFlat(n,e,this.label):s(n,e,this.label,this.customLabel):this.groupValues?a(this.groupValues,this.groupLabel)(n):n,n=this.hideSelected?n.filter(r(this.isSelected)):n,this.taggable&&e.length&&!this.isExistingOption(e)&&("bottom"===this.tagPosition?n.push({isTag:!0,label:t}):n.unshift({isTag:!0,label:t})),n.slice(0,this.optionsLimit)},valueKeys:function(){var t=this;return this.trackBy?this.internalValue.map(function(e){return e[t.trackBy]}):this.internalValue},optionKeys:function(){var t=this;return(this.groupValues?this.flatAndStrip(this.options):this.options).map(function(e){return t.customLabel(e,t.label).toString().toLowerCase()})},currentOptionLabel:function(){return this.multiple?this.searchable?"":this.placeholder:this.internalValue.length?this.getOptionLabel(this.internalValue[0]):this.searchable?"":this.placeholder}},watch:{internalValue:function(){this.resetAfter&&this.internalValue.length&&(this.search="",this.$emit("input",this.multiple?[]:null))},search:function(){this.$emit("search-change",this.search,this.id)}},methods:{getValue:function(){return this.multiple?this.internalValue:0===this.internalValue.length?null:this.internalValue[0]},filterAndFlat:function(t,e,n){return O(l(e,n,this.groupValues,this.groupLabel,this.customLabel),a(this.groupValues,this.groupLabel))(t)},flatAndStrip:function(t){return O(a(this.groupValues,this.groupLabel),u)(t)},updateSearch:function(t){this.search=t},isExistingOption:function(t){return!!this.options&&this.optionKeys.indexOf(t)>-1},isSelected:function(t){var e=this.trackBy?t[this.trackBy]:t;return this.valueKeys.indexOf(e)>-1},isOptionDisabled:function(t){return!!t.$isDisabled},getOptionLabel:function(t){if(i(t))return"";if(t.isTag)return t.label;if(t.$isLabel)return t.$groupLabel;var e=this.customLabel(t,this.label);return i(e)?"":e},select:function(t,e){if(t.$isLabel&&this.groupSelect)return void this.selectGroup(t);if(!(-1!==this.blockKeys.indexOf(e)||this.disabled||t.$isDisabled||t.$isLabel)&&(!this.max||!this.multiple||this.internalValue.length!==this.max)&&("Tab"!==e||this.pointerDirty)){if(t.isTag)this.$emit("tag",t.label,this.id),this.search="",this.closeOnSelect&&!this.multiple&&this.deactivate();else{if(this.isSelected(t))return void("Tab"!==e&&this.removeElement(t));this.$emit("select",t,this.id),this.multiple?this.$emit("input",this.internalValue.concat([t]),this.id):this.$emit("input",t,this.id),this.clearOnSelect&&(this.search="")}this.closeOnSelect&&this.deactivate()}},selectGroup:function(t){var e=this,n=this.options.find(function(n){return n[e.groupLabel]===t.$groupLabel});if(n)if(this.wholeGroupSelected(n)){this.$emit("remove",n[this.groupValues],this.id);var i=this.internalValue.filter(function(t){return-1===n[e.groupValues].indexOf(t)});this.$emit("input",i,this.id)}else{var r=n[this.groupValues].filter(function(t){return!(e.isOptionDisabled(t)||e.isSelected(t))});this.$emit("select",r,this.id),this.$emit("input",this.internalValue.concat(r),this.id)}},wholeGroupSelected:function(t){var e=this;return t[this.groupValues].every(function(t){return e.isSelected(t)||e.isOptionDisabled(t)})},wholeGroupDisabled:function(t){return t[this.groupValues].every(this.isOptionDisabled)},removeElement:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!this.disabled&&!t.$isDisabled){if(!this.allowEmpty&&this.internalValue.length<=1)return void this.deactivate();var i="object"===n.i(c.a)(t)?this.valueKeys.indexOf(t[this.trackBy]):this.valueKeys.indexOf(t);if(this.$emit("remove",t,this.id),this.multiple){var r=this.internalValue.slice(0,i).concat(this.internalValue.slice(i+1));this.$emit("input",r,this.id)}else this.$emit("input",null,this.id);this.closeOnSelect&&e&&this.deactivate()}},removeLastElement:function(){-1===this.blockKeys.indexOf("Delete")&&0===this.search.length&&Array.isArray(this.internalValue)&&this.internalValue.length&&this.removeElement(this.internalValue[this.internalValue.length-1],!1)},activate:function(){var t=this;this.isOpen||this.disabled||(this.adjustPosition(),this.groupValues&&0===this.pointer&&this.filteredOptions.length&&(this.pointer=1),this.isOpen=!0,this.searchable?(this.preserveSearch||(this.search=""),this.$nextTick(function(){return t.$refs.search.focus()})):this.$el.focus(),this.$emit("open",this.id))},deactivate:function(){this.isOpen&&(this.isOpen=!1,this.searchable?this.$refs.search.blur():this.$el.blur(),this.preserveSearch||(this.search=""),this.$emit("close",this.getValue(),this.id))},toggle:function(){this.isOpen?this.deactivate():this.activate()},adjustPosition:function(){if("undefined"!=typeof window){var t=this.$el.getBoundingClientRect().top,e=window.innerHeight-this.$el.getBoundingClientRect().bottom;e>this.maxHeight||e>t||"below"===this.openDirection||"bottom"===this.openDirection?(this.preferredOpenDirection="below",this.optimizedHeight=Math.min(e-40,this.maxHeight)):(this.preferredOpenDirection="above",this.optimizedHeight=Math.min(t-40,this.maxHeight))}}}}},function(t,e,n){"use strict";var i=n(54),r=(n.n(i),n(31));n.n(r);e.a={data:function(){return{pointer:0,pointerDirty:!1}},props:{showPointer:{type:Boolean,default:!0},optionHeight:{type:Number,default:40}},computed:{pointerPosition:function(){return this.pointer*this.optionHeight},visibleElements:function(){return this.optimizedHeight/this.optionHeight}},watch:{filteredOptions:function(){this.pointerAdjust()},isOpen:function(){this.pointerDirty=!1}},methods:{optionHighlight:function(t,e){return{"multiselect__option--highlight":t===this.pointer&&this.showPointer,"multiselect__option--selected":this.isSelected(e)}},groupHighlight:function(t,e){var n=this;if(!this.groupSelect)return["multiselect__option--group","multiselect__option--disabled"];var i=this.options.find(function(t){return t[n.groupLabel]===e.$groupLabel});return i&&!this.wholeGroupDisabled(i)?["multiselect__option--group",{"multiselect__option--highlight":t===this.pointer&&this.showPointer},{"multiselect__option--group-selected":this.wholeGroupSelected(i)}]:"multiselect__option--disabled"},addPointerElement:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Enter",e=t.key;this.filteredOptions.length>0&&this.select(this.filteredOptions[this.pointer],e),this.pointerReset()},pointerForward:function(){this.pointer<this.filteredOptions.length-1&&(this.pointer++,this.$refs.list.scrollTop<=this.pointerPosition-(this.visibleElements-1)*this.optionHeight&&(this.$refs.list.scrollTop=this.pointerPosition-(this.visibleElements-1)*this.optionHeight),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()),this.pointerDirty=!0},pointerBackward:function(){this.pointer>0?(this.pointer--,this.$refs.list.scrollTop>=this.pointerPosition&&(this.$refs.list.scrollTop=this.pointerPosition),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerBackward()):this.filteredOptions[this.pointer]&&this.filteredOptions[0].$isLabel&&!this.groupSelect&&this.pointerForward(),this.pointerDirty=!0},pointerReset:function(){this.closeOnSelect&&(this.pointer=0,this.$refs.list&&(this.$refs.list.scrollTop=0))},pointerAdjust:function(){this.pointer>=this.filteredOptions.length-1&&(this.pointer=this.filteredOptions.length?this.filteredOptions.length-1:0),this.filteredOptions.length>0&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()},pointerSet:function(t){this.pointer=t,this.pointerDirty=!0}}}},function(t,e,n){"use strict";var i=n(36),r=n(74),o=n(15),s=n(18);t.exports=n(72)(Array,"Array",function(t,e){this._t=s(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,r(1)):"keys"==e?r(0,n):"values"==e?r(0,t[n]):r(0,[n,t[n]])},"values"),o.Arguments=o.Array,i("keys"),i("values"),i("entries")},function(t,e,n){"use strict";var i=n(31),r=(n.n(i),n(32)),o=n(33);e.a={name:"vue-multiselect",mixins:[r.a,o.a],props:{name:{type:String,default:""},selectLabel:{type:String,default:"Press enter to select"},selectGroupLabel:{type:String,default:"Press enter to select group"},selectedLabel:{type:String,default:"Selected"},deselectLabel:{type:String,default:"Press enter to remove"},deselectGroupLabel:{type:String,default:"Press enter to deselect group"},showLabels:{type:Boolean,default:!0},limit:{type:Number,default:99999},maxHeight:{type:Number,default:300},limitText:{type:Function,default:function(t){return"and ".concat(t," more")}},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},openDirection:{type:String,default:""},showNoOptions:{type:Boolean,default:!0},showNoResults:{type:Boolean,default:!0},tabindex:{type:Number,default:0}},computed:{isSingleLabelVisible:function(){return(this.singleValue||0===this.singleValue)&&(!this.isOpen||!this.searchable)&&!this.visibleValues.length},isPlaceholderVisible:function(){return!(this.internalValue.length||this.searchable&&this.isOpen)},visibleValues:function(){return this.multiple?this.internalValue.slice(0,this.limit):[]},singleValue:function(){return this.internalValue[0]},deselectLabelText:function(){return this.showLabels?this.deselectLabel:""},deselectGroupLabelText:function(){return this.showLabels?this.deselectGroupLabel:""},selectLabelText:function(){return this.showLabels?this.selectLabel:""},selectGroupLabelText:function(){return this.showLabels?this.selectGroupLabel:""},selectedLabelText:function(){return this.showLabels?this.selectedLabel:""},inputStyle:function(){if(this.searchable||this.multiple&&this.value&&this.value.length)return this.isOpen?{width:"100%"}:{width:"0",position:"absolute",padding:"0"}},contentStyle:function(){return this.options.length?{display:"inline-block"}:{display:"block"}},isAbove:function(){return"above"===this.openDirection||"top"===this.openDirection||"below"!==this.openDirection&&"bottom"!==this.openDirection&&"above"===this.preferredOpenDirection},showSearchInput:function(){return this.searchable&&(!this.hasSingleSelectedSlot||!this.visibleSingleValue&&0!==this.visibleSingleValue||this.isOpen)}}}},function(t,e,n){var i=n(1)("unscopables"),r=Array.prototype;void 0==r[i]&&n(8)(r,i,{}),t.exports=function(t){r[i][t]=!0}},function(t,e,n){var i=n(18),r=n(19),o=n(85);t.exports=function(t){return function(e,n,s){var u,a=i(e),l=r(a.length),c=o(s,l);if(t&&n!=n){for(;l>c;)if((u=a[c++])!=u)return!0}else for(;l>c;c++)if((t||c in a)&&a[c]===n)return t||c||0;return!t&&-1}}},function(t,e,n){var i=n(9),r=n(1)("toStringTag"),o="Arguments"==i(function(){return arguments}()),s=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,n,u;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=s(e=Object(t),r))?n:o?i(e):"Object"==(u=i(e))&&"function"==typeof e.callee?"Arguments":u}},function(t,e,n){"use strict";var i=n(2);t.exports=function(){var t=i(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},function(t,e,n){var i=n(0).document;t.exports=i&&i.documentElement},function(t,e,n){t.exports=!n(4)&&!n(7)(function(){return 7!=Object.defineProperty(n(21)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){var i=n(9);t.exports=Array.isArray||function(t){return"Array"==i(t)}},function(t,e,n){"use strict";function i(t){var e,n;this.promise=new t(function(t,i){if(void 0!==e||void 0!==n)throw TypeError("Bad Promise constructor");e=t,n=i}),this.resolve=r(e),this.reject=r(n)}var r=n(14);t.exports.f=function(t){return new i(t)}},function(t,e,n){var i=n(2),r=n(76),o=n(22),s=n(27)("IE_PROTO"),u=function(){},a=function(){var t,e=n(21)("iframe"),i=o.length;for(e.style.display="none",n(40).appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write("<script>document.F=Object<\/script>"),t.close(),a=t.F;i--;)delete a.prototype[o[i]];return a()};t.exports=Object.create||function(t,e){var n;return null!==t?(u.prototype=i(t),n=new u,u.prototype=null,n[s]=t):n=a(),void 0===e?n:r(n,e)}},function(t,e,n){var i=n(79),r=n(25),o=n(18),s=n(29),u=n(12),a=n(41),l=Object.getOwnPropertyDescriptor;e.f=n(4)?l:function(t,e){if(t=o(t),e=s(e,!0),a)try{return l(t,e)}catch(t){}if(u(t,e))return r(!i.f.call(t,e),t[e])}},function(t,e,n){var i=n(12),r=n(18),o=n(37)(!1),s=n(27)("IE_PROTO");t.exports=function(t,e){var n,u=r(t),a=0,l=[];for(n in u)n!=s&&i(u,n)&&l.push(n);for(;e.length>a;)i(u,n=e[a++])&&(~o(l,n)||l.push(n));return l}},function(t,e,n){var i=n(46),r=n(22);t.exports=Object.keys||function(t){return i(t,r)}},function(t,e,n){var i=n(2),r=n(5),o=n(43);t.exports=function(t,e){if(i(t),r(e)&&e.constructor===t)return e;var n=o.f(t);return(0,n.resolve)(e),n.promise}},function(t,e,n){var i=n(10),r=n(0),o=r["__core-js_shared__"]||(r["__core-js_shared__"]={});(t.exports=function(t,e){return o[t]||(o[t]=void 0!==e?e:{})})("versions",[]).push({version:i.version,mode:n(24)?"pure":"global",copyright:"© 2018 Denis Pushkarev (zloirock.ru)"})},function(t,e,n){var i=n(2),r=n(14),o=n(1)("species");t.exports=function(t,e){var n,s=i(t).constructor;return void 0===s||void 0==(n=i(s)[o])?e:r(n)}},function(t,e,n){var i=n(3),r=n(16),o=n(7),s=n(84),u="["+s+"]",a="
",l=RegExp("^"+u+u+"*"),c=RegExp(u+u+"*$"),f=function(t,e,n){var r={},u=o(function(){return!!s[t]()||a[t]()!=a}),l=r[t]=u?e(p):s[t];n&&(r[n]=l),i(i.P+i.F*u,"String",r)},p=f.trim=function(t,e){return t=String(r(t)),1&e&&(t=t.replace(l,"")),2&e&&(t=t.replace(c,"")),t};t.exports=f},function(t,e,n){var i,r,o,s=n(11),u=n(68),a=n(40),l=n(21),c=n(0),f=c.process,p=c.setImmediate,h=c.clearImmediate,d=c.MessageChannel,v=c.Dispatch,g=0,y={},m=function(){var t=+this;if(y.hasOwnProperty(t)){var e=y[t];delete y[t],e()}},b=function(t){m.call(t.data)};p&&h||(p=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return y[++g]=function(){u("function"==typeof t?t:Function(t),e)},i(g),g},h=function(t){delete y[t]},"process"==n(9)(f)?i=function(t){f.nextTick(s(m,t,1))}:v&&v.now?i=function(t){v.now(s(m,t,1))}:d?(r=new d,o=r.port2,r.port1.onmessage=b,i=s(o.postMessage,o,1)):c.addEventListener&&"function"==typeof postMessage&&!c.importScripts?(i=function(t){c.postMessage(t+"","*")},c.addEventListener("message",b,!1)):i="onreadystatechange"in l("script")?function(t){a.appendChild(l("script")).onreadystatechange=function(){a.removeChild(this),m.call(t)}}:function(t){setTimeout(s(m,t,1),0)}),t.exports={set:p,clear:h}},function(t,e){var n=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:n)(t)}},function(t,e,n){"use strict";var i=n(3),r=n(20)(5),o=!0;"find"in[]&&Array(1).find(function(){o=!1}),i(i.P+i.F*o,"Array",{find:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}}),n(36)("find")},function(t,e,n){"use strict";var i,r,o,s,u=n(24),a=n(0),l=n(11),c=n(38),f=n(3),p=n(5),h=n(14),d=n(61),v=n(66),g=n(50),y=n(52).set,m=n(75)(),b=n(43),_=n(80),x=n(86),w=n(48),S=a.TypeError,O=a.process,L=O&&O.versions,k=L&&L.v8||"",P=a.Promise,T="process"==c(O),V=function(){},E=r=b.f,A=!!function(){try{var t=P.resolve(1),e=(t.constructor={})[n(1)("species")]=function(t){t(V,V)};return(T||"function"==typeof PromiseRejectionEvent)&&t.then(V)instanceof e&&0!==k.indexOf("6.6")&&-1===x.indexOf("Chrome/66")}catch(t){}}(),C=function(t){var e;return!(!p(t)||"function"!=typeof(e=t.then))&&e},D=function(t,e){if(!t._n){t._n=!0;var n=t._c;m(function(){for(var i=t._v,r=1==t._s,o=0;n.length>o;)!function(e){var n,o,s,u=r?e.ok:e.fail,a=e.resolve,l=e.reject,c=e.domain;try{u?(r||(2==t._h&&$(t),t._h=1),!0===u?n=i:(c&&c.enter(),n=u(i),c&&(c.exit(),s=!0)),n===e.promise?l(S("Promise-chain cycle")):(o=C(n))?o.call(n,a,l):a(n)):l(i)}catch(t){c&&!s&&c.exit(),l(t)}}(n[o++]);t._c=[],t._n=!1,e&&!t._h&&j(t)})}},j=function(t){y.call(a,function(){var e,n,i,r=t._v,o=N(t);if(o&&(e=_(function(){T?O.emit("unhandledRejection",r,t):(n=a.onunhandledrejection)?n({promise:t,reason:r}):(i=a.console)&&i.error&&i.error("Unhandled promise rejection",r)}),t._h=T||N(t)?2:1),t._a=void 0,o&&e.e)throw e.v})},N=function(t){return 1!==t._h&&0===(t._a||t._c).length},$=function(t){y.call(a,function(){var e;T?O.emit("rejectionHandled",t):(e=a.onrejectionhandled)&&e({promise:t,reason:t._v})})},F=function(t){var e=this;e._d||(e._d=!0,e=e._w||e,e._v=t,e._s=2,e._a||(e._a=e._c.slice()),D(e,!0))},M=function(t){var e,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===t)throw S("Promise can't be resolved itself");(e=C(t))?m(function(){var i={_w:n,_d:!1};try{e.call(t,l(M,i,1),l(F,i,1))}catch(t){F.call(i,t)}}):(n._v=t,n._s=1,D(n,!1))}catch(t){F.call({_w:n,_d:!1},t)}}};A||(P=function(t){d(this,P,"Promise","_h"),h(t),i.call(this);try{t(l(M,this,1),l(F,this,1))}catch(t){F.call(this,t)}},i=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},i.prototype=n(81)(P.prototype,{then:function(t,e){var n=E(g(this,P));return n.ok="function"!=typeof t||t,n.fail="function"==typeof e&&e,n.domain=T?O.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&D(this,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new i;this.promise=t,this.resolve=l(M,t,1),this.reject=l(F,t,1)},b.f=E=function(t){return t===P||t===s?new o(t):r(t)}),f(f.G+f.W+f.F*!A,{Promise:P}),n(26)(P,"Promise"),n(83)("Promise"),s=n(10).Promise,f(f.S+f.F*!A,"Promise",{reject:function(t){var e=E(this);return(0,e.reject)(t),e.promise}}),f(f.S+f.F*(u||!A),"Promise",{resolve:function(t){return w(u&&this===s?P:this,t)}}),f(f.S+f.F*!(A&&n(73)(function(t){P.all(t).catch(V)})),"Promise",{all:function(t){var e=this,n=E(e),i=n.resolve,r=n.reject,o=_(function(){var n=[],o=0,s=1;v(t,!1,function(t){var u=o++,a=!1;n.push(void 0),s++,e.resolve(t).then(function(t){a||(a=!0,n[u]=t,--s||i(n))},r)}),--s||i(n)});return o.e&&r(o.v),n.promise},race:function(t){var e=this,n=E(e),i=n.reject,r=_(function(){v(t,!1,function(t){e.resolve(t).then(n.resolve,i)})});return r.e&&i(r.v),n.promise}})},function(t,e,n){"use strict";var i=n(3),r=n(10),o=n(0),s=n(50),u=n(48);i(i.P+i.R,"Promise",{finally:function(t){var e=s(this,r.Promise||o.Promise),n="function"==typeof t;return this.then(n?function(n){return u(e,t()).then(function(){return n})}:t,n?function(n){return u(e,t()).then(function(){throw n})}:t)}})},function(t,e,n){"use strict";function i(t){n(99)}var r=n(35),o=n(101),s=n(100),u=i,a=s(r.a,o.a,!1,u,null,null);e.a=a.exports},function(t,e,n){"use strict";function i(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}e.a=i},function(t,e,n){"use strict";function i(t){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function r(t){return(r="function"==typeof Symbol&&"symbol"===i(Symbol.iterator)?function(t){return i(t)}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":i(t)})(t)}e.a=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(34),r=(n.n(i),n(55)),o=(n.n(r),n(56)),s=(n.n(o),n(57)),u=n(32),a=n(33);n.d(e,"Multiselect",function(){return s.a}),n.d(e,"multiselectMixin",function(){return u.a}),n.d(e,"pointerMixin",function(){return a.a}),e.default=s.a},function(t,e){t.exports=function(t,e,n,i){if(!(t instanceof e)||void 0!==i&&i in t)throw TypeError(n+": incorrect invocation!");return t}},function(t,e,n){var i=n(14),r=n(28),o=n(23),s=n(19);t.exports=function(t,e,n,u,a){i(e);var l=r(t),c=o(l),f=s(l.length),p=a?f-1:0,h=a?-1:1;if(n<2)for(;;){if(p in c){u=c[p],p+=h;break}if(p+=h,a?p<0:f<=p)throw TypeError("Reduce of empty array with no initial value")}for(;a?p>=0:f>p;p+=h)p in c&&(u=e(u,c[p],p,l));return u}},function(t,e,n){var i=n(5),r=n(42),o=n(1)("species");t.exports=function(t){var e;return r(t)&&(e=t.constructor,"function"!=typeof e||e!==Array&&!r(e.prototype)||(e=void 0),i(e)&&null===(e=e[o])&&(e=void 0)),void 0===e?Array:e}},function(t,e,n){var i=n(63);t.exports=function(t,e){return new(i(t))(e)}},function(t,e,n){"use strict";var i=n(8),r=n(6),o=n(7),s=n(16),u=n(1);t.exports=function(t,e,n){var a=u(t),l=n(s,a,""[t]),c=l[0],f=l[1];o(function(){var e={};return e[a]=function(){return 7},7!=""[t](e)})&&(r(String.prototype,t,c),i(RegExp.prototype,a,2==e?function(t,e){return f.call(t,this,e)}:function(t){return f.call(t,this)}))}},function(t,e,n){var i=n(11),r=n(70),o=n(69),s=n(2),u=n(19),a=n(87),l={},c={},e=t.exports=function(t,e,n,f,p){var h,d,v,g,y=p?function(){return t}:a(t),m=i(n,f,e?2:1),b=0;if("function"!=typeof y)throw TypeError(t+" is not iterable!");if(o(y)){for(h=u(t.length);h>b;b++)if((g=e?m(s(d=t[b])[0],d[1]):m(t[b]))===l||g===c)return g}else for(v=y.call(t);!(d=v.next()).done;)if((g=r(v,m,d.value,e))===l||g===c)return g};e.BREAK=l,e.RETURN=c},function(t,e,n){var i=n(5),r=n(82).set;t.exports=function(t,e,n){var o,s=e.constructor;return s!==n&&"function"==typeof s&&(o=s.prototype)!==n.prototype&&i(o)&&r&&r(t,o),t}},function(t,e){t.exports=function(t,e,n){var i=void 0===n;switch(e.length){case 0:return i?t():t.call(n);case 1:return i?t(e[0]):t.call(n,e[0]);case 2:return i?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return i?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return i?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)}},function(t,e,n){var i=n(15),r=n(1)("iterator"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(i.Array===t||o[r]===t)}},function(t,e,n){var i=n(2);t.exports=function(t,e,n,r){try{return r?e(i(n)[0],n[1]):e(n)}catch(e){var o=t.return;throw void 0!==o&&i(o.call(t)),e}}},function(t,e,n){"use strict";var i=n(44),r=n(25),o=n(26),s={};n(8)(s,n(1)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=i(s,{next:r(1,n)}),o(t,e+" Iterator")}},function(t,e,n){"use strict";var i=n(24),r=n(3),o=n(6),s=n(8),u=n(15),a=n(71),l=n(26),c=n(78),f=n(1)("iterator"),p=!([].keys&&"next"in[].keys()),h=function(){return this};t.exports=function(t,e,n,d,v,g,y){a(n,e,d);var m,b,_,x=function(t){if(!p&&t in L)return L[t];switch(t){case"keys":case"values":return function(){return new n(this,t)}}return function(){return new n(this,t)}},w=e+" Iterator",S="values"==v,O=!1,L=t.prototype,k=L[f]||L["@@iterator"]||v&&L[v],P=k||x(v),T=v?S?x("entries"):P:void 0,V="Array"==e?L.entries||k:k;if(V&&(_=c(V.call(new t)))!==Object.prototype&&_.next&&(l(_,w,!0),i||"function"==typeof _[f]||s(_,f,h)),S&&k&&"values"!==k.name&&(O=!0,P=function(){return k.call(this)}),i&&!y||!p&&!O&&L[f]||s(L,f,P),u[e]=P,u[w]=h,v)if(m={values:S?P:x("values"),keys:g?P:x("keys"),entries:T},y)for(b in m)b in L||o(L,b,m[b]);else r(r.P+r.F*(p||O),e,m);return m}},function(t,e,n){var i=n(1)("iterator"),r=!1;try{var o=[7][i]();o.return=function(){r=!0},Array.from(o,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!r)return!1;var n=!1;try{var o=[7],s=o[i]();s.next=function(){return{done:n=!0}},o[i]=function(){return s},t(o)}catch(t){}return n}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var i=n(0),r=n(52).set,o=i.MutationObserver||i.WebKitMutationObserver,s=i.process,u=i.Promise,a="process"==n(9)(s);t.exports=function(){var t,e,n,l=function(){var i,r;for(a&&(i=s.domain)&&i.exit();t;){r=t.fn,t=t.next;try{r()}catch(i){throw t?n():e=void 0,i}}e=void 0,i&&i.enter()};if(a)n=function(){s.nextTick(l)};else if(!o||i.navigator&&i.navigator.standalone)if(u&&u.resolve){var c=u.resolve(void 0);n=function(){c.then(l)}}else n=function(){r.call(i,l)};else{var f=!0,p=document.createTextNode("");new o(l).observe(p,{characterData:!0}),n=function(){p.data=f=!f}}return function(i){var r={fn:i,next:void 0};e&&(e.next=r),t||(t=r,n()),e=r}}},function(t,e,n){var i=n(13),r=n(2),o=n(47);t.exports=n(4)?Object.defineProperties:function(t,e){r(t);for(var n,s=o(e),u=s.length,a=0;u>a;)i.f(t,n=s[a++],e[n]);return t}},function(t,e,n){var i=n(46),r=n(22).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return i(t,r)}},function(t,e,n){var i=n(12),r=n(28),o=n(27)("IE_PROTO"),s=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=r(t),i(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?s:null}},function(t,e){e.f={}.propertyIsEnumerable},function(t,e){t.exports=function(t){try{return{e:!1,v:t()}}catch(t){return{e:!0,v:t}}}},function(t,e,n){var i=n(6);t.exports=function(t,e,n){for(var r in e)i(t,r,e[r],n);return t}},function(t,e,n){var i=n(5),r=n(2),o=function(t,e){if(r(t),!i(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,i){try{i=n(11)(Function.call,n(45).f(Object.prototype,"__proto__").set,2),i(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,n){return o(t,n),e?t.__proto__=n:i(t,n),t}}({},!1):void 0),check:o}},function(t,e,n){"use strict";var i=n(0),r=n(13),o=n(4),s=n(1)("species");t.exports=function(t){var e=i[t];o&&e&&!e[s]&&r.f(e,s,{configurable:!0,get:function(){return this}})}},function(t,e){t.exports="\t\n\v\f\r \u2028\u2029\ufeff"},function(t,e,n){var i=n(53),r=Math.max,o=Math.min;t.exports=function(t,e){return t=i(t),t<0?r(t+e,0):o(t,e)}},function(t,e,n){var i=n(0),r=i.navigator;t.exports=r&&r.userAgent||""},function(t,e,n){var i=n(38),r=n(1)("iterator"),o=n(15);t.exports=n(10).getIteratorMethod=function(t){if(void 0!=t)return t[r]||t["@@iterator"]||o[i(t)]}},function(t,e,n){"use strict";var i=n(3),r=n(20)(2);i(i.P+i.F*!n(17)([].filter,!0),"Array",{filter:function(t){return r(this,t,arguments[1])}})},function(t,e,n){"use strict";var i=n(3),r=n(37)(!1),o=[].indexOf,s=!!o&&1/[1].indexOf(1,-0)<0;i(i.P+i.F*(s||!n(17)(o)),"Array",{indexOf:function(t){return s?o.apply(this,arguments)||0:r(this,t,arguments[1])}})},function(t,e,n){var i=n(3);i(i.S,"Array",{isArray:n(42)})},function(t,e,n){"use strict";var i=n(3),r=n(20)(1);i(i.P+i.F*!n(17)([].map,!0),"Array",{map:function(t){return r(this,t,arguments[1])}})},function(t,e,n){"use strict";var i=n(3),r=n(62);i(i.P+i.F*!n(17)([].reduce,!0),"Array",{reduce:function(t){return r(this,t,arguments.length,arguments[1],!1)}})},function(t,e,n){var i=Date.prototype,r=i.toString,o=i.getTime;new Date(NaN)+""!="Invalid Date"&&n(6)(i,"toString",function(){var t=o.call(this);return t===t?r.call(this):"Invalid Date"})},function(t,e,n){n(4)&&"g"!=/./g.flags&&n(13).f(RegExp.prototype,"flags",{configurable:!0,get:n(39)})},function(t,e,n){n(65)("search",1,function(t,e,n){return[function(n){"use strict";var i=t(this),r=void 0==n?void 0:n[e];return void 0!==r?r.call(n,i):new RegExp(n)[e](String(i))},n]})},function(t,e,n){"use strict";n(94);var i=n(2),r=n(39),o=n(4),s=/./.toString,u=function(t){n(6)(RegExp.prototype,"toString",t,!0)};n(7)(function(){return"/a/b"!=s.call({source:"a",flags:"b"})})?u(function(){var t=i(this);return"/".concat(t.source,"/","flags"in t?t.flags:!o&&t instanceof RegExp?r.call(t):void 0)}):"toString"!=s.name&&u(function(){return s.call(this)})},function(t,e,n){"use strict";n(51)("trim",function(t){return function(){return t(this,3)}})},function(t,e,n){for(var i=n(34),r=n(47),o=n(6),s=n(0),u=n(8),a=n(15),l=n(1),c=l("iterator"),f=l("toStringTag"),p=a.Array,h={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},d=r(h),v=0;v<d.length;v++){var g,y=d[v],m=h[y],b=s[y],_=b&&b.prototype;if(_&&(_[c]||u(_,c,p),_[f]||u(_,f,y),a[y]=p,m))for(g in i)_[g]||o(_,g,i[g],!0)}},function(t,e){},function(t,e){t.exports=function(t,e,n,i,r,o){var s,u=t=t||{},a=typeof t.default;"object"!==a&&"function"!==a||(s=t,u=t.default);var l="function"==typeof u?u.options:u;e&&(l.render=e.render,l.staticRenderFns=e.staticRenderFns,l._compiled=!0),n&&(l.functional=!0),r&&(l._scopeId=r);var c;if(o?(c=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},l._ssrRegister=c):i&&(c=i),c){var f=l.functional,p=f?l.render:l.beforeCreate;f?(l._injectStyles=c,l.render=function(t,e){return c.call(e),p(t,e)}):l.beforeCreate=p?[].concat(p,c):[c]}return{esModule:s,exports:u,options:l}}},function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"multiselect",class:{"multiselect--active":t.isOpen,"multiselect--disabled":t.disabled,"multiselect--above":t.isAbove},attrs:{tabindex:t.searchable?-1:t.tabindex},on:{focus:function(e){t.activate()},blur:function(e){!t.searchable&&t.deactivate()},keydown:[function(e){return"button"in e||!t._k(e.keyCode,"down",40,e.key,["Down","ArrowDown"])?e.target!==e.currentTarget?null:(e.preventDefault(),void t.pointerForward()):null},function(e){return"button"in e||!t._k(e.keyCode,"up",38,e.key,["Up","ArrowUp"])?e.target!==e.currentTarget?null:(e.preventDefault(),void t.pointerBackward()):null}],keypress:function(e){return"button"in e||!t._k(e.keyCode,"enter",13,e.key,"Enter")||!t._k(e.keyCode,"tab",9,e.key,"Tab")?(e.stopPropagation(),e.target!==e.currentTarget?null:void t.addPointerElement(e)):null},keyup:function(e){if(!("button"in e)&&t._k(e.keyCode,"esc",27,e.key,"Escape"))return null;t.deactivate()}}},[t._t("caret",[n("div",{staticClass:"multiselect__select",on:{mousedown:function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}}})],{toggle:t.toggle}),t._v(" "),t._t("clear",null,{search:t.search}),t._v(" "),n("div",{ref:"tags",staticClass:"multiselect__tags"},[t._t("selection",[n("div",{directives:[{name:"show",rawName:"v-show",value:t.visibleValues.length>0,expression:"visibleValues.length > 0"}],staticClass:"multiselect__tags-wrap"},[t._l(t.visibleValues,function(e,i){return[t._t("tag",[n("span",{key:i,staticClass:"multiselect__tag"},[n("span",{domProps:{textContent:t._s(t.getOptionLabel(e))}}),t._v(" "),n("i",{staticClass:"multiselect__tag-icon",attrs:{"aria-hidden":"true",tabindex:"1"},on:{keypress:function(n){if(!("button"in n)&&t._k(n.keyCode,"enter",13,n.key,"Enter"))return null;n.preventDefault(),t.removeElement(e)},mousedown:function(n){n.preventDefault(),t.removeElement(e)}}})])],{option:e,search:t.search,remove:t.removeElement})]})],2),t._v(" "),t.internalValue&&t.internalValue.length>t.limit?[t._t("limit",[n("strong",{staticClass:"multiselect__strong",domProps:{textContent:t._s(t.limitText(t.internalValue.length-t.limit))}})])]:t._e()],{search:t.search,remove:t.removeElement,values:t.visibleValues,isOpen:t.isOpen}),t._v(" "),n("transition",{attrs:{name:"multiselect__loading"}},[t._t("loading",[n("div",{directives:[{name:"show",rawName:"v-show",value:t.loading,expression:"loading"}],staticClass:"multiselect__spinner"})])],2),t._v(" "),t.searchable?n("input",{ref:"search",staticClass:"multiselect__input",style:t.inputStyle,attrs:{name:t.name,id:t.id,type:"text",autocomplete:"nope",placeholder:t.placeholder,disabled:t.disabled,tabindex:t.tabindex},domProps:{value:t.search},on:{input:function(e){t.updateSearch(e.target.value)},focus:function(e){e.preventDefault(),t.activate()},blur:function(e){e.preventDefault(),t.deactivate()},keyup:function(e){if(!("button"in e)&&t._k(e.keyCode,"esc",27,e.key,"Escape"))return null;t.deactivate()},keydown:[function(e){if(!("button"in e)&&t._k(e.keyCode,"down",40,e.key,["Down","ArrowDown"]))return null;e.preventDefault(),t.pointerForward()},function(e){if(!("button"in e)&&t._k(e.keyCode,"up",38,e.key,["Up","ArrowUp"]))return null;e.preventDefault(),t.pointerBackward()},function(e){if(!("button"in e)&&t._k(e.keyCode,"delete",[8,46],e.key,["Backspace","Delete"]))return null;e.stopPropagation(),t.removeLastElement()}],keypress:function(e){return"button"in e||!t._k(e.keyCode,"enter",13,e.key,"Enter")?(e.preventDefault(),e.stopPropagation(),e.target!==e.currentTarget?null:void t.addPointerElement(e)):null}}}):t._e(),t._v(" "),t.isSingleLabelVisible?n("span",{staticClass:"multiselect__single",on:{mousedown:function(e){return e.preventDefault(),t.toggle(e)}}},[t._t("singleLabel",[[t._v(t._s(t.currentOptionLabel))]],{option:t.singleValue})],2):t._e(),t._v(" "),t.isPlaceholderVisible?n("span",{staticClass:"multiselect__placeholder",on:{mousedown:function(e){return e.preventDefault(),t.toggle(e)}}},[t._t("placeholder",[t._v("\n "+t._s(t.placeholder)+"\n ")])],2):t._e()],2),t._v(" "),n("transition",{attrs:{name:"multiselect"}},[n("div",{directives:[{name:"show",rawName:"v-show",value:t.isOpen,expression:"isOpen"}],ref:"list",staticClass:"multiselect__content-wrapper",style:{maxHeight:t.optimizedHeight+"px"},attrs:{tabindex:"-1"},on:{focus:t.activate,mousedown:function(t){t.preventDefault()}}},[n("ul",{staticClass:"multiselect__content",style:t.contentStyle},[t._t("beforeList"),t._v(" "),t.multiple&&t.max===t.internalValue.length?n("li",[n("span",{staticClass:"multiselect__option"},[t._t("maxElements",[t._v("Maximum of "+t._s(t.max)+" options selected. First remove a selected option to select another.")])],2)]):t._e(),t._v(" "),!t.max||t.internalValue.length<t.max?t._l(t.filteredOptions,function(e,i){return n("li",{key:i,staticClass:"multiselect__element"},[e&&(e.$isLabel||e.$isDisabled)?t._e():n("span",{staticClass:"multiselect__option",class:t.optionHighlight(i,e),attrs:{"data-select":e&&e.isTag?t.tagPlaceholder:t.selectLabelText,"data-selected":t.selectedLabelText,"data-deselect":t.deselectLabelText},on:{click:function(n){n.stopPropagation(),t.select(e)},mouseenter:function(e){if(e.target!==e.currentTarget)return null;t.pointerSet(i)}}},[t._t("option",[n("span",[t._v(t._s(t.getOptionLabel(e)))])],{option:e,search:t.search})],2),t._v(" "),e&&(e.$isLabel||e.$isDisabled)?n("span",{staticClass:"multiselect__option",class:t.groupHighlight(i,e),attrs:{"data-select":t.groupSelect&&t.selectGroupLabelText,"data-deselect":t.groupSelect&&t.deselectGroupLabelText},on:{mouseenter:function(e){if(e.target!==e.currentTarget)return null;t.groupSelect&&t.pointerSet(i)},mousedown:function(n){n.preventDefault(),t.selectGroup(e)}}},[t._t("option",[n("span",[t._v(t._s(t.getOptionLabel(e)))])],{option:e,search:t.search})],2):t._e()])}):t._e(),t._v(" "),n("li",{directives:[{name:"show",rawName:"v-show",value:t.showNoResults&&0===t.filteredOptions.length&&t.search&&!t.loading,expression:"showNoResults && (filteredOptions.length === 0 && search && !loading)"}]},[n("span",{staticClass:"multiselect__option"},[t._t("noResult",[t._v("No elements found. Consider changing the search query.")],{search:t.search})],2)]),t._v(" "),n("li",{directives:[{name:"show",rawName:"v-show",value:t.showNoOptions&&0===t.options.length&&!t.search&&!t.loading,expression:"showNoOptions && (options.length === 0 && !search && !loading)"}]},[n("span",{staticClass:"multiselect__option"},[t._t("noOptions",[t._v("List is empty.")])],2)]),t._v(" "),t._t("afterList")],2)])])],2)},r=[],o={render:i,staticRenderFns:r};e.a=o}])});
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/vue-resize/dist/vue-resize.esm.js":
|
||
/*!********************************************************!*\
|
||
!*** ./node_modules/vue-resize/dist/vue-resize.esm.js ***!
|
||
\********************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ "ResizeObserver": function() { return /* binding */ __vue_component__; },
|
||
/* harmony export */ "install": function() { return /* binding */ install; }
|
||
/* harmony export */ });
|
||
function getInternetExplorerVersion() {
|
||
var ua = window.navigator.userAgent;
|
||
var msie = ua.indexOf('MSIE ');
|
||
|
||
if (msie > 0) {
|
||
// IE 10 or older => return version number
|
||
return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);
|
||
}
|
||
|
||
var trident = ua.indexOf('Trident/');
|
||
|
||
if (trident > 0) {
|
||
// IE 11 => return version number
|
||
var rv = ua.indexOf('rv:');
|
||
return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);
|
||
}
|
||
|
||
var edge = ua.indexOf('Edge/');
|
||
|
||
if (edge > 0) {
|
||
// Edge (IE 12+) => return version number
|
||
return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);
|
||
} // other browser
|
||
|
||
|
||
return -1;
|
||
}
|
||
|
||
//
|
||
var isIE;
|
||
|
||
function initCompat() {
|
||
if (!initCompat.init) {
|
||
initCompat.init = true;
|
||
isIE = getInternetExplorerVersion() !== -1;
|
||
}
|
||
}
|
||
|
||
var script = {
|
||
name: 'ResizeObserver',
|
||
props: {
|
||
emitOnMount: {
|
||
type: Boolean,
|
||
default: false
|
||
},
|
||
ignoreWidth: {
|
||
type: Boolean,
|
||
default: false
|
||
},
|
||
ignoreHeight: {
|
||
type: Boolean,
|
||
default: false
|
||
}
|
||
},
|
||
mounted: function mounted() {
|
||
var _this = this;
|
||
|
||
initCompat();
|
||
this.$nextTick(function () {
|
||
_this._w = _this.$el.offsetWidth;
|
||
_this._h = _this.$el.offsetHeight;
|
||
|
||
if (_this.emitOnMount) {
|
||
_this.emitSize();
|
||
}
|
||
});
|
||
var object = document.createElement('object');
|
||
this._resizeObject = object;
|
||
object.setAttribute('aria-hidden', 'true');
|
||
object.setAttribute('tabindex', -1);
|
||
object.onload = this.addResizeHandlers;
|
||
object.type = 'text/html';
|
||
|
||
if (isIE) {
|
||
this.$el.appendChild(object);
|
||
}
|
||
|
||
object.data = 'about:blank';
|
||
|
||
if (!isIE) {
|
||
this.$el.appendChild(object);
|
||
}
|
||
},
|
||
beforeDestroy: function beforeDestroy() {
|
||
this.removeResizeHandlers();
|
||
},
|
||
methods: {
|
||
compareAndNotify: function compareAndNotify() {
|
||
if (!this.ignoreWidth && this._w !== this.$el.offsetWidth || !this.ignoreHeight && this._h !== this.$el.offsetHeight) {
|
||
this._w = this.$el.offsetWidth;
|
||
this._h = this.$el.offsetHeight;
|
||
this.emitSize();
|
||
}
|
||
},
|
||
emitSize: function emitSize() {
|
||
this.$emit('notify', {
|
||
width: this._w,
|
||
height: this._h
|
||
});
|
||
},
|
||
addResizeHandlers: function addResizeHandlers() {
|
||
this._resizeObject.contentDocument.defaultView.addEventListener('resize', this.compareAndNotify);
|
||
|
||
this.compareAndNotify();
|
||
},
|
||
removeResizeHandlers: function removeResizeHandlers() {
|
||
if (this._resizeObject && this._resizeObject.onload) {
|
||
if (!isIE && this._resizeObject.contentDocument) {
|
||
this._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.compareAndNotify);
|
||
}
|
||
|
||
this.$el.removeChild(this._resizeObject);
|
||
this._resizeObject.onload = null;
|
||
this._resizeObject = null;
|
||
}
|
||
}
|
||
}
|
||
};
|
||
|
||
function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier
|
||
/* server only */
|
||
, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {
|
||
if (typeof shadowMode !== 'boolean') {
|
||
createInjectorSSR = createInjector;
|
||
createInjector = shadowMode;
|
||
shadowMode = false;
|
||
} // Vue.extend constructor export interop.
|
||
|
||
|
||
var options = typeof script === 'function' ? script.options : script; // render functions
|
||
|
||
if (template && template.render) {
|
||
options.render = template.render;
|
||
options.staticRenderFns = template.staticRenderFns;
|
||
options._compiled = true; // functional template
|
||
|
||
if (isFunctionalTemplate) {
|
||
options.functional = true;
|
||
}
|
||
} // scopedId
|
||
|
||
|
||
if (scopeId) {
|
||
options._scopeId = scopeId;
|
||
}
|
||
|
||
var hook;
|
||
|
||
if (moduleIdentifier) {
|
||
// server build
|
||
hook = function hook(context) {
|
||
// 2.3 injection
|
||
context = context || // cached call
|
||
this.$vnode && this.$vnode.ssrContext || // stateful
|
||
this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional
|
||
// 2.2 with runInNewContext: true
|
||
|
||
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
|
||
context = __VUE_SSR_CONTEXT__;
|
||
} // inject component styles
|
||
|
||
|
||
if (style) {
|
||
style.call(this, createInjectorSSR(context));
|
||
} // register component module identifier for async chunk inference
|
||
|
||
|
||
if (context && context._registeredComponents) {
|
||
context._registeredComponents.add(moduleIdentifier);
|
||
}
|
||
}; // used by ssr in case component is cached and beforeCreate
|
||
// never gets called
|
||
|
||
|
||
options._ssrRegister = hook;
|
||
} else if (style) {
|
||
hook = shadowMode ? function (context) {
|
||
style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));
|
||
} : function (context) {
|
||
style.call(this, createInjector(context));
|
||
};
|
||
}
|
||
|
||
if (hook) {
|
||
if (options.functional) {
|
||
// register for functional component in vue file
|
||
var originalRender = options.render;
|
||
|
||
options.render = function renderWithStyleInjection(h, context) {
|
||
hook.call(context);
|
||
return originalRender(h, context);
|
||
};
|
||
} else {
|
||
// inject component registration as beforeCreate hook
|
||
var existing = options.beforeCreate;
|
||
options.beforeCreate = existing ? [].concat(existing, hook) : [hook];
|
||
}
|
||
}
|
||
|
||
return script;
|
||
}
|
||
|
||
/* script */
|
||
var __vue_script__ = script;
|
||
/* template */
|
||
|
||
var __vue_render__ = function __vue_render__() {
|
||
var _vm = this;
|
||
|
||
var _h = _vm.$createElement;
|
||
|
||
var _c = _vm._self._c || _h;
|
||
|
||
return _c("div", {
|
||
staticClass: "resize-observer",
|
||
attrs: {
|
||
tabindex: "-1"
|
||
}
|
||
});
|
||
};
|
||
|
||
var __vue_staticRenderFns__ = [];
|
||
__vue_render__._withStripped = true;
|
||
/* style */
|
||
|
||
var __vue_inject_styles__ = undefined;
|
||
/* scoped */
|
||
|
||
var __vue_scope_id__ = "data-v-8859cc6c";
|
||
/* module identifier */
|
||
|
||
var __vue_module_identifier__ = undefined;
|
||
/* functional template */
|
||
|
||
var __vue_is_functional_template__ = false;
|
||
/* style inject */
|
||
|
||
/* style inject SSR */
|
||
|
||
/* style inject shadow dom */
|
||
|
||
var __vue_component__ = /*#__PURE__*/normalizeComponent({
|
||
render: __vue_render__,
|
||
staticRenderFns: __vue_staticRenderFns__
|
||
}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);
|
||
|
||
function install(Vue) {
|
||
// eslint-disable-next-line vue/component-definition-name-casing
|
||
Vue.component('resize-observer', __vue_component__);
|
||
Vue.component('ResizeObserver', __vue_component__);
|
||
}
|
||
|
||
var plugin = {
|
||
// eslint-disable-next-line no-undef
|
||
version: "1.0.1",
|
||
install: install
|
||
};
|
||
|
||
var GlobalVue = null;
|
||
|
||
if (typeof window !== 'undefined') {
|
||
GlobalVue = window.Vue;
|
||
} else if (typeof __webpack_require__.g !== 'undefined') {
|
||
GlobalVue = __webpack_require__.g.Vue;
|
||
}
|
||
|
||
if (GlobalVue) {
|
||
GlobalVue.use(plugin);
|
||
}
|
||
|
||
/* harmony default export */ __webpack_exports__["default"] = (plugin);
|
||
|
||
//# sourceMappingURL=vue-resize.esm.js.map
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/vue/dist/vue.runtime.esm.js":
|
||
/*!**************************************************!*\
|
||
!*** ./node_modules/vue/dist/vue.runtime.esm.js ***!
|
||
\**************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* provided dependency */ var console = __webpack_require__(/*! console-browserify */ "./node_modules/console-browserify/index.js");
|
||
/*!
|
||
* Vue.js v2.6.12
|
||
* (c) 2014-2020 Evan You
|
||
* Released under the MIT License.
|
||
*/
|
||
/* */
|
||
|
||
var emptyObject = Object.freeze({});
|
||
|
||
// These helpers produce better VM code in JS engines due to their
|
||
// explicitness and function inlining.
|
||
function isUndef (v) {
|
||
return v === undefined || v === null
|
||
}
|
||
|
||
function isDef (v) {
|
||
return v !== undefined && v !== null
|
||
}
|
||
|
||
function isTrue (v) {
|
||
return v === true
|
||
}
|
||
|
||
function isFalse (v) {
|
||
return v === false
|
||
}
|
||
|
||
/**
|
||
* Check if value is primitive.
|
||
*/
|
||
function isPrimitive (value) {
|
||
return (
|
||
typeof value === 'string' ||
|
||
typeof value === 'number' ||
|
||
// $flow-disable-line
|
||
typeof value === 'symbol' ||
|
||
typeof value === 'boolean'
|
||
)
|
||
}
|
||
|
||
/**
|
||
* Quick object check - this is primarily used to tell
|
||
* Objects from primitive values when we know the value
|
||
* is a JSON-compliant type.
|
||
*/
|
||
function isObject (obj) {
|
||
return obj !== null && typeof obj === 'object'
|
||
}
|
||
|
||
/**
|
||
* Get the raw type string of a value, e.g., [object Object].
|
||
*/
|
||
var _toString = Object.prototype.toString;
|
||
|
||
function toRawType (value) {
|
||
return _toString.call(value).slice(8, -1)
|
||
}
|
||
|
||
/**
|
||
* Strict object type check. Only returns true
|
||
* for plain JavaScript objects.
|
||
*/
|
||
function isPlainObject (obj) {
|
||
return _toString.call(obj) === '[object Object]'
|
||
}
|
||
|
||
function isRegExp (v) {
|
||
return _toString.call(v) === '[object RegExp]'
|
||
}
|
||
|
||
/**
|
||
* Check if val is a valid array index.
|
||
*/
|
||
function isValidArrayIndex (val) {
|
||
var n = parseFloat(String(val));
|
||
return n >= 0 && Math.floor(n) === n && isFinite(val)
|
||
}
|
||
|
||
function isPromise (val) {
|
||
return (
|
||
isDef(val) &&
|
||
typeof val.then === 'function' &&
|
||
typeof val.catch === 'function'
|
||
)
|
||
}
|
||
|
||
/**
|
||
* Convert a value to a string that is actually rendered.
|
||
*/
|
||
function toString (val) {
|
||
return val == null
|
||
? ''
|
||
: Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)
|
||
? JSON.stringify(val, null, 2)
|
||
: String(val)
|
||
}
|
||
|
||
/**
|
||
* Convert an input value to a number for persistence.
|
||
* If the conversion fails, return original string.
|
||
*/
|
||
function toNumber (val) {
|
||
var n = parseFloat(val);
|
||
return isNaN(n) ? val : n
|
||
}
|
||
|
||
/**
|
||
* Make a map and return a function for checking if a key
|
||
* is in that map.
|
||
*/
|
||
function makeMap (
|
||
str,
|
||
expectsLowerCase
|
||
) {
|
||
var map = Object.create(null);
|
||
var list = str.split(',');
|
||
for (var i = 0; i < list.length; i++) {
|
||
map[list[i]] = true;
|
||
}
|
||
return expectsLowerCase
|
||
? function (val) { return map[val.toLowerCase()]; }
|
||
: function (val) { return map[val]; }
|
||
}
|
||
|
||
/**
|
||
* Check if a tag is a built-in tag.
|
||
*/
|
||
var isBuiltInTag = makeMap('slot,component', true);
|
||
|
||
/**
|
||
* Check if an attribute is a reserved attribute.
|
||
*/
|
||
var isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');
|
||
|
||
/**
|
||
* Remove an item from an array.
|
||
*/
|
||
function remove (arr, item) {
|
||
if (arr.length) {
|
||
var index = arr.indexOf(item);
|
||
if (index > -1) {
|
||
return arr.splice(index, 1)
|
||
}
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Check whether an object has the property.
|
||
*/
|
||
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
||
function hasOwn (obj, key) {
|
||
return hasOwnProperty.call(obj, key)
|
||
}
|
||
|
||
/**
|
||
* Create a cached version of a pure function.
|
||
*/
|
||
function cached (fn) {
|
||
var cache = Object.create(null);
|
||
return (function cachedFn (str) {
|
||
var hit = cache[str];
|
||
return hit || (cache[str] = fn(str))
|
||
})
|
||
}
|
||
|
||
/**
|
||
* Camelize a hyphen-delimited string.
|
||
*/
|
||
var camelizeRE = /-(\w)/g;
|
||
var camelize = cached(function (str) {
|
||
return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })
|
||
});
|
||
|
||
/**
|
||
* Capitalize a string.
|
||
*/
|
||
var capitalize = cached(function (str) {
|
||
return str.charAt(0).toUpperCase() + str.slice(1)
|
||
});
|
||
|
||
/**
|
||
* Hyphenate a camelCase string.
|
||
*/
|
||
var hyphenateRE = /\B([A-Z])/g;
|
||
var hyphenate = cached(function (str) {
|
||
return str.replace(hyphenateRE, '-$1').toLowerCase()
|
||
});
|
||
|
||
/**
|
||
* Simple bind polyfill for environments that do not support it,
|
||
* e.g., PhantomJS 1.x. Technically, we don't need this anymore
|
||
* since native bind is now performant enough in most browsers.
|
||
* But removing it would mean breaking code that was able to run in
|
||
* PhantomJS 1.x, so this must be kept for backward compatibility.
|
||
*/
|
||
|
||
/* istanbul ignore next */
|
||
function polyfillBind (fn, ctx) {
|
||
function boundFn (a) {
|
||
var l = arguments.length;
|
||
return l
|
||
? l > 1
|
||
? fn.apply(ctx, arguments)
|
||
: fn.call(ctx, a)
|
||
: fn.call(ctx)
|
||
}
|
||
|
||
boundFn._length = fn.length;
|
||
return boundFn
|
||
}
|
||
|
||
function nativeBind (fn, ctx) {
|
||
return fn.bind(ctx)
|
||
}
|
||
|
||
var bind = Function.prototype.bind
|
||
? nativeBind
|
||
: polyfillBind;
|
||
|
||
/**
|
||
* Convert an Array-like object to a real Array.
|
||
*/
|
||
function toArray (list, start) {
|
||
start = start || 0;
|
||
var i = list.length - start;
|
||
var ret = new Array(i);
|
||
while (i--) {
|
||
ret[i] = list[i + start];
|
||
}
|
||
return ret
|
||
}
|
||
|
||
/**
|
||
* Mix properties into target object.
|
||
*/
|
||
function extend (to, _from) {
|
||
for (var key in _from) {
|
||
to[key] = _from[key];
|
||
}
|
||
return to
|
||
}
|
||
|
||
/**
|
||
* Merge an Array of Objects into a single Object.
|
||
*/
|
||
function toObject (arr) {
|
||
var res = {};
|
||
for (var i = 0; i < arr.length; i++) {
|
||
if (arr[i]) {
|
||
extend(res, arr[i]);
|
||
}
|
||
}
|
||
return res
|
||
}
|
||
|
||
/* eslint-disable no-unused-vars */
|
||
|
||
/**
|
||
* Perform no operation.
|
||
* Stubbing args to make Flow happy without leaving useless transpiled code
|
||
* with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).
|
||
*/
|
||
function noop (a, b, c) {}
|
||
|
||
/**
|
||
* Always return false.
|
||
*/
|
||
var no = function (a, b, c) { return false; };
|
||
|
||
/* eslint-enable no-unused-vars */
|
||
|
||
/**
|
||
* Return the same value.
|
||
*/
|
||
var identity = function (_) { return _; };
|
||
|
||
/**
|
||
* Check if two values are loosely equal - that is,
|
||
* if they are plain objects, do they have the same shape?
|
||
*/
|
||
function looseEqual (a, b) {
|
||
if (a === b) { return true }
|
||
var isObjectA = isObject(a);
|
||
var isObjectB = isObject(b);
|
||
if (isObjectA && isObjectB) {
|
||
try {
|
||
var isArrayA = Array.isArray(a);
|
||
var isArrayB = Array.isArray(b);
|
||
if (isArrayA && isArrayB) {
|
||
return a.length === b.length && a.every(function (e, i) {
|
||
return looseEqual(e, b[i])
|
||
})
|
||
} else if (a instanceof Date && b instanceof Date) {
|
||
return a.getTime() === b.getTime()
|
||
} else if (!isArrayA && !isArrayB) {
|
||
var keysA = Object.keys(a);
|
||
var keysB = Object.keys(b);
|
||
return keysA.length === keysB.length && keysA.every(function (key) {
|
||
return looseEqual(a[key], b[key])
|
||
})
|
||
} else {
|
||
/* istanbul ignore next */
|
||
return false
|
||
}
|
||
} catch (e) {
|
||
/* istanbul ignore next */
|
||
return false
|
||
}
|
||
} else if (!isObjectA && !isObjectB) {
|
||
return String(a) === String(b)
|
||
} else {
|
||
return false
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Return the first index at which a loosely equal value can be
|
||
* found in the array (if value is a plain object, the array must
|
||
* contain an object of the same shape), or -1 if it is not present.
|
||
*/
|
||
function looseIndexOf (arr, val) {
|
||
for (var i = 0; i < arr.length; i++) {
|
||
if (looseEqual(arr[i], val)) { return i }
|
||
}
|
||
return -1
|
||
}
|
||
|
||
/**
|
||
* Ensure a function is called only once.
|
||
*/
|
||
function once (fn) {
|
||
var called = false;
|
||
return function () {
|
||
if (!called) {
|
||
called = true;
|
||
fn.apply(this, arguments);
|
||
}
|
||
}
|
||
}
|
||
|
||
var SSR_ATTR = 'data-server-rendered';
|
||
|
||
var ASSET_TYPES = [
|
||
'component',
|
||
'directive',
|
||
'filter'
|
||
];
|
||
|
||
var LIFECYCLE_HOOKS = [
|
||
'beforeCreate',
|
||
'created',
|
||
'beforeMount',
|
||
'mounted',
|
||
'beforeUpdate',
|
||
'updated',
|
||
'beforeDestroy',
|
||
'destroyed',
|
||
'activated',
|
||
'deactivated',
|
||
'errorCaptured',
|
||
'serverPrefetch'
|
||
];
|
||
|
||
/* */
|
||
|
||
|
||
|
||
var config = ({
|
||
/**
|
||
* Option merge strategies (used in core/util/options)
|
||
*/
|
||
// $flow-disable-line
|
||
optionMergeStrategies: Object.create(null),
|
||
|
||
/**
|
||
* Whether to suppress warnings.
|
||
*/
|
||
silent: false,
|
||
|
||
/**
|
||
* Show production mode tip message on boot?
|
||
*/
|
||
productionTip: "development" !== 'production',
|
||
|
||
/**
|
||
* Whether to enable devtools
|
||
*/
|
||
devtools: "development" !== 'production',
|
||
|
||
/**
|
||
* Whether to record perf
|
||
*/
|
||
performance: false,
|
||
|
||
/**
|
||
* Error handler for watcher errors
|
||
*/
|
||
errorHandler: null,
|
||
|
||
/**
|
||
* Warn handler for watcher warns
|
||
*/
|
||
warnHandler: null,
|
||
|
||
/**
|
||
* Ignore certain custom elements
|
||
*/
|
||
ignoredElements: [],
|
||
|
||
/**
|
||
* Custom user key aliases for v-on
|
||
*/
|
||
// $flow-disable-line
|
||
keyCodes: Object.create(null),
|
||
|
||
/**
|
||
* Check if a tag is reserved so that it cannot be registered as a
|
||
* component. This is platform-dependent and may be overwritten.
|
||
*/
|
||
isReservedTag: no,
|
||
|
||
/**
|
||
* Check if an attribute is reserved so that it cannot be used as a component
|
||
* prop. This is platform-dependent and may be overwritten.
|
||
*/
|
||
isReservedAttr: no,
|
||
|
||
/**
|
||
* Check if a tag is an unknown element.
|
||
* Platform-dependent.
|
||
*/
|
||
isUnknownElement: no,
|
||
|
||
/**
|
||
* Get the namespace of an element
|
||
*/
|
||
getTagNamespace: noop,
|
||
|
||
/**
|
||
* Parse the real tag name for the specific platform.
|
||
*/
|
||
parsePlatformTagName: identity,
|
||
|
||
/**
|
||
* Check if an attribute must be bound using property, e.g. value
|
||
* Platform-dependent.
|
||
*/
|
||
mustUseProp: no,
|
||
|
||
/**
|
||
* Perform updates asynchronously. Intended to be used by Vue Test Utils
|
||
* This will significantly reduce performance if set to false.
|
||
*/
|
||
async: true,
|
||
|
||
/**
|
||
* Exposed for legacy reasons
|
||
*/
|
||
_lifecycleHooks: LIFECYCLE_HOOKS
|
||
});
|
||
|
||
/* */
|
||
|
||
/**
|
||
* unicode letters used for parsing html tags, component names and property paths.
|
||
* using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname
|
||
* skipping \u10000-\uEFFFF due to it freezing up PhantomJS
|
||
*/
|
||
var unicodeRegExp = /a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/;
|
||
|
||
/**
|
||
* Check if a string starts with $ or _
|
||
*/
|
||
function isReserved (str) {
|
||
var c = (str + '').charCodeAt(0);
|
||
return c === 0x24 || c === 0x5F
|
||
}
|
||
|
||
/**
|
||
* Define a property.
|
||
*/
|
||
function def (obj, key, val, enumerable) {
|
||
Object.defineProperty(obj, key, {
|
||
value: val,
|
||
enumerable: !!enumerable,
|
||
writable: true,
|
||
configurable: true
|
||
});
|
||
}
|
||
|
||
/**
|
||
* Parse simple path.
|
||
*/
|
||
var bailRE = new RegExp(("[^" + (unicodeRegExp.source) + ".$_\\d]"));
|
||
function parsePath (path) {
|
||
if (bailRE.test(path)) {
|
||
return
|
||
}
|
||
var segments = path.split('.');
|
||
return function (obj) {
|
||
for (var i = 0; i < segments.length; i++) {
|
||
if (!obj) { return }
|
||
obj = obj[segments[i]];
|
||
}
|
||
return obj
|
||
}
|
||
}
|
||
|
||
/* */
|
||
|
||
// can we use __proto__?
|
||
var hasProto = '__proto__' in {};
|
||
|
||
// Browser environment sniffing
|
||
var inBrowser = typeof window !== 'undefined';
|
||
var inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;
|
||
var weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();
|
||
var UA = inBrowser && window.navigator.userAgent.toLowerCase();
|
||
var isIE = UA && /msie|trident/.test(UA);
|
||
var isIE9 = UA && UA.indexOf('msie 9.0') > 0;
|
||
var isEdge = UA && UA.indexOf('edge/') > 0;
|
||
var isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');
|
||
var isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');
|
||
var isChrome = UA && /chrome\/\d+/.test(UA) && !isEdge;
|
||
var isPhantomJS = UA && /phantomjs/.test(UA);
|
||
var isFF = UA && UA.match(/firefox\/(\d+)/);
|
||
|
||
// Firefox has a "watch" function on Object.prototype...
|
||
var nativeWatch = ({}).watch;
|
||
|
||
var supportsPassive = false;
|
||
if (inBrowser) {
|
||
try {
|
||
var opts = {};
|
||
Object.defineProperty(opts, 'passive', ({
|
||
get: function get () {
|
||
/* istanbul ignore next */
|
||
supportsPassive = true;
|
||
}
|
||
})); // https://github.com/facebook/flow/issues/285
|
||
window.addEventListener('test-passive', null, opts);
|
||
} catch (e) {}
|
||
}
|
||
|
||
// this needs to be lazy-evaled because vue may be required before
|
||
// vue-server-renderer can set VUE_ENV
|
||
var _isServer;
|
||
var isServerRendering = function () {
|
||
if (_isServer === undefined) {
|
||
/* istanbul ignore if */
|
||
if (!inBrowser && !inWeex && typeof __webpack_require__.g !== 'undefined') {
|
||
// detect presence of vue-server-renderer and avoid
|
||
// Webpack shimming the process
|
||
_isServer = __webpack_require__.g['process'] && __webpack_require__.g['process'].env.VUE_ENV === 'server';
|
||
} else {
|
||
_isServer = false;
|
||
}
|
||
}
|
||
return _isServer
|
||
};
|
||
|
||
// detect devtools
|
||
var devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;
|
||
|
||
/* istanbul ignore next */
|
||
function isNative (Ctor) {
|
||
return typeof Ctor === 'function' && /native code/.test(Ctor.toString())
|
||
}
|
||
|
||
var hasSymbol =
|
||
typeof Symbol !== 'undefined' && isNative(Symbol) &&
|
||
typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);
|
||
|
||
var _Set;
|
||
/* istanbul ignore if */ // $flow-disable-line
|
||
if (typeof Set !== 'undefined' && isNative(Set)) {
|
||
// use native Set when available.
|
||
_Set = Set;
|
||
} else {
|
||
// a non-standard Set polyfill that only works with primitive keys.
|
||
_Set = /*@__PURE__*/(function () {
|
||
function Set () {
|
||
this.set = Object.create(null);
|
||
}
|
||
Set.prototype.has = function has (key) {
|
||
return this.set[key] === true
|
||
};
|
||
Set.prototype.add = function add (key) {
|
||
this.set[key] = true;
|
||
};
|
||
Set.prototype.clear = function clear () {
|
||
this.set = Object.create(null);
|
||
};
|
||
|
||
return Set;
|
||
}());
|
||
}
|
||
|
||
/* */
|
||
|
||
var warn = noop;
|
||
var tip = noop;
|
||
var generateComponentTrace = (noop); // work around flow check
|
||
var formatComponentName = (noop);
|
||
|
||
if (true) {
|
||
var hasConsole = typeof console !== 'undefined';
|
||
var classifyRE = /(?:^|[-_])(\w)/g;
|
||
var classify = function (str) { return str
|
||
.replace(classifyRE, function (c) { return c.toUpperCase(); })
|
||
.replace(/[-_]/g, ''); };
|
||
|
||
warn = function (msg, vm) {
|
||
var trace = vm ? generateComponentTrace(vm) : '';
|
||
|
||
if (config.warnHandler) {
|
||
config.warnHandler.call(null, msg, vm, trace);
|
||
} else if (hasConsole && (!config.silent)) {
|
||
console.error(("[Vue warn]: " + msg + trace));
|
||
}
|
||
};
|
||
|
||
tip = function (msg, vm) {
|
||
if (hasConsole && (!config.silent)) {
|
||
console.warn("[Vue tip]: " + msg + (
|
||
vm ? generateComponentTrace(vm) : ''
|
||
));
|
||
}
|
||
};
|
||
|
||
formatComponentName = function (vm, includeFile) {
|
||
if (vm.$root === vm) {
|
||
return '<Root>'
|
||
}
|
||
var options = typeof vm === 'function' && vm.cid != null
|
||
? vm.options
|
||
: vm._isVue
|
||
? vm.$options || vm.constructor.options
|
||
: vm;
|
||
var name = options.name || options._componentTag;
|
||
var file = options.__file;
|
||
if (!name && file) {
|
||
var match = file.match(/([^/\\]+)\.vue$/);
|
||
name = match && match[1];
|
||
}
|
||
|
||
return (
|
||
(name ? ("<" + (classify(name)) + ">") : "<Anonymous>") +
|
||
(file && includeFile !== false ? (" at " + file) : '')
|
||
)
|
||
};
|
||
|
||
var repeat = function (str, n) {
|
||
var res = '';
|
||
while (n) {
|
||
if (n % 2 === 1) { res += str; }
|
||
if (n > 1) { str += str; }
|
||
n >>= 1;
|
||
}
|
||
return res
|
||
};
|
||
|
||
generateComponentTrace = function (vm) {
|
||
if (vm._isVue && vm.$parent) {
|
||
var tree = [];
|
||
var currentRecursiveSequence = 0;
|
||
while (vm) {
|
||
if (tree.length > 0) {
|
||
var last = tree[tree.length - 1];
|
||
if (last.constructor === vm.constructor) {
|
||
currentRecursiveSequence++;
|
||
vm = vm.$parent;
|
||
continue
|
||
} else if (currentRecursiveSequence > 0) {
|
||
tree[tree.length - 1] = [last, currentRecursiveSequence];
|
||
currentRecursiveSequence = 0;
|
||
}
|
||
}
|
||
tree.push(vm);
|
||
vm = vm.$parent;
|
||
}
|
||
return '\n\nfound in\n\n' + tree
|
||
.map(function (vm, i) { return ("" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)
|
||
? ((formatComponentName(vm[0])) + "... (" + (vm[1]) + " recursive calls)")
|
||
: formatComponentName(vm))); })
|
||
.join('\n')
|
||
} else {
|
||
return ("\n\n(found in " + (formatComponentName(vm)) + ")")
|
||
}
|
||
};
|
||
}
|
||
|
||
/* */
|
||
|
||
var uid = 0;
|
||
|
||
/**
|
||
* A dep is an observable that can have multiple
|
||
* directives subscribing to it.
|
||
*/
|
||
var Dep = function Dep () {
|
||
this.id = uid++;
|
||
this.subs = [];
|
||
};
|
||
|
||
Dep.prototype.addSub = function addSub (sub) {
|
||
this.subs.push(sub);
|
||
};
|
||
|
||
Dep.prototype.removeSub = function removeSub (sub) {
|
||
remove(this.subs, sub);
|
||
};
|
||
|
||
Dep.prototype.depend = function depend () {
|
||
if (Dep.target) {
|
||
Dep.target.addDep(this);
|
||
}
|
||
};
|
||
|
||
Dep.prototype.notify = function notify () {
|
||
// stabilize the subscriber list first
|
||
var subs = this.subs.slice();
|
||
if ( true && !config.async) {
|
||
// subs aren't sorted in scheduler if not running async
|
||
// we need to sort them now to make sure they fire in correct
|
||
// order
|
||
subs.sort(function (a, b) { return a.id - b.id; });
|
||
}
|
||
for (var i = 0, l = subs.length; i < l; i++) {
|
||
subs[i].update();
|
||
}
|
||
};
|
||
|
||
// The current target watcher being evaluated.
|
||
// This is globally unique because only one watcher
|
||
// can be evaluated at a time.
|
||
Dep.target = null;
|
||
var targetStack = [];
|
||
|
||
function pushTarget (target) {
|
||
targetStack.push(target);
|
||
Dep.target = target;
|
||
}
|
||
|
||
function popTarget () {
|
||
targetStack.pop();
|
||
Dep.target = targetStack[targetStack.length - 1];
|
||
}
|
||
|
||
/* */
|
||
|
||
var VNode = function VNode (
|
||
tag,
|
||
data,
|
||
children,
|
||
text,
|
||
elm,
|
||
context,
|
||
componentOptions,
|
||
asyncFactory
|
||
) {
|
||
this.tag = tag;
|
||
this.data = data;
|
||
this.children = children;
|
||
this.text = text;
|
||
this.elm = elm;
|
||
this.ns = undefined;
|
||
this.context = context;
|
||
this.fnContext = undefined;
|
||
this.fnOptions = undefined;
|
||
this.fnScopeId = undefined;
|
||
this.key = data && data.key;
|
||
this.componentOptions = componentOptions;
|
||
this.componentInstance = undefined;
|
||
this.parent = undefined;
|
||
this.raw = false;
|
||
this.isStatic = false;
|
||
this.isRootInsert = true;
|
||
this.isComment = false;
|
||
this.isCloned = false;
|
||
this.isOnce = false;
|
||
this.asyncFactory = asyncFactory;
|
||
this.asyncMeta = undefined;
|
||
this.isAsyncPlaceholder = false;
|
||
};
|
||
|
||
var prototypeAccessors = { child: { configurable: true } };
|
||
|
||
// DEPRECATED: alias for componentInstance for backwards compat.
|
||
/* istanbul ignore next */
|
||
prototypeAccessors.child.get = function () {
|
||
return this.componentInstance
|
||
};
|
||
|
||
Object.defineProperties( VNode.prototype, prototypeAccessors );
|
||
|
||
var createEmptyVNode = function (text) {
|
||
if ( text === void 0 ) text = '';
|
||
|
||
var node = new VNode();
|
||
node.text = text;
|
||
node.isComment = true;
|
||
return node
|
||
};
|
||
|
||
function createTextVNode (val) {
|
||
return new VNode(undefined, undefined, undefined, String(val))
|
||
}
|
||
|
||
// optimized shallow clone
|
||
// used for static nodes and slot nodes because they may be reused across
|
||
// multiple renders, cloning them avoids errors when DOM manipulations rely
|
||
// on their elm reference.
|
||
function cloneVNode (vnode) {
|
||
var cloned = new VNode(
|
||
vnode.tag,
|
||
vnode.data,
|
||
// #7975
|
||
// clone children array to avoid mutating original in case of cloning
|
||
// a child.
|
||
vnode.children && vnode.children.slice(),
|
||
vnode.text,
|
||
vnode.elm,
|
||
vnode.context,
|
||
vnode.componentOptions,
|
||
vnode.asyncFactory
|
||
);
|
||
cloned.ns = vnode.ns;
|
||
cloned.isStatic = vnode.isStatic;
|
||
cloned.key = vnode.key;
|
||
cloned.isComment = vnode.isComment;
|
||
cloned.fnContext = vnode.fnContext;
|
||
cloned.fnOptions = vnode.fnOptions;
|
||
cloned.fnScopeId = vnode.fnScopeId;
|
||
cloned.asyncMeta = vnode.asyncMeta;
|
||
cloned.isCloned = true;
|
||
return cloned
|
||
}
|
||
|
||
/*
|
||
* not type checking this file because flow doesn't play well with
|
||
* dynamically accessing methods on Array prototype
|
||
*/
|
||
|
||
var arrayProto = Array.prototype;
|
||
var arrayMethods = Object.create(arrayProto);
|
||
|
||
var methodsToPatch = [
|
||
'push',
|
||
'pop',
|
||
'shift',
|
||
'unshift',
|
||
'splice',
|
||
'sort',
|
||
'reverse'
|
||
];
|
||
|
||
/**
|
||
* Intercept mutating methods and emit events
|
||
*/
|
||
methodsToPatch.forEach(function (method) {
|
||
// cache original method
|
||
var original = arrayProto[method];
|
||
def(arrayMethods, method, function mutator () {
|
||
var args = [], len = arguments.length;
|
||
while ( len-- ) args[ len ] = arguments[ len ];
|
||
|
||
var result = original.apply(this, args);
|
||
var ob = this.__ob__;
|
||
var inserted;
|
||
switch (method) {
|
||
case 'push':
|
||
case 'unshift':
|
||
inserted = args;
|
||
break
|
||
case 'splice':
|
||
inserted = args.slice(2);
|
||
break
|
||
}
|
||
if (inserted) { ob.observeArray(inserted); }
|
||
// notify change
|
||
ob.dep.notify();
|
||
return result
|
||
});
|
||
});
|
||
|
||
/* */
|
||
|
||
var arrayKeys = Object.getOwnPropertyNames(arrayMethods);
|
||
|
||
/**
|
||
* In some cases we may want to disable observation inside a component's
|
||
* update computation.
|
||
*/
|
||
var shouldObserve = true;
|
||
|
||
function toggleObserving (value) {
|
||
shouldObserve = value;
|
||
}
|
||
|
||
/**
|
||
* Observer class that is attached to each observed
|
||
* object. Once attached, the observer converts the target
|
||
* object's property keys into getter/setters that
|
||
* collect dependencies and dispatch updates.
|
||
*/
|
||
var Observer = function Observer (value) {
|
||
this.value = value;
|
||
this.dep = new Dep();
|
||
this.vmCount = 0;
|
||
def(value, '__ob__', this);
|
||
if (Array.isArray(value)) {
|
||
if (hasProto) {
|
||
protoAugment(value, arrayMethods);
|
||
} else {
|
||
copyAugment(value, arrayMethods, arrayKeys);
|
||
}
|
||
this.observeArray(value);
|
||
} else {
|
||
this.walk(value);
|
||
}
|
||
};
|
||
|
||
/**
|
||
* Walk through all properties and convert them into
|
||
* getter/setters. This method should only be called when
|
||
* value type is Object.
|
||
*/
|
||
Observer.prototype.walk = function walk (obj) {
|
||
var keys = Object.keys(obj);
|
||
for (var i = 0; i < keys.length; i++) {
|
||
defineReactive$$1(obj, keys[i]);
|
||
}
|
||
};
|
||
|
||
/**
|
||
* Observe a list of Array items.
|
||
*/
|
||
Observer.prototype.observeArray = function observeArray (items) {
|
||
for (var i = 0, l = items.length; i < l; i++) {
|
||
observe(items[i]);
|
||
}
|
||
};
|
||
|
||
// helpers
|
||
|
||
/**
|
||
* Augment a target Object or Array by intercepting
|
||
* the prototype chain using __proto__
|
||
*/
|
||
function protoAugment (target, src) {
|
||
/* eslint-disable no-proto */
|
||
target.__proto__ = src;
|
||
/* eslint-enable no-proto */
|
||
}
|
||
|
||
/**
|
||
* Augment a target Object or Array by defining
|
||
* hidden properties.
|
||
*/
|
||
/* istanbul ignore next */
|
||
function copyAugment (target, src, keys) {
|
||
for (var i = 0, l = keys.length; i < l; i++) {
|
||
var key = keys[i];
|
||
def(target, key, src[key]);
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Attempt to create an observer instance for a value,
|
||
* returns the new observer if successfully observed,
|
||
* or the existing observer if the value already has one.
|
||
*/
|
||
function observe (value, asRootData) {
|
||
if (!isObject(value) || value instanceof VNode) {
|
||
return
|
||
}
|
||
var ob;
|
||
if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {
|
||
ob = value.__ob__;
|
||
} else if (
|
||
shouldObserve &&
|
||
!isServerRendering() &&
|
||
(Array.isArray(value) || isPlainObject(value)) &&
|
||
Object.isExtensible(value) &&
|
||
!value._isVue
|
||
) {
|
||
ob = new Observer(value);
|
||
}
|
||
if (asRootData && ob) {
|
||
ob.vmCount++;
|
||
}
|
||
return ob
|
||
}
|
||
|
||
/**
|
||
* Define a reactive property on an Object.
|
||
*/
|
||
function defineReactive$$1 (
|
||
obj,
|
||
key,
|
||
val,
|
||
customSetter,
|
||
shallow
|
||
) {
|
||
var dep = new Dep();
|
||
|
||
var property = Object.getOwnPropertyDescriptor(obj, key);
|
||
if (property && property.configurable === false) {
|
||
return
|
||
}
|
||
|
||
// cater for pre-defined getter/setters
|
||
var getter = property && property.get;
|
||
var setter = property && property.set;
|
||
if ((!getter || setter) && arguments.length === 2) {
|
||
val = obj[key];
|
||
}
|
||
|
||
var childOb = !shallow && observe(val);
|
||
Object.defineProperty(obj, key, {
|
||
enumerable: true,
|
||
configurable: true,
|
||
get: function reactiveGetter () {
|
||
var value = getter ? getter.call(obj) : val;
|
||
if (Dep.target) {
|
||
dep.depend();
|
||
if (childOb) {
|
||
childOb.dep.depend();
|
||
if (Array.isArray(value)) {
|
||
dependArray(value);
|
||
}
|
||
}
|
||
}
|
||
return value
|
||
},
|
||
set: function reactiveSetter (newVal) {
|
||
var value = getter ? getter.call(obj) : val;
|
||
/* eslint-disable no-self-compare */
|
||
if (newVal === value || (newVal !== newVal && value !== value)) {
|
||
return
|
||
}
|
||
/* eslint-enable no-self-compare */
|
||
if ( true && customSetter) {
|
||
customSetter();
|
||
}
|
||
// #7981: for accessor properties without setter
|
||
if (getter && !setter) { return }
|
||
if (setter) {
|
||
setter.call(obj, newVal);
|
||
} else {
|
||
val = newVal;
|
||
}
|
||
childOb = !shallow && observe(newVal);
|
||
dep.notify();
|
||
}
|
||
});
|
||
}
|
||
|
||
/**
|
||
* Set a property on an object. Adds the new property and
|
||
* triggers change notification if the property doesn't
|
||
* already exist.
|
||
*/
|
||
function set (target, key, val) {
|
||
if ( true &&
|
||
(isUndef(target) || isPrimitive(target))
|
||
) {
|
||
warn(("Cannot set reactive property on undefined, null, or primitive value: " + ((target))));
|
||
}
|
||
if (Array.isArray(target) && isValidArrayIndex(key)) {
|
||
target.length = Math.max(target.length, key);
|
||
target.splice(key, 1, val);
|
||
return val
|
||
}
|
||
if (key in target && !(key in Object.prototype)) {
|
||
target[key] = val;
|
||
return val
|
||
}
|
||
var ob = (target).__ob__;
|
||
if (target._isVue || (ob && ob.vmCount)) {
|
||
true && warn(
|
||
'Avoid adding reactive properties to a Vue instance or its root $data ' +
|
||
'at runtime - declare it upfront in the data option.'
|
||
);
|
||
return val
|
||
}
|
||
if (!ob) {
|
||
target[key] = val;
|
||
return val
|
||
}
|
||
defineReactive$$1(ob.value, key, val);
|
||
ob.dep.notify();
|
||
return val
|
||
}
|
||
|
||
/**
|
||
* Delete a property and trigger change if necessary.
|
||
*/
|
||
function del (target, key) {
|
||
if ( true &&
|
||
(isUndef(target) || isPrimitive(target))
|
||
) {
|
||
warn(("Cannot delete reactive property on undefined, null, or primitive value: " + ((target))));
|
||
}
|
||
if (Array.isArray(target) && isValidArrayIndex(key)) {
|
||
target.splice(key, 1);
|
||
return
|
||
}
|
||
var ob = (target).__ob__;
|
||
if (target._isVue || (ob && ob.vmCount)) {
|
||
true && warn(
|
||
'Avoid deleting properties on a Vue instance or its root $data ' +
|
||
'- just set it to null.'
|
||
);
|
||
return
|
||
}
|
||
if (!hasOwn(target, key)) {
|
||
return
|
||
}
|
||
delete target[key];
|
||
if (!ob) {
|
||
return
|
||
}
|
||
ob.dep.notify();
|
||
}
|
||
|
||
/**
|
||
* Collect dependencies on array elements when the array is touched, since
|
||
* we cannot intercept array element access like property getters.
|
||
*/
|
||
function dependArray (value) {
|
||
for (var e = (void 0), i = 0, l = value.length; i < l; i++) {
|
||
e = value[i];
|
||
e && e.__ob__ && e.__ob__.dep.depend();
|
||
if (Array.isArray(e)) {
|
||
dependArray(e);
|
||
}
|
||
}
|
||
}
|
||
|
||
/* */
|
||
|
||
/**
|
||
* Option overwriting strategies are functions that handle
|
||
* how to merge a parent option value and a child option
|
||
* value into the final value.
|
||
*/
|
||
var strats = config.optionMergeStrategies;
|
||
|
||
/**
|
||
* Options with restrictions
|
||
*/
|
||
if (true) {
|
||
strats.el = strats.propsData = function (parent, child, vm, key) {
|
||
if (!vm) {
|
||
warn(
|
||
"option \"" + key + "\" can only be used during instance " +
|
||
'creation with the `new` keyword.'
|
||
);
|
||
}
|
||
return defaultStrat(parent, child)
|
||
};
|
||
}
|
||
|
||
/**
|
||
* Helper that recursively merges two data objects together.
|
||
*/
|
||
function mergeData (to, from) {
|
||
if (!from) { return to }
|
||
var key, toVal, fromVal;
|
||
|
||
var keys = hasSymbol
|
||
? Reflect.ownKeys(from)
|
||
: Object.keys(from);
|
||
|
||
for (var i = 0; i < keys.length; i++) {
|
||
key = keys[i];
|
||
// in case the object is already observed...
|
||
if (key === '__ob__') { continue }
|
||
toVal = to[key];
|
||
fromVal = from[key];
|
||
if (!hasOwn(to, key)) {
|
||
set(to, key, fromVal);
|
||
} else if (
|
||
toVal !== fromVal &&
|
||
isPlainObject(toVal) &&
|
||
isPlainObject(fromVal)
|
||
) {
|
||
mergeData(toVal, fromVal);
|
||
}
|
||
}
|
||
return to
|
||
}
|
||
|
||
/**
|
||
* Data
|
||
*/
|
||
function mergeDataOrFn (
|
||
parentVal,
|
||
childVal,
|
||
vm
|
||
) {
|
||
if (!vm) {
|
||
// in a Vue.extend merge, both should be functions
|
||
if (!childVal) {
|
||
return parentVal
|
||
}
|
||
if (!parentVal) {
|
||
return childVal
|
||
}
|
||
// when parentVal & childVal are both present,
|
||
// we need to return a function that returns the
|
||
// merged result of both functions... no need to
|
||
// check if parentVal is a function here because
|
||
// it has to be a function to pass previous merges.
|
||
return function mergedDataFn () {
|
||
return mergeData(
|
||
typeof childVal === 'function' ? childVal.call(this, this) : childVal,
|
||
typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal
|
||
)
|
||
}
|
||
} else {
|
||
return function mergedInstanceDataFn () {
|
||
// instance merge
|
||
var instanceData = typeof childVal === 'function'
|
||
? childVal.call(vm, vm)
|
||
: childVal;
|
||
var defaultData = typeof parentVal === 'function'
|
||
? parentVal.call(vm, vm)
|
||
: parentVal;
|
||
if (instanceData) {
|
||
return mergeData(instanceData, defaultData)
|
||
} else {
|
||
return defaultData
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
strats.data = function (
|
||
parentVal,
|
||
childVal,
|
||
vm
|
||
) {
|
||
if (!vm) {
|
||
if (childVal && typeof childVal !== 'function') {
|
||
true && warn(
|
||
'The "data" option should be a function ' +
|
||
'that returns a per-instance value in component ' +
|
||
'definitions.',
|
||
vm
|
||
);
|
||
|
||
return parentVal
|
||
}
|
||
return mergeDataOrFn(parentVal, childVal)
|
||
}
|
||
|
||
return mergeDataOrFn(parentVal, childVal, vm)
|
||
};
|
||
|
||
/**
|
||
* Hooks and props are merged as arrays.
|
||
*/
|
||
function mergeHook (
|
||
parentVal,
|
||
childVal
|
||
) {
|
||
var res = childVal
|
||
? parentVal
|
||
? parentVal.concat(childVal)
|
||
: Array.isArray(childVal)
|
||
? childVal
|
||
: [childVal]
|
||
: parentVal;
|
||
return res
|
||
? dedupeHooks(res)
|
||
: res
|
||
}
|
||
|
||
function dedupeHooks (hooks) {
|
||
var res = [];
|
||
for (var i = 0; i < hooks.length; i++) {
|
||
if (res.indexOf(hooks[i]) === -1) {
|
||
res.push(hooks[i]);
|
||
}
|
||
}
|
||
return res
|
||
}
|
||
|
||
LIFECYCLE_HOOKS.forEach(function (hook) {
|
||
strats[hook] = mergeHook;
|
||
});
|
||
|
||
/**
|
||
* Assets
|
||
*
|
||
* When a vm is present (instance creation), we need to do
|
||
* a three-way merge between constructor options, instance
|
||
* options and parent options.
|
||
*/
|
||
function mergeAssets (
|
||
parentVal,
|
||
childVal,
|
||
vm,
|
||
key
|
||
) {
|
||
var res = Object.create(parentVal || null);
|
||
if (childVal) {
|
||
true && assertObjectType(key, childVal, vm);
|
||
return extend(res, childVal)
|
||
} else {
|
||
return res
|
||
}
|
||
}
|
||
|
||
ASSET_TYPES.forEach(function (type) {
|
||
strats[type + 's'] = mergeAssets;
|
||
});
|
||
|
||
/**
|
||
* Watchers.
|
||
*
|
||
* Watchers hashes should not overwrite one
|
||
* another, so we merge them as arrays.
|
||
*/
|
||
strats.watch = function (
|
||
parentVal,
|
||
childVal,
|
||
vm,
|
||
key
|
||
) {
|
||
// work around Firefox's Object.prototype.watch...
|
||
if (parentVal === nativeWatch) { parentVal = undefined; }
|
||
if (childVal === nativeWatch) { childVal = undefined; }
|
||
/* istanbul ignore if */
|
||
if (!childVal) { return Object.create(parentVal || null) }
|
||
if (true) {
|
||
assertObjectType(key, childVal, vm);
|
||
}
|
||
if (!parentVal) { return childVal }
|
||
var ret = {};
|
||
extend(ret, parentVal);
|
||
for (var key$1 in childVal) {
|
||
var parent = ret[key$1];
|
||
var child = childVal[key$1];
|
||
if (parent && !Array.isArray(parent)) {
|
||
parent = [parent];
|
||
}
|
||
ret[key$1] = parent
|
||
? parent.concat(child)
|
||
: Array.isArray(child) ? child : [child];
|
||
}
|
||
return ret
|
||
};
|
||
|
||
/**
|
||
* Other object hashes.
|
||
*/
|
||
strats.props =
|
||
strats.methods =
|
||
strats.inject =
|
||
strats.computed = function (
|
||
parentVal,
|
||
childVal,
|
||
vm,
|
||
key
|
||
) {
|
||
if (childVal && "development" !== 'production') {
|
||
assertObjectType(key, childVal, vm);
|
||
}
|
||
if (!parentVal) { return childVal }
|
||
var ret = Object.create(null);
|
||
extend(ret, parentVal);
|
||
if (childVal) { extend(ret, childVal); }
|
||
return ret
|
||
};
|
||
strats.provide = mergeDataOrFn;
|
||
|
||
/**
|
||
* Default strategy.
|
||
*/
|
||
var defaultStrat = function (parentVal, childVal) {
|
||
return childVal === undefined
|
||
? parentVal
|
||
: childVal
|
||
};
|
||
|
||
/**
|
||
* Validate component names
|
||
*/
|
||
function checkComponents (options) {
|
||
for (var key in options.components) {
|
||
validateComponentName(key);
|
||
}
|
||
}
|
||
|
||
function validateComponentName (name) {
|
||
if (!new RegExp(("^[a-zA-Z][\\-\\.0-9_" + (unicodeRegExp.source) + "]*$")).test(name)) {
|
||
warn(
|
||
'Invalid component name: "' + name + '". Component names ' +
|
||
'should conform to valid custom element name in html5 specification.'
|
||
);
|
||
}
|
||
if (isBuiltInTag(name) || config.isReservedTag(name)) {
|
||
warn(
|
||
'Do not use built-in or reserved HTML elements as component ' +
|
||
'id: ' + name
|
||
);
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Ensure all props option syntax are normalized into the
|
||
* Object-based format.
|
||
*/
|
||
function normalizeProps (options, vm) {
|
||
var props = options.props;
|
||
if (!props) { return }
|
||
var res = {};
|
||
var i, val, name;
|
||
if (Array.isArray(props)) {
|
||
i = props.length;
|
||
while (i--) {
|
||
val = props[i];
|
||
if (typeof val === 'string') {
|
||
name = camelize(val);
|
||
res[name] = { type: null };
|
||
} else if (true) {
|
||
warn('props must be strings when using array syntax.');
|
||
}
|
||
}
|
||
} else if (isPlainObject(props)) {
|
||
for (var key in props) {
|
||
val = props[key];
|
||
name = camelize(key);
|
||
res[name] = isPlainObject(val)
|
||
? val
|
||
: { type: val };
|
||
}
|
||
} else if (true) {
|
||
warn(
|
||
"Invalid value for option \"props\": expected an Array or an Object, " +
|
||
"but got " + (toRawType(props)) + ".",
|
||
vm
|
||
);
|
||
}
|
||
options.props = res;
|
||
}
|
||
|
||
/**
|
||
* Normalize all injections into Object-based format
|
||
*/
|
||
function normalizeInject (options, vm) {
|
||
var inject = options.inject;
|
||
if (!inject) { return }
|
||
var normalized = options.inject = {};
|
||
if (Array.isArray(inject)) {
|
||
for (var i = 0; i < inject.length; i++) {
|
||
normalized[inject[i]] = { from: inject[i] };
|
||
}
|
||
} else if (isPlainObject(inject)) {
|
||
for (var key in inject) {
|
||
var val = inject[key];
|
||
normalized[key] = isPlainObject(val)
|
||
? extend({ from: key }, val)
|
||
: { from: val };
|
||
}
|
||
} else if (true) {
|
||
warn(
|
||
"Invalid value for option \"inject\": expected an Array or an Object, " +
|
||
"but got " + (toRawType(inject)) + ".",
|
||
vm
|
||
);
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Normalize raw function directives into object format.
|
||
*/
|
||
function normalizeDirectives (options) {
|
||
var dirs = options.directives;
|
||
if (dirs) {
|
||
for (var key in dirs) {
|
||
var def$$1 = dirs[key];
|
||
if (typeof def$$1 === 'function') {
|
||
dirs[key] = { bind: def$$1, update: def$$1 };
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
function assertObjectType (name, value, vm) {
|
||
if (!isPlainObject(value)) {
|
||
warn(
|
||
"Invalid value for option \"" + name + "\": expected an Object, " +
|
||
"but got " + (toRawType(value)) + ".",
|
||
vm
|
||
);
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Merge two option objects into a new one.
|
||
* Core utility used in both instantiation and inheritance.
|
||
*/
|
||
function mergeOptions (
|
||
parent,
|
||
child,
|
||
vm
|
||
) {
|
||
if (true) {
|
||
checkComponents(child);
|
||
}
|
||
|
||
if (typeof child === 'function') {
|
||
child = child.options;
|
||
}
|
||
|
||
normalizeProps(child, vm);
|
||
normalizeInject(child, vm);
|
||
normalizeDirectives(child);
|
||
|
||
// Apply extends and mixins on the child options,
|
||
// but only if it is a raw options object that isn't
|
||
// the result of another mergeOptions call.
|
||
// Only merged options has the _base property.
|
||
if (!child._base) {
|
||
if (child.extends) {
|
||
parent = mergeOptions(parent, child.extends, vm);
|
||
}
|
||
if (child.mixins) {
|
||
for (var i = 0, l = child.mixins.length; i < l; i++) {
|
||
parent = mergeOptions(parent, child.mixins[i], vm);
|
||
}
|
||
}
|
||
}
|
||
|
||
var options = {};
|
||
var key;
|
||
for (key in parent) {
|
||
mergeField(key);
|
||
}
|
||
for (key in child) {
|
||
if (!hasOwn(parent, key)) {
|
||
mergeField(key);
|
||
}
|
||
}
|
||
function mergeField (key) {
|
||
var strat = strats[key] || defaultStrat;
|
||
options[key] = strat(parent[key], child[key], vm, key);
|
||
}
|
||
return options
|
||
}
|
||
|
||
/**
|
||
* Resolve an asset.
|
||
* This function is used because child instances need access
|
||
* to assets defined in its ancestor chain.
|
||
*/
|
||
function resolveAsset (
|
||
options,
|
||
type,
|
||
id,
|
||
warnMissing
|
||
) {
|
||
/* istanbul ignore if */
|
||
if (typeof id !== 'string') {
|
||
return
|
||
}
|
||
var assets = options[type];
|
||
// check local registration variations first
|
||
if (hasOwn(assets, id)) { return assets[id] }
|
||
var camelizedId = camelize(id);
|
||
if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }
|
||
var PascalCaseId = capitalize(camelizedId);
|
||
if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }
|
||
// fallback to prototype chain
|
||
var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];
|
||
if ( true && warnMissing && !res) {
|
||
warn(
|
||
'Failed to resolve ' + type.slice(0, -1) + ': ' + id,
|
||
options
|
||
);
|
||
}
|
||
return res
|
||
}
|
||
|
||
/* */
|
||
|
||
|
||
|
||
function validateProp (
|
||
key,
|
||
propOptions,
|
||
propsData,
|
||
vm
|
||
) {
|
||
var prop = propOptions[key];
|
||
var absent = !hasOwn(propsData, key);
|
||
var value = propsData[key];
|
||
// boolean casting
|
||
var booleanIndex = getTypeIndex(Boolean, prop.type);
|
||
if (booleanIndex > -1) {
|
||
if (absent && !hasOwn(prop, 'default')) {
|
||
value = false;
|
||
} else if (value === '' || value === hyphenate(key)) {
|
||
// only cast empty string / same name to boolean if
|
||
// boolean has higher priority
|
||
var stringIndex = getTypeIndex(String, prop.type);
|
||
if (stringIndex < 0 || booleanIndex < stringIndex) {
|
||
value = true;
|
||
}
|
||
}
|
||
}
|
||
// check default value
|
||
if (value === undefined) {
|
||
value = getPropDefaultValue(vm, prop, key);
|
||
// since the default value is a fresh copy,
|
||
// make sure to observe it.
|
||
var prevShouldObserve = shouldObserve;
|
||
toggleObserving(true);
|
||
observe(value);
|
||
toggleObserving(prevShouldObserve);
|
||
}
|
||
if (
|
||
true
|
||
) {
|
||
assertProp(prop, key, value, vm, absent);
|
||
}
|
||
return value
|
||
}
|
||
|
||
/**
|
||
* Get the default value of a prop.
|
||
*/
|
||
function getPropDefaultValue (vm, prop, key) {
|
||
// no default, return undefined
|
||
if (!hasOwn(prop, 'default')) {
|
||
return undefined
|
||
}
|
||
var def = prop.default;
|
||
// warn against non-factory defaults for Object & Array
|
||
if ( true && isObject(def)) {
|
||
warn(
|
||
'Invalid default value for prop "' + key + '": ' +
|
||
'Props with type Object/Array must use a factory function ' +
|
||
'to return the default value.',
|
||
vm
|
||
);
|
||
}
|
||
// the raw prop value was also undefined from previous render,
|
||
// return previous default value to avoid unnecessary watcher trigger
|
||
if (vm && vm.$options.propsData &&
|
||
vm.$options.propsData[key] === undefined &&
|
||
vm._props[key] !== undefined
|
||
) {
|
||
return vm._props[key]
|
||
}
|
||
// call factory function for non-Function types
|
||
// a value is Function if its prototype is function even across different execution context
|
||
return typeof def === 'function' && getType(prop.type) !== 'Function'
|
||
? def.call(vm)
|
||
: def
|
||
}
|
||
|
||
/**
|
||
* Assert whether a prop is valid.
|
||
*/
|
||
function assertProp (
|
||
prop,
|
||
name,
|
||
value,
|
||
vm,
|
||
absent
|
||
) {
|
||
if (prop.required && absent) {
|
||
warn(
|
||
'Missing required prop: "' + name + '"',
|
||
vm
|
||
);
|
||
return
|
||
}
|
||
if (value == null && !prop.required) {
|
||
return
|
||
}
|
||
var type = prop.type;
|
||
var valid = !type || type === true;
|
||
var expectedTypes = [];
|
||
if (type) {
|
||
if (!Array.isArray(type)) {
|
||
type = [type];
|
||
}
|
||
for (var i = 0; i < type.length && !valid; i++) {
|
||
var assertedType = assertType(value, type[i]);
|
||
expectedTypes.push(assertedType.expectedType || '');
|
||
valid = assertedType.valid;
|
||
}
|
||
}
|
||
|
||
if (!valid) {
|
||
warn(
|
||
getInvalidTypeMessage(name, value, expectedTypes),
|
||
vm
|
||
);
|
||
return
|
||
}
|
||
var validator = prop.validator;
|
||
if (validator) {
|
||
if (!validator(value)) {
|
||
warn(
|
||
'Invalid prop: custom validator check failed for prop "' + name + '".',
|
||
vm
|
||
);
|
||
}
|
||
}
|
||
}
|
||
|
||
var simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;
|
||
|
||
function assertType (value, type) {
|
||
var valid;
|
||
var expectedType = getType(type);
|
||
if (simpleCheckRE.test(expectedType)) {
|
||
var t = typeof value;
|
||
valid = t === expectedType.toLowerCase();
|
||
// for primitive wrapper objects
|
||
if (!valid && t === 'object') {
|
||
valid = value instanceof type;
|
||
}
|
||
} else if (expectedType === 'Object') {
|
||
valid = isPlainObject(value);
|
||
} else if (expectedType === 'Array') {
|
||
valid = Array.isArray(value);
|
||
} else {
|
||
valid = value instanceof type;
|
||
}
|
||
return {
|
||
valid: valid,
|
||
expectedType: expectedType
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Use function string name to check built-in types,
|
||
* because a simple equality check will fail when running
|
||
* across different vms / iframes.
|
||
*/
|
||
function getType (fn) {
|
||
var match = fn && fn.toString().match(/^\s*function (\w+)/);
|
||
return match ? match[1] : ''
|
||
}
|
||
|
||
function isSameType (a, b) {
|
||
return getType(a) === getType(b)
|
||
}
|
||
|
||
function getTypeIndex (type, expectedTypes) {
|
||
if (!Array.isArray(expectedTypes)) {
|
||
return isSameType(expectedTypes, type) ? 0 : -1
|
||
}
|
||
for (var i = 0, len = expectedTypes.length; i < len; i++) {
|
||
if (isSameType(expectedTypes[i], type)) {
|
||
return i
|
||
}
|
||
}
|
||
return -1
|
||
}
|
||
|
||
function getInvalidTypeMessage (name, value, expectedTypes) {
|
||
var message = "Invalid prop: type check failed for prop \"" + name + "\"." +
|
||
" Expected " + (expectedTypes.map(capitalize).join(', '));
|
||
var expectedType = expectedTypes[0];
|
||
var receivedType = toRawType(value);
|
||
var expectedValue = styleValue(value, expectedType);
|
||
var receivedValue = styleValue(value, receivedType);
|
||
// check if we need to specify expected value
|
||
if (expectedTypes.length === 1 &&
|
||
isExplicable(expectedType) &&
|
||
!isBoolean(expectedType, receivedType)) {
|
||
message += " with value " + expectedValue;
|
||
}
|
||
message += ", got " + receivedType + " ";
|
||
// check if we need to specify received value
|
||
if (isExplicable(receivedType)) {
|
||
message += "with value " + receivedValue + ".";
|
||
}
|
||
return message
|
||
}
|
||
|
||
function styleValue (value, type) {
|
||
if (type === 'String') {
|
||
return ("\"" + value + "\"")
|
||
} else if (type === 'Number') {
|
||
return ("" + (Number(value)))
|
||
} else {
|
||
return ("" + value)
|
||
}
|
||
}
|
||
|
||
function isExplicable (value) {
|
||
var explicitTypes = ['string', 'number', 'boolean'];
|
||
return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; })
|
||
}
|
||
|
||
function isBoolean () {
|
||
var args = [], len = arguments.length;
|
||
while ( len-- ) args[ len ] = arguments[ len ];
|
||
|
||
return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })
|
||
}
|
||
|
||
/* */
|
||
|
||
function handleError (err, vm, info) {
|
||
// Deactivate deps tracking while processing error handler to avoid possible infinite rendering.
|
||
// See: https://github.com/vuejs/vuex/issues/1505
|
||
pushTarget();
|
||
try {
|
||
if (vm) {
|
||
var cur = vm;
|
||
while ((cur = cur.$parent)) {
|
||
var hooks = cur.$options.errorCaptured;
|
||
if (hooks) {
|
||
for (var i = 0; i < hooks.length; i++) {
|
||
try {
|
||
var capture = hooks[i].call(cur, err, vm, info) === false;
|
||
if (capture) { return }
|
||
} catch (e) {
|
||
globalHandleError(e, cur, 'errorCaptured hook');
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
globalHandleError(err, vm, info);
|
||
} finally {
|
||
popTarget();
|
||
}
|
||
}
|
||
|
||
function invokeWithErrorHandling (
|
||
handler,
|
||
context,
|
||
args,
|
||
vm,
|
||
info
|
||
) {
|
||
var res;
|
||
try {
|
||
res = args ? handler.apply(context, args) : handler.call(context);
|
||
if (res && !res._isVue && isPromise(res) && !res._handled) {
|
||
res.catch(function (e) { return handleError(e, vm, info + " (Promise/async)"); });
|
||
// issue #9511
|
||
// avoid catch triggering multiple times when nested calls
|
||
res._handled = true;
|
||
}
|
||
} catch (e) {
|
||
handleError(e, vm, info);
|
||
}
|
||
return res
|
||
}
|
||
|
||
function globalHandleError (err, vm, info) {
|
||
if (config.errorHandler) {
|
||
try {
|
||
return config.errorHandler.call(null, err, vm, info)
|
||
} catch (e) {
|
||
// if the user intentionally throws the original error in the handler,
|
||
// do not log it twice
|
||
if (e !== err) {
|
||
logError(e, null, 'config.errorHandler');
|
||
}
|
||
}
|
||
}
|
||
logError(err, vm, info);
|
||
}
|
||
|
||
function logError (err, vm, info) {
|
||
if (true) {
|
||
warn(("Error in " + info + ": \"" + (err.toString()) + "\""), vm);
|
||
}
|
||
/* istanbul ignore else */
|
||
if ((inBrowser || inWeex) && typeof console !== 'undefined') {
|
||
console.error(err);
|
||
} else {
|
||
throw err
|
||
}
|
||
}
|
||
|
||
/* */
|
||
|
||
var isUsingMicroTask = false;
|
||
|
||
var callbacks = [];
|
||
var pending = false;
|
||
|
||
function flushCallbacks () {
|
||
pending = false;
|
||
var copies = callbacks.slice(0);
|
||
callbacks.length = 0;
|
||
for (var i = 0; i < copies.length; i++) {
|
||
copies[i]();
|
||
}
|
||
}
|
||
|
||
// Here we have async deferring wrappers using microtasks.
|
||
// In 2.5 we used (macro) tasks (in combination with microtasks).
|
||
// However, it has subtle problems when state is changed right before repaint
|
||
// (e.g. #6813, out-in transitions).
|
||
// Also, using (macro) tasks in event handler would cause some weird behaviors
|
||
// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).
|
||
// So we now use microtasks everywhere, again.
|
||
// A major drawback of this tradeoff is that there are some scenarios
|
||
// where microtasks have too high a priority and fire in between supposedly
|
||
// sequential events (e.g. #4521, #6690, which have workarounds)
|
||
// or even between bubbling of the same event (#6566).
|
||
var timerFunc;
|
||
|
||
// The nextTick behavior leverages the microtask queue, which can be accessed
|
||
// via either native Promise.then or MutationObserver.
|
||
// MutationObserver has wider support, however it is seriously bugged in
|
||
// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It
|
||
// completely stops working after triggering a few times... so, if native
|
||
// Promise is available, we will use it:
|
||
/* istanbul ignore next, $flow-disable-line */
|
||
if (typeof Promise !== 'undefined' && isNative(Promise)) {
|
||
var p = Promise.resolve();
|
||
timerFunc = function () {
|
||
p.then(flushCallbacks);
|
||
// In problematic UIWebViews, Promise.then doesn't completely break, but
|
||
// it can get stuck in a weird state where callbacks are pushed into the
|
||
// microtask queue but the queue isn't being flushed, until the browser
|
||
// needs to do some other work, e.g. handle a timer. Therefore we can
|
||
// "force" the microtask queue to be flushed by adding an empty timer.
|
||
if (isIOS) { setTimeout(noop); }
|
||
};
|
||
isUsingMicroTask = true;
|
||
} else if (!isIE && typeof MutationObserver !== 'undefined' && (
|
||
isNative(MutationObserver) ||
|
||
// PhantomJS and iOS 7.x
|
||
MutationObserver.toString() === '[object MutationObserverConstructor]'
|
||
)) {
|
||
// Use MutationObserver where native Promise is not available,
|
||
// e.g. PhantomJS, iOS7, Android 4.4
|
||
// (#6466 MutationObserver is unreliable in IE11)
|
||
var counter = 1;
|
||
var observer = new MutationObserver(flushCallbacks);
|
||
var textNode = document.createTextNode(String(counter));
|
||
observer.observe(textNode, {
|
||
characterData: true
|
||
});
|
||
timerFunc = function () {
|
||
counter = (counter + 1) % 2;
|
||
textNode.data = String(counter);
|
||
};
|
||
isUsingMicroTask = true;
|
||
} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {
|
||
// Fallback to setImmediate.
|
||
// Technically it leverages the (macro) task queue,
|
||
// but it is still a better choice than setTimeout.
|
||
timerFunc = function () {
|
||
setImmediate(flushCallbacks);
|
||
};
|
||
} else {
|
||
// Fallback to setTimeout.
|
||
timerFunc = function () {
|
||
setTimeout(flushCallbacks, 0);
|
||
};
|
||
}
|
||
|
||
function nextTick (cb, ctx) {
|
||
var _resolve;
|
||
callbacks.push(function () {
|
||
if (cb) {
|
||
try {
|
||
cb.call(ctx);
|
||
} catch (e) {
|
||
handleError(e, ctx, 'nextTick');
|
||
}
|
||
} else if (_resolve) {
|
||
_resolve(ctx);
|
||
}
|
||
});
|
||
if (!pending) {
|
||
pending = true;
|
||
timerFunc();
|
||
}
|
||
// $flow-disable-line
|
||
if (!cb && typeof Promise !== 'undefined') {
|
||
return new Promise(function (resolve) {
|
||
_resolve = resolve;
|
||
})
|
||
}
|
||
}
|
||
|
||
/* */
|
||
|
||
/* not type checking this file because flow doesn't play well with Proxy */
|
||
|
||
var initProxy;
|
||
|
||
if (true) {
|
||
var allowedGlobals = makeMap(
|
||
'Infinity,undefined,NaN,isFinite,isNaN,' +
|
||
'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +
|
||
'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +
|
||
'require' // for Webpack/Browserify
|
||
);
|
||
|
||
var warnNonPresent = function (target, key) {
|
||
warn(
|
||
"Property or method \"" + key + "\" is not defined on the instance but " +
|
||
'referenced during render. Make sure that this property is reactive, ' +
|
||
'either in the data option, or for class-based components, by ' +
|
||
'initializing the property. ' +
|
||
'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',
|
||
target
|
||
);
|
||
};
|
||
|
||
var warnReservedPrefix = function (target, key) {
|
||
warn(
|
||
"Property \"" + key + "\" must be accessed with \"$data." + key + "\" because " +
|
||
'properties starting with "$" or "_" are not proxied in the Vue instance to ' +
|
||
'prevent conflicts with Vue internals. ' +
|
||
'See: https://vuejs.org/v2/api/#data',
|
||
target
|
||
);
|
||
};
|
||
|
||
var hasProxy =
|
||
typeof Proxy !== 'undefined' && isNative(Proxy);
|
||
|
||
if (hasProxy) {
|
||
var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');
|
||
config.keyCodes = new Proxy(config.keyCodes, {
|
||
set: function set (target, key, value) {
|
||
if (isBuiltInModifier(key)) {
|
||
warn(("Avoid overwriting built-in modifier in config.keyCodes: ." + key));
|
||
return false
|
||
} else {
|
||
target[key] = value;
|
||
return true
|
||
}
|
||
}
|
||
});
|
||
}
|
||
|
||
var hasHandler = {
|
||
has: function has (target, key) {
|
||
var has = key in target;
|
||
var isAllowed = allowedGlobals(key) ||
|
||
(typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));
|
||
if (!has && !isAllowed) {
|
||
if (key in target.$data) { warnReservedPrefix(target, key); }
|
||
else { warnNonPresent(target, key); }
|
||
}
|
||
return has || !isAllowed
|
||
}
|
||
};
|
||
|
||
var getHandler = {
|
||
get: function get (target, key) {
|
||
if (typeof key === 'string' && !(key in target)) {
|
||
if (key in target.$data) { warnReservedPrefix(target, key); }
|
||
else { warnNonPresent(target, key); }
|
||
}
|
||
return target[key]
|
||
}
|
||
};
|
||
|
||
initProxy = function initProxy (vm) {
|
||
if (hasProxy) {
|
||
// determine which proxy handler to use
|
||
var options = vm.$options;
|
||
var handlers = options.render && options.render._withStripped
|
||
? getHandler
|
||
: hasHandler;
|
||
vm._renderProxy = new Proxy(vm, handlers);
|
||
} else {
|
||
vm._renderProxy = vm;
|
||
}
|
||
};
|
||
}
|
||
|
||
/* */
|
||
|
||
var seenObjects = new _Set();
|
||
|
||
/**
|
||
* Recursively traverse an object to evoke all converted
|
||
* getters, so that every nested property inside the object
|
||
* is collected as a "deep" dependency.
|
||
*/
|
||
function traverse (val) {
|
||
_traverse(val, seenObjects);
|
||
seenObjects.clear();
|
||
}
|
||
|
||
function _traverse (val, seen) {
|
||
var i, keys;
|
||
var isA = Array.isArray(val);
|
||
if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {
|
||
return
|
||
}
|
||
if (val.__ob__) {
|
||
var depId = val.__ob__.dep.id;
|
||
if (seen.has(depId)) {
|
||
return
|
||
}
|
||
seen.add(depId);
|
||
}
|
||
if (isA) {
|
||
i = val.length;
|
||
while (i--) { _traverse(val[i], seen); }
|
||
} else {
|
||
keys = Object.keys(val);
|
||
i = keys.length;
|
||
while (i--) { _traverse(val[keys[i]], seen); }
|
||
}
|
||
}
|
||
|
||
var mark;
|
||
var measure;
|
||
|
||
if (true) {
|
||
var perf = inBrowser && window.performance;
|
||
/* istanbul ignore if */
|
||
if (
|
||
perf &&
|
||
perf.mark &&
|
||
perf.measure &&
|
||
perf.clearMarks &&
|
||
perf.clearMeasures
|
||
) {
|
||
mark = function (tag) { return perf.mark(tag); };
|
||
measure = function (name, startTag, endTag) {
|
||
perf.measure(name, startTag, endTag);
|
||
perf.clearMarks(startTag);
|
||
perf.clearMarks(endTag);
|
||
// perf.clearMeasures(name)
|
||
};
|
||
}
|
||
}
|
||
|
||
/* */
|
||
|
||
var normalizeEvent = cached(function (name) {
|
||
var passive = name.charAt(0) === '&';
|
||
name = passive ? name.slice(1) : name;
|
||
var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first
|
||
name = once$$1 ? name.slice(1) : name;
|
||
var capture = name.charAt(0) === '!';
|
||
name = capture ? name.slice(1) : name;
|
||
return {
|
||
name: name,
|
||
once: once$$1,
|
||
capture: capture,
|
||
passive: passive
|
||
}
|
||
});
|
||
|
||
function createFnInvoker (fns, vm) {
|
||
function invoker () {
|
||
var arguments$1 = arguments;
|
||
|
||
var fns = invoker.fns;
|
||
if (Array.isArray(fns)) {
|
||
var cloned = fns.slice();
|
||
for (var i = 0; i < cloned.length; i++) {
|
||
invokeWithErrorHandling(cloned[i], null, arguments$1, vm, "v-on handler");
|
||
}
|
||
} else {
|
||
// return handler return value for single handlers
|
||
return invokeWithErrorHandling(fns, null, arguments, vm, "v-on handler")
|
||
}
|
||
}
|
||
invoker.fns = fns;
|
||
return invoker
|
||
}
|
||
|
||
function updateListeners (
|
||
on,
|
||
oldOn,
|
||
add,
|
||
remove$$1,
|
||
createOnceHandler,
|
||
vm
|
||
) {
|
||
var name, def$$1, cur, old, event;
|
||
for (name in on) {
|
||
def$$1 = cur = on[name];
|
||
old = oldOn[name];
|
||
event = normalizeEvent(name);
|
||
if (isUndef(cur)) {
|
||
true && warn(
|
||
"Invalid handler for event \"" + (event.name) + "\": got " + String(cur),
|
||
vm
|
||
);
|
||
} else if (isUndef(old)) {
|
||
if (isUndef(cur.fns)) {
|
||
cur = on[name] = createFnInvoker(cur, vm);
|
||
}
|
||
if (isTrue(event.once)) {
|
||
cur = on[name] = createOnceHandler(event.name, cur, event.capture);
|
||
}
|
||
add(event.name, cur, event.capture, event.passive, event.params);
|
||
} else if (cur !== old) {
|
||
old.fns = cur;
|
||
on[name] = old;
|
||
}
|
||
}
|
||
for (name in oldOn) {
|
||
if (isUndef(on[name])) {
|
||
event = normalizeEvent(name);
|
||
remove$$1(event.name, oldOn[name], event.capture);
|
||
}
|
||
}
|
||
}
|
||
|
||
/* */
|
||
|
||
function mergeVNodeHook (def, hookKey, hook) {
|
||
if (def instanceof VNode) {
|
||
def = def.data.hook || (def.data.hook = {});
|
||
}
|
||
var invoker;
|
||
var oldHook = def[hookKey];
|
||
|
||
function wrappedHook () {
|
||
hook.apply(this, arguments);
|
||
// important: remove merged hook to ensure it's called only once
|
||
// and prevent memory leak
|
||
remove(invoker.fns, wrappedHook);
|
||
}
|
||
|
||
if (isUndef(oldHook)) {
|
||
// no existing hook
|
||
invoker = createFnInvoker([wrappedHook]);
|
||
} else {
|
||
/* istanbul ignore if */
|
||
if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {
|
||
// already a merged invoker
|
||
invoker = oldHook;
|
||
invoker.fns.push(wrappedHook);
|
||
} else {
|
||
// existing plain hook
|
||
invoker = createFnInvoker([oldHook, wrappedHook]);
|
||
}
|
||
}
|
||
|
||
invoker.merged = true;
|
||
def[hookKey] = invoker;
|
||
}
|
||
|
||
/* */
|
||
|
||
function extractPropsFromVNodeData (
|
||
data,
|
||
Ctor,
|
||
tag
|
||
) {
|
||
// we are only extracting raw values here.
|
||
// validation and default values are handled in the child
|
||
// component itself.
|
||
var propOptions = Ctor.options.props;
|
||
if (isUndef(propOptions)) {
|
||
return
|
||
}
|
||
var res = {};
|
||
var attrs = data.attrs;
|
||
var props = data.props;
|
||
if (isDef(attrs) || isDef(props)) {
|
||
for (var key in propOptions) {
|
||
var altKey = hyphenate(key);
|
||
if (true) {
|
||
var keyInLowerCase = key.toLowerCase();
|
||
if (
|
||
key !== keyInLowerCase &&
|
||
attrs && hasOwn(attrs, keyInLowerCase)
|
||
) {
|
||
tip(
|
||
"Prop \"" + keyInLowerCase + "\" is passed to component " +
|
||
(formatComponentName(tag || Ctor)) + ", but the declared prop name is" +
|
||
" \"" + key + "\". " +
|
||
"Note that HTML attributes are case-insensitive and camelCased " +
|
||
"props need to use their kebab-case equivalents when using in-DOM " +
|
||
"templates. You should probably use \"" + altKey + "\" instead of \"" + key + "\"."
|
||
);
|
||
}
|
||
}
|
||
checkProp(res, props, key, altKey, true) ||
|
||
checkProp(res, attrs, key, altKey, false);
|
||
}
|
||
}
|
||
return res
|
||
}
|
||
|
||
function checkProp (
|
||
res,
|
||
hash,
|
||
key,
|
||
altKey,
|
||
preserve
|
||
) {
|
||
if (isDef(hash)) {
|
||
if (hasOwn(hash, key)) {
|
||
res[key] = hash[key];
|
||
if (!preserve) {
|
||
delete hash[key];
|
||
}
|
||
return true
|
||
} else if (hasOwn(hash, altKey)) {
|
||
res[key] = hash[altKey];
|
||
if (!preserve) {
|
||
delete hash[altKey];
|
||
}
|
||
return true
|
||
}
|
||
}
|
||
return false
|
||
}
|
||
|
||
/* */
|
||
|
||
// The template compiler attempts to minimize the need for normalization by
|
||
// statically analyzing the template at compile time.
|
||
//
|
||
// For plain HTML markup, normalization can be completely skipped because the
|
||
// generated render function is guaranteed to return Array<VNode>. There are
|
||
// two cases where extra normalization is needed:
|
||
|
||
// 1. When the children contains components - because a functional component
|
||
// may return an Array instead of a single root. In this case, just a simple
|
||
// normalization is needed - if any child is an Array, we flatten the whole
|
||
// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep
|
||
// because functional components already normalize their own children.
|
||
function simpleNormalizeChildren (children) {
|
||
for (var i = 0; i < children.length; i++) {
|
||
if (Array.isArray(children[i])) {
|
||
return Array.prototype.concat.apply([], children)
|
||
}
|
||
}
|
||
return children
|
||
}
|
||
|
||
// 2. When the children contains constructs that always generated nested Arrays,
|
||
// e.g. <template>, <slot>, v-for, or when the children is provided by user
|
||
// with hand-written render functions / JSX. In such cases a full normalization
|
||
// is needed to cater to all possible types of children values.
|
||
function normalizeChildren (children) {
|
||
return isPrimitive(children)
|
||
? [createTextVNode(children)]
|
||
: Array.isArray(children)
|
||
? normalizeArrayChildren(children)
|
||
: undefined
|
||
}
|
||
|
||
function isTextNode (node) {
|
||
return isDef(node) && isDef(node.text) && isFalse(node.isComment)
|
||
}
|
||
|
||
function normalizeArrayChildren (children, nestedIndex) {
|
||
var res = [];
|
||
var i, c, lastIndex, last;
|
||
for (i = 0; i < children.length; i++) {
|
||
c = children[i];
|
||
if (isUndef(c) || typeof c === 'boolean') { continue }
|
||
lastIndex = res.length - 1;
|
||
last = res[lastIndex];
|
||
// nested
|
||
if (Array.isArray(c)) {
|
||
if (c.length > 0) {
|
||
c = normalizeArrayChildren(c, ((nestedIndex || '') + "_" + i));
|
||
// merge adjacent text nodes
|
||
if (isTextNode(c[0]) && isTextNode(last)) {
|
||
res[lastIndex] = createTextVNode(last.text + (c[0]).text);
|
||
c.shift();
|
||
}
|
||
res.push.apply(res, c);
|
||
}
|
||
} else if (isPrimitive(c)) {
|
||
if (isTextNode(last)) {
|
||
// merge adjacent text nodes
|
||
// this is necessary for SSR hydration because text nodes are
|
||
// essentially merged when rendered to HTML strings
|
||
res[lastIndex] = createTextVNode(last.text + c);
|
||
} else if (c !== '') {
|
||
// convert primitive to vnode
|
||
res.push(createTextVNode(c));
|
||
}
|
||
} else {
|
||
if (isTextNode(c) && isTextNode(last)) {
|
||
// merge adjacent text nodes
|
||
res[lastIndex] = createTextVNode(last.text + c.text);
|
||
} else {
|
||
// default key for nested array children (likely generated by v-for)
|
||
if (isTrue(children._isVList) &&
|
||
isDef(c.tag) &&
|
||
isUndef(c.key) &&
|
||
isDef(nestedIndex)) {
|
||
c.key = "__vlist" + nestedIndex + "_" + i + "__";
|
||
}
|
||
res.push(c);
|
||
}
|
||
}
|
||
}
|
||
return res
|
||
}
|
||
|
||
/* */
|
||
|
||
function initProvide (vm) {
|
||
var provide = vm.$options.provide;
|
||
if (provide) {
|
||
vm._provided = typeof provide === 'function'
|
||
? provide.call(vm)
|
||
: provide;
|
||
}
|
||
}
|
||
|
||
function initInjections (vm) {
|
||
var result = resolveInject(vm.$options.inject, vm);
|
||
if (result) {
|
||
toggleObserving(false);
|
||
Object.keys(result).forEach(function (key) {
|
||
/* istanbul ignore else */
|
||
if (true) {
|
||
defineReactive$$1(vm, key, result[key], function () {
|
||
warn(
|
||
"Avoid mutating an injected value directly since the changes will be " +
|
||
"overwritten whenever the provided component re-renders. " +
|
||
"injection being mutated: \"" + key + "\"",
|
||
vm
|
||
);
|
||
});
|
||
} else {}
|
||
});
|
||
toggleObserving(true);
|
||
}
|
||
}
|
||
|
||
function resolveInject (inject, vm) {
|
||
if (inject) {
|
||
// inject is :any because flow is not smart enough to figure out cached
|
||
var result = Object.create(null);
|
||
var keys = hasSymbol
|
||
? Reflect.ownKeys(inject)
|
||
: Object.keys(inject);
|
||
|
||
for (var i = 0; i < keys.length; i++) {
|
||
var key = keys[i];
|
||
// #6574 in case the inject object is observed...
|
||
if (key === '__ob__') { continue }
|
||
var provideKey = inject[key].from;
|
||
var source = vm;
|
||
while (source) {
|
||
if (source._provided && hasOwn(source._provided, provideKey)) {
|
||
result[key] = source._provided[provideKey];
|
||
break
|
||
}
|
||
source = source.$parent;
|
||
}
|
||
if (!source) {
|
||
if ('default' in inject[key]) {
|
||
var provideDefault = inject[key].default;
|
||
result[key] = typeof provideDefault === 'function'
|
||
? provideDefault.call(vm)
|
||
: provideDefault;
|
||
} else if (true) {
|
||
warn(("Injection \"" + key + "\" not found"), vm);
|
||
}
|
||
}
|
||
}
|
||
return result
|
||
}
|
||
}
|
||
|
||
/* */
|
||
|
||
|
||
|
||
/**
|
||
* Runtime helper for resolving raw children VNodes into a slot object.
|
||
*/
|
||
function resolveSlots (
|
||
children,
|
||
context
|
||
) {
|
||
if (!children || !children.length) {
|
||
return {}
|
||
}
|
||
var slots = {};
|
||
for (var i = 0, l = children.length; i < l; i++) {
|
||
var child = children[i];
|
||
var data = child.data;
|
||
// remove slot attribute if the node is resolved as a Vue slot node
|
||
if (data && data.attrs && data.attrs.slot) {
|
||
delete data.attrs.slot;
|
||
}
|
||
// named slots should only be respected if the vnode was rendered in the
|
||
// same context.
|
||
if ((child.context === context || child.fnContext === context) &&
|
||
data && data.slot != null
|
||
) {
|
||
var name = data.slot;
|
||
var slot = (slots[name] || (slots[name] = []));
|
||
if (child.tag === 'template') {
|
||
slot.push.apply(slot, child.children || []);
|
||
} else {
|
||
slot.push(child);
|
||
}
|
||
} else {
|
||
(slots.default || (slots.default = [])).push(child);
|
||
}
|
||
}
|
||
// ignore slots that contains only whitespace
|
||
for (var name$1 in slots) {
|
||
if (slots[name$1].every(isWhitespace)) {
|
||
delete slots[name$1];
|
||
}
|
||
}
|
||
return slots
|
||
}
|
||
|
||
function isWhitespace (node) {
|
||
return (node.isComment && !node.asyncFactory) || node.text === ' '
|
||
}
|
||
|
||
/* */
|
||
|
||
function normalizeScopedSlots (
|
||
slots,
|
||
normalSlots,
|
||
prevSlots
|
||
) {
|
||
var res;
|
||
var hasNormalSlots = Object.keys(normalSlots).length > 0;
|
||
var isStable = slots ? !!slots.$stable : !hasNormalSlots;
|
||
var key = slots && slots.$key;
|
||
if (!slots) {
|
||
res = {};
|
||
} else if (slots._normalized) {
|
||
// fast path 1: child component re-render only, parent did not change
|
||
return slots._normalized
|
||
} else if (
|
||
isStable &&
|
||
prevSlots &&
|
||
prevSlots !== emptyObject &&
|
||
key === prevSlots.$key &&
|
||
!hasNormalSlots &&
|
||
!prevSlots.$hasNormal
|
||
) {
|
||
// fast path 2: stable scoped slots w/ no normal slots to proxy,
|
||
// only need to normalize once
|
||
return prevSlots
|
||
} else {
|
||
res = {};
|
||
for (var key$1 in slots) {
|
||
if (slots[key$1] && key$1[0] !== '$') {
|
||
res[key$1] = normalizeScopedSlot(normalSlots, key$1, slots[key$1]);
|
||
}
|
||
}
|
||
}
|
||
// expose normal slots on scopedSlots
|
||
for (var key$2 in normalSlots) {
|
||
if (!(key$2 in res)) {
|
||
res[key$2] = proxyNormalSlot(normalSlots, key$2);
|
||
}
|
||
}
|
||
// avoriaz seems to mock a non-extensible $scopedSlots object
|
||
// and when that is passed down this would cause an error
|
||
if (slots && Object.isExtensible(slots)) {
|
||
(slots)._normalized = res;
|
||
}
|
||
def(res, '$stable', isStable);
|
||
def(res, '$key', key);
|
||
def(res, '$hasNormal', hasNormalSlots);
|
||
return res
|
||
}
|
||
|
||
function normalizeScopedSlot(normalSlots, key, fn) {
|
||
var normalized = function () {
|
||
var res = arguments.length ? fn.apply(null, arguments) : fn({});
|
||
res = res && typeof res === 'object' && !Array.isArray(res)
|
||
? [res] // single vnode
|
||
: normalizeChildren(res);
|
||
return res && (
|
||
res.length === 0 ||
|
||
(res.length === 1 && res[0].isComment) // #9658
|
||
) ? undefined
|
||
: res
|
||
};
|
||
// this is a slot using the new v-slot syntax without scope. although it is
|
||
// compiled as a scoped slot, render fn users would expect it to be present
|
||
// on this.$slots because the usage is semantically a normal slot.
|
||
if (fn.proxy) {
|
||
Object.defineProperty(normalSlots, key, {
|
||
get: normalized,
|
||
enumerable: true,
|
||
configurable: true
|
||
});
|
||
}
|
||
return normalized
|
||
}
|
||
|
||
function proxyNormalSlot(slots, key) {
|
||
return function () { return slots[key]; }
|
||
}
|
||
|
||
/* */
|
||
|
||
/**
|
||
* Runtime helper for rendering v-for lists.
|
||
*/
|
||
function renderList (
|
||
val,
|
||
render
|
||
) {
|
||
var ret, i, l, keys, key;
|
||
if (Array.isArray(val) || typeof val === 'string') {
|
||
ret = new Array(val.length);
|
||
for (i = 0, l = val.length; i < l; i++) {
|
||
ret[i] = render(val[i], i);
|
||
}
|
||
} else if (typeof val === 'number') {
|
||
ret = new Array(val);
|
||
for (i = 0; i < val; i++) {
|
||
ret[i] = render(i + 1, i);
|
||
}
|
||
} else if (isObject(val)) {
|
||
if (hasSymbol && val[Symbol.iterator]) {
|
||
ret = [];
|
||
var iterator = val[Symbol.iterator]();
|
||
var result = iterator.next();
|
||
while (!result.done) {
|
||
ret.push(render(result.value, ret.length));
|
||
result = iterator.next();
|
||
}
|
||
} else {
|
||
keys = Object.keys(val);
|
||
ret = new Array(keys.length);
|
||
for (i = 0, l = keys.length; i < l; i++) {
|
||
key = keys[i];
|
||
ret[i] = render(val[key], key, i);
|
||
}
|
||
}
|
||
}
|
||
if (!isDef(ret)) {
|
||
ret = [];
|
||
}
|
||
(ret)._isVList = true;
|
||
return ret
|
||
}
|
||
|
||
/* */
|
||
|
||
/**
|
||
* Runtime helper for rendering <slot>
|
||
*/
|
||
function renderSlot (
|
||
name,
|
||
fallback,
|
||
props,
|
||
bindObject
|
||
) {
|
||
var scopedSlotFn = this.$scopedSlots[name];
|
||
var nodes;
|
||
if (scopedSlotFn) { // scoped slot
|
||
props = props || {};
|
||
if (bindObject) {
|
||
if ( true && !isObject(bindObject)) {
|
||
warn(
|
||
'slot v-bind without argument expects an Object',
|
||
this
|
||
);
|
||
}
|
||
props = extend(extend({}, bindObject), props);
|
||
}
|
||
nodes = scopedSlotFn(props) || fallback;
|
||
} else {
|
||
nodes = this.$slots[name] || fallback;
|
||
}
|
||
|
||
var target = props && props.slot;
|
||
if (target) {
|
||
return this.$createElement('template', { slot: target }, nodes)
|
||
} else {
|
||
return nodes
|
||
}
|
||
}
|
||
|
||
/* */
|
||
|
||
/**
|
||
* Runtime helper for resolving filters
|
||
*/
|
||
function resolveFilter (id) {
|
||
return resolveAsset(this.$options, 'filters', id, true) || identity
|
||
}
|
||
|
||
/* */
|
||
|
||
function isKeyNotMatch (expect, actual) {
|
||
if (Array.isArray(expect)) {
|
||
return expect.indexOf(actual) === -1
|
||
} else {
|
||
return expect !== actual
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Runtime helper for checking keyCodes from config.
|
||
* exposed as Vue.prototype._k
|
||
* passing in eventKeyName as last argument separately for backwards compat
|
||
*/
|
||
function checkKeyCodes (
|
||
eventKeyCode,
|
||
key,
|
||
builtInKeyCode,
|
||
eventKeyName,
|
||
builtInKeyName
|
||
) {
|
||
var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;
|
||
if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {
|
||
return isKeyNotMatch(builtInKeyName, eventKeyName)
|
||
} else if (mappedKeyCode) {
|
||
return isKeyNotMatch(mappedKeyCode, eventKeyCode)
|
||
} else if (eventKeyName) {
|
||
return hyphenate(eventKeyName) !== key
|
||
}
|
||
}
|
||
|
||
/* */
|
||
|
||
/**
|
||
* Runtime helper for merging v-bind="object" into a VNode's data.
|
||
*/
|
||
function bindObjectProps (
|
||
data,
|
||
tag,
|
||
value,
|
||
asProp,
|
||
isSync
|
||
) {
|
||
if (value) {
|
||
if (!isObject(value)) {
|
||
true && warn(
|
||
'v-bind without argument expects an Object or Array value',
|
||
this
|
||
);
|
||
} else {
|
||
if (Array.isArray(value)) {
|
||
value = toObject(value);
|
||
}
|
||
var hash;
|
||
var loop = function ( key ) {
|
||
if (
|
||
key === 'class' ||
|
||
key === 'style' ||
|
||
isReservedAttribute(key)
|
||
) {
|
||
hash = data;
|
||
} else {
|
||
var type = data.attrs && data.attrs.type;
|
||
hash = asProp || config.mustUseProp(tag, type, key)
|
||
? data.domProps || (data.domProps = {})
|
||
: data.attrs || (data.attrs = {});
|
||
}
|
||
var camelizedKey = camelize(key);
|
||
var hyphenatedKey = hyphenate(key);
|
||
if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) {
|
||
hash[key] = value[key];
|
||
|
||
if (isSync) {
|
||
var on = data.on || (data.on = {});
|
||
on[("update:" + key)] = function ($event) {
|
||
value[key] = $event;
|
||
};
|
||
}
|
||
}
|
||
};
|
||
|
||
for (var key in value) loop( key );
|
||
}
|
||
}
|
||
return data
|
||
}
|
||
|
||
/* */
|
||
|
||
/**
|
||
* Runtime helper for rendering static trees.
|
||
*/
|
||
function renderStatic (
|
||
index,
|
||
isInFor
|
||
) {
|
||
var cached = this._staticTrees || (this._staticTrees = []);
|
||
var tree = cached[index];
|
||
// if has already-rendered static tree and not inside v-for,
|
||
// we can reuse the same tree.
|
||
if (tree && !isInFor) {
|
||
return tree
|
||
}
|
||
// otherwise, render a fresh tree.
|
||
tree = cached[index] = this.$options.staticRenderFns[index].call(
|
||
this._renderProxy,
|
||
null,
|
||
this // for render fns generated for functional component templates
|
||
);
|
||
markStatic(tree, ("__static__" + index), false);
|
||
return tree
|
||
}
|
||
|
||
/**
|
||
* Runtime helper for v-once.
|
||
* Effectively it means marking the node as static with a unique key.
|
||
*/
|
||
function markOnce (
|
||
tree,
|
||
index,
|
||
key
|
||
) {
|
||
markStatic(tree, ("__once__" + index + (key ? ("_" + key) : "")), true);
|
||
return tree
|
||
}
|
||
|
||
function markStatic (
|
||
tree,
|
||
key,
|
||
isOnce
|
||
) {
|
||
if (Array.isArray(tree)) {
|
||
for (var i = 0; i < tree.length; i++) {
|
||
if (tree[i] && typeof tree[i] !== 'string') {
|
||
markStaticNode(tree[i], (key + "_" + i), isOnce);
|
||
}
|
||
}
|
||
} else {
|
||
markStaticNode(tree, key, isOnce);
|
||
}
|
||
}
|
||
|
||
function markStaticNode (node, key, isOnce) {
|
||
node.isStatic = true;
|
||
node.key = key;
|
||
node.isOnce = isOnce;
|
||
}
|
||
|
||
/* */
|
||
|
||
function bindObjectListeners (data, value) {
|
||
if (value) {
|
||
if (!isPlainObject(value)) {
|
||
true && warn(
|
||
'v-on without argument expects an Object value',
|
||
this
|
||
);
|
||
} else {
|
||
var on = data.on = data.on ? extend({}, data.on) : {};
|
||
for (var key in value) {
|
||
var existing = on[key];
|
||
var ours = value[key];
|
||
on[key] = existing ? [].concat(existing, ours) : ours;
|
||
}
|
||
}
|
||
}
|
||
return data
|
||
}
|
||
|
||
/* */
|
||
|
||
function resolveScopedSlots (
|
||
fns, // see flow/vnode
|
||
res,
|
||
// the following are added in 2.6
|
||
hasDynamicKeys,
|
||
contentHashKey
|
||
) {
|
||
res = res || { $stable: !hasDynamicKeys };
|
||
for (var i = 0; i < fns.length; i++) {
|
||
var slot = fns[i];
|
||
if (Array.isArray(slot)) {
|
||
resolveScopedSlots(slot, res, hasDynamicKeys);
|
||
} else if (slot) {
|
||
// marker for reverse proxying v-slot without scope on this.$slots
|
||
if (slot.proxy) {
|
||
slot.fn.proxy = true;
|
||
}
|
||
res[slot.key] = slot.fn;
|
||
}
|
||
}
|
||
if (contentHashKey) {
|
||
(res).$key = contentHashKey;
|
||
}
|
||
return res
|
||
}
|
||
|
||
/* */
|
||
|
||
function bindDynamicKeys (baseObj, values) {
|
||
for (var i = 0; i < values.length; i += 2) {
|
||
var key = values[i];
|
||
if (typeof key === 'string' && key) {
|
||
baseObj[values[i]] = values[i + 1];
|
||
} else if ( true && key !== '' && key !== null) {
|
||
// null is a special value for explicitly removing a binding
|
||
warn(
|
||
("Invalid value for dynamic directive argument (expected string or null): " + key),
|
||
this
|
||
);
|
||
}
|
||
}
|
||
return baseObj
|
||
}
|
||
|
||
// helper to dynamically append modifier runtime markers to event names.
|
||
// ensure only append when value is already string, otherwise it will be cast
|
||
// to string and cause the type check to miss.
|
||
function prependModifier (value, symbol) {
|
||
return typeof value === 'string' ? symbol + value : value
|
||
}
|
||
|
||
/* */
|
||
|
||
function installRenderHelpers (target) {
|
||
target._o = markOnce;
|
||
target._n = toNumber;
|
||
target._s = toString;
|
||
target._l = renderList;
|
||
target._t = renderSlot;
|
||
target._q = looseEqual;
|
||
target._i = looseIndexOf;
|
||
target._m = renderStatic;
|
||
target._f = resolveFilter;
|
||
target._k = checkKeyCodes;
|
||
target._b = bindObjectProps;
|
||
target._v = createTextVNode;
|
||
target._e = createEmptyVNode;
|
||
target._u = resolveScopedSlots;
|
||
target._g = bindObjectListeners;
|
||
target._d = bindDynamicKeys;
|
||
target._p = prependModifier;
|
||
}
|
||
|
||
/* */
|
||
|
||
function FunctionalRenderContext (
|
||
data,
|
||
props,
|
||
children,
|
||
parent,
|
||
Ctor
|
||
) {
|
||
var this$1 = this;
|
||
|
||
var options = Ctor.options;
|
||
// ensure the createElement function in functional components
|
||
// gets a unique context - this is necessary for correct named slot check
|
||
var contextVm;
|
||
if (hasOwn(parent, '_uid')) {
|
||
contextVm = Object.create(parent);
|
||
// $flow-disable-line
|
||
contextVm._original = parent;
|
||
} else {
|
||
// the context vm passed in is a functional context as well.
|
||
// in this case we want to make sure we are able to get a hold to the
|
||
// real context instance.
|
||
contextVm = parent;
|
||
// $flow-disable-line
|
||
parent = parent._original;
|
||
}
|
||
var isCompiled = isTrue(options._compiled);
|
||
var needNormalization = !isCompiled;
|
||
|
||
this.data = data;
|
||
this.props = props;
|
||
this.children = children;
|
||
this.parent = parent;
|
||
this.listeners = data.on || emptyObject;
|
||
this.injections = resolveInject(options.inject, parent);
|
||
this.slots = function () {
|
||
if (!this$1.$slots) {
|
||
normalizeScopedSlots(
|
||
data.scopedSlots,
|
||
this$1.$slots = resolveSlots(children, parent)
|
||
);
|
||
}
|
||
return this$1.$slots
|
||
};
|
||
|
||
Object.defineProperty(this, 'scopedSlots', ({
|
||
enumerable: true,
|
||
get: function get () {
|
||
return normalizeScopedSlots(data.scopedSlots, this.slots())
|
||
}
|
||
}));
|
||
|
||
// support for compiled functional template
|
||
if (isCompiled) {
|
||
// exposing $options for renderStatic()
|
||
this.$options = options;
|
||
// pre-resolve slots for renderSlot()
|
||
this.$slots = this.slots();
|
||
this.$scopedSlots = normalizeScopedSlots(data.scopedSlots, this.$slots);
|
||
}
|
||
|
||
if (options._scopeId) {
|
||
this._c = function (a, b, c, d) {
|
||
var vnode = createElement(contextVm, a, b, c, d, needNormalization);
|
||
if (vnode && !Array.isArray(vnode)) {
|
||
vnode.fnScopeId = options._scopeId;
|
||
vnode.fnContext = parent;
|
||
}
|
||
return vnode
|
||
};
|
||
} else {
|
||
this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };
|
||
}
|
||
}
|
||
|
||
installRenderHelpers(FunctionalRenderContext.prototype);
|
||
|
||
function createFunctionalComponent (
|
||
Ctor,
|
||
propsData,
|
||
data,
|
||
contextVm,
|
||
children
|
||
) {
|
||
var options = Ctor.options;
|
||
var props = {};
|
||
var propOptions = options.props;
|
||
if (isDef(propOptions)) {
|
||
for (var key in propOptions) {
|
||
props[key] = validateProp(key, propOptions, propsData || emptyObject);
|
||
}
|
||
} else {
|
||
if (isDef(data.attrs)) { mergeProps(props, data.attrs); }
|
||
if (isDef(data.props)) { mergeProps(props, data.props); }
|
||
}
|
||
|
||
var renderContext = new FunctionalRenderContext(
|
||
data,
|
||
props,
|
||
children,
|
||
contextVm,
|
||
Ctor
|
||
);
|
||
|
||
var vnode = options.render.call(null, renderContext._c, renderContext);
|
||
|
||
if (vnode instanceof VNode) {
|
||
return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext)
|
||
} else if (Array.isArray(vnode)) {
|
||
var vnodes = normalizeChildren(vnode) || [];
|
||
var res = new Array(vnodes.length);
|
||
for (var i = 0; i < vnodes.length; i++) {
|
||
res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext);
|
||
}
|
||
return res
|
||
}
|
||
}
|
||
|
||
function cloneAndMarkFunctionalResult (vnode, data, contextVm, options, renderContext) {
|
||
// #7817 clone node before setting fnContext, otherwise if the node is reused
|
||
// (e.g. it was from a cached normal slot) the fnContext causes named slots
|
||
// that should not be matched to match.
|
||
var clone = cloneVNode(vnode);
|
||
clone.fnContext = contextVm;
|
||
clone.fnOptions = options;
|
||
if (true) {
|
||
(clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = renderContext;
|
||
}
|
||
if (data.slot) {
|
||
(clone.data || (clone.data = {})).slot = data.slot;
|
||
}
|
||
return clone
|
||
}
|
||
|
||
function mergeProps (to, from) {
|
||
for (var key in from) {
|
||
to[camelize(key)] = from[key];
|
||
}
|
||
}
|
||
|
||
/* */
|
||
|
||
/* */
|
||
|
||
/* */
|
||
|
||
/* */
|
||
|
||
// inline hooks to be invoked on component VNodes during patch
|
||
var componentVNodeHooks = {
|
||
init: function init (vnode, hydrating) {
|
||
if (
|
||
vnode.componentInstance &&
|
||
!vnode.componentInstance._isDestroyed &&
|
||
vnode.data.keepAlive
|
||
) {
|
||
// kept-alive components, treat as a patch
|
||
var mountedNode = vnode; // work around flow
|
||
componentVNodeHooks.prepatch(mountedNode, mountedNode);
|
||
} else {
|
||
var child = vnode.componentInstance = createComponentInstanceForVnode(
|
||
vnode,
|
||
activeInstance
|
||
);
|
||
child.$mount(hydrating ? vnode.elm : undefined, hydrating);
|
||
}
|
||
},
|
||
|
||
prepatch: function prepatch (oldVnode, vnode) {
|
||
var options = vnode.componentOptions;
|
||
var child = vnode.componentInstance = oldVnode.componentInstance;
|
||
updateChildComponent(
|
||
child,
|
||
options.propsData, // updated props
|
||
options.listeners, // updated listeners
|
||
vnode, // new parent vnode
|
||
options.children // new children
|
||
);
|
||
},
|
||
|
||
insert: function insert (vnode) {
|
||
var context = vnode.context;
|
||
var componentInstance = vnode.componentInstance;
|
||
if (!componentInstance._isMounted) {
|
||
componentInstance._isMounted = true;
|
||
callHook(componentInstance, 'mounted');
|
||
}
|
||
if (vnode.data.keepAlive) {
|
||
if (context._isMounted) {
|
||
// vue-router#1212
|
||
// During updates, a kept-alive component's child components may
|
||
// change, so directly walking the tree here may call activated hooks
|
||
// on incorrect children. Instead we push them into a queue which will
|
||
// be processed after the whole patch process ended.
|
||
queueActivatedComponent(componentInstance);
|
||
} else {
|
||
activateChildComponent(componentInstance, true /* direct */);
|
||
}
|
||
}
|
||
},
|
||
|
||
destroy: function destroy (vnode) {
|
||
var componentInstance = vnode.componentInstance;
|
||
if (!componentInstance._isDestroyed) {
|
||
if (!vnode.data.keepAlive) {
|
||
componentInstance.$destroy();
|
||
} else {
|
||
deactivateChildComponent(componentInstance, true /* direct */);
|
||
}
|
||
}
|
||
}
|
||
};
|
||
|
||
var hooksToMerge = Object.keys(componentVNodeHooks);
|
||
|
||
function createComponent (
|
||
Ctor,
|
||
data,
|
||
context,
|
||
children,
|
||
tag
|
||
) {
|
||
if (isUndef(Ctor)) {
|
||
return
|
||
}
|
||
|
||
var baseCtor = context.$options._base;
|
||
|
||
// plain options object: turn it into a constructor
|
||
if (isObject(Ctor)) {
|
||
Ctor = baseCtor.extend(Ctor);
|
||
}
|
||
|
||
// if at this stage it's not a constructor or an async component factory,
|
||
// reject.
|
||
if (typeof Ctor !== 'function') {
|
||
if (true) {
|
||
warn(("Invalid Component definition: " + (String(Ctor))), context);
|
||
}
|
||
return
|
||
}
|
||
|
||
// async component
|
||
var asyncFactory;
|
||
if (isUndef(Ctor.cid)) {
|
||
asyncFactory = Ctor;
|
||
Ctor = resolveAsyncComponent(asyncFactory, baseCtor);
|
||
if (Ctor === undefined) {
|
||
// return a placeholder node for async component, which is rendered
|
||
// as a comment node but preserves all the raw information for the node.
|
||
// the information will be used for async server-rendering and hydration.
|
||
return createAsyncPlaceholder(
|
||
asyncFactory,
|
||
data,
|
||
context,
|
||
children,
|
||
tag
|
||
)
|
||
}
|
||
}
|
||
|
||
data = data || {};
|
||
|
||
// resolve constructor options in case global mixins are applied after
|
||
// component constructor creation
|
||
resolveConstructorOptions(Ctor);
|
||
|
||
// transform component v-model data into props & events
|
||
if (isDef(data.model)) {
|
||
transformModel(Ctor.options, data);
|
||
}
|
||
|
||
// extract props
|
||
var propsData = extractPropsFromVNodeData(data, Ctor, tag);
|
||
|
||
// functional component
|
||
if (isTrue(Ctor.options.functional)) {
|
||
return createFunctionalComponent(Ctor, propsData, data, context, children)
|
||
}
|
||
|
||
// extract listeners, since these needs to be treated as
|
||
// child component listeners instead of DOM listeners
|
||
var listeners = data.on;
|
||
// replace with listeners with .native modifier
|
||
// so it gets processed during parent component patch.
|
||
data.on = data.nativeOn;
|
||
|
||
if (isTrue(Ctor.options.abstract)) {
|
||
// abstract components do not keep anything
|
||
// other than props & listeners & slot
|
||
|
||
// work around flow
|
||
var slot = data.slot;
|
||
data = {};
|
||
if (slot) {
|
||
data.slot = slot;
|
||
}
|
||
}
|
||
|
||
// install component management hooks onto the placeholder node
|
||
installComponentHooks(data);
|
||
|
||
// return a placeholder vnode
|
||
var name = Ctor.options.name || tag;
|
||
var vnode = new VNode(
|
||
("vue-component-" + (Ctor.cid) + (name ? ("-" + name) : '')),
|
||
data, undefined, undefined, undefined, context,
|
||
{ Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },
|
||
asyncFactory
|
||
);
|
||
|
||
return vnode
|
||
}
|
||
|
||
function createComponentInstanceForVnode (
|
||
vnode, // we know it's MountedComponentVNode but flow doesn't
|
||
parent // activeInstance in lifecycle state
|
||
) {
|
||
var options = {
|
||
_isComponent: true,
|
||
_parentVnode: vnode,
|
||
parent: parent
|
||
};
|
||
// check inline-template render functions
|
||
var inlineTemplate = vnode.data.inlineTemplate;
|
||
if (isDef(inlineTemplate)) {
|
||
options.render = inlineTemplate.render;
|
||
options.staticRenderFns = inlineTemplate.staticRenderFns;
|
||
}
|
||
return new vnode.componentOptions.Ctor(options)
|
||
}
|
||
|
||
function installComponentHooks (data) {
|
||
var hooks = data.hook || (data.hook = {});
|
||
for (var i = 0; i < hooksToMerge.length; i++) {
|
||
var key = hooksToMerge[i];
|
||
var existing = hooks[key];
|
||
var toMerge = componentVNodeHooks[key];
|
||
if (existing !== toMerge && !(existing && existing._merged)) {
|
||
hooks[key] = existing ? mergeHook$1(toMerge, existing) : toMerge;
|
||
}
|
||
}
|
||
}
|
||
|
||
function mergeHook$1 (f1, f2) {
|
||
var merged = function (a, b) {
|
||
// flow complains about extra args which is why we use any
|
||
f1(a, b);
|
||
f2(a, b);
|
||
};
|
||
merged._merged = true;
|
||
return merged
|
||
}
|
||
|
||
// transform component v-model info (value and callback) into
|
||
// prop and event handler respectively.
|
||
function transformModel (options, data) {
|
||
var prop = (options.model && options.model.prop) || 'value';
|
||
var event = (options.model && options.model.event) || 'input'
|
||
;(data.attrs || (data.attrs = {}))[prop] = data.model.value;
|
||
var on = data.on || (data.on = {});
|
||
var existing = on[event];
|
||
var callback = data.model.callback;
|
||
if (isDef(existing)) {
|
||
if (
|
||
Array.isArray(existing)
|
||
? existing.indexOf(callback) === -1
|
||
: existing !== callback
|
||
) {
|
||
on[event] = [callback].concat(existing);
|
||
}
|
||
} else {
|
||
on[event] = callback;
|
||
}
|
||
}
|
||
|
||
/* */
|
||
|
||
var SIMPLE_NORMALIZE = 1;
|
||
var ALWAYS_NORMALIZE = 2;
|
||
|
||
// wrapper function for providing a more flexible interface
|
||
// without getting yelled at by flow
|
||
function createElement (
|
||
context,
|
||
tag,
|
||
data,
|
||
children,
|
||
normalizationType,
|
||
alwaysNormalize
|
||
) {
|
||
if (Array.isArray(data) || isPrimitive(data)) {
|
||
normalizationType = children;
|
||
children = data;
|
||
data = undefined;
|
||
}
|
||
if (isTrue(alwaysNormalize)) {
|
||
normalizationType = ALWAYS_NORMALIZE;
|
||
}
|
||
return _createElement(context, tag, data, children, normalizationType)
|
||
}
|
||
|
||
function _createElement (
|
||
context,
|
||
tag,
|
||
data,
|
||
children,
|
||
normalizationType
|
||
) {
|
||
if (isDef(data) && isDef((data).__ob__)) {
|
||
true && warn(
|
||
"Avoid using observed data object as vnode data: " + (JSON.stringify(data)) + "\n" +
|
||
'Always create fresh vnode data objects in each render!',
|
||
context
|
||
);
|
||
return createEmptyVNode()
|
||
}
|
||
// object syntax in v-bind
|
||
if (isDef(data) && isDef(data.is)) {
|
||
tag = data.is;
|
||
}
|
||
if (!tag) {
|
||
// in case of component :is set to falsy value
|
||
return createEmptyVNode()
|
||
}
|
||
// warn against non-primitive key
|
||
if ( true &&
|
||
isDef(data) && isDef(data.key) && !isPrimitive(data.key)
|
||
) {
|
||
{
|
||
warn(
|
||
'Avoid using non-primitive value as key, ' +
|
||
'use string/number value instead.',
|
||
context
|
||
);
|
||
}
|
||
}
|
||
// support single function children as default scoped slot
|
||
if (Array.isArray(children) &&
|
||
typeof children[0] === 'function'
|
||
) {
|
||
data = data || {};
|
||
data.scopedSlots = { default: children[0] };
|
||
children.length = 0;
|
||
}
|
||
if (normalizationType === ALWAYS_NORMALIZE) {
|
||
children = normalizeChildren(children);
|
||
} else if (normalizationType === SIMPLE_NORMALIZE) {
|
||
children = simpleNormalizeChildren(children);
|
||
}
|
||
var vnode, ns;
|
||
if (typeof tag === 'string') {
|
||
var Ctor;
|
||
ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);
|
||
if (config.isReservedTag(tag)) {
|
||
// platform built-in elements
|
||
if ( true && isDef(data) && isDef(data.nativeOn)) {
|
||
warn(
|
||
("The .native modifier for v-on is only valid on components but it was used on <" + tag + ">."),
|
||
context
|
||
);
|
||
}
|
||
vnode = new VNode(
|
||
config.parsePlatformTagName(tag), data, children,
|
||
undefined, undefined, context
|
||
);
|
||
} else if ((!data || !data.pre) && isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {
|
||
// component
|
||
vnode = createComponent(Ctor, data, context, children, tag);
|
||
} else {
|
||
// unknown or unlisted namespaced elements
|
||
// check at runtime because it may get assigned a namespace when its
|
||
// parent normalizes children
|
||
vnode = new VNode(
|
||
tag, data, children,
|
||
undefined, undefined, context
|
||
);
|
||
}
|
||
} else {
|
||
// direct component options / constructor
|
||
vnode = createComponent(tag, data, context, children);
|
||
}
|
||
if (Array.isArray(vnode)) {
|
||
return vnode
|
||
} else if (isDef(vnode)) {
|
||
if (isDef(ns)) { applyNS(vnode, ns); }
|
||
if (isDef(data)) { registerDeepBindings(data); }
|
||
return vnode
|
||
} else {
|
||
return createEmptyVNode()
|
||
}
|
||
}
|
||
|
||
function applyNS (vnode, ns, force) {
|
||
vnode.ns = ns;
|
||
if (vnode.tag === 'foreignObject') {
|
||
// use default namespace inside foreignObject
|
||
ns = undefined;
|
||
force = true;
|
||
}
|
||
if (isDef(vnode.children)) {
|
||
for (var i = 0, l = vnode.children.length; i < l; i++) {
|
||
var child = vnode.children[i];
|
||
if (isDef(child.tag) && (
|
||
isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {
|
||
applyNS(child, ns, force);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
// ref #5318
|
||
// necessary to ensure parent re-render when deep bindings like :style and
|
||
// :class are used on slot nodes
|
||
function registerDeepBindings (data) {
|
||
if (isObject(data.style)) {
|
||
traverse(data.style);
|
||
}
|
||
if (isObject(data.class)) {
|
||
traverse(data.class);
|
||
}
|
||
}
|
||
|
||
/* */
|
||
|
||
function initRender (vm) {
|
||
vm._vnode = null; // the root of the child tree
|
||
vm._staticTrees = null; // v-once cached trees
|
||
var options = vm.$options;
|
||
var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree
|
||
var renderContext = parentVnode && parentVnode.context;
|
||
vm.$slots = resolveSlots(options._renderChildren, renderContext);
|
||
vm.$scopedSlots = emptyObject;
|
||
// bind the createElement fn to this instance
|
||
// so that we get proper render context inside it.
|
||
// args order: tag, data, children, normalizationType, alwaysNormalize
|
||
// internal version is used by render functions compiled from templates
|
||
vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };
|
||
// normalization is always applied for the public version, used in
|
||
// user-written render functions.
|
||
vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };
|
||
|
||
// $attrs & $listeners are exposed for easier HOC creation.
|
||
// they need to be reactive so that HOCs using them are always updated
|
||
var parentData = parentVnode && parentVnode.data;
|
||
|
||
/* istanbul ignore else */
|
||
if (true) {
|
||
defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {
|
||
!isUpdatingChildComponent && warn("$attrs is readonly.", vm);
|
||
}, true);
|
||
defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, function () {
|
||
!isUpdatingChildComponent && warn("$listeners is readonly.", vm);
|
||
}, true);
|
||
} else {}
|
||
}
|
||
|
||
var currentRenderingInstance = null;
|
||
|
||
function renderMixin (Vue) {
|
||
// install runtime convenience helpers
|
||
installRenderHelpers(Vue.prototype);
|
||
|
||
Vue.prototype.$nextTick = function (fn) {
|
||
return nextTick(fn, this)
|
||
};
|
||
|
||
Vue.prototype._render = function () {
|
||
var vm = this;
|
||
var ref = vm.$options;
|
||
var render = ref.render;
|
||
var _parentVnode = ref._parentVnode;
|
||
|
||
if (_parentVnode) {
|
||
vm.$scopedSlots = normalizeScopedSlots(
|
||
_parentVnode.data.scopedSlots,
|
||
vm.$slots,
|
||
vm.$scopedSlots
|
||
);
|
||
}
|
||
|
||
// set parent vnode. this allows render functions to have access
|
||
// to the data on the placeholder node.
|
||
vm.$vnode = _parentVnode;
|
||
// render self
|
||
var vnode;
|
||
try {
|
||
// There's no need to maintain a stack because all render fns are called
|
||
// separately from one another. Nested component's render fns are called
|
||
// when parent component is patched.
|
||
currentRenderingInstance = vm;
|
||
vnode = render.call(vm._renderProxy, vm.$createElement);
|
||
} catch (e) {
|
||
handleError(e, vm, "render");
|
||
// return error render result,
|
||
// or previous vnode to prevent render error causing blank component
|
||
/* istanbul ignore else */
|
||
if ( true && vm.$options.renderError) {
|
||
try {
|
||
vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);
|
||
} catch (e) {
|
||
handleError(e, vm, "renderError");
|
||
vnode = vm._vnode;
|
||
}
|
||
} else {
|
||
vnode = vm._vnode;
|
||
}
|
||
} finally {
|
||
currentRenderingInstance = null;
|
||
}
|
||
// if the returned array contains only a single node, allow it
|
||
if (Array.isArray(vnode) && vnode.length === 1) {
|
||
vnode = vnode[0];
|
||
}
|
||
// return empty vnode in case the render function errored out
|
||
if (!(vnode instanceof VNode)) {
|
||
if ( true && Array.isArray(vnode)) {
|
||
warn(
|
||
'Multiple root nodes returned from render function. Render function ' +
|
||
'should return a single root node.',
|
||
vm
|
||
);
|
||
}
|
||
vnode = createEmptyVNode();
|
||
}
|
||
// set parent
|
||
vnode.parent = _parentVnode;
|
||
return vnode
|
||
};
|
||
}
|
||
|
||
/* */
|
||
|
||
function ensureCtor (comp, base) {
|
||
if (
|
||
comp.__esModule ||
|
||
(hasSymbol && comp[Symbol.toStringTag] === 'Module')
|
||
) {
|
||
comp = comp.default;
|
||
}
|
||
return isObject(comp)
|
||
? base.extend(comp)
|
||
: comp
|
||
}
|
||
|
||
function createAsyncPlaceholder (
|
||
factory,
|
||
data,
|
||
context,
|
||
children,
|
||
tag
|
||
) {
|
||
var node = createEmptyVNode();
|
||
node.asyncFactory = factory;
|
||
node.asyncMeta = { data: data, context: context, children: children, tag: tag };
|
||
return node
|
||
}
|
||
|
||
function resolveAsyncComponent (
|
||
factory,
|
||
baseCtor
|
||
) {
|
||
if (isTrue(factory.error) && isDef(factory.errorComp)) {
|
||
return factory.errorComp
|
||
}
|
||
|
||
if (isDef(factory.resolved)) {
|
||
return factory.resolved
|
||
}
|
||
|
||
var owner = currentRenderingInstance;
|
||
if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) {
|
||
// already pending
|
||
factory.owners.push(owner);
|
||
}
|
||
|
||
if (isTrue(factory.loading) && isDef(factory.loadingComp)) {
|
||
return factory.loadingComp
|
||
}
|
||
|
||
if (owner && !isDef(factory.owners)) {
|
||
var owners = factory.owners = [owner];
|
||
var sync = true;
|
||
var timerLoading = null;
|
||
var timerTimeout = null
|
||
|
||
;(owner).$on('hook:destroyed', function () { return remove(owners, owner); });
|
||
|
||
var forceRender = function (renderCompleted) {
|
||
for (var i = 0, l = owners.length; i < l; i++) {
|
||
(owners[i]).$forceUpdate();
|
||
}
|
||
|
||
if (renderCompleted) {
|
||
owners.length = 0;
|
||
if (timerLoading !== null) {
|
||
clearTimeout(timerLoading);
|
||
timerLoading = null;
|
||
}
|
||
if (timerTimeout !== null) {
|
||
clearTimeout(timerTimeout);
|
||
timerTimeout = null;
|
||
}
|
||
}
|
||
};
|
||
|
||
var resolve = once(function (res) {
|
||
// cache resolved
|
||
factory.resolved = ensureCtor(res, baseCtor);
|
||
// invoke callbacks only if this is not a synchronous resolve
|
||
// (async resolves are shimmed as synchronous during SSR)
|
||
if (!sync) {
|
||
forceRender(true);
|
||
} else {
|
||
owners.length = 0;
|
||
}
|
||
});
|
||
|
||
var reject = once(function (reason) {
|
||
true && warn(
|
||
"Failed to resolve async component: " + (String(factory)) +
|
||
(reason ? ("\nReason: " + reason) : '')
|
||
);
|
||
if (isDef(factory.errorComp)) {
|
||
factory.error = true;
|
||
forceRender(true);
|
||
}
|
||
});
|
||
|
||
var res = factory(resolve, reject);
|
||
|
||
if (isObject(res)) {
|
||
if (isPromise(res)) {
|
||
// () => Promise
|
||
if (isUndef(factory.resolved)) {
|
||
res.then(resolve, reject);
|
||
}
|
||
} else if (isPromise(res.component)) {
|
||
res.component.then(resolve, reject);
|
||
|
||
if (isDef(res.error)) {
|
||
factory.errorComp = ensureCtor(res.error, baseCtor);
|
||
}
|
||
|
||
if (isDef(res.loading)) {
|
||
factory.loadingComp = ensureCtor(res.loading, baseCtor);
|
||
if (res.delay === 0) {
|
||
factory.loading = true;
|
||
} else {
|
||
timerLoading = setTimeout(function () {
|
||
timerLoading = null;
|
||
if (isUndef(factory.resolved) && isUndef(factory.error)) {
|
||
factory.loading = true;
|
||
forceRender(false);
|
||
}
|
||
}, res.delay || 200);
|
||
}
|
||
}
|
||
|
||
if (isDef(res.timeout)) {
|
||
timerTimeout = setTimeout(function () {
|
||
timerTimeout = null;
|
||
if (isUndef(factory.resolved)) {
|
||
reject(
|
||
true
|
||
? ("timeout (" + (res.timeout) + "ms)")
|
||
: 0
|
||
);
|
||
}
|
||
}, res.timeout);
|
||
}
|
||
}
|
||
}
|
||
|
||
sync = false;
|
||
// return in case resolved synchronously
|
||
return factory.loading
|
||
? factory.loadingComp
|
||
: factory.resolved
|
||
}
|
||
}
|
||
|
||
/* */
|
||
|
||
function isAsyncPlaceholder (node) {
|
||
return node.isComment && node.asyncFactory
|
||
}
|
||
|
||
/* */
|
||
|
||
function getFirstComponentChild (children) {
|
||
if (Array.isArray(children)) {
|
||
for (var i = 0; i < children.length; i++) {
|
||
var c = children[i];
|
||
if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {
|
||
return c
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
/* */
|
||
|
||
/* */
|
||
|
||
function initEvents (vm) {
|
||
vm._events = Object.create(null);
|
||
vm._hasHookEvent = false;
|
||
// init parent attached events
|
||
var listeners = vm.$options._parentListeners;
|
||
if (listeners) {
|
||
updateComponentListeners(vm, listeners);
|
||
}
|
||
}
|
||
|
||
var target;
|
||
|
||
function add (event, fn) {
|
||
target.$on(event, fn);
|
||
}
|
||
|
||
function remove$1 (event, fn) {
|
||
target.$off(event, fn);
|
||
}
|
||
|
||
function createOnceHandler (event, fn) {
|
||
var _target = target;
|
||
return function onceHandler () {
|
||
var res = fn.apply(null, arguments);
|
||
if (res !== null) {
|
||
_target.$off(event, onceHandler);
|
||
}
|
||
}
|
||
}
|
||
|
||
function updateComponentListeners (
|
||
vm,
|
||
listeners,
|
||
oldListeners
|
||
) {
|
||
target = vm;
|
||
updateListeners(listeners, oldListeners || {}, add, remove$1, createOnceHandler, vm);
|
||
target = undefined;
|
||
}
|
||
|
||
function eventsMixin (Vue) {
|
||
var hookRE = /^hook:/;
|
||
Vue.prototype.$on = function (event, fn) {
|
||
var vm = this;
|
||
if (Array.isArray(event)) {
|
||
for (var i = 0, l = event.length; i < l; i++) {
|
||
vm.$on(event[i], fn);
|
||
}
|
||
} else {
|
||
(vm._events[event] || (vm._events[event] = [])).push(fn);
|
||
// optimize hook:event cost by using a boolean flag marked at registration
|
||
// instead of a hash lookup
|
||
if (hookRE.test(event)) {
|
||
vm._hasHookEvent = true;
|
||
}
|
||
}
|
||
return vm
|
||
};
|
||
|
||
Vue.prototype.$once = function (event, fn) {
|
||
var vm = this;
|
||
function on () {
|
||
vm.$off(event, on);
|
||
fn.apply(vm, arguments);
|
||
}
|
||
on.fn = fn;
|
||
vm.$on(event, on);
|
||
return vm
|
||
};
|
||
|
||
Vue.prototype.$off = function (event, fn) {
|
||
var vm = this;
|
||
// all
|
||
if (!arguments.length) {
|
||
vm._events = Object.create(null);
|
||
return vm
|
||
}
|
||
// array of events
|
||
if (Array.isArray(event)) {
|
||
for (var i$1 = 0, l = event.length; i$1 < l; i$1++) {
|
||
vm.$off(event[i$1], fn);
|
||
}
|
||
return vm
|
||
}
|
||
// specific event
|
||
var cbs = vm._events[event];
|
||
if (!cbs) {
|
||
return vm
|
||
}
|
||
if (!fn) {
|
||
vm._events[event] = null;
|
||
return vm
|
||
}
|
||
// specific handler
|
||
var cb;
|
||
var i = cbs.length;
|
||
while (i--) {
|
||
cb = cbs[i];
|
||
if (cb === fn || cb.fn === fn) {
|
||
cbs.splice(i, 1);
|
||
break
|
||
}
|
||
}
|
||
return vm
|
||
};
|
||
|
||
Vue.prototype.$emit = function (event) {
|
||
var vm = this;
|
||
if (true) {
|
||
var lowerCaseEvent = event.toLowerCase();
|
||
if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {
|
||
tip(
|
||
"Event \"" + lowerCaseEvent + "\" is emitted in component " +
|
||
(formatComponentName(vm)) + " but the handler is registered for \"" + event + "\". " +
|
||
"Note that HTML attributes are case-insensitive and you cannot use " +
|
||
"v-on to listen to camelCase events when using in-DOM templates. " +
|
||
"You should probably use \"" + (hyphenate(event)) + "\" instead of \"" + event + "\"."
|
||
);
|
||
}
|
||
}
|
||
var cbs = vm._events[event];
|
||
if (cbs) {
|
||
cbs = cbs.length > 1 ? toArray(cbs) : cbs;
|
||
var args = toArray(arguments, 1);
|
||
var info = "event handler for \"" + event + "\"";
|
||
for (var i = 0, l = cbs.length; i < l; i++) {
|
||
invokeWithErrorHandling(cbs[i], vm, args, vm, info);
|
||
}
|
||
}
|
||
return vm
|
||
};
|
||
}
|
||
|
||
/* */
|
||
|
||
var activeInstance = null;
|
||
var isUpdatingChildComponent = false;
|
||
|
||
function setActiveInstance(vm) {
|
||
var prevActiveInstance = activeInstance;
|
||
activeInstance = vm;
|
||
return function () {
|
||
activeInstance = prevActiveInstance;
|
||
}
|
||
}
|
||
|
||
function initLifecycle (vm) {
|
||
var options = vm.$options;
|
||
|
||
// locate first non-abstract parent
|
||
var parent = options.parent;
|
||
if (parent && !options.abstract) {
|
||
while (parent.$options.abstract && parent.$parent) {
|
||
parent = parent.$parent;
|
||
}
|
||
parent.$children.push(vm);
|
||
}
|
||
|
||
vm.$parent = parent;
|
||
vm.$root = parent ? parent.$root : vm;
|
||
|
||
vm.$children = [];
|
||
vm.$refs = {};
|
||
|
||
vm._watcher = null;
|
||
vm._inactive = null;
|
||
vm._directInactive = false;
|
||
vm._isMounted = false;
|
||
vm._isDestroyed = false;
|
||
vm._isBeingDestroyed = false;
|
||
}
|
||
|
||
function lifecycleMixin (Vue) {
|
||
Vue.prototype._update = function (vnode, hydrating) {
|
||
var vm = this;
|
||
var prevEl = vm.$el;
|
||
var prevVnode = vm._vnode;
|
||
var restoreActiveInstance = setActiveInstance(vm);
|
||
vm._vnode = vnode;
|
||
// Vue.prototype.__patch__ is injected in entry points
|
||
// based on the rendering backend used.
|
||
if (!prevVnode) {
|
||
// initial render
|
||
vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */);
|
||
} else {
|
||
// updates
|
||
vm.$el = vm.__patch__(prevVnode, vnode);
|
||
}
|
||
restoreActiveInstance();
|
||
// update __vue__ reference
|
||
if (prevEl) {
|
||
prevEl.__vue__ = null;
|
||
}
|
||
if (vm.$el) {
|
||
vm.$el.__vue__ = vm;
|
||
}
|
||
// if parent is an HOC, update its $el as well
|
||
if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {
|
||
vm.$parent.$el = vm.$el;
|
||
}
|
||
// updated hook is called by the scheduler to ensure that children are
|
||
// updated in a parent's updated hook.
|
||
};
|
||
|
||
Vue.prototype.$forceUpdate = function () {
|
||
var vm = this;
|
||
if (vm._watcher) {
|
||
vm._watcher.update();
|
||
}
|
||
};
|
||
|
||
Vue.prototype.$destroy = function () {
|
||
var vm = this;
|
||
if (vm._isBeingDestroyed) {
|
||
return
|
||
}
|
||
callHook(vm, 'beforeDestroy');
|
||
vm._isBeingDestroyed = true;
|
||
// remove self from parent
|
||
var parent = vm.$parent;
|
||
if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {
|
||
remove(parent.$children, vm);
|
||
}
|
||
// teardown watchers
|
||
if (vm._watcher) {
|
||
vm._watcher.teardown();
|
||
}
|
||
var i = vm._watchers.length;
|
||
while (i--) {
|
||
vm._watchers[i].teardown();
|
||
}
|
||
// remove reference from data ob
|
||
// frozen object may not have observer.
|
||
if (vm._data.__ob__) {
|
||
vm._data.__ob__.vmCount--;
|
||
}
|
||
// call the last hook...
|
||
vm._isDestroyed = true;
|
||
// invoke destroy hooks on current rendered tree
|
||
vm.__patch__(vm._vnode, null);
|
||
// fire destroyed hook
|
||
callHook(vm, 'destroyed');
|
||
// turn off all instance listeners.
|
||
vm.$off();
|
||
// remove __vue__ reference
|
||
if (vm.$el) {
|
||
vm.$el.__vue__ = null;
|
||
}
|
||
// release circular reference (#6759)
|
||
if (vm.$vnode) {
|
||
vm.$vnode.parent = null;
|
||
}
|
||
};
|
||
}
|
||
|
||
function mountComponent (
|
||
vm,
|
||
el,
|
||
hydrating
|
||
) {
|
||
vm.$el = el;
|
||
if (!vm.$options.render) {
|
||
vm.$options.render = createEmptyVNode;
|
||
if (true) {
|
||
/* istanbul ignore if */
|
||
if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||
|
||
vm.$options.el || el) {
|
||
warn(
|
||
'You are using the runtime-only build of Vue where the template ' +
|
||
'compiler is not available. Either pre-compile the templates into ' +
|
||
'render functions, or use the compiler-included build.',
|
||
vm
|
||
);
|
||
} else {
|
||
warn(
|
||
'Failed to mount component: template or render function not defined.',
|
||
vm
|
||
);
|
||
}
|
||
}
|
||
}
|
||
callHook(vm, 'beforeMount');
|
||
|
||
var updateComponent;
|
||
/* istanbul ignore if */
|
||
if ( true && config.performance && mark) {
|
||
updateComponent = function () {
|
||
var name = vm._name;
|
||
var id = vm._uid;
|
||
var startTag = "vue-perf-start:" + id;
|
||
var endTag = "vue-perf-end:" + id;
|
||
|
||
mark(startTag);
|
||
var vnode = vm._render();
|
||
mark(endTag);
|
||
measure(("vue " + name + " render"), startTag, endTag);
|
||
|
||
mark(startTag);
|
||
vm._update(vnode, hydrating);
|
||
mark(endTag);
|
||
measure(("vue " + name + " patch"), startTag, endTag);
|
||
};
|
||
} else {
|
||
updateComponent = function () {
|
||
vm._update(vm._render(), hydrating);
|
||
};
|
||
}
|
||
|
||
// we set this to vm._watcher inside the watcher's constructor
|
||
// since the watcher's initial patch may call $forceUpdate (e.g. inside child
|
||
// component's mounted hook), which relies on vm._watcher being already defined
|
||
new Watcher(vm, updateComponent, noop, {
|
||
before: function before () {
|
||
if (vm._isMounted && !vm._isDestroyed) {
|
||
callHook(vm, 'beforeUpdate');
|
||
}
|
||
}
|
||
}, true /* isRenderWatcher */);
|
||
hydrating = false;
|
||
|
||
// manually mounted instance, call mounted on self
|
||
// mounted is called for render-created child components in its inserted hook
|
||
if (vm.$vnode == null) {
|
||
vm._isMounted = true;
|
||
callHook(vm, 'mounted');
|
||
}
|
||
return vm
|
||
}
|
||
|
||
function updateChildComponent (
|
||
vm,
|
||
propsData,
|
||
listeners,
|
||
parentVnode,
|
||
renderChildren
|
||
) {
|
||
if (true) {
|
||
isUpdatingChildComponent = true;
|
||
}
|
||
|
||
// determine whether component has slot children
|
||
// we need to do this before overwriting $options._renderChildren.
|
||
|
||
// check if there are dynamic scopedSlots (hand-written or compiled but with
|
||
// dynamic slot names). Static scoped slots compiled from template has the
|
||
// "$stable" marker.
|
||
var newScopedSlots = parentVnode.data.scopedSlots;
|
||
var oldScopedSlots = vm.$scopedSlots;
|
||
var hasDynamicScopedSlot = !!(
|
||
(newScopedSlots && !newScopedSlots.$stable) ||
|
||
(oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) ||
|
||
(newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key)
|
||
);
|
||
|
||
// Any static slot children from the parent may have changed during parent's
|
||
// update. Dynamic scoped slots may also have changed. In such cases, a forced
|
||
// update is necessary to ensure correctness.
|
||
var needsForceUpdate = !!(
|
||
renderChildren || // has new static slots
|
||
vm.$options._renderChildren || // has old static slots
|
||
hasDynamicScopedSlot
|
||
);
|
||
|
||
vm.$options._parentVnode = parentVnode;
|
||
vm.$vnode = parentVnode; // update vm's placeholder node without re-render
|
||
|
||
if (vm._vnode) { // update child tree's parent
|
||
vm._vnode.parent = parentVnode;
|
||
}
|
||
vm.$options._renderChildren = renderChildren;
|
||
|
||
// update $attrs and $listeners hash
|
||
// these are also reactive so they may trigger child update if the child
|
||
// used them during render
|
||
vm.$attrs = parentVnode.data.attrs || emptyObject;
|
||
vm.$listeners = listeners || emptyObject;
|
||
|
||
// update props
|
||
if (propsData && vm.$options.props) {
|
||
toggleObserving(false);
|
||
var props = vm._props;
|
||
var propKeys = vm.$options._propKeys || [];
|
||
for (var i = 0; i < propKeys.length; i++) {
|
||
var key = propKeys[i];
|
||
var propOptions = vm.$options.props; // wtf flow?
|
||
props[key] = validateProp(key, propOptions, propsData, vm);
|
||
}
|
||
toggleObserving(true);
|
||
// keep a copy of raw propsData
|
||
vm.$options.propsData = propsData;
|
||
}
|
||
|
||
// update listeners
|
||
listeners = listeners || emptyObject;
|
||
var oldListeners = vm.$options._parentListeners;
|
||
vm.$options._parentListeners = listeners;
|
||
updateComponentListeners(vm, listeners, oldListeners);
|
||
|
||
// resolve slots + force update if has children
|
||
if (needsForceUpdate) {
|
||
vm.$slots = resolveSlots(renderChildren, parentVnode.context);
|
||
vm.$forceUpdate();
|
||
}
|
||
|
||
if (true) {
|
||
isUpdatingChildComponent = false;
|
||
}
|
||
}
|
||
|
||
function isInInactiveTree (vm) {
|
||
while (vm && (vm = vm.$parent)) {
|
||
if (vm._inactive) { return true }
|
||
}
|
||
return false
|
||
}
|
||
|
||
function activateChildComponent (vm, direct) {
|
||
if (direct) {
|
||
vm._directInactive = false;
|
||
if (isInInactiveTree(vm)) {
|
||
return
|
||
}
|
||
} else if (vm._directInactive) {
|
||
return
|
||
}
|
||
if (vm._inactive || vm._inactive === null) {
|
||
vm._inactive = false;
|
||
for (var i = 0; i < vm.$children.length; i++) {
|
||
activateChildComponent(vm.$children[i]);
|
||
}
|
||
callHook(vm, 'activated');
|
||
}
|
||
}
|
||
|
||
function deactivateChildComponent (vm, direct) {
|
||
if (direct) {
|
||
vm._directInactive = true;
|
||
if (isInInactiveTree(vm)) {
|
||
return
|
||
}
|
||
}
|
||
if (!vm._inactive) {
|
||
vm._inactive = true;
|
||
for (var i = 0; i < vm.$children.length; i++) {
|
||
deactivateChildComponent(vm.$children[i]);
|
||
}
|
||
callHook(vm, 'deactivated');
|
||
}
|
||
}
|
||
|
||
function callHook (vm, hook) {
|
||
// #7573 disable dep collection when invoking lifecycle hooks
|
||
pushTarget();
|
||
var handlers = vm.$options[hook];
|
||
var info = hook + " hook";
|
||
if (handlers) {
|
||
for (var i = 0, j = handlers.length; i < j; i++) {
|
||
invokeWithErrorHandling(handlers[i], vm, null, vm, info);
|
||
}
|
||
}
|
||
if (vm._hasHookEvent) {
|
||
vm.$emit('hook:' + hook);
|
||
}
|
||
popTarget();
|
||
}
|
||
|
||
/* */
|
||
|
||
var MAX_UPDATE_COUNT = 100;
|
||
|
||
var queue = [];
|
||
var activatedChildren = [];
|
||
var has = {};
|
||
var circular = {};
|
||
var waiting = false;
|
||
var flushing = false;
|
||
var index = 0;
|
||
|
||
/**
|
||
* Reset the scheduler's state.
|
||
*/
|
||
function resetSchedulerState () {
|
||
index = queue.length = activatedChildren.length = 0;
|
||
has = {};
|
||
if (true) {
|
||
circular = {};
|
||
}
|
||
waiting = flushing = false;
|
||
}
|
||
|
||
// Async edge case #6566 requires saving the timestamp when event listeners are
|
||
// attached. However, calling performance.now() has a perf overhead especially
|
||
// if the page has thousands of event listeners. Instead, we take a timestamp
|
||
// every time the scheduler flushes and use that for all event listeners
|
||
// attached during that flush.
|
||
var currentFlushTimestamp = 0;
|
||
|
||
// Async edge case fix requires storing an event listener's attach timestamp.
|
||
var getNow = Date.now;
|
||
|
||
// Determine what event timestamp the browser is using. Annoyingly, the
|
||
// timestamp can either be hi-res (relative to page load) or low-res
|
||
// (relative to UNIX epoch), so in order to compare time we have to use the
|
||
// same timestamp type when saving the flush timestamp.
|
||
// All IE versions use low-res event timestamps, and have problematic clock
|
||
// implementations (#9632)
|
||
if (inBrowser && !isIE) {
|
||
var performance = window.performance;
|
||
if (
|
||
performance &&
|
||
typeof performance.now === 'function' &&
|
||
getNow() > document.createEvent('Event').timeStamp
|
||
) {
|
||
// if the event timestamp, although evaluated AFTER the Date.now(), is
|
||
// smaller than it, it means the event is using a hi-res timestamp,
|
||
// and we need to use the hi-res version for event listener timestamps as
|
||
// well.
|
||
getNow = function () { return performance.now(); };
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Flush both queues and run the watchers.
|
||
*/
|
||
function flushSchedulerQueue () {
|
||
currentFlushTimestamp = getNow();
|
||
flushing = true;
|
||
var watcher, id;
|
||
|
||
// Sort queue before flush.
|
||
// This ensures that:
|
||
// 1. Components are updated from parent to child. (because parent is always
|
||
// created before the child)
|
||
// 2. A component's user watchers are run before its render watcher (because
|
||
// user watchers are created before the render watcher)
|
||
// 3. If a component is destroyed during a parent component's watcher run,
|
||
// its watchers can be skipped.
|
||
queue.sort(function (a, b) { return a.id - b.id; });
|
||
|
||
// do not cache length because more watchers might be pushed
|
||
// as we run existing watchers
|
||
for (index = 0; index < queue.length; index++) {
|
||
watcher = queue[index];
|
||
if (watcher.before) {
|
||
watcher.before();
|
||
}
|
||
id = watcher.id;
|
||
has[id] = null;
|
||
watcher.run();
|
||
// in dev build, check and stop circular updates.
|
||
if ( true && has[id] != null) {
|
||
circular[id] = (circular[id] || 0) + 1;
|
||
if (circular[id] > MAX_UPDATE_COUNT) {
|
||
warn(
|
||
'You may have an infinite update loop ' + (
|
||
watcher.user
|
||
? ("in watcher with expression \"" + (watcher.expression) + "\"")
|
||
: "in a component render function."
|
||
),
|
||
watcher.vm
|
||
);
|
||
break
|
||
}
|
||
}
|
||
}
|
||
|
||
// keep copies of post queues before resetting state
|
||
var activatedQueue = activatedChildren.slice();
|
||
var updatedQueue = queue.slice();
|
||
|
||
resetSchedulerState();
|
||
|
||
// call component updated and activated hooks
|
||
callActivatedHooks(activatedQueue);
|
||
callUpdatedHooks(updatedQueue);
|
||
|
||
// devtool hook
|
||
/* istanbul ignore if */
|
||
if (devtools && config.devtools) {
|
||
devtools.emit('flush');
|
||
}
|
||
}
|
||
|
||
function callUpdatedHooks (queue) {
|
||
var i = queue.length;
|
||
while (i--) {
|
||
var watcher = queue[i];
|
||
var vm = watcher.vm;
|
||
if (vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) {
|
||
callHook(vm, 'updated');
|
||
}
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Queue a kept-alive component that was activated during patch.
|
||
* The queue will be processed after the entire tree has been patched.
|
||
*/
|
||
function queueActivatedComponent (vm) {
|
||
// setting _inactive to false here so that a render function can
|
||
// rely on checking whether it's in an inactive tree (e.g. router-view)
|
||
vm._inactive = false;
|
||
activatedChildren.push(vm);
|
||
}
|
||
|
||
function callActivatedHooks (queue) {
|
||
for (var i = 0; i < queue.length; i++) {
|
||
queue[i]._inactive = true;
|
||
activateChildComponent(queue[i], true /* true */);
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Push a watcher into the watcher queue.
|
||
* Jobs with duplicate IDs will be skipped unless it's
|
||
* pushed when the queue is being flushed.
|
||
*/
|
||
function queueWatcher (watcher) {
|
||
var id = watcher.id;
|
||
if (has[id] == null) {
|
||
has[id] = true;
|
||
if (!flushing) {
|
||
queue.push(watcher);
|
||
} else {
|
||
// if already flushing, splice the watcher based on its id
|
||
// if already past its id, it will be run next immediately.
|
||
var i = queue.length - 1;
|
||
while (i > index && queue[i].id > watcher.id) {
|
||
i--;
|
||
}
|
||
queue.splice(i + 1, 0, watcher);
|
||
}
|
||
// queue the flush
|
||
if (!waiting) {
|
||
waiting = true;
|
||
|
||
if ( true && !config.async) {
|
||
flushSchedulerQueue();
|
||
return
|
||
}
|
||
nextTick(flushSchedulerQueue);
|
||
}
|
||
}
|
||
}
|
||
|
||
/* */
|
||
|
||
|
||
|
||
var uid$2 = 0;
|
||
|
||
/**
|
||
* A watcher parses an expression, collects dependencies,
|
||
* and fires callback when the expression value changes.
|
||
* This is used for both the $watch() api and directives.
|
||
*/
|
||
var Watcher = function Watcher (
|
||
vm,
|
||
expOrFn,
|
||
cb,
|
||
options,
|
||
isRenderWatcher
|
||
) {
|
||
this.vm = vm;
|
||
if (isRenderWatcher) {
|
||
vm._watcher = this;
|
||
}
|
||
vm._watchers.push(this);
|
||
// options
|
||
if (options) {
|
||
this.deep = !!options.deep;
|
||
this.user = !!options.user;
|
||
this.lazy = !!options.lazy;
|
||
this.sync = !!options.sync;
|
||
this.before = options.before;
|
||
} else {
|
||
this.deep = this.user = this.lazy = this.sync = false;
|
||
}
|
||
this.cb = cb;
|
||
this.id = ++uid$2; // uid for batching
|
||
this.active = true;
|
||
this.dirty = this.lazy; // for lazy watchers
|
||
this.deps = [];
|
||
this.newDeps = [];
|
||
this.depIds = new _Set();
|
||
this.newDepIds = new _Set();
|
||
this.expression = true
|
||
? expOrFn.toString()
|
||
: 0;
|
||
// parse expression for getter
|
||
if (typeof expOrFn === 'function') {
|
||
this.getter = expOrFn;
|
||
} else {
|
||
this.getter = parsePath(expOrFn);
|
||
if (!this.getter) {
|
||
this.getter = noop;
|
||
true && warn(
|
||
"Failed watching path: \"" + expOrFn + "\" " +
|
||
'Watcher only accepts simple dot-delimited paths. ' +
|
||
'For full control, use a function instead.',
|
||
vm
|
||
);
|
||
}
|
||
}
|
||
this.value = this.lazy
|
||
? undefined
|
||
: this.get();
|
||
};
|
||
|
||
/**
|
||
* Evaluate the getter, and re-collect dependencies.
|
||
*/
|
||
Watcher.prototype.get = function get () {
|
||
pushTarget(this);
|
||
var value;
|
||
var vm = this.vm;
|
||
try {
|
||
value = this.getter.call(vm, vm);
|
||
} catch (e) {
|
||
if (this.user) {
|
||
handleError(e, vm, ("getter for watcher \"" + (this.expression) + "\""));
|
||
} else {
|
||
throw e
|
||
}
|
||
} finally {
|
||
// "touch" every property so they are all tracked as
|
||
// dependencies for deep watching
|
||
if (this.deep) {
|
||
traverse(value);
|
||
}
|
||
popTarget();
|
||
this.cleanupDeps();
|
||
}
|
||
return value
|
||
};
|
||
|
||
/**
|
||
* Add a dependency to this directive.
|
||
*/
|
||
Watcher.prototype.addDep = function addDep (dep) {
|
||
var id = dep.id;
|
||
if (!this.newDepIds.has(id)) {
|
||
this.newDepIds.add(id);
|
||
this.newDeps.push(dep);
|
||
if (!this.depIds.has(id)) {
|
||
dep.addSub(this);
|
||
}
|
||
}
|
||
};
|
||
|
||
/**
|
||
* Clean up for dependency collection.
|
||
*/
|
||
Watcher.prototype.cleanupDeps = function cleanupDeps () {
|
||
var i = this.deps.length;
|
||
while (i--) {
|
||
var dep = this.deps[i];
|
||
if (!this.newDepIds.has(dep.id)) {
|
||
dep.removeSub(this);
|
||
}
|
||
}
|
||
var tmp = this.depIds;
|
||
this.depIds = this.newDepIds;
|
||
this.newDepIds = tmp;
|
||
this.newDepIds.clear();
|
||
tmp = this.deps;
|
||
this.deps = this.newDeps;
|
||
this.newDeps = tmp;
|
||
this.newDeps.length = 0;
|
||
};
|
||
|
||
/**
|
||
* Subscriber interface.
|
||
* Will be called when a dependency changes.
|
||
*/
|
||
Watcher.prototype.update = function update () {
|
||
/* istanbul ignore else */
|
||
if (this.lazy) {
|
||
this.dirty = true;
|
||
} else if (this.sync) {
|
||
this.run();
|
||
} else {
|
||
queueWatcher(this);
|
||
}
|
||
};
|
||
|
||
/**
|
||
* Scheduler job interface.
|
||
* Will be called by the scheduler.
|
||
*/
|
||
Watcher.prototype.run = function run () {
|
||
if (this.active) {
|
||
var value = this.get();
|
||
if (
|
||
value !== this.value ||
|
||
// Deep watchers and watchers on Object/Arrays should fire even
|
||
// when the value is the same, because the value may
|
||
// have mutated.
|
||
isObject(value) ||
|
||
this.deep
|
||
) {
|
||
// set new value
|
||
var oldValue = this.value;
|
||
this.value = value;
|
||
if (this.user) {
|
||
try {
|
||
this.cb.call(this.vm, value, oldValue);
|
||
} catch (e) {
|
||
handleError(e, this.vm, ("callback for watcher \"" + (this.expression) + "\""));
|
||
}
|
||
} else {
|
||
this.cb.call(this.vm, value, oldValue);
|
||
}
|
||
}
|
||
}
|
||
};
|
||
|
||
/**
|
||
* Evaluate the value of the watcher.
|
||
* This only gets called for lazy watchers.
|
||
*/
|
||
Watcher.prototype.evaluate = function evaluate () {
|
||
this.value = this.get();
|
||
this.dirty = false;
|
||
};
|
||
|
||
/**
|
||
* Depend on all deps collected by this watcher.
|
||
*/
|
||
Watcher.prototype.depend = function depend () {
|
||
var i = this.deps.length;
|
||
while (i--) {
|
||
this.deps[i].depend();
|
||
}
|
||
};
|
||
|
||
/**
|
||
* Remove self from all dependencies' subscriber list.
|
||
*/
|
||
Watcher.prototype.teardown = function teardown () {
|
||
if (this.active) {
|
||
// remove self from vm's watcher list
|
||
// this is a somewhat expensive operation so we skip it
|
||
// if the vm is being destroyed.
|
||
if (!this.vm._isBeingDestroyed) {
|
||
remove(this.vm._watchers, this);
|
||
}
|
||
var i = this.deps.length;
|
||
while (i--) {
|
||
this.deps[i].removeSub(this);
|
||
}
|
||
this.active = false;
|
||
}
|
||
};
|
||
|
||
/* */
|
||
|
||
var sharedPropertyDefinition = {
|
||
enumerable: true,
|
||
configurable: true,
|
||
get: noop,
|
||
set: noop
|
||
};
|
||
|
||
function proxy (target, sourceKey, key) {
|
||
sharedPropertyDefinition.get = function proxyGetter () {
|
||
return this[sourceKey][key]
|
||
};
|
||
sharedPropertyDefinition.set = function proxySetter (val) {
|
||
this[sourceKey][key] = val;
|
||
};
|
||
Object.defineProperty(target, key, sharedPropertyDefinition);
|
||
}
|
||
|
||
function initState (vm) {
|
||
vm._watchers = [];
|
||
var opts = vm.$options;
|
||
if (opts.props) { initProps(vm, opts.props); }
|
||
if (opts.methods) { initMethods(vm, opts.methods); }
|
||
if (opts.data) {
|
||
initData(vm);
|
||
} else {
|
||
observe(vm._data = {}, true /* asRootData */);
|
||
}
|
||
if (opts.computed) { initComputed(vm, opts.computed); }
|
||
if (opts.watch && opts.watch !== nativeWatch) {
|
||
initWatch(vm, opts.watch);
|
||
}
|
||
}
|
||
|
||
function initProps (vm, propsOptions) {
|
||
var propsData = vm.$options.propsData || {};
|
||
var props = vm._props = {};
|
||
// cache prop keys so that future props updates can iterate using Array
|
||
// instead of dynamic object key enumeration.
|
||
var keys = vm.$options._propKeys = [];
|
||
var isRoot = !vm.$parent;
|
||
// root instance props should be converted
|
||
if (!isRoot) {
|
||
toggleObserving(false);
|
||
}
|
||
var loop = function ( key ) {
|
||
keys.push(key);
|
||
var value = validateProp(key, propsOptions, propsData, vm);
|
||
/* istanbul ignore else */
|
||
if (true) {
|
||
var hyphenatedKey = hyphenate(key);
|
||
if (isReservedAttribute(hyphenatedKey) ||
|
||
config.isReservedAttr(hyphenatedKey)) {
|
||
warn(
|
||
("\"" + hyphenatedKey + "\" is a reserved attribute and cannot be used as component prop."),
|
||
vm
|
||
);
|
||
}
|
||
defineReactive$$1(props, key, value, function () {
|
||
if (!isRoot && !isUpdatingChildComponent) {
|
||
warn(
|
||
"Avoid mutating a prop directly since the value will be " +
|
||
"overwritten whenever the parent component re-renders. " +
|
||
"Instead, use a data or computed property based on the prop's " +
|
||
"value. Prop being mutated: \"" + key + "\"",
|
||
vm
|
||
);
|
||
}
|
||
});
|
||
} else {}
|
||
// static props are already proxied on the component's prototype
|
||
// during Vue.extend(). We only need to proxy props defined at
|
||
// instantiation here.
|
||
if (!(key in vm)) {
|
||
proxy(vm, "_props", key);
|
||
}
|
||
};
|
||
|
||
for (var key in propsOptions) loop( key );
|
||
toggleObserving(true);
|
||
}
|
||
|
||
function initData (vm) {
|
||
var data = vm.$options.data;
|
||
data = vm._data = typeof data === 'function'
|
||
? getData(data, vm)
|
||
: data || {};
|
||
if (!isPlainObject(data)) {
|
||
data = {};
|
||
true && warn(
|
||
'data functions should return an object:\n' +
|
||
'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',
|
||
vm
|
||
);
|
||
}
|
||
// proxy data on instance
|
||
var keys = Object.keys(data);
|
||
var props = vm.$options.props;
|
||
var methods = vm.$options.methods;
|
||
var i = keys.length;
|
||
while (i--) {
|
||
var key = keys[i];
|
||
if (true) {
|
||
if (methods && hasOwn(methods, key)) {
|
||
warn(
|
||
("Method \"" + key + "\" has already been defined as a data property."),
|
||
vm
|
||
);
|
||
}
|
||
}
|
||
if (props && hasOwn(props, key)) {
|
||
true && warn(
|
||
"The data property \"" + key + "\" is already declared as a prop. " +
|
||
"Use prop default value instead.",
|
||
vm
|
||
);
|
||
} else if (!isReserved(key)) {
|
||
proxy(vm, "_data", key);
|
||
}
|
||
}
|
||
// observe data
|
||
observe(data, true /* asRootData */);
|
||
}
|
||
|
||
function getData (data, vm) {
|
||
// #7573 disable dep collection when invoking data getters
|
||
pushTarget();
|
||
try {
|
||
return data.call(vm, vm)
|
||
} catch (e) {
|
||
handleError(e, vm, "data()");
|
||
return {}
|
||
} finally {
|
||
popTarget();
|
||
}
|
||
}
|
||
|
||
var computedWatcherOptions = { lazy: true };
|
||
|
||
function initComputed (vm, computed) {
|
||
// $flow-disable-line
|
||
var watchers = vm._computedWatchers = Object.create(null);
|
||
// computed properties are just getters during SSR
|
||
var isSSR = isServerRendering();
|
||
|
||
for (var key in computed) {
|
||
var userDef = computed[key];
|
||
var getter = typeof userDef === 'function' ? userDef : userDef.get;
|
||
if ( true && getter == null) {
|
||
warn(
|
||
("Getter is missing for computed property \"" + key + "\"."),
|
||
vm
|
||
);
|
||
}
|
||
|
||
if (!isSSR) {
|
||
// create internal watcher for the computed property.
|
||
watchers[key] = new Watcher(
|
||
vm,
|
||
getter || noop,
|
||
noop,
|
||
computedWatcherOptions
|
||
);
|
||
}
|
||
|
||
// component-defined computed properties are already defined on the
|
||
// component prototype. We only need to define computed properties defined
|
||
// at instantiation here.
|
||
if (!(key in vm)) {
|
||
defineComputed(vm, key, userDef);
|
||
} else if (true) {
|
||
if (key in vm.$data) {
|
||
warn(("The computed property \"" + key + "\" is already defined in data."), vm);
|
||
} else if (vm.$options.props && key in vm.$options.props) {
|
||
warn(("The computed property \"" + key + "\" is already defined as a prop."), vm);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
function defineComputed (
|
||
target,
|
||
key,
|
||
userDef
|
||
) {
|
||
var shouldCache = !isServerRendering();
|
||
if (typeof userDef === 'function') {
|
||
sharedPropertyDefinition.get = shouldCache
|
||
? createComputedGetter(key)
|
||
: createGetterInvoker(userDef);
|
||
sharedPropertyDefinition.set = noop;
|
||
} else {
|
||
sharedPropertyDefinition.get = userDef.get
|
||
? shouldCache && userDef.cache !== false
|
||
? createComputedGetter(key)
|
||
: createGetterInvoker(userDef.get)
|
||
: noop;
|
||
sharedPropertyDefinition.set = userDef.set || noop;
|
||
}
|
||
if ( true &&
|
||
sharedPropertyDefinition.set === noop) {
|
||
sharedPropertyDefinition.set = function () {
|
||
warn(
|
||
("Computed property \"" + key + "\" was assigned to but it has no setter."),
|
||
this
|
||
);
|
||
};
|
||
}
|
||
Object.defineProperty(target, key, sharedPropertyDefinition);
|
||
}
|
||
|
||
function createComputedGetter (key) {
|
||
return function computedGetter () {
|
||
var watcher = this._computedWatchers && this._computedWatchers[key];
|
||
if (watcher) {
|
||
if (watcher.dirty) {
|
||
watcher.evaluate();
|
||
}
|
||
if (Dep.target) {
|
||
watcher.depend();
|
||
}
|
||
return watcher.value
|
||
}
|
||
}
|
||
}
|
||
|
||
function createGetterInvoker(fn) {
|
||
return function computedGetter () {
|
||
return fn.call(this, this)
|
||
}
|
||
}
|
||
|
||
function initMethods (vm, methods) {
|
||
var props = vm.$options.props;
|
||
for (var key in methods) {
|
||
if (true) {
|
||
if (typeof methods[key] !== 'function') {
|
||
warn(
|
||
"Method \"" + key + "\" has type \"" + (typeof methods[key]) + "\" in the component definition. " +
|
||
"Did you reference the function correctly?",
|
||
vm
|
||
);
|
||
}
|
||
if (props && hasOwn(props, key)) {
|
||
warn(
|
||
("Method \"" + key + "\" has already been defined as a prop."),
|
||
vm
|
||
);
|
||
}
|
||
if ((key in vm) && isReserved(key)) {
|
||
warn(
|
||
"Method \"" + key + "\" conflicts with an existing Vue instance method. " +
|
||
"Avoid defining component methods that start with _ or $."
|
||
);
|
||
}
|
||
}
|
||
vm[key] = typeof methods[key] !== 'function' ? noop : bind(methods[key], vm);
|
||
}
|
||
}
|
||
|
||
function initWatch (vm, watch) {
|
||
for (var key in watch) {
|
||
var handler = watch[key];
|
||
if (Array.isArray(handler)) {
|
||
for (var i = 0; i < handler.length; i++) {
|
||
createWatcher(vm, key, handler[i]);
|
||
}
|
||
} else {
|
||
createWatcher(vm, key, handler);
|
||
}
|
||
}
|
||
}
|
||
|
||
function createWatcher (
|
||
vm,
|
||
expOrFn,
|
||
handler,
|
||
options
|
||
) {
|
||
if (isPlainObject(handler)) {
|
||
options = handler;
|
||
handler = handler.handler;
|
||
}
|
||
if (typeof handler === 'string') {
|
||
handler = vm[handler];
|
||
}
|
||
return vm.$watch(expOrFn, handler, options)
|
||
}
|
||
|
||
function stateMixin (Vue) {
|
||
// flow somehow has problems with directly declared definition object
|
||
// when using Object.defineProperty, so we have to procedurally build up
|
||
// the object here.
|
||
var dataDef = {};
|
||
dataDef.get = function () { return this._data };
|
||
var propsDef = {};
|
||
propsDef.get = function () { return this._props };
|
||
if (true) {
|
||
dataDef.set = function () {
|
||
warn(
|
||
'Avoid replacing instance root $data. ' +
|
||
'Use nested data properties instead.',
|
||
this
|
||
);
|
||
};
|
||
propsDef.set = function () {
|
||
warn("$props is readonly.", this);
|
||
};
|
||
}
|
||
Object.defineProperty(Vue.prototype, '$data', dataDef);
|
||
Object.defineProperty(Vue.prototype, '$props', propsDef);
|
||
|
||
Vue.prototype.$set = set;
|
||
Vue.prototype.$delete = del;
|
||
|
||
Vue.prototype.$watch = function (
|
||
expOrFn,
|
||
cb,
|
||
options
|
||
) {
|
||
var vm = this;
|
||
if (isPlainObject(cb)) {
|
||
return createWatcher(vm, expOrFn, cb, options)
|
||
}
|
||
options = options || {};
|
||
options.user = true;
|
||
var watcher = new Watcher(vm, expOrFn, cb, options);
|
||
if (options.immediate) {
|
||
try {
|
||
cb.call(vm, watcher.value);
|
||
} catch (error) {
|
||
handleError(error, vm, ("callback for immediate watcher \"" + (watcher.expression) + "\""));
|
||
}
|
||
}
|
||
return function unwatchFn () {
|
||
watcher.teardown();
|
||
}
|
||
};
|
||
}
|
||
|
||
/* */
|
||
|
||
var uid$3 = 0;
|
||
|
||
function initMixin (Vue) {
|
||
Vue.prototype._init = function (options) {
|
||
var vm = this;
|
||
// a uid
|
||
vm._uid = uid$3++;
|
||
|
||
var startTag, endTag;
|
||
/* istanbul ignore if */
|
||
if ( true && config.performance && mark) {
|
||
startTag = "vue-perf-start:" + (vm._uid);
|
||
endTag = "vue-perf-end:" + (vm._uid);
|
||
mark(startTag);
|
||
}
|
||
|
||
// a flag to avoid this being observed
|
||
vm._isVue = true;
|
||
// merge options
|
||
if (options && options._isComponent) {
|
||
// optimize internal component instantiation
|
||
// since dynamic options merging is pretty slow, and none of the
|
||
// internal component options needs special treatment.
|
||
initInternalComponent(vm, options);
|
||
} else {
|
||
vm.$options = mergeOptions(
|
||
resolveConstructorOptions(vm.constructor),
|
||
options || {},
|
||
vm
|
||
);
|
||
}
|
||
/* istanbul ignore else */
|
||
if (true) {
|
||
initProxy(vm);
|
||
} else {}
|
||
// expose real self
|
||
vm._self = vm;
|
||
initLifecycle(vm);
|
||
initEvents(vm);
|
||
initRender(vm);
|
||
callHook(vm, 'beforeCreate');
|
||
initInjections(vm); // resolve injections before data/props
|
||
initState(vm);
|
||
initProvide(vm); // resolve provide after data/props
|
||
callHook(vm, 'created');
|
||
|
||
/* istanbul ignore if */
|
||
if ( true && config.performance && mark) {
|
||
vm._name = formatComponentName(vm, false);
|
||
mark(endTag);
|
||
measure(("vue " + (vm._name) + " init"), startTag, endTag);
|
||
}
|
||
|
||
if (vm.$options.el) {
|
||
vm.$mount(vm.$options.el);
|
||
}
|
||
};
|
||
}
|
||
|
||
function initInternalComponent (vm, options) {
|
||
var opts = vm.$options = Object.create(vm.constructor.options);
|
||
// doing this because it's faster than dynamic enumeration.
|
||
var parentVnode = options._parentVnode;
|
||
opts.parent = options.parent;
|
||
opts._parentVnode = parentVnode;
|
||
|
||
var vnodeComponentOptions = parentVnode.componentOptions;
|
||
opts.propsData = vnodeComponentOptions.propsData;
|
||
opts._parentListeners = vnodeComponentOptions.listeners;
|
||
opts._renderChildren = vnodeComponentOptions.children;
|
||
opts._componentTag = vnodeComponentOptions.tag;
|
||
|
||
if (options.render) {
|
||
opts.render = options.render;
|
||
opts.staticRenderFns = options.staticRenderFns;
|
||
}
|
||
}
|
||
|
||
function resolveConstructorOptions (Ctor) {
|
||
var options = Ctor.options;
|
||
if (Ctor.super) {
|
||
var superOptions = resolveConstructorOptions(Ctor.super);
|
||
var cachedSuperOptions = Ctor.superOptions;
|
||
if (superOptions !== cachedSuperOptions) {
|
||
// super option changed,
|
||
// need to resolve new options.
|
||
Ctor.superOptions = superOptions;
|
||
// check if there are any late-modified/attached options (#4976)
|
||
var modifiedOptions = resolveModifiedOptions(Ctor);
|
||
// update base extend options
|
||
if (modifiedOptions) {
|
||
extend(Ctor.extendOptions, modifiedOptions);
|
||
}
|
||
options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);
|
||
if (options.name) {
|
||
options.components[options.name] = Ctor;
|
||
}
|
||
}
|
||
}
|
||
return options
|
||
}
|
||
|
||
function resolveModifiedOptions (Ctor) {
|
||
var modified;
|
||
var latest = Ctor.options;
|
||
var sealed = Ctor.sealedOptions;
|
||
for (var key in latest) {
|
||
if (latest[key] !== sealed[key]) {
|
||
if (!modified) { modified = {}; }
|
||
modified[key] = latest[key];
|
||
}
|
||
}
|
||
return modified
|
||
}
|
||
|
||
function Vue (options) {
|
||
if ( true &&
|
||
!(this instanceof Vue)
|
||
) {
|
||
warn('Vue is a constructor and should be called with the `new` keyword');
|
||
}
|
||
this._init(options);
|
||
}
|
||
|
||
initMixin(Vue);
|
||
stateMixin(Vue);
|
||
eventsMixin(Vue);
|
||
lifecycleMixin(Vue);
|
||
renderMixin(Vue);
|
||
|
||
/* */
|
||
|
||
function initUse (Vue) {
|
||
Vue.use = function (plugin) {
|
||
var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));
|
||
if (installedPlugins.indexOf(plugin) > -1) {
|
||
return this
|
||
}
|
||
|
||
// additional parameters
|
||
var args = toArray(arguments, 1);
|
||
args.unshift(this);
|
||
if (typeof plugin.install === 'function') {
|
||
plugin.install.apply(plugin, args);
|
||
} else if (typeof plugin === 'function') {
|
||
plugin.apply(null, args);
|
||
}
|
||
installedPlugins.push(plugin);
|
||
return this
|
||
};
|
||
}
|
||
|
||
/* */
|
||
|
||
function initMixin$1 (Vue) {
|
||
Vue.mixin = function (mixin) {
|
||
this.options = mergeOptions(this.options, mixin);
|
||
return this
|
||
};
|
||
}
|
||
|
||
/* */
|
||
|
||
function initExtend (Vue) {
|
||
/**
|
||
* Each instance constructor, including Vue, has a unique
|
||
* cid. This enables us to create wrapped "child
|
||
* constructors" for prototypal inheritance and cache them.
|
||
*/
|
||
Vue.cid = 0;
|
||
var cid = 1;
|
||
|
||
/**
|
||
* Class inheritance
|
||
*/
|
||
Vue.extend = function (extendOptions) {
|
||
extendOptions = extendOptions || {};
|
||
var Super = this;
|
||
var SuperId = Super.cid;
|
||
var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});
|
||
if (cachedCtors[SuperId]) {
|
||
return cachedCtors[SuperId]
|
||
}
|
||
|
||
var name = extendOptions.name || Super.options.name;
|
||
if ( true && name) {
|
||
validateComponentName(name);
|
||
}
|
||
|
||
var Sub = function VueComponent (options) {
|
||
this._init(options);
|
||
};
|
||
Sub.prototype = Object.create(Super.prototype);
|
||
Sub.prototype.constructor = Sub;
|
||
Sub.cid = cid++;
|
||
Sub.options = mergeOptions(
|
||
Super.options,
|
||
extendOptions
|
||
);
|
||
Sub['super'] = Super;
|
||
|
||
// For props and computed properties, we define the proxy getters on
|
||
// the Vue instances at extension time, on the extended prototype. This
|
||
// avoids Object.defineProperty calls for each instance created.
|
||
if (Sub.options.props) {
|
||
initProps$1(Sub);
|
||
}
|
||
if (Sub.options.computed) {
|
||
initComputed$1(Sub);
|
||
}
|
||
|
||
// allow further extension/mixin/plugin usage
|
||
Sub.extend = Super.extend;
|
||
Sub.mixin = Super.mixin;
|
||
Sub.use = Super.use;
|
||
|
||
// create asset registers, so extended classes
|
||
// can have their private assets too.
|
||
ASSET_TYPES.forEach(function (type) {
|
||
Sub[type] = Super[type];
|
||
});
|
||
// enable recursive self-lookup
|
||
if (name) {
|
||
Sub.options.components[name] = Sub;
|
||
}
|
||
|
||
// keep a reference to the super options at extension time.
|
||
// later at instantiation we can check if Super's options have
|
||
// been updated.
|
||
Sub.superOptions = Super.options;
|
||
Sub.extendOptions = extendOptions;
|
||
Sub.sealedOptions = extend({}, Sub.options);
|
||
|
||
// cache constructor
|
||
cachedCtors[SuperId] = Sub;
|
||
return Sub
|
||
};
|
||
}
|
||
|
||
function initProps$1 (Comp) {
|
||
var props = Comp.options.props;
|
||
for (var key in props) {
|
||
proxy(Comp.prototype, "_props", key);
|
||
}
|
||
}
|
||
|
||
function initComputed$1 (Comp) {
|
||
var computed = Comp.options.computed;
|
||
for (var key in computed) {
|
||
defineComputed(Comp.prototype, key, computed[key]);
|
||
}
|
||
}
|
||
|
||
/* */
|
||
|
||
function initAssetRegisters (Vue) {
|
||
/**
|
||
* Create asset registration methods.
|
||
*/
|
||
ASSET_TYPES.forEach(function (type) {
|
||
Vue[type] = function (
|
||
id,
|
||
definition
|
||
) {
|
||
if (!definition) {
|
||
return this.options[type + 's'][id]
|
||
} else {
|
||
/* istanbul ignore if */
|
||
if ( true && type === 'component') {
|
||
validateComponentName(id);
|
||
}
|
||
if (type === 'component' && isPlainObject(definition)) {
|
||
definition.name = definition.name || id;
|
||
definition = this.options._base.extend(definition);
|
||
}
|
||
if (type === 'directive' && typeof definition === 'function') {
|
||
definition = { bind: definition, update: definition };
|
||
}
|
||
this.options[type + 's'][id] = definition;
|
||
return definition
|
||
}
|
||
};
|
||
});
|
||
}
|
||
|
||
/* */
|
||
|
||
|
||
|
||
function getComponentName (opts) {
|
||
return opts && (opts.Ctor.options.name || opts.tag)
|
||
}
|
||
|
||
function matches (pattern, name) {
|
||
if (Array.isArray(pattern)) {
|
||
return pattern.indexOf(name) > -1
|
||
} else if (typeof pattern === 'string') {
|
||
return pattern.split(',').indexOf(name) > -1
|
||
} else if (isRegExp(pattern)) {
|
||
return pattern.test(name)
|
||
}
|
||
/* istanbul ignore next */
|
||
return false
|
||
}
|
||
|
||
function pruneCache (keepAliveInstance, filter) {
|
||
var cache = keepAliveInstance.cache;
|
||
var keys = keepAliveInstance.keys;
|
||
var _vnode = keepAliveInstance._vnode;
|
||
for (var key in cache) {
|
||
var cachedNode = cache[key];
|
||
if (cachedNode) {
|
||
var name = getComponentName(cachedNode.componentOptions);
|
||
if (name && !filter(name)) {
|
||
pruneCacheEntry(cache, key, keys, _vnode);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
function pruneCacheEntry (
|
||
cache,
|
||
key,
|
||
keys,
|
||
current
|
||
) {
|
||
var cached$$1 = cache[key];
|
||
if (cached$$1 && (!current || cached$$1.tag !== current.tag)) {
|
||
cached$$1.componentInstance.$destroy();
|
||
}
|
||
cache[key] = null;
|
||
remove(keys, key);
|
||
}
|
||
|
||
var patternTypes = [String, RegExp, Array];
|
||
|
||
var KeepAlive = {
|
||
name: 'keep-alive',
|
||
abstract: true,
|
||
|
||
props: {
|
||
include: patternTypes,
|
||
exclude: patternTypes,
|
||
max: [String, Number]
|
||
},
|
||
|
||
created: function created () {
|
||
this.cache = Object.create(null);
|
||
this.keys = [];
|
||
},
|
||
|
||
destroyed: function destroyed () {
|
||
for (var key in this.cache) {
|
||
pruneCacheEntry(this.cache, key, this.keys);
|
||
}
|
||
},
|
||
|
||
mounted: function mounted () {
|
||
var this$1 = this;
|
||
|
||
this.$watch('include', function (val) {
|
||
pruneCache(this$1, function (name) { return matches(val, name); });
|
||
});
|
||
this.$watch('exclude', function (val) {
|
||
pruneCache(this$1, function (name) { return !matches(val, name); });
|
||
});
|
||
},
|
||
|
||
render: function render () {
|
||
var slot = this.$slots.default;
|
||
var vnode = getFirstComponentChild(slot);
|
||
var componentOptions = vnode && vnode.componentOptions;
|
||
if (componentOptions) {
|
||
// check pattern
|
||
var name = getComponentName(componentOptions);
|
||
var ref = this;
|
||
var include = ref.include;
|
||
var exclude = ref.exclude;
|
||
if (
|
||
// not included
|
||
(include && (!name || !matches(include, name))) ||
|
||
// excluded
|
||
(exclude && name && matches(exclude, name))
|
||
) {
|
||
return vnode
|
||
}
|
||
|
||
var ref$1 = this;
|
||
var cache = ref$1.cache;
|
||
var keys = ref$1.keys;
|
||
var key = vnode.key == null
|
||
// same constructor may get registered as different local components
|
||
// so cid alone is not enough (#3269)
|
||
? componentOptions.Ctor.cid + (componentOptions.tag ? ("::" + (componentOptions.tag)) : '')
|
||
: vnode.key;
|
||
if (cache[key]) {
|
||
vnode.componentInstance = cache[key].componentInstance;
|
||
// make current key freshest
|
||
remove(keys, key);
|
||
keys.push(key);
|
||
} else {
|
||
cache[key] = vnode;
|
||
keys.push(key);
|
||
// prune oldest entry
|
||
if (this.max && keys.length > parseInt(this.max)) {
|
||
pruneCacheEntry(cache, keys[0], keys, this._vnode);
|
||
}
|
||
}
|
||
|
||
vnode.data.keepAlive = true;
|
||
}
|
||
return vnode || (slot && slot[0])
|
||
}
|
||
};
|
||
|
||
var builtInComponents = {
|
||
KeepAlive: KeepAlive
|
||
};
|
||
|
||
/* */
|
||
|
||
function initGlobalAPI (Vue) {
|
||
// config
|
||
var configDef = {};
|
||
configDef.get = function () { return config; };
|
||
if (true) {
|
||
configDef.set = function () {
|
||
warn(
|
||
'Do not replace the Vue.config object, set individual fields instead.'
|
||
);
|
||
};
|
||
}
|
||
Object.defineProperty(Vue, 'config', configDef);
|
||
|
||
// exposed util methods.
|
||
// NOTE: these are not considered part of the public API - avoid relying on
|
||
// them unless you are aware of the risk.
|
||
Vue.util = {
|
||
warn: warn,
|
||
extend: extend,
|
||
mergeOptions: mergeOptions,
|
||
defineReactive: defineReactive$$1
|
||
};
|
||
|
||
Vue.set = set;
|
||
Vue.delete = del;
|
||
Vue.nextTick = nextTick;
|
||
|
||
// 2.6 explicit observable API
|
||
Vue.observable = function (obj) {
|
||
observe(obj);
|
||
return obj
|
||
};
|
||
|
||
Vue.options = Object.create(null);
|
||
ASSET_TYPES.forEach(function (type) {
|
||
Vue.options[type + 's'] = Object.create(null);
|
||
});
|
||
|
||
// this is used to identify the "base" constructor to extend all plain-object
|
||
// components with in Weex's multi-instance scenarios.
|
||
Vue.options._base = Vue;
|
||
|
||
extend(Vue.options.components, builtInComponents);
|
||
|
||
initUse(Vue);
|
||
initMixin$1(Vue);
|
||
initExtend(Vue);
|
||
initAssetRegisters(Vue);
|
||
}
|
||
|
||
initGlobalAPI(Vue);
|
||
|
||
Object.defineProperty(Vue.prototype, '$isServer', {
|
||
get: isServerRendering
|
||
});
|
||
|
||
Object.defineProperty(Vue.prototype, '$ssrContext', {
|
||
get: function get () {
|
||
/* istanbul ignore next */
|
||
return this.$vnode && this.$vnode.ssrContext
|
||
}
|
||
});
|
||
|
||
// expose FunctionalRenderContext for ssr runtime helper installation
|
||
Object.defineProperty(Vue, 'FunctionalRenderContext', {
|
||
value: FunctionalRenderContext
|
||
});
|
||
|
||
Vue.version = '2.6.12';
|
||
|
||
/* */
|
||
|
||
// these are reserved for web because they are directly compiled away
|
||
// during template compilation
|
||
var isReservedAttr = makeMap('style,class');
|
||
|
||
// attributes that should be using props for binding
|
||
var acceptValue = makeMap('input,textarea,option,select,progress');
|
||
var mustUseProp = function (tag, type, attr) {
|
||
return (
|
||
(attr === 'value' && acceptValue(tag)) && type !== 'button' ||
|
||
(attr === 'selected' && tag === 'option') ||
|
||
(attr === 'checked' && tag === 'input') ||
|
||
(attr === 'muted' && tag === 'video')
|
||
)
|
||
};
|
||
|
||
var isEnumeratedAttr = makeMap('contenteditable,draggable,spellcheck');
|
||
|
||
var isValidContentEditableValue = makeMap('events,caret,typing,plaintext-only');
|
||
|
||
var convertEnumeratedValue = function (key, value) {
|
||
return isFalsyAttrValue(value) || value === 'false'
|
||
? 'false'
|
||
// allow arbitrary string value for contenteditable
|
||
: key === 'contenteditable' && isValidContentEditableValue(value)
|
||
? value
|
||
: 'true'
|
||
};
|
||
|
||
var isBooleanAttr = makeMap(
|
||
'allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' +
|
||
'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' +
|
||
'enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,' +
|
||
'muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,' +
|
||
'required,reversed,scoped,seamless,selected,sortable,translate,' +
|
||
'truespeed,typemustmatch,visible'
|
||
);
|
||
|
||
var xlinkNS = 'http://www.w3.org/1999/xlink';
|
||
|
||
var isXlink = function (name) {
|
||
return name.charAt(5) === ':' && name.slice(0, 5) === 'xlink'
|
||
};
|
||
|
||
var getXlinkProp = function (name) {
|
||
return isXlink(name) ? name.slice(6, name.length) : ''
|
||
};
|
||
|
||
var isFalsyAttrValue = function (val) {
|
||
return val == null || val === false
|
||
};
|
||
|
||
/* */
|
||
|
||
function genClassForVnode (vnode) {
|
||
var data = vnode.data;
|
||
var parentNode = vnode;
|
||
var childNode = vnode;
|
||
while (isDef(childNode.componentInstance)) {
|
||
childNode = childNode.componentInstance._vnode;
|
||
if (childNode && childNode.data) {
|
||
data = mergeClassData(childNode.data, data);
|
||
}
|
||
}
|
||
while (isDef(parentNode = parentNode.parent)) {
|
||
if (parentNode && parentNode.data) {
|
||
data = mergeClassData(data, parentNode.data);
|
||
}
|
||
}
|
||
return renderClass(data.staticClass, data.class)
|
||
}
|
||
|
||
function mergeClassData (child, parent) {
|
||
return {
|
||
staticClass: concat(child.staticClass, parent.staticClass),
|
||
class: isDef(child.class)
|
||
? [child.class, parent.class]
|
||
: parent.class
|
||
}
|
||
}
|
||
|
||
function renderClass (
|
||
staticClass,
|
||
dynamicClass
|
||
) {
|
||
if (isDef(staticClass) || isDef(dynamicClass)) {
|
||
return concat(staticClass, stringifyClass(dynamicClass))
|
||
}
|
||
/* istanbul ignore next */
|
||
return ''
|
||
}
|
||
|
||
function concat (a, b) {
|
||
return a ? b ? (a + ' ' + b) : a : (b || '')
|
||
}
|
||
|
||
function stringifyClass (value) {
|
||
if (Array.isArray(value)) {
|
||
return stringifyArray(value)
|
||
}
|
||
if (isObject(value)) {
|
||
return stringifyObject(value)
|
||
}
|
||
if (typeof value === 'string') {
|
||
return value
|
||
}
|
||
/* istanbul ignore next */
|
||
return ''
|
||
}
|
||
|
||
function stringifyArray (value) {
|
||
var res = '';
|
||
var stringified;
|
||
for (var i = 0, l = value.length; i < l; i++) {
|
||
if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {
|
||
if (res) { res += ' '; }
|
||
res += stringified;
|
||
}
|
||
}
|
||
return res
|
||
}
|
||
|
||
function stringifyObject (value) {
|
||
var res = '';
|
||
for (var key in value) {
|
||
if (value[key]) {
|
||
if (res) { res += ' '; }
|
||
res += key;
|
||
}
|
||
}
|
||
return res
|
||
}
|
||
|
||
/* */
|
||
|
||
var namespaceMap = {
|
||
svg: 'http://www.w3.org/2000/svg',
|
||
math: 'http://www.w3.org/1998/Math/MathML'
|
||
};
|
||
|
||
var isHTMLTag = makeMap(
|
||
'html,body,base,head,link,meta,style,title,' +
|
||
'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' +
|
||
'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,' +
|
||
'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,' +
|
||
's,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,' +
|
||
'embed,object,param,source,canvas,script,noscript,del,ins,' +
|
||
'caption,col,colgroup,table,thead,tbody,td,th,tr,' +
|
||
'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,' +
|
||
'output,progress,select,textarea,' +
|
||
'details,dialog,menu,menuitem,summary,' +
|
||
'content,element,shadow,template,blockquote,iframe,tfoot'
|
||
);
|
||
|
||
// this map is intentionally selective, only covering SVG elements that may
|
||
// contain child elements.
|
||
var isSVG = makeMap(
|
||
'svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,' +
|
||
'foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,' +
|
||
'polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view',
|
||
true
|
||
);
|
||
|
||
var isReservedTag = function (tag) {
|
||
return isHTMLTag(tag) || isSVG(tag)
|
||
};
|
||
|
||
function getTagNamespace (tag) {
|
||
if (isSVG(tag)) {
|
||
return 'svg'
|
||
}
|
||
// basic support for MathML
|
||
// note it doesn't support other MathML elements being component roots
|
||
if (tag === 'math') {
|
||
return 'math'
|
||
}
|
||
}
|
||
|
||
var unknownElementCache = Object.create(null);
|
||
function isUnknownElement (tag) {
|
||
/* istanbul ignore if */
|
||
if (!inBrowser) {
|
||
return true
|
||
}
|
||
if (isReservedTag(tag)) {
|
||
return false
|
||
}
|
||
tag = tag.toLowerCase();
|
||
/* istanbul ignore if */
|
||
if (unknownElementCache[tag] != null) {
|
||
return unknownElementCache[tag]
|
||
}
|
||
var el = document.createElement(tag);
|
||
if (tag.indexOf('-') > -1) {
|
||
// http://stackoverflow.com/a/28210364/1070244
|
||
return (unknownElementCache[tag] = (
|
||
el.constructor === window.HTMLUnknownElement ||
|
||
el.constructor === window.HTMLElement
|
||
))
|
||
} else {
|
||
return (unknownElementCache[tag] = /HTMLUnknownElement/.test(el.toString()))
|
||
}
|
||
}
|
||
|
||
var isTextInputType = makeMap('text,number,password,search,email,tel,url');
|
||
|
||
/* */
|
||
|
||
/**
|
||
* Query an element selector if it's not an element already.
|
||
*/
|
||
function query (el) {
|
||
if (typeof el === 'string') {
|
||
var selected = document.querySelector(el);
|
||
if (!selected) {
|
||
true && warn(
|
||
'Cannot find element: ' + el
|
||
);
|
||
return document.createElement('div')
|
||
}
|
||
return selected
|
||
} else {
|
||
return el
|
||
}
|
||
}
|
||
|
||
/* */
|
||
|
||
function createElement$1 (tagName, vnode) {
|
||
var elm = document.createElement(tagName);
|
||
if (tagName !== 'select') {
|
||
return elm
|
||
}
|
||
// false or null will remove the attribute but undefined will not
|
||
if (vnode.data && vnode.data.attrs && vnode.data.attrs.multiple !== undefined) {
|
||
elm.setAttribute('multiple', 'multiple');
|
||
}
|
||
return elm
|
||
}
|
||
|
||
function createElementNS (namespace, tagName) {
|
||
return document.createElementNS(namespaceMap[namespace], tagName)
|
||
}
|
||
|
||
function createTextNode (text) {
|
||
return document.createTextNode(text)
|
||
}
|
||
|
||
function createComment (text) {
|
||
return document.createComment(text)
|
||
}
|
||
|
||
function insertBefore (parentNode, newNode, referenceNode) {
|
||
parentNode.insertBefore(newNode, referenceNode);
|
||
}
|
||
|
||
function removeChild (node, child) {
|
||
node.removeChild(child);
|
||
}
|
||
|
||
function appendChild (node, child) {
|
||
node.appendChild(child);
|
||
}
|
||
|
||
function parentNode (node) {
|
||
return node.parentNode
|
||
}
|
||
|
||
function nextSibling (node) {
|
||
return node.nextSibling
|
||
}
|
||
|
||
function tagName (node) {
|
||
return node.tagName
|
||
}
|
||
|
||
function setTextContent (node, text) {
|
||
node.textContent = text;
|
||
}
|
||
|
||
function setStyleScope (node, scopeId) {
|
||
node.setAttribute(scopeId, '');
|
||
}
|
||
|
||
var nodeOps = /*#__PURE__*/Object.freeze({
|
||
createElement: createElement$1,
|
||
createElementNS: createElementNS,
|
||
createTextNode: createTextNode,
|
||
createComment: createComment,
|
||
insertBefore: insertBefore,
|
||
removeChild: removeChild,
|
||
appendChild: appendChild,
|
||
parentNode: parentNode,
|
||
nextSibling: nextSibling,
|
||
tagName: tagName,
|
||
setTextContent: setTextContent,
|
||
setStyleScope: setStyleScope
|
||
});
|
||
|
||
/* */
|
||
|
||
var ref = {
|
||
create: function create (_, vnode) {
|
||
registerRef(vnode);
|
||
},
|
||
update: function update (oldVnode, vnode) {
|
||
if (oldVnode.data.ref !== vnode.data.ref) {
|
||
registerRef(oldVnode, true);
|
||
registerRef(vnode);
|
||
}
|
||
},
|
||
destroy: function destroy (vnode) {
|
||
registerRef(vnode, true);
|
||
}
|
||
};
|
||
|
||
function registerRef (vnode, isRemoval) {
|
||
var key = vnode.data.ref;
|
||
if (!isDef(key)) { return }
|
||
|
||
var vm = vnode.context;
|
||
var ref = vnode.componentInstance || vnode.elm;
|
||
var refs = vm.$refs;
|
||
if (isRemoval) {
|
||
if (Array.isArray(refs[key])) {
|
||
remove(refs[key], ref);
|
||
} else if (refs[key] === ref) {
|
||
refs[key] = undefined;
|
||
}
|
||
} else {
|
||
if (vnode.data.refInFor) {
|
||
if (!Array.isArray(refs[key])) {
|
||
refs[key] = [ref];
|
||
} else if (refs[key].indexOf(ref) < 0) {
|
||
// $flow-disable-line
|
||
refs[key].push(ref);
|
||
}
|
||
} else {
|
||
refs[key] = ref;
|
||
}
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Virtual DOM patching algorithm based on Snabbdom by
|
||
* Simon Friis Vindum (@paldepind)
|
||
* Licensed under the MIT License
|
||
* https://github.com/paldepind/snabbdom/blob/master/LICENSE
|
||
*
|
||
* modified by Evan You (@yyx990803)
|
||
*
|
||
* Not type-checking this because this file is perf-critical and the cost
|
||
* of making flow understand it is not worth it.
|
||
*/
|
||
|
||
var emptyNode = new VNode('', {}, []);
|
||
|
||
var hooks = ['create', 'activate', 'update', 'remove', 'destroy'];
|
||
|
||
function sameVnode (a, b) {
|
||
return (
|
||
a.key === b.key && (
|
||
(
|
||
a.tag === b.tag &&
|
||
a.isComment === b.isComment &&
|
||
isDef(a.data) === isDef(b.data) &&
|
||
sameInputType(a, b)
|
||
) || (
|
||
isTrue(a.isAsyncPlaceholder) &&
|
||
a.asyncFactory === b.asyncFactory &&
|
||
isUndef(b.asyncFactory.error)
|
||
)
|
||
)
|
||
)
|
||
}
|
||
|
||
function sameInputType (a, b) {
|
||
if (a.tag !== 'input') { return true }
|
||
var i;
|
||
var typeA = isDef(i = a.data) && isDef(i = i.attrs) && i.type;
|
||
var typeB = isDef(i = b.data) && isDef(i = i.attrs) && i.type;
|
||
return typeA === typeB || isTextInputType(typeA) && isTextInputType(typeB)
|
||
}
|
||
|
||
function createKeyToOldIdx (children, beginIdx, endIdx) {
|
||
var i, key;
|
||
var map = {};
|
||
for (i = beginIdx; i <= endIdx; ++i) {
|
||
key = children[i].key;
|
||
if (isDef(key)) { map[key] = i; }
|
||
}
|
||
return map
|
||
}
|
||
|
||
function createPatchFunction (backend) {
|
||
var i, j;
|
||
var cbs = {};
|
||
|
||
var modules = backend.modules;
|
||
var nodeOps = backend.nodeOps;
|
||
|
||
for (i = 0; i < hooks.length; ++i) {
|
||
cbs[hooks[i]] = [];
|
||
for (j = 0; j < modules.length; ++j) {
|
||
if (isDef(modules[j][hooks[i]])) {
|
||
cbs[hooks[i]].push(modules[j][hooks[i]]);
|
||
}
|
||
}
|
||
}
|
||
|
||
function emptyNodeAt (elm) {
|
||
return new VNode(nodeOps.tagName(elm).toLowerCase(), {}, [], undefined, elm)
|
||
}
|
||
|
||
function createRmCb (childElm, listeners) {
|
||
function remove$$1 () {
|
||
if (--remove$$1.listeners === 0) {
|
||
removeNode(childElm);
|
||
}
|
||
}
|
||
remove$$1.listeners = listeners;
|
||
return remove$$1
|
||
}
|
||
|
||
function removeNode (el) {
|
||
var parent = nodeOps.parentNode(el);
|
||
// element may have already been removed due to v-html / v-text
|
||
if (isDef(parent)) {
|
||
nodeOps.removeChild(parent, el);
|
||
}
|
||
}
|
||
|
||
function isUnknownElement$$1 (vnode, inVPre) {
|
||
return (
|
||
!inVPre &&
|
||
!vnode.ns &&
|
||
!(
|
||
config.ignoredElements.length &&
|
||
config.ignoredElements.some(function (ignore) {
|
||
return isRegExp(ignore)
|
||
? ignore.test(vnode.tag)
|
||
: ignore === vnode.tag
|
||
})
|
||
) &&
|
||
config.isUnknownElement(vnode.tag)
|
||
)
|
||
}
|
||
|
||
var creatingElmInVPre = 0;
|
||
|
||
function createElm (
|
||
vnode,
|
||
insertedVnodeQueue,
|
||
parentElm,
|
||
refElm,
|
||
nested,
|
||
ownerArray,
|
||
index
|
||
) {
|
||
if (isDef(vnode.elm) && isDef(ownerArray)) {
|
||
// This vnode was used in a previous render!
|
||
// now it's used as a new node, overwriting its elm would cause
|
||
// potential patch errors down the road when it's used as an insertion
|
||
// reference node. Instead, we clone the node on-demand before creating
|
||
// associated DOM element for it.
|
||
vnode = ownerArray[index] = cloneVNode(vnode);
|
||
}
|
||
|
||
vnode.isRootInsert = !nested; // for transition enter check
|
||
if (createComponent(vnode, insertedVnodeQueue, parentElm, refElm)) {
|
||
return
|
||
}
|
||
|
||
var data = vnode.data;
|
||
var children = vnode.children;
|
||
var tag = vnode.tag;
|
||
if (isDef(tag)) {
|
||
if (true) {
|
||
if (data && data.pre) {
|
||
creatingElmInVPre++;
|
||
}
|
||
if (isUnknownElement$$1(vnode, creatingElmInVPre)) {
|
||
warn(
|
||
'Unknown custom element: <' + tag + '> - did you ' +
|
||
'register the component correctly? For recursive components, ' +
|
||
'make sure to provide the "name" option.',
|
||
vnode.context
|
||
);
|
||
}
|
||
}
|
||
|
||
vnode.elm = vnode.ns
|
||
? nodeOps.createElementNS(vnode.ns, tag)
|
||
: nodeOps.createElement(tag, vnode);
|
||
setScope(vnode);
|
||
|
||
/* istanbul ignore if */
|
||
{
|
||
createChildren(vnode, children, insertedVnodeQueue);
|
||
if (isDef(data)) {
|
||
invokeCreateHooks(vnode, insertedVnodeQueue);
|
||
}
|
||
insert(parentElm, vnode.elm, refElm);
|
||
}
|
||
|
||
if ( true && data && data.pre) {
|
||
creatingElmInVPre--;
|
||
}
|
||
} else if (isTrue(vnode.isComment)) {
|
||
vnode.elm = nodeOps.createComment(vnode.text);
|
||
insert(parentElm, vnode.elm, refElm);
|
||
} else {
|
||
vnode.elm = nodeOps.createTextNode(vnode.text);
|
||
insert(parentElm, vnode.elm, refElm);
|
||
}
|
||
}
|
||
|
||
function createComponent (vnode, insertedVnodeQueue, parentElm, refElm) {
|
||
var i = vnode.data;
|
||
if (isDef(i)) {
|
||
var isReactivated = isDef(vnode.componentInstance) && i.keepAlive;
|
||
if (isDef(i = i.hook) && isDef(i = i.init)) {
|
||
i(vnode, false /* hydrating */);
|
||
}
|
||
// after calling the init hook, if the vnode is a child component
|
||
// it should've created a child instance and mounted it. the child
|
||
// component also has set the placeholder vnode's elm.
|
||
// in that case we can just return the element and be done.
|
||
if (isDef(vnode.componentInstance)) {
|
||
initComponent(vnode, insertedVnodeQueue);
|
||
insert(parentElm, vnode.elm, refElm);
|
||
if (isTrue(isReactivated)) {
|
||
reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm);
|
||
}
|
||
return true
|
||
}
|
||
}
|
||
}
|
||
|
||
function initComponent (vnode, insertedVnodeQueue) {
|
||
if (isDef(vnode.data.pendingInsert)) {
|
||
insertedVnodeQueue.push.apply(insertedVnodeQueue, vnode.data.pendingInsert);
|
||
vnode.data.pendingInsert = null;
|
||
}
|
||
vnode.elm = vnode.componentInstance.$el;
|
||
if (isPatchable(vnode)) {
|
||
invokeCreateHooks(vnode, insertedVnodeQueue);
|
||
setScope(vnode);
|
||
} else {
|
||
// empty component root.
|
||
// skip all element-related modules except for ref (#3455)
|
||
registerRef(vnode);
|
||
// make sure to invoke the insert hook
|
||
insertedVnodeQueue.push(vnode);
|
||
}
|
||
}
|
||
|
||
function reactivateComponent (vnode, insertedVnodeQueue, parentElm, refElm) {
|
||
var i;
|
||
// hack for #4339: a reactivated component with inner transition
|
||
// does not trigger because the inner node's created hooks are not called
|
||
// again. It's not ideal to involve module-specific logic in here but
|
||
// there doesn't seem to be a better way to do it.
|
||
var innerNode = vnode;
|
||
while (innerNode.componentInstance) {
|
||
innerNode = innerNode.componentInstance._vnode;
|
||
if (isDef(i = innerNode.data) && isDef(i = i.transition)) {
|
||
for (i = 0; i < cbs.activate.length; ++i) {
|
||
cbs.activate[i](emptyNode, innerNode);
|
||
}
|
||
insertedVnodeQueue.push(innerNode);
|
||
break
|
||
}
|
||
}
|
||
// unlike a newly created component,
|
||
// a reactivated keep-alive component doesn't insert itself
|
||
insert(parentElm, vnode.elm, refElm);
|
||
}
|
||
|
||
function insert (parent, elm, ref$$1) {
|
||
if (isDef(parent)) {
|
||
if (isDef(ref$$1)) {
|
||
if (nodeOps.parentNode(ref$$1) === parent) {
|
||
nodeOps.insertBefore(parent, elm, ref$$1);
|
||
}
|
||
} else {
|
||
nodeOps.appendChild(parent, elm);
|
||
}
|
||
}
|
||
}
|
||
|
||
function createChildren (vnode, children, insertedVnodeQueue) {
|
||
if (Array.isArray(children)) {
|
||
if (true) {
|
||
checkDuplicateKeys(children);
|
||
}
|
||
for (var i = 0; i < children.length; ++i) {
|
||
createElm(children[i], insertedVnodeQueue, vnode.elm, null, true, children, i);
|
||
}
|
||
} else if (isPrimitive(vnode.text)) {
|
||
nodeOps.appendChild(vnode.elm, nodeOps.createTextNode(String(vnode.text)));
|
||
}
|
||
}
|
||
|
||
function isPatchable (vnode) {
|
||
while (vnode.componentInstance) {
|
||
vnode = vnode.componentInstance._vnode;
|
||
}
|
||
return isDef(vnode.tag)
|
||
}
|
||
|
||
function invokeCreateHooks (vnode, insertedVnodeQueue) {
|
||
for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {
|
||
cbs.create[i$1](emptyNode, vnode);
|
||
}
|
||
i = vnode.data.hook; // Reuse variable
|
||
if (isDef(i)) {
|
||
if (isDef(i.create)) { i.create(emptyNode, vnode); }
|
||
if (isDef(i.insert)) { insertedVnodeQueue.push(vnode); }
|
||
}
|
||
}
|
||
|
||
// set scope id attribute for scoped CSS.
|
||
// this is implemented as a special case to avoid the overhead
|
||
// of going through the normal attribute patching process.
|
||
function setScope (vnode) {
|
||
var i;
|
||
if (isDef(i = vnode.fnScopeId)) {
|
||
nodeOps.setStyleScope(vnode.elm, i);
|
||
} else {
|
||
var ancestor = vnode;
|
||
while (ancestor) {
|
||
if (isDef(i = ancestor.context) && isDef(i = i.$options._scopeId)) {
|
||
nodeOps.setStyleScope(vnode.elm, i);
|
||
}
|
||
ancestor = ancestor.parent;
|
||
}
|
||
}
|
||
// for slot content they should also get the scopeId from the host instance.
|
||
if (isDef(i = activeInstance) &&
|
||
i !== vnode.context &&
|
||
i !== vnode.fnContext &&
|
||
isDef(i = i.$options._scopeId)
|
||
) {
|
||
nodeOps.setStyleScope(vnode.elm, i);
|
||
}
|
||
}
|
||
|
||
function addVnodes (parentElm, refElm, vnodes, startIdx, endIdx, insertedVnodeQueue) {
|
||
for (; startIdx <= endIdx; ++startIdx) {
|
||
createElm(vnodes[startIdx], insertedVnodeQueue, parentElm, refElm, false, vnodes, startIdx);
|
||
}
|
||
}
|
||
|
||
function invokeDestroyHook (vnode) {
|
||
var i, j;
|
||
var data = vnode.data;
|
||
if (isDef(data)) {
|
||
if (isDef(i = data.hook) && isDef(i = i.destroy)) { i(vnode); }
|
||
for (i = 0; i < cbs.destroy.length; ++i) { cbs.destroy[i](vnode); }
|
||
}
|
||
if (isDef(i = vnode.children)) {
|
||
for (j = 0; j < vnode.children.length; ++j) {
|
||
invokeDestroyHook(vnode.children[j]);
|
||
}
|
||
}
|
||
}
|
||
|
||
function removeVnodes (vnodes, startIdx, endIdx) {
|
||
for (; startIdx <= endIdx; ++startIdx) {
|
||
var ch = vnodes[startIdx];
|
||
if (isDef(ch)) {
|
||
if (isDef(ch.tag)) {
|
||
removeAndInvokeRemoveHook(ch);
|
||
invokeDestroyHook(ch);
|
||
} else { // Text node
|
||
removeNode(ch.elm);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
function removeAndInvokeRemoveHook (vnode, rm) {
|
||
if (isDef(rm) || isDef(vnode.data)) {
|
||
var i;
|
||
var listeners = cbs.remove.length + 1;
|
||
if (isDef(rm)) {
|
||
// we have a recursively passed down rm callback
|
||
// increase the listeners count
|
||
rm.listeners += listeners;
|
||
} else {
|
||
// directly removing
|
||
rm = createRmCb(vnode.elm, listeners);
|
||
}
|
||
// recursively invoke hooks on child component root node
|
||
if (isDef(i = vnode.componentInstance) && isDef(i = i._vnode) && isDef(i.data)) {
|
||
removeAndInvokeRemoveHook(i, rm);
|
||
}
|
||
for (i = 0; i < cbs.remove.length; ++i) {
|
||
cbs.remove[i](vnode, rm);
|
||
}
|
||
if (isDef(i = vnode.data.hook) && isDef(i = i.remove)) {
|
||
i(vnode, rm);
|
||
} else {
|
||
rm();
|
||
}
|
||
} else {
|
||
removeNode(vnode.elm);
|
||
}
|
||
}
|
||
|
||
function updateChildren (parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) {
|
||
var oldStartIdx = 0;
|
||
var newStartIdx = 0;
|
||
var oldEndIdx = oldCh.length - 1;
|
||
var oldStartVnode = oldCh[0];
|
||
var oldEndVnode = oldCh[oldEndIdx];
|
||
var newEndIdx = newCh.length - 1;
|
||
var newStartVnode = newCh[0];
|
||
var newEndVnode = newCh[newEndIdx];
|
||
var oldKeyToIdx, idxInOld, vnodeToMove, refElm;
|
||
|
||
// removeOnly is a special flag used only by <transition-group>
|
||
// to ensure removed elements stay in correct relative positions
|
||
// during leaving transitions
|
||
var canMove = !removeOnly;
|
||
|
||
if (true) {
|
||
checkDuplicateKeys(newCh);
|
||
}
|
||
|
||
while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {
|
||
if (isUndef(oldStartVnode)) {
|
||
oldStartVnode = oldCh[++oldStartIdx]; // Vnode has been moved left
|
||
} else if (isUndef(oldEndVnode)) {
|
||
oldEndVnode = oldCh[--oldEndIdx];
|
||
} else if (sameVnode(oldStartVnode, newStartVnode)) {
|
||
patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);
|
||
oldStartVnode = oldCh[++oldStartIdx];
|
||
newStartVnode = newCh[++newStartIdx];
|
||
} else if (sameVnode(oldEndVnode, newEndVnode)) {
|
||
patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);
|
||
oldEndVnode = oldCh[--oldEndIdx];
|
||
newEndVnode = newCh[--newEndIdx];
|
||
} else if (sameVnode(oldStartVnode, newEndVnode)) { // Vnode moved right
|
||
patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);
|
||
canMove && nodeOps.insertBefore(parentElm, oldStartVnode.elm, nodeOps.nextSibling(oldEndVnode.elm));
|
||
oldStartVnode = oldCh[++oldStartIdx];
|
||
newEndVnode = newCh[--newEndIdx];
|
||
} else if (sameVnode(oldEndVnode, newStartVnode)) { // Vnode moved left
|
||
patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);
|
||
canMove && nodeOps.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm);
|
||
oldEndVnode = oldCh[--oldEndIdx];
|
||
newStartVnode = newCh[++newStartIdx];
|
||
} else {
|
||
if (isUndef(oldKeyToIdx)) { oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx); }
|
||
idxInOld = isDef(newStartVnode.key)
|
||
? oldKeyToIdx[newStartVnode.key]
|
||
: findIdxInOld(newStartVnode, oldCh, oldStartIdx, oldEndIdx);
|
||
if (isUndef(idxInOld)) { // New element
|
||
createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);
|
||
} else {
|
||
vnodeToMove = oldCh[idxInOld];
|
||
if (sameVnode(vnodeToMove, newStartVnode)) {
|
||
patchVnode(vnodeToMove, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);
|
||
oldCh[idxInOld] = undefined;
|
||
canMove && nodeOps.insertBefore(parentElm, vnodeToMove.elm, oldStartVnode.elm);
|
||
} else {
|
||
// same key but different element. treat as new element
|
||
createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);
|
||
}
|
||
}
|
||
newStartVnode = newCh[++newStartIdx];
|
||
}
|
||
}
|
||
if (oldStartIdx > oldEndIdx) {
|
||
refElm = isUndef(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm;
|
||
addVnodes(parentElm, refElm, newCh, newStartIdx, newEndIdx, insertedVnodeQueue);
|
||
} else if (newStartIdx > newEndIdx) {
|
||
removeVnodes(oldCh, oldStartIdx, oldEndIdx);
|
||
}
|
||
}
|
||
|
||
function checkDuplicateKeys (children) {
|
||
var seenKeys = {};
|
||
for (var i = 0; i < children.length; i++) {
|
||
var vnode = children[i];
|
||
var key = vnode.key;
|
||
if (isDef(key)) {
|
||
if (seenKeys[key]) {
|
||
warn(
|
||
("Duplicate keys detected: '" + key + "'. This may cause an update error."),
|
||
vnode.context
|
||
);
|
||
} else {
|
||
seenKeys[key] = true;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
function findIdxInOld (node, oldCh, start, end) {
|
||
for (var i = start; i < end; i++) {
|
||
var c = oldCh[i];
|
||
if (isDef(c) && sameVnode(node, c)) { return i }
|
||
}
|
||
}
|
||
|
||
function patchVnode (
|
||
oldVnode,
|
||
vnode,
|
||
insertedVnodeQueue,
|
||
ownerArray,
|
||
index,
|
||
removeOnly
|
||
) {
|
||
if (oldVnode === vnode) {
|
||
return
|
||
}
|
||
|
||
if (isDef(vnode.elm) && isDef(ownerArray)) {
|
||
// clone reused vnode
|
||
vnode = ownerArray[index] = cloneVNode(vnode);
|
||
}
|
||
|
||
var elm = vnode.elm = oldVnode.elm;
|
||
|
||
if (isTrue(oldVnode.isAsyncPlaceholder)) {
|
||
if (isDef(vnode.asyncFactory.resolved)) {
|
||
hydrate(oldVnode.elm, vnode, insertedVnodeQueue);
|
||
} else {
|
||
vnode.isAsyncPlaceholder = true;
|
||
}
|
||
return
|
||
}
|
||
|
||
// reuse element for static trees.
|
||
// note we only do this if the vnode is cloned -
|
||
// if the new node is not cloned it means the render functions have been
|
||
// reset by the hot-reload-api and we need to do a proper re-render.
|
||
if (isTrue(vnode.isStatic) &&
|
||
isTrue(oldVnode.isStatic) &&
|
||
vnode.key === oldVnode.key &&
|
||
(isTrue(vnode.isCloned) || isTrue(vnode.isOnce))
|
||
) {
|
||
vnode.componentInstance = oldVnode.componentInstance;
|
||
return
|
||
}
|
||
|
||
var i;
|
||
var data = vnode.data;
|
||
if (isDef(data) && isDef(i = data.hook) && isDef(i = i.prepatch)) {
|
||
i(oldVnode, vnode);
|
||
}
|
||
|
||
var oldCh = oldVnode.children;
|
||
var ch = vnode.children;
|
||
if (isDef(data) && isPatchable(vnode)) {
|
||
for (i = 0; i < cbs.update.length; ++i) { cbs.update[i](oldVnode, vnode); }
|
||
if (isDef(i = data.hook) && isDef(i = i.update)) { i(oldVnode, vnode); }
|
||
}
|
||
if (isUndef(vnode.text)) {
|
||
if (isDef(oldCh) && isDef(ch)) {
|
||
if (oldCh !== ch) { updateChildren(elm, oldCh, ch, insertedVnodeQueue, removeOnly); }
|
||
} else if (isDef(ch)) {
|
||
if (true) {
|
||
checkDuplicateKeys(ch);
|
||
}
|
||
if (isDef(oldVnode.text)) { nodeOps.setTextContent(elm, ''); }
|
||
addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue);
|
||
} else if (isDef(oldCh)) {
|
||
removeVnodes(oldCh, 0, oldCh.length - 1);
|
||
} else if (isDef(oldVnode.text)) {
|
||
nodeOps.setTextContent(elm, '');
|
||
}
|
||
} else if (oldVnode.text !== vnode.text) {
|
||
nodeOps.setTextContent(elm, vnode.text);
|
||
}
|
||
if (isDef(data)) {
|
||
if (isDef(i = data.hook) && isDef(i = i.postpatch)) { i(oldVnode, vnode); }
|
||
}
|
||
}
|
||
|
||
function invokeInsertHook (vnode, queue, initial) {
|
||
// delay insert hooks for component root nodes, invoke them after the
|
||
// element is really inserted
|
||
if (isTrue(initial) && isDef(vnode.parent)) {
|
||
vnode.parent.data.pendingInsert = queue;
|
||
} else {
|
||
for (var i = 0; i < queue.length; ++i) {
|
||
queue[i].data.hook.insert(queue[i]);
|
||
}
|
||
}
|
||
}
|
||
|
||
var hydrationBailed = false;
|
||
// list of modules that can skip create hook during hydration because they
|
||
// are already rendered on the client or has no need for initialization
|
||
// Note: style is excluded because it relies on initial clone for future
|
||
// deep updates (#7063).
|
||
var isRenderedModule = makeMap('attrs,class,staticClass,staticStyle,key');
|
||
|
||
// Note: this is a browser-only function so we can assume elms are DOM nodes.
|
||
function hydrate (elm, vnode, insertedVnodeQueue, inVPre) {
|
||
var i;
|
||
var tag = vnode.tag;
|
||
var data = vnode.data;
|
||
var children = vnode.children;
|
||
inVPre = inVPre || (data && data.pre);
|
||
vnode.elm = elm;
|
||
|
||
if (isTrue(vnode.isComment) && isDef(vnode.asyncFactory)) {
|
||
vnode.isAsyncPlaceholder = true;
|
||
return true
|
||
}
|
||
// assert node match
|
||
if (true) {
|
||
if (!assertNodeMatch(elm, vnode, inVPre)) {
|
||
return false
|
||
}
|
||
}
|
||
if (isDef(data)) {
|
||
if (isDef(i = data.hook) && isDef(i = i.init)) { i(vnode, true /* hydrating */); }
|
||
if (isDef(i = vnode.componentInstance)) {
|
||
// child component. it should have hydrated its own tree.
|
||
initComponent(vnode, insertedVnodeQueue);
|
||
return true
|
||
}
|
||
}
|
||
if (isDef(tag)) {
|
||
if (isDef(children)) {
|
||
// empty element, allow client to pick up and populate children
|
||
if (!elm.hasChildNodes()) {
|
||
createChildren(vnode, children, insertedVnodeQueue);
|
||
} else {
|
||
// v-html and domProps: innerHTML
|
||
if (isDef(i = data) && isDef(i = i.domProps) && isDef(i = i.innerHTML)) {
|
||
if (i !== elm.innerHTML) {
|
||
/* istanbul ignore if */
|
||
if ( true &&
|
||
typeof console !== 'undefined' &&
|
||
!hydrationBailed
|
||
) {
|
||
hydrationBailed = true;
|
||
console.warn('Parent: ', elm);
|
||
console.warn('server innerHTML: ', i);
|
||
console.warn('client innerHTML: ', elm.innerHTML);
|
||
}
|
||
return false
|
||
}
|
||
} else {
|
||
// iterate and compare children lists
|
||
var childrenMatch = true;
|
||
var childNode = elm.firstChild;
|
||
for (var i$1 = 0; i$1 < children.length; i$1++) {
|
||
if (!childNode || !hydrate(childNode, children[i$1], insertedVnodeQueue, inVPre)) {
|
||
childrenMatch = false;
|
||
break
|
||
}
|
||
childNode = childNode.nextSibling;
|
||
}
|
||
// if childNode is not null, it means the actual childNodes list is
|
||
// longer than the virtual children list.
|
||
if (!childrenMatch || childNode) {
|
||
/* istanbul ignore if */
|
||
if ( true &&
|
||
typeof console !== 'undefined' &&
|
||
!hydrationBailed
|
||
) {
|
||
hydrationBailed = true;
|
||
console.warn('Parent: ', elm);
|
||
console.warn('Mismatching childNodes vs. VNodes: ', elm.childNodes, children);
|
||
}
|
||
return false
|
||
}
|
||
}
|
||
}
|
||
}
|
||
if (isDef(data)) {
|
||
var fullInvoke = false;
|
||
for (var key in data) {
|
||
if (!isRenderedModule(key)) {
|
||
fullInvoke = true;
|
||
invokeCreateHooks(vnode, insertedVnodeQueue);
|
||
break
|
||
}
|
||
}
|
||
if (!fullInvoke && data['class']) {
|
||
// ensure collecting deps for deep class bindings for future updates
|
||
traverse(data['class']);
|
||
}
|
||
}
|
||
} else if (elm.data !== vnode.text) {
|
||
elm.data = vnode.text;
|
||
}
|
||
return true
|
||
}
|
||
|
||
function assertNodeMatch (node, vnode, inVPre) {
|
||
if (isDef(vnode.tag)) {
|
||
return vnode.tag.indexOf('vue-component') === 0 || (
|
||
!isUnknownElement$$1(vnode, inVPre) &&
|
||
vnode.tag.toLowerCase() === (node.tagName && node.tagName.toLowerCase())
|
||
)
|
||
} else {
|
||
return node.nodeType === (vnode.isComment ? 8 : 3)
|
||
}
|
||
}
|
||
|
||
return function patch (oldVnode, vnode, hydrating, removeOnly) {
|
||
if (isUndef(vnode)) {
|
||
if (isDef(oldVnode)) { invokeDestroyHook(oldVnode); }
|
||
return
|
||
}
|
||
|
||
var isInitialPatch = false;
|
||
var insertedVnodeQueue = [];
|
||
|
||
if (isUndef(oldVnode)) {
|
||
// empty mount (likely as component), create new root element
|
||
isInitialPatch = true;
|
||
createElm(vnode, insertedVnodeQueue);
|
||
} else {
|
||
var isRealElement = isDef(oldVnode.nodeType);
|
||
if (!isRealElement && sameVnode(oldVnode, vnode)) {
|
||
// patch existing root node
|
||
patchVnode(oldVnode, vnode, insertedVnodeQueue, null, null, removeOnly);
|
||
} else {
|
||
if (isRealElement) {
|
||
// mounting to a real element
|
||
// check if this is server-rendered content and if we can perform
|
||
// a successful hydration.
|
||
if (oldVnode.nodeType === 1 && oldVnode.hasAttribute(SSR_ATTR)) {
|
||
oldVnode.removeAttribute(SSR_ATTR);
|
||
hydrating = true;
|
||
}
|
||
if (isTrue(hydrating)) {
|
||
if (hydrate(oldVnode, vnode, insertedVnodeQueue)) {
|
||
invokeInsertHook(vnode, insertedVnodeQueue, true);
|
||
return oldVnode
|
||
} else if (true) {
|
||
warn(
|
||
'The client-side rendered virtual DOM tree is not matching ' +
|
||
'server-rendered content. This is likely caused by incorrect ' +
|
||
'HTML markup, for example nesting block-level elements inside ' +
|
||
'<p>, or missing <tbody>. Bailing hydration and performing ' +
|
||
'full client-side render.'
|
||
);
|
||
}
|
||
}
|
||
// either not server-rendered, or hydration failed.
|
||
// create an empty node and replace it
|
||
oldVnode = emptyNodeAt(oldVnode);
|
||
}
|
||
|
||
// replacing existing element
|
||
var oldElm = oldVnode.elm;
|
||
var parentElm = nodeOps.parentNode(oldElm);
|
||
|
||
// create new node
|
||
createElm(
|
||
vnode,
|
||
insertedVnodeQueue,
|
||
// extremely rare edge case: do not insert if old element is in a
|
||
// leaving transition. Only happens when combining transition +
|
||
// keep-alive + HOCs. (#4590)
|
||
oldElm._leaveCb ? null : parentElm,
|
||
nodeOps.nextSibling(oldElm)
|
||
);
|
||
|
||
// update parent placeholder node element, recursively
|
||
if (isDef(vnode.parent)) {
|
||
var ancestor = vnode.parent;
|
||
var patchable = isPatchable(vnode);
|
||
while (ancestor) {
|
||
for (var i = 0; i < cbs.destroy.length; ++i) {
|
||
cbs.destroy[i](ancestor);
|
||
}
|
||
ancestor.elm = vnode.elm;
|
||
if (patchable) {
|
||
for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {
|
||
cbs.create[i$1](emptyNode, ancestor);
|
||
}
|
||
// #6513
|
||
// invoke insert hooks that may have been merged by create hooks.
|
||
// e.g. for directives that uses the "inserted" hook.
|
||
var insert = ancestor.data.hook.insert;
|
||
if (insert.merged) {
|
||
// start at index 1 to avoid re-invoking component mounted hook
|
||
for (var i$2 = 1; i$2 < insert.fns.length; i$2++) {
|
||
insert.fns[i$2]();
|
||
}
|
||
}
|
||
} else {
|
||
registerRef(ancestor);
|
||
}
|
||
ancestor = ancestor.parent;
|
||
}
|
||
}
|
||
|
||
// destroy old node
|
||
if (isDef(parentElm)) {
|
||
removeVnodes([oldVnode], 0, 0);
|
||
} else if (isDef(oldVnode.tag)) {
|
||
invokeDestroyHook(oldVnode);
|
||
}
|
||
}
|
||
}
|
||
|
||
invokeInsertHook(vnode, insertedVnodeQueue, isInitialPatch);
|
||
return vnode.elm
|
||
}
|
||
}
|
||
|
||
/* */
|
||
|
||
var directives = {
|
||
create: updateDirectives,
|
||
update: updateDirectives,
|
||
destroy: function unbindDirectives (vnode) {
|
||
updateDirectives(vnode, emptyNode);
|
||
}
|
||
};
|
||
|
||
function updateDirectives (oldVnode, vnode) {
|
||
if (oldVnode.data.directives || vnode.data.directives) {
|
||
_update(oldVnode, vnode);
|
||
}
|
||
}
|
||
|
||
function _update (oldVnode, vnode) {
|
||
var isCreate = oldVnode === emptyNode;
|
||
var isDestroy = vnode === emptyNode;
|
||
var oldDirs = normalizeDirectives$1(oldVnode.data.directives, oldVnode.context);
|
||
var newDirs = normalizeDirectives$1(vnode.data.directives, vnode.context);
|
||
|
||
var dirsWithInsert = [];
|
||
var dirsWithPostpatch = [];
|
||
|
||
var key, oldDir, dir;
|
||
for (key in newDirs) {
|
||
oldDir = oldDirs[key];
|
||
dir = newDirs[key];
|
||
if (!oldDir) {
|
||
// new directive, bind
|
||
callHook$1(dir, 'bind', vnode, oldVnode);
|
||
if (dir.def && dir.def.inserted) {
|
||
dirsWithInsert.push(dir);
|
||
}
|
||
} else {
|
||
// existing directive, update
|
||
dir.oldValue = oldDir.value;
|
||
dir.oldArg = oldDir.arg;
|
||
callHook$1(dir, 'update', vnode, oldVnode);
|
||
if (dir.def && dir.def.componentUpdated) {
|
||
dirsWithPostpatch.push(dir);
|
||
}
|
||
}
|
||
}
|
||
|
||
if (dirsWithInsert.length) {
|
||
var callInsert = function () {
|
||
for (var i = 0; i < dirsWithInsert.length; i++) {
|
||
callHook$1(dirsWithInsert[i], 'inserted', vnode, oldVnode);
|
||
}
|
||
};
|
||
if (isCreate) {
|
||
mergeVNodeHook(vnode, 'insert', callInsert);
|
||
} else {
|
||
callInsert();
|
||
}
|
||
}
|
||
|
||
if (dirsWithPostpatch.length) {
|
||
mergeVNodeHook(vnode, 'postpatch', function () {
|
||
for (var i = 0; i < dirsWithPostpatch.length; i++) {
|
||
callHook$1(dirsWithPostpatch[i], 'componentUpdated', vnode, oldVnode);
|
||
}
|
||
});
|
||
}
|
||
|
||
if (!isCreate) {
|
||
for (key in oldDirs) {
|
||
if (!newDirs[key]) {
|
||
// no longer present, unbind
|
||
callHook$1(oldDirs[key], 'unbind', oldVnode, oldVnode, isDestroy);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
var emptyModifiers = Object.create(null);
|
||
|
||
function normalizeDirectives$1 (
|
||
dirs,
|
||
vm
|
||
) {
|
||
var res = Object.create(null);
|
||
if (!dirs) {
|
||
// $flow-disable-line
|
||
return res
|
||
}
|
||
var i, dir;
|
||
for (i = 0; i < dirs.length; i++) {
|
||
dir = dirs[i];
|
||
if (!dir.modifiers) {
|
||
// $flow-disable-line
|
||
dir.modifiers = emptyModifiers;
|
||
}
|
||
res[getRawDirName(dir)] = dir;
|
||
dir.def = resolveAsset(vm.$options, 'directives', dir.name, true);
|
||
}
|
||
// $flow-disable-line
|
||
return res
|
||
}
|
||
|
||
function getRawDirName (dir) {
|
||
return dir.rawName || ((dir.name) + "." + (Object.keys(dir.modifiers || {}).join('.')))
|
||
}
|
||
|
||
function callHook$1 (dir, hook, vnode, oldVnode, isDestroy) {
|
||
var fn = dir.def && dir.def[hook];
|
||
if (fn) {
|
||
try {
|
||
fn(vnode.elm, dir, vnode, oldVnode, isDestroy);
|
||
} catch (e) {
|
||
handleError(e, vnode.context, ("directive " + (dir.name) + " " + hook + " hook"));
|
||
}
|
||
}
|
||
}
|
||
|
||
var baseModules = [
|
||
ref,
|
||
directives
|
||
];
|
||
|
||
/* */
|
||
|
||
function updateAttrs (oldVnode, vnode) {
|
||
var opts = vnode.componentOptions;
|
||
if (isDef(opts) && opts.Ctor.options.inheritAttrs === false) {
|
||
return
|
||
}
|
||
if (isUndef(oldVnode.data.attrs) && isUndef(vnode.data.attrs)) {
|
||
return
|
||
}
|
||
var key, cur, old;
|
||
var elm = vnode.elm;
|
||
var oldAttrs = oldVnode.data.attrs || {};
|
||
var attrs = vnode.data.attrs || {};
|
||
// clone observed objects, as the user probably wants to mutate it
|
||
if (isDef(attrs.__ob__)) {
|
||
attrs = vnode.data.attrs = extend({}, attrs);
|
||
}
|
||
|
||
for (key in attrs) {
|
||
cur = attrs[key];
|
||
old = oldAttrs[key];
|
||
if (old !== cur) {
|
||
setAttr(elm, key, cur);
|
||
}
|
||
}
|
||
// #4391: in IE9, setting type can reset value for input[type=radio]
|
||
// #6666: IE/Edge forces progress value down to 1 before setting a max
|
||
/* istanbul ignore if */
|
||
if ((isIE || isEdge) && attrs.value !== oldAttrs.value) {
|
||
setAttr(elm, 'value', attrs.value);
|
||
}
|
||
for (key in oldAttrs) {
|
||
if (isUndef(attrs[key])) {
|
||
if (isXlink(key)) {
|
||
elm.removeAttributeNS(xlinkNS, getXlinkProp(key));
|
||
} else if (!isEnumeratedAttr(key)) {
|
||
elm.removeAttribute(key);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
function setAttr (el, key, value) {
|
||
if (el.tagName.indexOf('-') > -1) {
|
||
baseSetAttr(el, key, value);
|
||
} else if (isBooleanAttr(key)) {
|
||
// set attribute for blank value
|
||
// e.g. <option disabled>Select one</option>
|
||
if (isFalsyAttrValue(value)) {
|
||
el.removeAttribute(key);
|
||
} else {
|
||
// technically allowfullscreen is a boolean attribute for <iframe>,
|
||
// but Flash expects a value of "true" when used on <embed> tag
|
||
value = key === 'allowfullscreen' && el.tagName === 'EMBED'
|
||
? 'true'
|
||
: key;
|
||
el.setAttribute(key, value);
|
||
}
|
||
} else if (isEnumeratedAttr(key)) {
|
||
el.setAttribute(key, convertEnumeratedValue(key, value));
|
||
} else if (isXlink(key)) {
|
||
if (isFalsyAttrValue(value)) {
|
||
el.removeAttributeNS(xlinkNS, getXlinkProp(key));
|
||
} else {
|
||
el.setAttributeNS(xlinkNS, key, value);
|
||
}
|
||
} else {
|
||
baseSetAttr(el, key, value);
|
||
}
|
||
}
|
||
|
||
function baseSetAttr (el, key, value) {
|
||
if (isFalsyAttrValue(value)) {
|
||
el.removeAttribute(key);
|
||
} else {
|
||
// #7138: IE10 & 11 fires input event when setting placeholder on
|
||
// <textarea>... block the first input event and remove the blocker
|
||
// immediately.
|
||
/* istanbul ignore if */
|
||
if (
|
||
isIE && !isIE9 &&
|
||
el.tagName === 'TEXTAREA' &&
|
||
key === 'placeholder' && value !== '' && !el.__ieph
|
||
) {
|
||
var blocker = function (e) {
|
||
e.stopImmediatePropagation();
|
||
el.removeEventListener('input', blocker);
|
||
};
|
||
el.addEventListener('input', blocker);
|
||
// $flow-disable-line
|
||
el.__ieph = true; /* IE placeholder patched */
|
||
}
|
||
el.setAttribute(key, value);
|
||
}
|
||
}
|
||
|
||
var attrs = {
|
||
create: updateAttrs,
|
||
update: updateAttrs
|
||
};
|
||
|
||
/* */
|
||
|
||
function updateClass (oldVnode, vnode) {
|
||
var el = vnode.elm;
|
||
var data = vnode.data;
|
||
var oldData = oldVnode.data;
|
||
if (
|
||
isUndef(data.staticClass) &&
|
||
isUndef(data.class) && (
|
||
isUndef(oldData) || (
|
||
isUndef(oldData.staticClass) &&
|
||
isUndef(oldData.class)
|
||
)
|
||
)
|
||
) {
|
||
return
|
||
}
|
||
|
||
var cls = genClassForVnode(vnode);
|
||
|
||
// handle transition classes
|
||
var transitionClass = el._transitionClasses;
|
||
if (isDef(transitionClass)) {
|
||
cls = concat(cls, stringifyClass(transitionClass));
|
||
}
|
||
|
||
// set the class
|
||
if (cls !== el._prevClass) {
|
||
el.setAttribute('class', cls);
|
||
el._prevClass = cls;
|
||
}
|
||
}
|
||
|
||
var klass = {
|
||
create: updateClass,
|
||
update: updateClass
|
||
};
|
||
|
||
/* */
|
||
|
||
/* */
|
||
|
||
/* */
|
||
|
||
/* */
|
||
|
||
// in some cases, the event used has to be determined at runtime
|
||
// so we used some reserved tokens during compile.
|
||
var RANGE_TOKEN = '__r';
|
||
var CHECKBOX_RADIO_TOKEN = '__c';
|
||
|
||
/* */
|
||
|
||
// normalize v-model event tokens that can only be determined at runtime.
|
||
// it's important to place the event as the first in the array because
|
||
// the whole point is ensuring the v-model callback gets called before
|
||
// user-attached handlers.
|
||
function normalizeEvents (on) {
|
||
/* istanbul ignore if */
|
||
if (isDef(on[RANGE_TOKEN])) {
|
||
// IE input[type=range] only supports `change` event
|
||
var event = isIE ? 'change' : 'input';
|
||
on[event] = [].concat(on[RANGE_TOKEN], on[event] || []);
|
||
delete on[RANGE_TOKEN];
|
||
}
|
||
// This was originally intended to fix #4521 but no longer necessary
|
||
// after 2.5. Keeping it for backwards compat with generated code from < 2.4
|
||
/* istanbul ignore if */
|
||
if (isDef(on[CHECKBOX_RADIO_TOKEN])) {
|
||
on.change = [].concat(on[CHECKBOX_RADIO_TOKEN], on.change || []);
|
||
delete on[CHECKBOX_RADIO_TOKEN];
|
||
}
|
||
}
|
||
|
||
var target$1;
|
||
|
||
function createOnceHandler$1 (event, handler, capture) {
|
||
var _target = target$1; // save current target element in closure
|
||
return function onceHandler () {
|
||
var res = handler.apply(null, arguments);
|
||
if (res !== null) {
|
||
remove$2(event, onceHandler, capture, _target);
|
||
}
|
||
}
|
||
}
|
||
|
||
// #9446: Firefox <= 53 (in particular, ESR 52) has incorrect Event.timeStamp
|
||
// implementation and does not fire microtasks in between event propagation, so
|
||
// safe to exclude.
|
||
var useMicrotaskFix = isUsingMicroTask && !(isFF && Number(isFF[1]) <= 53);
|
||
|
||
function add$1 (
|
||
name,
|
||
handler,
|
||
capture,
|
||
passive
|
||
) {
|
||
// async edge case #6566: inner click event triggers patch, event handler
|
||
// attached to outer element during patch, and triggered again. This
|
||
// happens because browsers fire microtask ticks between event propagation.
|
||
// the solution is simple: we save the timestamp when a handler is attached,
|
||
// and the handler would only fire if the event passed to it was fired
|
||
// AFTER it was attached.
|
||
if (useMicrotaskFix) {
|
||
var attachedTimestamp = currentFlushTimestamp;
|
||
var original = handler;
|
||
handler = original._wrapper = function (e) {
|
||
if (
|
||
// no bubbling, should always fire.
|
||
// this is just a safety net in case event.timeStamp is unreliable in
|
||
// certain weird environments...
|
||
e.target === e.currentTarget ||
|
||
// event is fired after handler attachment
|
||
e.timeStamp >= attachedTimestamp ||
|
||
// bail for environments that have buggy event.timeStamp implementations
|
||
// #9462 iOS 9 bug: event.timeStamp is 0 after history.pushState
|
||
// #9681 QtWebEngine event.timeStamp is negative value
|
||
e.timeStamp <= 0 ||
|
||
// #9448 bail if event is fired in another document in a multi-page
|
||
// electron/nw.js app, since event.timeStamp will be using a different
|
||
// starting reference
|
||
e.target.ownerDocument !== document
|
||
) {
|
||
return original.apply(this, arguments)
|
||
}
|
||
};
|
||
}
|
||
target$1.addEventListener(
|
||
name,
|
||
handler,
|
||
supportsPassive
|
||
? { capture: capture, passive: passive }
|
||
: capture
|
||
);
|
||
}
|
||
|
||
function remove$2 (
|
||
name,
|
||
handler,
|
||
capture,
|
||
_target
|
||
) {
|
||
(_target || target$1).removeEventListener(
|
||
name,
|
||
handler._wrapper || handler,
|
||
capture
|
||
);
|
||
}
|
||
|
||
function updateDOMListeners (oldVnode, vnode) {
|
||
if (isUndef(oldVnode.data.on) && isUndef(vnode.data.on)) {
|
||
return
|
||
}
|
||
var on = vnode.data.on || {};
|
||
var oldOn = oldVnode.data.on || {};
|
||
target$1 = vnode.elm;
|
||
normalizeEvents(on);
|
||
updateListeners(on, oldOn, add$1, remove$2, createOnceHandler$1, vnode.context);
|
||
target$1 = undefined;
|
||
}
|
||
|
||
var events = {
|
||
create: updateDOMListeners,
|
||
update: updateDOMListeners
|
||
};
|
||
|
||
/* */
|
||
|
||
var svgContainer;
|
||
|
||
function updateDOMProps (oldVnode, vnode) {
|
||
if (isUndef(oldVnode.data.domProps) && isUndef(vnode.data.domProps)) {
|
||
return
|
||
}
|
||
var key, cur;
|
||
var elm = vnode.elm;
|
||
var oldProps = oldVnode.data.domProps || {};
|
||
var props = vnode.data.domProps || {};
|
||
// clone observed objects, as the user probably wants to mutate it
|
||
if (isDef(props.__ob__)) {
|
||
props = vnode.data.domProps = extend({}, props);
|
||
}
|
||
|
||
for (key in oldProps) {
|
||
if (!(key in props)) {
|
||
elm[key] = '';
|
||
}
|
||
}
|
||
|
||
for (key in props) {
|
||
cur = props[key];
|
||
// ignore children if the node has textContent or innerHTML,
|
||
// as these will throw away existing DOM nodes and cause removal errors
|
||
// on subsequent patches (#3360)
|
||
if (key === 'textContent' || key === 'innerHTML') {
|
||
if (vnode.children) { vnode.children.length = 0; }
|
||
if (cur === oldProps[key]) { continue }
|
||
// #6601 work around Chrome version <= 55 bug where single textNode
|
||
// replaced by innerHTML/textContent retains its parentNode property
|
||
if (elm.childNodes.length === 1) {
|
||
elm.removeChild(elm.childNodes[0]);
|
||
}
|
||
}
|
||
|
||
if (key === 'value' && elm.tagName !== 'PROGRESS') {
|
||
// store value as _value as well since
|
||
// non-string values will be stringified
|
||
elm._value = cur;
|
||
// avoid resetting cursor position when value is the same
|
||
var strCur = isUndef(cur) ? '' : String(cur);
|
||
if (shouldUpdateValue(elm, strCur)) {
|
||
elm.value = strCur;
|
||
}
|
||
} else if (key === 'innerHTML' && isSVG(elm.tagName) && isUndef(elm.innerHTML)) {
|
||
// IE doesn't support innerHTML for SVG elements
|
||
svgContainer = svgContainer || document.createElement('div');
|
||
svgContainer.innerHTML = "<svg>" + cur + "</svg>";
|
||
var svg = svgContainer.firstChild;
|
||
while (elm.firstChild) {
|
||
elm.removeChild(elm.firstChild);
|
||
}
|
||
while (svg.firstChild) {
|
||
elm.appendChild(svg.firstChild);
|
||
}
|
||
} else if (
|
||
// skip the update if old and new VDOM state is the same.
|
||
// `value` is handled separately because the DOM value may be temporarily
|
||
// out of sync with VDOM state due to focus, composition and modifiers.
|
||
// This #4521 by skipping the unnecessary `checked` update.
|
||
cur !== oldProps[key]
|
||
) {
|
||
// some property updates can throw
|
||
// e.g. `value` on <progress> w/ non-finite value
|
||
try {
|
||
elm[key] = cur;
|
||
} catch (e) {}
|
||
}
|
||
}
|
||
}
|
||
|
||
// check platforms/web/util/attrs.js acceptValue
|
||
|
||
|
||
function shouldUpdateValue (elm, checkVal) {
|
||
return (!elm.composing && (
|
||
elm.tagName === 'OPTION' ||
|
||
isNotInFocusAndDirty(elm, checkVal) ||
|
||
isDirtyWithModifiers(elm, checkVal)
|
||
))
|
||
}
|
||
|
||
function isNotInFocusAndDirty (elm, checkVal) {
|
||
// return true when textbox (.number and .trim) loses focus and its value is
|
||
// not equal to the updated value
|
||
var notInFocus = true;
|
||
// #6157
|
||
// work around IE bug when accessing document.activeElement in an iframe
|
||
try { notInFocus = document.activeElement !== elm; } catch (e) {}
|
||
return notInFocus && elm.value !== checkVal
|
||
}
|
||
|
||
function isDirtyWithModifiers (elm, newVal) {
|
||
var value = elm.value;
|
||
var modifiers = elm._vModifiers; // injected by v-model runtime
|
||
if (isDef(modifiers)) {
|
||
if (modifiers.number) {
|
||
return toNumber(value) !== toNumber(newVal)
|
||
}
|
||
if (modifiers.trim) {
|
||
return value.trim() !== newVal.trim()
|
||
}
|
||
}
|
||
return value !== newVal
|
||
}
|
||
|
||
var domProps = {
|
||
create: updateDOMProps,
|
||
update: updateDOMProps
|
||
};
|
||
|
||
/* */
|
||
|
||
var parseStyleText = cached(function (cssText) {
|
||
var res = {};
|
||
var listDelimiter = /;(?![^(]*\))/g;
|
||
var propertyDelimiter = /:(.+)/;
|
||
cssText.split(listDelimiter).forEach(function (item) {
|
||
if (item) {
|
||
var tmp = item.split(propertyDelimiter);
|
||
tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());
|
||
}
|
||
});
|
||
return res
|
||
});
|
||
|
||
// merge static and dynamic style data on the same vnode
|
||
function normalizeStyleData (data) {
|
||
var style = normalizeStyleBinding(data.style);
|
||
// static style is pre-processed into an object during compilation
|
||
// and is always a fresh object, so it's safe to merge into it
|
||
return data.staticStyle
|
||
? extend(data.staticStyle, style)
|
||
: style
|
||
}
|
||
|
||
// normalize possible array / string values into Object
|
||
function normalizeStyleBinding (bindingStyle) {
|
||
if (Array.isArray(bindingStyle)) {
|
||
return toObject(bindingStyle)
|
||
}
|
||
if (typeof bindingStyle === 'string') {
|
||
return parseStyleText(bindingStyle)
|
||
}
|
||
return bindingStyle
|
||
}
|
||
|
||
/**
|
||
* parent component style should be after child's
|
||
* so that parent component's style could override it
|
||
*/
|
||
function getStyle (vnode, checkChild) {
|
||
var res = {};
|
||
var styleData;
|
||
|
||
if (checkChild) {
|
||
var childNode = vnode;
|
||
while (childNode.componentInstance) {
|
||
childNode = childNode.componentInstance._vnode;
|
||
if (
|
||
childNode && childNode.data &&
|
||
(styleData = normalizeStyleData(childNode.data))
|
||
) {
|
||
extend(res, styleData);
|
||
}
|
||
}
|
||
}
|
||
|
||
if ((styleData = normalizeStyleData(vnode.data))) {
|
||
extend(res, styleData);
|
||
}
|
||
|
||
var parentNode = vnode;
|
||
while ((parentNode = parentNode.parent)) {
|
||
if (parentNode.data && (styleData = normalizeStyleData(parentNode.data))) {
|
||
extend(res, styleData);
|
||
}
|
||
}
|
||
return res
|
||
}
|
||
|
||
/* */
|
||
|
||
var cssVarRE = /^--/;
|
||
var importantRE = /\s*!important$/;
|
||
var setProp = function (el, name, val) {
|
||
/* istanbul ignore if */
|
||
if (cssVarRE.test(name)) {
|
||
el.style.setProperty(name, val);
|
||
} else if (importantRE.test(val)) {
|
||
el.style.setProperty(hyphenate(name), val.replace(importantRE, ''), 'important');
|
||
} else {
|
||
var normalizedName = normalize(name);
|
||
if (Array.isArray(val)) {
|
||
// Support values array created by autoprefixer, e.g.
|
||
// {display: ["-webkit-box", "-ms-flexbox", "flex"]}
|
||
// Set them one by one, and the browser will only set those it can recognize
|
||
for (var i = 0, len = val.length; i < len; i++) {
|
||
el.style[normalizedName] = val[i];
|
||
}
|
||
} else {
|
||
el.style[normalizedName] = val;
|
||
}
|
||
}
|
||
};
|
||
|
||
var vendorNames = ['Webkit', 'Moz', 'ms'];
|
||
|
||
var emptyStyle;
|
||
var normalize = cached(function (prop) {
|
||
emptyStyle = emptyStyle || document.createElement('div').style;
|
||
prop = camelize(prop);
|
||
if (prop !== 'filter' && (prop in emptyStyle)) {
|
||
return prop
|
||
}
|
||
var capName = prop.charAt(0).toUpperCase() + prop.slice(1);
|
||
for (var i = 0; i < vendorNames.length; i++) {
|
||
var name = vendorNames[i] + capName;
|
||
if (name in emptyStyle) {
|
||
return name
|
||
}
|
||
}
|
||
});
|
||
|
||
function updateStyle (oldVnode, vnode) {
|
||
var data = vnode.data;
|
||
var oldData = oldVnode.data;
|
||
|
||
if (isUndef(data.staticStyle) && isUndef(data.style) &&
|
||
isUndef(oldData.staticStyle) && isUndef(oldData.style)
|
||
) {
|
||
return
|
||
}
|
||
|
||
var cur, name;
|
||
var el = vnode.elm;
|
||
var oldStaticStyle = oldData.staticStyle;
|
||
var oldStyleBinding = oldData.normalizedStyle || oldData.style || {};
|
||
|
||
// if static style exists, stylebinding already merged into it when doing normalizeStyleData
|
||
var oldStyle = oldStaticStyle || oldStyleBinding;
|
||
|
||
var style = normalizeStyleBinding(vnode.data.style) || {};
|
||
|
||
// store normalized style under a different key for next diff
|
||
// make sure to clone it if it's reactive, since the user likely wants
|
||
// to mutate it.
|
||
vnode.data.normalizedStyle = isDef(style.__ob__)
|
||
? extend({}, style)
|
||
: style;
|
||
|
||
var newStyle = getStyle(vnode, true);
|
||
|
||
for (name in oldStyle) {
|
||
if (isUndef(newStyle[name])) {
|
||
setProp(el, name, '');
|
||
}
|
||
}
|
||
for (name in newStyle) {
|
||
cur = newStyle[name];
|
||
if (cur !== oldStyle[name]) {
|
||
// ie9 setting to null has no effect, must use empty string
|
||
setProp(el, name, cur == null ? '' : cur);
|
||
}
|
||
}
|
||
}
|
||
|
||
var style = {
|
||
create: updateStyle,
|
||
update: updateStyle
|
||
};
|
||
|
||
/* */
|
||
|
||
var whitespaceRE = /\s+/;
|
||
|
||
/**
|
||
* Add class with compatibility for SVG since classList is not supported on
|
||
* SVG elements in IE
|
||
*/
|
||
function addClass (el, cls) {
|
||
/* istanbul ignore if */
|
||
if (!cls || !(cls = cls.trim())) {
|
||
return
|
||
}
|
||
|
||
/* istanbul ignore else */
|
||
if (el.classList) {
|
||
if (cls.indexOf(' ') > -1) {
|
||
cls.split(whitespaceRE).forEach(function (c) { return el.classList.add(c); });
|
||
} else {
|
||
el.classList.add(cls);
|
||
}
|
||
} else {
|
||
var cur = " " + (el.getAttribute('class') || '') + " ";
|
||
if (cur.indexOf(' ' + cls + ' ') < 0) {
|
||
el.setAttribute('class', (cur + cls).trim());
|
||
}
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Remove class with compatibility for SVG since classList is not supported on
|
||
* SVG elements in IE
|
||
*/
|
||
function removeClass (el, cls) {
|
||
/* istanbul ignore if */
|
||
if (!cls || !(cls = cls.trim())) {
|
||
return
|
||
}
|
||
|
||
/* istanbul ignore else */
|
||
if (el.classList) {
|
||
if (cls.indexOf(' ') > -1) {
|
||
cls.split(whitespaceRE).forEach(function (c) { return el.classList.remove(c); });
|
||
} else {
|
||
el.classList.remove(cls);
|
||
}
|
||
if (!el.classList.length) {
|
||
el.removeAttribute('class');
|
||
}
|
||
} else {
|
||
var cur = " " + (el.getAttribute('class') || '') + " ";
|
||
var tar = ' ' + cls + ' ';
|
||
while (cur.indexOf(tar) >= 0) {
|
||
cur = cur.replace(tar, ' ');
|
||
}
|
||
cur = cur.trim();
|
||
if (cur) {
|
||
el.setAttribute('class', cur);
|
||
} else {
|
||
el.removeAttribute('class');
|
||
}
|
||
}
|
||
}
|
||
|
||
/* */
|
||
|
||
function resolveTransition (def$$1) {
|
||
if (!def$$1) {
|
||
return
|
||
}
|
||
/* istanbul ignore else */
|
||
if (typeof def$$1 === 'object') {
|
||
var res = {};
|
||
if (def$$1.css !== false) {
|
||
extend(res, autoCssTransition(def$$1.name || 'v'));
|
||
}
|
||
extend(res, def$$1);
|
||
return res
|
||
} else if (typeof def$$1 === 'string') {
|
||
return autoCssTransition(def$$1)
|
||
}
|
||
}
|
||
|
||
var autoCssTransition = cached(function (name) {
|
||
return {
|
||
enterClass: (name + "-enter"),
|
||
enterToClass: (name + "-enter-to"),
|
||
enterActiveClass: (name + "-enter-active"),
|
||
leaveClass: (name + "-leave"),
|
||
leaveToClass: (name + "-leave-to"),
|
||
leaveActiveClass: (name + "-leave-active")
|
||
}
|
||
});
|
||
|
||
var hasTransition = inBrowser && !isIE9;
|
||
var TRANSITION = 'transition';
|
||
var ANIMATION = 'animation';
|
||
|
||
// Transition property/event sniffing
|
||
var transitionProp = 'transition';
|
||
var transitionEndEvent = 'transitionend';
|
||
var animationProp = 'animation';
|
||
var animationEndEvent = 'animationend';
|
||
if (hasTransition) {
|
||
/* istanbul ignore if */
|
||
if (window.ontransitionend === undefined &&
|
||
window.onwebkittransitionend !== undefined
|
||
) {
|
||
transitionProp = 'WebkitTransition';
|
||
transitionEndEvent = 'webkitTransitionEnd';
|
||
}
|
||
if (window.onanimationend === undefined &&
|
||
window.onwebkitanimationend !== undefined
|
||
) {
|
||
animationProp = 'WebkitAnimation';
|
||
animationEndEvent = 'webkitAnimationEnd';
|
||
}
|
||
}
|
||
|
||
// binding to window is necessary to make hot reload work in IE in strict mode
|
||
var raf = inBrowser
|
||
? window.requestAnimationFrame
|
||
? window.requestAnimationFrame.bind(window)
|
||
: setTimeout
|
||
: /* istanbul ignore next */ function (fn) { return fn(); };
|
||
|
||
function nextFrame (fn) {
|
||
raf(function () {
|
||
raf(fn);
|
||
});
|
||
}
|
||
|
||
function addTransitionClass (el, cls) {
|
||
var transitionClasses = el._transitionClasses || (el._transitionClasses = []);
|
||
if (transitionClasses.indexOf(cls) < 0) {
|
||
transitionClasses.push(cls);
|
||
addClass(el, cls);
|
||
}
|
||
}
|
||
|
||
function removeTransitionClass (el, cls) {
|
||
if (el._transitionClasses) {
|
||
remove(el._transitionClasses, cls);
|
||
}
|
||
removeClass(el, cls);
|
||
}
|
||
|
||
function whenTransitionEnds (
|
||
el,
|
||
expectedType,
|
||
cb
|
||
) {
|
||
var ref = getTransitionInfo(el, expectedType);
|
||
var type = ref.type;
|
||
var timeout = ref.timeout;
|
||
var propCount = ref.propCount;
|
||
if (!type) { return cb() }
|
||
var event = type === TRANSITION ? transitionEndEvent : animationEndEvent;
|
||
var ended = 0;
|
||
var end = function () {
|
||
el.removeEventListener(event, onEnd);
|
||
cb();
|
||
};
|
||
var onEnd = function (e) {
|
||
if (e.target === el) {
|
||
if (++ended >= propCount) {
|
||
end();
|
||
}
|
||
}
|
||
};
|
||
setTimeout(function () {
|
||
if (ended < propCount) {
|
||
end();
|
||
}
|
||
}, timeout + 1);
|
||
el.addEventListener(event, onEnd);
|
||
}
|
||
|
||
var transformRE = /\b(transform|all)(,|$)/;
|
||
|
||
function getTransitionInfo (el, expectedType) {
|
||
var styles = window.getComputedStyle(el);
|
||
// JSDOM may return undefined for transition properties
|
||
var transitionDelays = (styles[transitionProp + 'Delay'] || '').split(', ');
|
||
var transitionDurations = (styles[transitionProp + 'Duration'] || '').split(', ');
|
||
var transitionTimeout = getTimeout(transitionDelays, transitionDurations);
|
||
var animationDelays = (styles[animationProp + 'Delay'] || '').split(', ');
|
||
var animationDurations = (styles[animationProp + 'Duration'] || '').split(', ');
|
||
var animationTimeout = getTimeout(animationDelays, animationDurations);
|
||
|
||
var type;
|
||
var timeout = 0;
|
||
var propCount = 0;
|
||
/* istanbul ignore if */
|
||
if (expectedType === TRANSITION) {
|
||
if (transitionTimeout > 0) {
|
||
type = TRANSITION;
|
||
timeout = transitionTimeout;
|
||
propCount = transitionDurations.length;
|
||
}
|
||
} else if (expectedType === ANIMATION) {
|
||
if (animationTimeout > 0) {
|
||
type = ANIMATION;
|
||
timeout = animationTimeout;
|
||
propCount = animationDurations.length;
|
||
}
|
||
} else {
|
||
timeout = Math.max(transitionTimeout, animationTimeout);
|
||
type = timeout > 0
|
||
? transitionTimeout > animationTimeout
|
||
? TRANSITION
|
||
: ANIMATION
|
||
: null;
|
||
propCount = type
|
||
? type === TRANSITION
|
||
? transitionDurations.length
|
||
: animationDurations.length
|
||
: 0;
|
||
}
|
||
var hasTransform =
|
||
type === TRANSITION &&
|
||
transformRE.test(styles[transitionProp + 'Property']);
|
||
return {
|
||
type: type,
|
||
timeout: timeout,
|
||
propCount: propCount,
|
||
hasTransform: hasTransform
|
||
}
|
||
}
|
||
|
||
function getTimeout (delays, durations) {
|
||
/* istanbul ignore next */
|
||
while (delays.length < durations.length) {
|
||
delays = delays.concat(delays);
|
||
}
|
||
|
||
return Math.max.apply(null, durations.map(function (d, i) {
|
||
return toMs(d) + toMs(delays[i])
|
||
}))
|
||
}
|
||
|
||
// Old versions of Chromium (below 61.0.3163.100) formats floating pointer numbers
|
||
// in a locale-dependent way, using a comma instead of a dot.
|
||
// If comma is not replaced with a dot, the input will be rounded down (i.e. acting
|
||
// as a floor function) causing unexpected behaviors
|
||
function toMs (s) {
|
||
return Number(s.slice(0, -1).replace(',', '.')) * 1000
|
||
}
|
||
|
||
/* */
|
||
|
||
function enter (vnode, toggleDisplay) {
|
||
var el = vnode.elm;
|
||
|
||
// call leave callback now
|
||
if (isDef(el._leaveCb)) {
|
||
el._leaveCb.cancelled = true;
|
||
el._leaveCb();
|
||
}
|
||
|
||
var data = resolveTransition(vnode.data.transition);
|
||
if (isUndef(data)) {
|
||
return
|
||
}
|
||
|
||
/* istanbul ignore if */
|
||
if (isDef(el._enterCb) || el.nodeType !== 1) {
|
||
return
|
||
}
|
||
|
||
var css = data.css;
|
||
var type = data.type;
|
||
var enterClass = data.enterClass;
|
||
var enterToClass = data.enterToClass;
|
||
var enterActiveClass = data.enterActiveClass;
|
||
var appearClass = data.appearClass;
|
||
var appearToClass = data.appearToClass;
|
||
var appearActiveClass = data.appearActiveClass;
|
||
var beforeEnter = data.beforeEnter;
|
||
var enter = data.enter;
|
||
var afterEnter = data.afterEnter;
|
||
var enterCancelled = data.enterCancelled;
|
||
var beforeAppear = data.beforeAppear;
|
||
var appear = data.appear;
|
||
var afterAppear = data.afterAppear;
|
||
var appearCancelled = data.appearCancelled;
|
||
var duration = data.duration;
|
||
|
||
// activeInstance will always be the <transition> component managing this
|
||
// transition. One edge case to check is when the <transition> is placed
|
||
// as the root node of a child component. In that case we need to check
|
||
// <transition>'s parent for appear check.
|
||
var context = activeInstance;
|
||
var transitionNode = activeInstance.$vnode;
|
||
while (transitionNode && transitionNode.parent) {
|
||
context = transitionNode.context;
|
||
transitionNode = transitionNode.parent;
|
||
}
|
||
|
||
var isAppear = !context._isMounted || !vnode.isRootInsert;
|
||
|
||
if (isAppear && !appear && appear !== '') {
|
||
return
|
||
}
|
||
|
||
var startClass = isAppear && appearClass
|
||
? appearClass
|
||
: enterClass;
|
||
var activeClass = isAppear && appearActiveClass
|
||
? appearActiveClass
|
||
: enterActiveClass;
|
||
var toClass = isAppear && appearToClass
|
||
? appearToClass
|
||
: enterToClass;
|
||
|
||
var beforeEnterHook = isAppear
|
||
? (beforeAppear || beforeEnter)
|
||
: beforeEnter;
|
||
var enterHook = isAppear
|
||
? (typeof appear === 'function' ? appear : enter)
|
||
: enter;
|
||
var afterEnterHook = isAppear
|
||
? (afterAppear || afterEnter)
|
||
: afterEnter;
|
||
var enterCancelledHook = isAppear
|
||
? (appearCancelled || enterCancelled)
|
||
: enterCancelled;
|
||
|
||
var explicitEnterDuration = toNumber(
|
||
isObject(duration)
|
||
? duration.enter
|
||
: duration
|
||
);
|
||
|
||
if ( true && explicitEnterDuration != null) {
|
||
checkDuration(explicitEnterDuration, 'enter', vnode);
|
||
}
|
||
|
||
var expectsCSS = css !== false && !isIE9;
|
||
var userWantsControl = getHookArgumentsLength(enterHook);
|
||
|
||
var cb = el._enterCb = once(function () {
|
||
if (expectsCSS) {
|
||
removeTransitionClass(el, toClass);
|
||
removeTransitionClass(el, activeClass);
|
||
}
|
||
if (cb.cancelled) {
|
||
if (expectsCSS) {
|
||
removeTransitionClass(el, startClass);
|
||
}
|
||
enterCancelledHook && enterCancelledHook(el);
|
||
} else {
|
||
afterEnterHook && afterEnterHook(el);
|
||
}
|
||
el._enterCb = null;
|
||
});
|
||
|
||
if (!vnode.data.show) {
|
||
// remove pending leave element on enter by injecting an insert hook
|
||
mergeVNodeHook(vnode, 'insert', function () {
|
||
var parent = el.parentNode;
|
||
var pendingNode = parent && parent._pending && parent._pending[vnode.key];
|
||
if (pendingNode &&
|
||
pendingNode.tag === vnode.tag &&
|
||
pendingNode.elm._leaveCb
|
||
) {
|
||
pendingNode.elm._leaveCb();
|
||
}
|
||
enterHook && enterHook(el, cb);
|
||
});
|
||
}
|
||
|
||
// start enter transition
|
||
beforeEnterHook && beforeEnterHook(el);
|
||
if (expectsCSS) {
|
||
addTransitionClass(el, startClass);
|
||
addTransitionClass(el, activeClass);
|
||
nextFrame(function () {
|
||
removeTransitionClass(el, startClass);
|
||
if (!cb.cancelled) {
|
||
addTransitionClass(el, toClass);
|
||
if (!userWantsControl) {
|
||
if (isValidDuration(explicitEnterDuration)) {
|
||
setTimeout(cb, explicitEnterDuration);
|
||
} else {
|
||
whenTransitionEnds(el, type, cb);
|
||
}
|
||
}
|
||
}
|
||
});
|
||
}
|
||
|
||
if (vnode.data.show) {
|
||
toggleDisplay && toggleDisplay();
|
||
enterHook && enterHook(el, cb);
|
||
}
|
||
|
||
if (!expectsCSS && !userWantsControl) {
|
||
cb();
|
||
}
|
||
}
|
||
|
||
function leave (vnode, rm) {
|
||
var el = vnode.elm;
|
||
|
||
// call enter callback now
|
||
if (isDef(el._enterCb)) {
|
||
el._enterCb.cancelled = true;
|
||
el._enterCb();
|
||
}
|
||
|
||
var data = resolveTransition(vnode.data.transition);
|
||
if (isUndef(data) || el.nodeType !== 1) {
|
||
return rm()
|
||
}
|
||
|
||
/* istanbul ignore if */
|
||
if (isDef(el._leaveCb)) {
|
||
return
|
||
}
|
||
|
||
var css = data.css;
|
||
var type = data.type;
|
||
var leaveClass = data.leaveClass;
|
||
var leaveToClass = data.leaveToClass;
|
||
var leaveActiveClass = data.leaveActiveClass;
|
||
var beforeLeave = data.beforeLeave;
|
||
var leave = data.leave;
|
||
var afterLeave = data.afterLeave;
|
||
var leaveCancelled = data.leaveCancelled;
|
||
var delayLeave = data.delayLeave;
|
||
var duration = data.duration;
|
||
|
||
var expectsCSS = css !== false && !isIE9;
|
||
var userWantsControl = getHookArgumentsLength(leave);
|
||
|
||
var explicitLeaveDuration = toNumber(
|
||
isObject(duration)
|
||
? duration.leave
|
||
: duration
|
||
);
|
||
|
||
if ( true && isDef(explicitLeaveDuration)) {
|
||
checkDuration(explicitLeaveDuration, 'leave', vnode);
|
||
}
|
||
|
||
var cb = el._leaveCb = once(function () {
|
||
if (el.parentNode && el.parentNode._pending) {
|
||
el.parentNode._pending[vnode.key] = null;
|
||
}
|
||
if (expectsCSS) {
|
||
removeTransitionClass(el, leaveToClass);
|
||
removeTransitionClass(el, leaveActiveClass);
|
||
}
|
||
if (cb.cancelled) {
|
||
if (expectsCSS) {
|
||
removeTransitionClass(el, leaveClass);
|
||
}
|
||
leaveCancelled && leaveCancelled(el);
|
||
} else {
|
||
rm();
|
||
afterLeave && afterLeave(el);
|
||
}
|
||
el._leaveCb = null;
|
||
});
|
||
|
||
if (delayLeave) {
|
||
delayLeave(performLeave);
|
||
} else {
|
||
performLeave();
|
||
}
|
||
|
||
function performLeave () {
|
||
// the delayed leave may have already been cancelled
|
||
if (cb.cancelled) {
|
||
return
|
||
}
|
||
// record leaving element
|
||
if (!vnode.data.show && el.parentNode) {
|
||
(el.parentNode._pending || (el.parentNode._pending = {}))[(vnode.key)] = vnode;
|
||
}
|
||
beforeLeave && beforeLeave(el);
|
||
if (expectsCSS) {
|
||
addTransitionClass(el, leaveClass);
|
||
addTransitionClass(el, leaveActiveClass);
|
||
nextFrame(function () {
|
||
removeTransitionClass(el, leaveClass);
|
||
if (!cb.cancelled) {
|
||
addTransitionClass(el, leaveToClass);
|
||
if (!userWantsControl) {
|
||
if (isValidDuration(explicitLeaveDuration)) {
|
||
setTimeout(cb, explicitLeaveDuration);
|
||
} else {
|
||
whenTransitionEnds(el, type, cb);
|
||
}
|
||
}
|
||
}
|
||
});
|
||
}
|
||
leave && leave(el, cb);
|
||
if (!expectsCSS && !userWantsControl) {
|
||
cb();
|
||
}
|
||
}
|
||
}
|
||
|
||
// only used in dev mode
|
||
function checkDuration (val, name, vnode) {
|
||
if (typeof val !== 'number') {
|
||
warn(
|
||
"<transition> explicit " + name + " duration is not a valid number - " +
|
||
"got " + (JSON.stringify(val)) + ".",
|
||
vnode.context
|
||
);
|
||
} else if (isNaN(val)) {
|
||
warn(
|
||
"<transition> explicit " + name + " duration is NaN - " +
|
||
'the duration expression might be incorrect.',
|
||
vnode.context
|
||
);
|
||
}
|
||
}
|
||
|
||
function isValidDuration (val) {
|
||
return typeof val === 'number' && !isNaN(val)
|
||
}
|
||
|
||
/**
|
||
* Normalize a transition hook's argument length. The hook may be:
|
||
* - a merged hook (invoker) with the original in .fns
|
||
* - a wrapped component method (check ._length)
|
||
* - a plain function (.length)
|
||
*/
|
||
function getHookArgumentsLength (fn) {
|
||
if (isUndef(fn)) {
|
||
return false
|
||
}
|
||
var invokerFns = fn.fns;
|
||
if (isDef(invokerFns)) {
|
||
// invoker
|
||
return getHookArgumentsLength(
|
||
Array.isArray(invokerFns)
|
||
? invokerFns[0]
|
||
: invokerFns
|
||
)
|
||
} else {
|
||
return (fn._length || fn.length) > 1
|
||
}
|
||
}
|
||
|
||
function _enter (_, vnode) {
|
||
if (vnode.data.show !== true) {
|
||
enter(vnode);
|
||
}
|
||
}
|
||
|
||
var transition = inBrowser ? {
|
||
create: _enter,
|
||
activate: _enter,
|
||
remove: function remove$$1 (vnode, rm) {
|
||
/* istanbul ignore else */
|
||
if (vnode.data.show !== true) {
|
||
leave(vnode, rm);
|
||
} else {
|
||
rm();
|
||
}
|
||
}
|
||
} : {};
|
||
|
||
var platformModules = [
|
||
attrs,
|
||
klass,
|
||
events,
|
||
domProps,
|
||
style,
|
||
transition
|
||
];
|
||
|
||
/* */
|
||
|
||
// the directive module should be applied last, after all
|
||
// built-in modules have been applied.
|
||
var modules = platformModules.concat(baseModules);
|
||
|
||
var patch = createPatchFunction({ nodeOps: nodeOps, modules: modules });
|
||
|
||
/**
|
||
* Not type checking this file because flow doesn't like attaching
|
||
* properties to Elements.
|
||
*/
|
||
|
||
/* istanbul ignore if */
|
||
if (isIE9) {
|
||
// http://www.matts411.com/post/internet-explorer-9-oninput/
|
||
document.addEventListener('selectionchange', function () {
|
||
var el = document.activeElement;
|
||
if (el && el.vmodel) {
|
||
trigger(el, 'input');
|
||
}
|
||
});
|
||
}
|
||
|
||
var directive = {
|
||
inserted: function inserted (el, binding, vnode, oldVnode) {
|
||
if (vnode.tag === 'select') {
|
||
// #6903
|
||
if (oldVnode.elm && !oldVnode.elm._vOptions) {
|
||
mergeVNodeHook(vnode, 'postpatch', function () {
|
||
directive.componentUpdated(el, binding, vnode);
|
||
});
|
||
} else {
|
||
setSelected(el, binding, vnode.context);
|
||
}
|
||
el._vOptions = [].map.call(el.options, getValue);
|
||
} else if (vnode.tag === 'textarea' || isTextInputType(el.type)) {
|
||
el._vModifiers = binding.modifiers;
|
||
if (!binding.modifiers.lazy) {
|
||
el.addEventListener('compositionstart', onCompositionStart);
|
||
el.addEventListener('compositionend', onCompositionEnd);
|
||
// Safari < 10.2 & UIWebView doesn't fire compositionend when
|
||
// switching focus before confirming composition choice
|
||
// this also fixes the issue where some browsers e.g. iOS Chrome
|
||
// fires "change" instead of "input" on autocomplete.
|
||
el.addEventListener('change', onCompositionEnd);
|
||
/* istanbul ignore if */
|
||
if (isIE9) {
|
||
el.vmodel = true;
|
||
}
|
||
}
|
||
}
|
||
},
|
||
|
||
componentUpdated: function componentUpdated (el, binding, vnode) {
|
||
if (vnode.tag === 'select') {
|
||
setSelected(el, binding, vnode.context);
|
||
// in case the options rendered by v-for have changed,
|
||
// it's possible that the value is out-of-sync with the rendered options.
|
||
// detect such cases and filter out values that no longer has a matching
|
||
// option in the DOM.
|
||
var prevOptions = el._vOptions;
|
||
var curOptions = el._vOptions = [].map.call(el.options, getValue);
|
||
if (curOptions.some(function (o, i) { return !looseEqual(o, prevOptions[i]); })) {
|
||
// trigger change event if
|
||
// no matching option found for at least one value
|
||
var needReset = el.multiple
|
||
? binding.value.some(function (v) { return hasNoMatchingOption(v, curOptions); })
|
||
: binding.value !== binding.oldValue && hasNoMatchingOption(binding.value, curOptions);
|
||
if (needReset) {
|
||
trigger(el, 'change');
|
||
}
|
||
}
|
||
}
|
||
}
|
||
};
|
||
|
||
function setSelected (el, binding, vm) {
|
||
actuallySetSelected(el, binding, vm);
|
||
/* istanbul ignore if */
|
||
if (isIE || isEdge) {
|
||
setTimeout(function () {
|
||
actuallySetSelected(el, binding, vm);
|
||
}, 0);
|
||
}
|
||
}
|
||
|
||
function actuallySetSelected (el, binding, vm) {
|
||
var value = binding.value;
|
||
var isMultiple = el.multiple;
|
||
if (isMultiple && !Array.isArray(value)) {
|
||
true && warn(
|
||
"<select multiple v-model=\"" + (binding.expression) + "\"> " +
|
||
"expects an Array value for its binding, but got " + (Object.prototype.toString.call(value).slice(8, -1)),
|
||
vm
|
||
);
|
||
return
|
||
}
|
||
var selected, option;
|
||
for (var i = 0, l = el.options.length; i < l; i++) {
|
||
option = el.options[i];
|
||
if (isMultiple) {
|
||
selected = looseIndexOf(value, getValue(option)) > -1;
|
||
if (option.selected !== selected) {
|
||
option.selected = selected;
|
||
}
|
||
} else {
|
||
if (looseEqual(getValue(option), value)) {
|
||
if (el.selectedIndex !== i) {
|
||
el.selectedIndex = i;
|
||
}
|
||
return
|
||
}
|
||
}
|
||
}
|
||
if (!isMultiple) {
|
||
el.selectedIndex = -1;
|
||
}
|
||
}
|
||
|
||
function hasNoMatchingOption (value, options) {
|
||
return options.every(function (o) { return !looseEqual(o, value); })
|
||
}
|
||
|
||
function getValue (option) {
|
||
return '_value' in option
|
||
? option._value
|
||
: option.value
|
||
}
|
||
|
||
function onCompositionStart (e) {
|
||
e.target.composing = true;
|
||
}
|
||
|
||
function onCompositionEnd (e) {
|
||
// prevent triggering an input event for no reason
|
||
if (!e.target.composing) { return }
|
||
e.target.composing = false;
|
||
trigger(e.target, 'input');
|
||
}
|
||
|
||
function trigger (el, type) {
|
||
var e = document.createEvent('HTMLEvents');
|
||
e.initEvent(type, true, true);
|
||
el.dispatchEvent(e);
|
||
}
|
||
|
||
/* */
|
||
|
||
// recursively search for possible transition defined inside the component root
|
||
function locateNode (vnode) {
|
||
return vnode.componentInstance && (!vnode.data || !vnode.data.transition)
|
||
? locateNode(vnode.componentInstance._vnode)
|
||
: vnode
|
||
}
|
||
|
||
var show = {
|
||
bind: function bind (el, ref, vnode) {
|
||
var value = ref.value;
|
||
|
||
vnode = locateNode(vnode);
|
||
var transition$$1 = vnode.data && vnode.data.transition;
|
||
var originalDisplay = el.__vOriginalDisplay =
|
||
el.style.display === 'none' ? '' : el.style.display;
|
||
if (value && transition$$1) {
|
||
vnode.data.show = true;
|
||
enter(vnode, function () {
|
||
el.style.display = originalDisplay;
|
||
});
|
||
} else {
|
||
el.style.display = value ? originalDisplay : 'none';
|
||
}
|
||
},
|
||
|
||
update: function update (el, ref, vnode) {
|
||
var value = ref.value;
|
||
var oldValue = ref.oldValue;
|
||
|
||
/* istanbul ignore if */
|
||
if (!value === !oldValue) { return }
|
||
vnode = locateNode(vnode);
|
||
var transition$$1 = vnode.data && vnode.data.transition;
|
||
if (transition$$1) {
|
||
vnode.data.show = true;
|
||
if (value) {
|
||
enter(vnode, function () {
|
||
el.style.display = el.__vOriginalDisplay;
|
||
});
|
||
} else {
|
||
leave(vnode, function () {
|
||
el.style.display = 'none';
|
||
});
|
||
}
|
||
} else {
|
||
el.style.display = value ? el.__vOriginalDisplay : 'none';
|
||
}
|
||
},
|
||
|
||
unbind: function unbind (
|
||
el,
|
||
binding,
|
||
vnode,
|
||
oldVnode,
|
||
isDestroy
|
||
) {
|
||
if (!isDestroy) {
|
||
el.style.display = el.__vOriginalDisplay;
|
||
}
|
||
}
|
||
};
|
||
|
||
var platformDirectives = {
|
||
model: directive,
|
||
show: show
|
||
};
|
||
|
||
/* */
|
||
|
||
var transitionProps = {
|
||
name: String,
|
||
appear: Boolean,
|
||
css: Boolean,
|
||
mode: String,
|
||
type: String,
|
||
enterClass: String,
|
||
leaveClass: String,
|
||
enterToClass: String,
|
||
leaveToClass: String,
|
||
enterActiveClass: String,
|
||
leaveActiveClass: String,
|
||
appearClass: String,
|
||
appearActiveClass: String,
|
||
appearToClass: String,
|
||
duration: [Number, String, Object]
|
||
};
|
||
|
||
// in case the child is also an abstract component, e.g. <keep-alive>
|
||
// we want to recursively retrieve the real component to be rendered
|
||
function getRealChild (vnode) {
|
||
var compOptions = vnode && vnode.componentOptions;
|
||
if (compOptions && compOptions.Ctor.options.abstract) {
|
||
return getRealChild(getFirstComponentChild(compOptions.children))
|
||
} else {
|
||
return vnode
|
||
}
|
||
}
|
||
|
||
function extractTransitionData (comp) {
|
||
var data = {};
|
||
var options = comp.$options;
|
||
// props
|
||
for (var key in options.propsData) {
|
||
data[key] = comp[key];
|
||
}
|
||
// events.
|
||
// extract listeners and pass them directly to the transition methods
|
||
var listeners = options._parentListeners;
|
||
for (var key$1 in listeners) {
|
||
data[camelize(key$1)] = listeners[key$1];
|
||
}
|
||
return data
|
||
}
|
||
|
||
function placeholder (h, rawChild) {
|
||
if (/\d-keep-alive$/.test(rawChild.tag)) {
|
||
return h('keep-alive', {
|
||
props: rawChild.componentOptions.propsData
|
||
})
|
||
}
|
||
}
|
||
|
||
function hasParentTransition (vnode) {
|
||
while ((vnode = vnode.parent)) {
|
||
if (vnode.data.transition) {
|
||
return true
|
||
}
|
||
}
|
||
}
|
||
|
||
function isSameChild (child, oldChild) {
|
||
return oldChild.key === child.key && oldChild.tag === child.tag
|
||
}
|
||
|
||
var isNotTextNode = function (c) { return c.tag || isAsyncPlaceholder(c); };
|
||
|
||
var isVShowDirective = function (d) { return d.name === 'show'; };
|
||
|
||
var Transition = {
|
||
name: 'transition',
|
||
props: transitionProps,
|
||
abstract: true,
|
||
|
||
render: function render (h) {
|
||
var this$1 = this;
|
||
|
||
var children = this.$slots.default;
|
||
if (!children) {
|
||
return
|
||
}
|
||
|
||
// filter out text nodes (possible whitespaces)
|
||
children = children.filter(isNotTextNode);
|
||
/* istanbul ignore if */
|
||
if (!children.length) {
|
||
return
|
||
}
|
||
|
||
// warn multiple elements
|
||
if ( true && children.length > 1) {
|
||
warn(
|
||
'<transition> can only be used on a single element. Use ' +
|
||
'<transition-group> for lists.',
|
||
this.$parent
|
||
);
|
||
}
|
||
|
||
var mode = this.mode;
|
||
|
||
// warn invalid mode
|
||
if ( true &&
|
||
mode && mode !== 'in-out' && mode !== 'out-in'
|
||
) {
|
||
warn(
|
||
'invalid <transition> mode: ' + mode,
|
||
this.$parent
|
||
);
|
||
}
|
||
|
||
var rawChild = children[0];
|
||
|
||
// if this is a component root node and the component's
|
||
// parent container node also has transition, skip.
|
||
if (hasParentTransition(this.$vnode)) {
|
||
return rawChild
|
||
}
|
||
|
||
// apply transition data to child
|
||
// use getRealChild() to ignore abstract components e.g. keep-alive
|
||
var child = getRealChild(rawChild);
|
||
/* istanbul ignore if */
|
||
if (!child) {
|
||
return rawChild
|
||
}
|
||
|
||
if (this._leaving) {
|
||
return placeholder(h, rawChild)
|
||
}
|
||
|
||
// ensure a key that is unique to the vnode type and to this transition
|
||
// component instance. This key will be used to remove pending leaving nodes
|
||
// during entering.
|
||
var id = "__transition-" + (this._uid) + "-";
|
||
child.key = child.key == null
|
||
? child.isComment
|
||
? id + 'comment'
|
||
: id + child.tag
|
||
: isPrimitive(child.key)
|
||
? (String(child.key).indexOf(id) === 0 ? child.key : id + child.key)
|
||
: child.key;
|
||
|
||
var data = (child.data || (child.data = {})).transition = extractTransitionData(this);
|
||
var oldRawChild = this._vnode;
|
||
var oldChild = getRealChild(oldRawChild);
|
||
|
||
// mark v-show
|
||
// so that the transition module can hand over the control to the directive
|
||
if (child.data.directives && child.data.directives.some(isVShowDirective)) {
|
||
child.data.show = true;
|
||
}
|
||
|
||
if (
|
||
oldChild &&
|
||
oldChild.data &&
|
||
!isSameChild(child, oldChild) &&
|
||
!isAsyncPlaceholder(oldChild) &&
|
||
// #6687 component root is a comment node
|
||
!(oldChild.componentInstance && oldChild.componentInstance._vnode.isComment)
|
||
) {
|
||
// replace old child transition data with fresh one
|
||
// important for dynamic transitions!
|
||
var oldData = oldChild.data.transition = extend({}, data);
|
||
// handle transition mode
|
||
if (mode === 'out-in') {
|
||
// return placeholder node and queue update when leave finishes
|
||
this._leaving = true;
|
||
mergeVNodeHook(oldData, 'afterLeave', function () {
|
||
this$1._leaving = false;
|
||
this$1.$forceUpdate();
|
||
});
|
||
return placeholder(h, rawChild)
|
||
} else if (mode === 'in-out') {
|
||
if (isAsyncPlaceholder(child)) {
|
||
return oldRawChild
|
||
}
|
||
var delayedLeave;
|
||
var performLeave = function () { delayedLeave(); };
|
||
mergeVNodeHook(data, 'afterEnter', performLeave);
|
||
mergeVNodeHook(data, 'enterCancelled', performLeave);
|
||
mergeVNodeHook(oldData, 'delayLeave', function (leave) { delayedLeave = leave; });
|
||
}
|
||
}
|
||
|
||
return rawChild
|
||
}
|
||
};
|
||
|
||
/* */
|
||
|
||
var props = extend({
|
||
tag: String,
|
||
moveClass: String
|
||
}, transitionProps);
|
||
|
||
delete props.mode;
|
||
|
||
var TransitionGroup = {
|
||
props: props,
|
||
|
||
beforeMount: function beforeMount () {
|
||
var this$1 = this;
|
||
|
||
var update = this._update;
|
||
this._update = function (vnode, hydrating) {
|
||
var restoreActiveInstance = setActiveInstance(this$1);
|
||
// force removing pass
|
||
this$1.__patch__(
|
||
this$1._vnode,
|
||
this$1.kept,
|
||
false, // hydrating
|
||
true // removeOnly (!important, avoids unnecessary moves)
|
||
);
|
||
this$1._vnode = this$1.kept;
|
||
restoreActiveInstance();
|
||
update.call(this$1, vnode, hydrating);
|
||
};
|
||
},
|
||
|
||
render: function render (h) {
|
||
var tag = this.tag || this.$vnode.data.tag || 'span';
|
||
var map = Object.create(null);
|
||
var prevChildren = this.prevChildren = this.children;
|
||
var rawChildren = this.$slots.default || [];
|
||
var children = this.children = [];
|
||
var transitionData = extractTransitionData(this);
|
||
|
||
for (var i = 0; i < rawChildren.length; i++) {
|
||
var c = rawChildren[i];
|
||
if (c.tag) {
|
||
if (c.key != null && String(c.key).indexOf('__vlist') !== 0) {
|
||
children.push(c);
|
||
map[c.key] = c
|
||
;(c.data || (c.data = {})).transition = transitionData;
|
||
} else if (true) {
|
||
var opts = c.componentOptions;
|
||
var name = opts ? (opts.Ctor.options.name || opts.tag || '') : c.tag;
|
||
warn(("<transition-group> children must be keyed: <" + name + ">"));
|
||
}
|
||
}
|
||
}
|
||
|
||
if (prevChildren) {
|
||
var kept = [];
|
||
var removed = [];
|
||
for (var i$1 = 0; i$1 < prevChildren.length; i$1++) {
|
||
var c$1 = prevChildren[i$1];
|
||
c$1.data.transition = transitionData;
|
||
c$1.data.pos = c$1.elm.getBoundingClientRect();
|
||
if (map[c$1.key]) {
|
||
kept.push(c$1);
|
||
} else {
|
||
removed.push(c$1);
|
||
}
|
||
}
|
||
this.kept = h(tag, null, kept);
|
||
this.removed = removed;
|
||
}
|
||
|
||
return h(tag, null, children)
|
||
},
|
||
|
||
updated: function updated () {
|
||
var children = this.prevChildren;
|
||
var moveClass = this.moveClass || ((this.name || 'v') + '-move');
|
||
if (!children.length || !this.hasMove(children[0].elm, moveClass)) {
|
||
return
|
||
}
|
||
|
||
// we divide the work into three loops to avoid mixing DOM reads and writes
|
||
// in each iteration - which helps prevent layout thrashing.
|
||
children.forEach(callPendingCbs);
|
||
children.forEach(recordPosition);
|
||
children.forEach(applyTranslation);
|
||
|
||
// force reflow to put everything in position
|
||
// assign to this to avoid being removed in tree-shaking
|
||
// $flow-disable-line
|
||
this._reflow = document.body.offsetHeight;
|
||
|
||
children.forEach(function (c) {
|
||
if (c.data.moved) {
|
||
var el = c.elm;
|
||
var s = el.style;
|
||
addTransitionClass(el, moveClass);
|
||
s.transform = s.WebkitTransform = s.transitionDuration = '';
|
||
el.addEventListener(transitionEndEvent, el._moveCb = function cb (e) {
|
||
if (e && e.target !== el) {
|
||
return
|
||
}
|
||
if (!e || /transform$/.test(e.propertyName)) {
|
||
el.removeEventListener(transitionEndEvent, cb);
|
||
el._moveCb = null;
|
||
removeTransitionClass(el, moveClass);
|
||
}
|
||
});
|
||
}
|
||
});
|
||
},
|
||
|
||
methods: {
|
||
hasMove: function hasMove (el, moveClass) {
|
||
/* istanbul ignore if */
|
||
if (!hasTransition) {
|
||
return false
|
||
}
|
||
/* istanbul ignore if */
|
||
if (this._hasMove) {
|
||
return this._hasMove
|
||
}
|
||
// Detect whether an element with the move class applied has
|
||
// CSS transitions. Since the element may be inside an entering
|
||
// transition at this very moment, we make a clone of it and remove
|
||
// all other transition classes applied to ensure only the move class
|
||
// is applied.
|
||
var clone = el.cloneNode();
|
||
if (el._transitionClasses) {
|
||
el._transitionClasses.forEach(function (cls) { removeClass(clone, cls); });
|
||
}
|
||
addClass(clone, moveClass);
|
||
clone.style.display = 'none';
|
||
this.$el.appendChild(clone);
|
||
var info = getTransitionInfo(clone);
|
||
this.$el.removeChild(clone);
|
||
return (this._hasMove = info.hasTransform)
|
||
}
|
||
}
|
||
};
|
||
|
||
function callPendingCbs (c) {
|
||
/* istanbul ignore if */
|
||
if (c.elm._moveCb) {
|
||
c.elm._moveCb();
|
||
}
|
||
/* istanbul ignore if */
|
||
if (c.elm._enterCb) {
|
||
c.elm._enterCb();
|
||
}
|
||
}
|
||
|
||
function recordPosition (c) {
|
||
c.data.newPos = c.elm.getBoundingClientRect();
|
||
}
|
||
|
||
function applyTranslation (c) {
|
||
var oldPos = c.data.pos;
|
||
var newPos = c.data.newPos;
|
||
var dx = oldPos.left - newPos.left;
|
||
var dy = oldPos.top - newPos.top;
|
||
if (dx || dy) {
|
||
c.data.moved = true;
|
||
var s = c.elm.style;
|
||
s.transform = s.WebkitTransform = "translate(" + dx + "px," + dy + "px)";
|
||
s.transitionDuration = '0s';
|
||
}
|
||
}
|
||
|
||
var platformComponents = {
|
||
Transition: Transition,
|
||
TransitionGroup: TransitionGroup
|
||
};
|
||
|
||
/* */
|
||
|
||
// install platform specific utils
|
||
Vue.config.mustUseProp = mustUseProp;
|
||
Vue.config.isReservedTag = isReservedTag;
|
||
Vue.config.isReservedAttr = isReservedAttr;
|
||
Vue.config.getTagNamespace = getTagNamespace;
|
||
Vue.config.isUnknownElement = isUnknownElement;
|
||
|
||
// install platform runtime directives & components
|
||
extend(Vue.options.directives, platformDirectives);
|
||
extend(Vue.options.components, platformComponents);
|
||
|
||
// install platform patch function
|
||
Vue.prototype.__patch__ = inBrowser ? patch : noop;
|
||
|
||
// public mount method
|
||
Vue.prototype.$mount = function (
|
||
el,
|
||
hydrating
|
||
) {
|
||
el = el && inBrowser ? query(el) : undefined;
|
||
return mountComponent(this, el, hydrating)
|
||
};
|
||
|
||
// devtools global hook
|
||
/* istanbul ignore next */
|
||
if (inBrowser) {
|
||
setTimeout(function () {
|
||
if (config.devtools) {
|
||
if (devtools) {
|
||
devtools.emit('init', Vue);
|
||
} else if (
|
||
true
|
||
) {
|
||
console[console.info ? 'info' : 'log'](
|
||
'Download the Vue Devtools extension for a better development experience:\n' +
|
||
'https://github.com/vuejs/vue-devtools'
|
||
);
|
||
}
|
||
}
|
||
if ( true &&
|
||
config.productionTip !== false &&
|
||
typeof console !== 'undefined'
|
||
) {
|
||
console[console.info ? 'info' : 'log'](
|
||
"You are running Vue in development mode.\n" +
|
||
"Make sure to turn on production mode when deploying for production.\n" +
|
||
"See more tips at https://vuejs.org/guide/deployment.html"
|
||
);
|
||
}
|
||
}, 0);
|
||
}
|
||
|
||
/* */
|
||
|
||
/* harmony default export */ __webpack_exports__["default"] = (Vue);
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/which-typed-array/index.js":
|
||
/*!*************************************************!*\
|
||
!*** ./node_modules/which-typed-array/index.js ***!
|
||
\*************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
var forEach = __webpack_require__(/*! foreach */ "./node_modules/foreach/index.js");
|
||
var availableTypedArrays = __webpack_require__(/*! available-typed-arrays */ "./node_modules/available-typed-arrays/index.js");
|
||
var callBound = __webpack_require__(/*! call-bind/callBound */ "./node_modules/call-bind/callBound.js");
|
||
|
||
var $toString = callBound('Object.prototype.toString');
|
||
var hasSymbols = __webpack_require__(/*! has-symbols */ "./node_modules/has-symbols/index.js")();
|
||
var hasToStringTag = hasSymbols && typeof Symbol.toStringTag === 'symbol';
|
||
|
||
var typedArrays = availableTypedArrays();
|
||
|
||
var $slice = callBound('String.prototype.slice');
|
||
var toStrTags = {};
|
||
var gOPD = __webpack_require__(/*! es-abstract/helpers/getOwnPropertyDescriptor */ "./node_modules/es-abstract/helpers/getOwnPropertyDescriptor.js");
|
||
var getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');
|
||
if (hasToStringTag && gOPD && getPrototypeOf) {
|
||
forEach(typedArrays, function (typedArray) {
|
||
if (typeof __webpack_require__.g[typedArray] === 'function') {
|
||
var arr = new __webpack_require__.g[typedArray]();
|
||
if (!(Symbol.toStringTag in arr)) {
|
||
throw new EvalError('this engine has support for Symbol.toStringTag, but ' + typedArray + ' does not have the property! Please report this.');
|
||
}
|
||
var proto = getPrototypeOf(arr);
|
||
var descriptor = gOPD(proto, Symbol.toStringTag);
|
||
if (!descriptor) {
|
||
var superProto = getPrototypeOf(proto);
|
||
descriptor = gOPD(superProto, Symbol.toStringTag);
|
||
}
|
||
toStrTags[typedArray] = descriptor.get;
|
||
}
|
||
});
|
||
}
|
||
|
||
var tryTypedArrays = function tryAllTypedArrays(value) {
|
||
var foundName = false;
|
||
forEach(toStrTags, function (getter, typedArray) {
|
||
if (!foundName) {
|
||
try {
|
||
var name = getter.call(value);
|
||
if (name === typedArray) {
|
||
foundName = name;
|
||
}
|
||
} catch (e) {}
|
||
}
|
||
});
|
||
return foundName;
|
||
};
|
||
|
||
var isTypedArray = __webpack_require__(/*! is-typed-array */ "./node_modules/is-typed-array/index.js");
|
||
|
||
module.exports = function whichTypedArray(value) {
|
||
if (!isTypedArray(value)) { return false; }
|
||
if (!hasToStringTag) { return $slice($toString(value), 8, -1); }
|
||
return tryTypedArrays(value);
|
||
};
|
||
|
||
|
||
/***/ })
|
||
|
||
/******/ });
|
||
/************************************************************************/
|
||
/******/ // The module cache
|
||
/******/ var __webpack_module_cache__ = {};
|
||
/******/
|
||
/******/ // The require function
|
||
/******/ function __webpack_require__(moduleId) {
|
||
/******/ // Check if module is in cache
|
||
/******/ var cachedModule = __webpack_module_cache__[moduleId];
|
||
/******/ if (cachedModule !== undefined) {
|
||
/******/ return cachedModule.exports;
|
||
/******/ }
|
||
/******/ // Create a new module (and put it into the cache)
|
||
/******/ var module = __webpack_module_cache__[moduleId] = {
|
||
/******/ id: moduleId,
|
||
/******/ loaded: false,
|
||
/******/ exports: {}
|
||
/******/ };
|
||
/******/
|
||
/******/ // Execute the module function
|
||
/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
||
/******/
|
||
/******/ // Flag the module as loaded
|
||
/******/ module.loaded = true;
|
||
/******/
|
||
/******/ // Return the exports of the module
|
||
/******/ return module.exports;
|
||
/******/ }
|
||
/******/
|
||
/************************************************************************/
|
||
/******/ /* webpack/runtime/compat get default export */
|
||
/******/ !function() {
|
||
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
||
/******/ __webpack_require__.n = function(module) {
|
||
/******/ var getter = module && module.__esModule ?
|
||
/******/ function() { return module['default']; } :
|
||
/******/ function() { return module; };
|
||
/******/ __webpack_require__.d(getter, { a: getter });
|
||
/******/ return getter;
|
||
/******/ };
|
||
/******/ }();
|
||
/******/
|
||
/******/ /* webpack/runtime/define property getters */
|
||
/******/ !function() {
|
||
/******/ // define getter functions for harmony exports
|
||
/******/ __webpack_require__.d = function(exports, definition) {
|
||
/******/ for(var key in definition) {
|
||
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
||
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
||
/******/ }
|
||
/******/ }
|
||
/******/ };
|
||
/******/ }();
|
||
/******/
|
||
/******/ /* webpack/runtime/global */
|
||
/******/ !function() {
|
||
/******/ __webpack_require__.g = (function() {
|
||
/******/ if (typeof globalThis === 'object') return globalThis;
|
||
/******/ try {
|
||
/******/ return this || new Function('return this')();
|
||
/******/ } catch (e) {
|
||
/******/ if (typeof window === 'object') return window;
|
||
/******/ }
|
||
/******/ })();
|
||
/******/ }();
|
||
/******/
|
||
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
||
/******/ !function() {
|
||
/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
|
||
/******/ }();
|
||
/******/
|
||
/******/ /* webpack/runtime/make namespace object */
|
||
/******/ !function() {
|
||
/******/ // define __esModule on exports
|
||
/******/ __webpack_require__.r = function(exports) {
|
||
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
||
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
||
/******/ }
|
||
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
||
/******/ };
|
||
/******/ }();
|
||
/******/
|
||
/******/ /* webpack/runtime/node module decorator */
|
||
/******/ !function() {
|
||
/******/ __webpack_require__.nmd = function(module) {
|
||
/******/ module.paths = [];
|
||
/******/ if (!module.children) module.children = [];
|
||
/******/ return module;
|
||
/******/ };
|
||
/******/ }();
|
||
/******/
|
||
/************************************************************************/
|
||
var __webpack_exports__ = {};
|
||
// This entry need to be wrapped in an IIFE because it need to be in strict mode.
|
||
!function() {
|
||
"use strict";
|
||
var exports = __webpack_exports__;
|
||
/*!*************************!*\
|
||
!*** ./src/settings.js ***!
|
||
\*************************/
|
||
|
||
|
||
Object.defineProperty(exports, "__esModule", ({
|
||
value: true
|
||
}));
|
||
exports.app = void 0;
|
||
|
||
var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.runtime.esm.js"));
|
||
|
||
var _AdminSettings = _interopRequireDefault(__webpack_require__(/*! ./AdminSettings.vue */ "./src/AdminSettings.vue"));
|
||
|
||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||
|
||
/**
|
||
* @copyright Copyright (c) 2021 Joas Schilling <coding@schilljs.com>
|
||
*
|
||
* @license GNU AGPL version 3 or any later version
|
||
*
|
||
* This program is free software: you can redistribute it and/or modify
|
||
* it under the terms of the GNU Affero General Public License as
|
||
* published by the Free Software Foundation, either version 3 of the
|
||
* License, or (at your option) any later version.
|
||
*
|
||
* This program is distributed in the hope that it will be useful,
|
||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
* GNU Affero General Public License for more details.
|
||
*
|
||
* You should have received a copy of the GNU Affero General Public License
|
||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||
*
|
||
*/
|
||
_vue.default.prototype.t = t;
|
||
_vue.default.prototype.OC = OC;
|
||
var app = new _vue.default({
|
||
el: '#registration_settings_form',
|
||
render: function render(h) {
|
||
return h(_AdminSettings.default);
|
||
}
|
||
});
|
||
exports.app = app;
|
||
}();
|
||
/******/ })()
|
||
;
|
||
//# sourceMappingURL=registration-settings.js.map?v=554f2be08f109dc13d0e |