diff --git a/.eslintrc b/.eslintrc
index 20410b7a..434b69da 100644
--- a/.eslintrc
+++ b/.eslintrc
@@ -38,6 +38,7 @@
"_bdhash": true,
"ace": false,
"Reflect": false,
- "DiscordNative": false
+ "DiscordNative": false,
+ "__non_webpack_require__": false
}
}
\ No newline at end of file
diff --git a/js/main.js b/js/main.js
index 3a7a9d8b..d86420a8 100644
--- a/js/main.js
+++ b/js/main.js
@@ -1,7 +1,9 @@
-var settingsPanel, emoteModule, quickEmoteMenu, voiceMode, pluginModule, themeModule, dMode, publicServersModule;
-var minSupportedVersion = "0.3.0";
-var bbdVersion = "0.2.17";
-var mainCore;
-var settingsCookie = {};
-var bdpluginErrors = [], bdthemeErrors = []; // define for backwards compatibility
-var bdConfig = null;
\ No newline at end of file
+// var settingsPanel, emoteModule, quickEmoteMenu, voiceMode, pluginModule, themeModule, dMode, publicServersModule;
+// var minSupportedVersion = "0.3.0";
+// var bbdVersion = "0.2.17";
+// var mainCore;
+// var settingsCookie = {};
+// var bdpluginErrors = [], bdthemeErrors = []; // define for backwards compatibility
+// var bdConfig = null;
+
+//settingsCookie, bdplugins, bdthemes, pluginCookie, themeCookie, pluginModule, themeModule
\ No newline at end of file
diff --git a/js/release.js b/js/release.js
new file mode 100644
index 00000000..2940076b
--- /dev/null
+++ b/js/release.js
@@ -0,0 +1,6035 @@
+var Core =
+/******/ (function(modules) { // webpackBootstrap
+/******/ // The module cache
+/******/ var installedModules = {};
+/******/
+/******/ // The require function
+/******/ function __webpack_require__(moduleId) {
+/******/
+/******/ // Check if module is in cache
+/******/ if(installedModules[moduleId]) {
+/******/ return installedModules[moduleId].exports;
+/******/ }
+/******/ // Create a new module (and put it into the cache)
+/******/ var module = installedModules[moduleId] = {
+/******/ i: moduleId,
+/******/ l: false,
+/******/ exports: {}
+/******/ };
+/******/
+/******/ // Execute the module function
+/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
+/******/
+/******/ // Flag the module as loaded
+/******/ module.l = true;
+/******/
+/******/ // Return the exports of the module
+/******/ return module.exports;
+/******/ }
+/******/
+/******/
+/******/ // expose the modules object (__webpack_modules__)
+/******/ __webpack_require__.m = modules;
+/******/
+/******/ // expose the module cache
+/******/ __webpack_require__.c = installedModules;
+/******/
+/******/ // define getter function for harmony exports
+/******/ __webpack_require__.d = function(exports, name, getter) {
+/******/ if(!__webpack_require__.o(exports, name)) {
+/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
+/******/ }
+/******/ };
+/******/
+/******/ // 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 });
+/******/ };
+/******/
+/******/ // create a fake namespace object
+/******/ // mode & 1: value is a module id, require it
+/******/ // mode & 2: merge all properties of value into the ns
+/******/ // mode & 4: return value when already ns object
+/******/ // mode & 8|1: behave like require
+/******/ __webpack_require__.t = function(value, mode) {
+/******/ if(mode & 1) value = __webpack_require__(value);
+/******/ if(mode & 8) return value;
+/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
+/******/ var ns = Object.create(null);
+/******/ __webpack_require__.r(ns);
+/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
+/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
+/******/ return ns;
+/******/ };
+/******/
+/******/ // getDefaultExport function for compatibility with non-harmony modules
+/******/ __webpack_require__.n = function(module) {
+/******/ var getter = module && module.__esModule ?
+/******/ function getDefault() { return module['default']; } :
+/******/ function getModuleExports() { return module; };
+/******/ __webpack_require__.d(getter, 'a', getter);
+/******/ return getter;
+/******/ };
+/******/
+/******/ // Object.prototype.hasOwnProperty.call
+/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
+/******/
+/******/ // __webpack_public_path__
+/******/ __webpack_require__.p = "";
+/******/
+/******/
+/******/ // Load entry module and return exports
+/******/ return __webpack_require__(__webpack_require__.s = "./src/index.js");
+/******/ })
+/************************************************************************/
+/******/ ({
+
+/***/ "./src/data/config.js":
+/*!****************************!*\
+ !*** ./src/data/config.js ***!
+ \****************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ({
+ local: false,
+ localServer: "//localhost:8080",
+ minified: true,
+ version: "0.3.0",
+ branch: "master",
+ repo: "rauenzi",
+ minSupportedVersion: "0.3.0",
+ bbdVersion: "0.2.17"
+});
+
+/***/ }),
+
+/***/ "./src/data/settings.js":
+/*!******************************!*\
+ !*** ./src/data/settings.js ***!
+ \******************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ({
+ "Custom css live update": {id: "bda-css-0", info: "", implemented: true, hidden: true, cat: "core"},
+ "Custom css auto udpate": {id: "bda-css-1", info: "", implemented: true, hidden: true, cat: "core"},
+ "BetterDiscord Blue": {id: "bda-gs-b", info: "Replace Discord blue with BD Blue", implemented: false, hidden: false, cat: "core"},
+
+ /* Core */
+ /* ====== */
+ "Public Servers": {id: "bda-gs-1", info: "Display public servers button", implemented: true, hidden: false, cat: "core", category: "core"},
+ "Minimal Mode": {id: "bda-gs-2", info: "Hide elements and reduce the size of elements.", implemented: true, hidden: false, cat: "core", category: "core"},
+ "Voice Mode": {id: "bda-gs-4", info: "Only show voice chat", implemented: true, hidden: false, cat: "core", category: "core"},
+ "Hide Channels": {id: "bda-gs-3", info: "Hide channels in minimal mode", implemented: true, hidden: false, cat: "core", category: "core"},
+ "Dark Mode": {id: "bda-gs-5", info: "Make certain elements dark by default(wip)", implemented: true, hidden: false, cat: "core", category: "core"},
+ "Voice Disconnect": {id: "bda-dc-0", info: "Disconnect from voice server when closing Discord", implemented: true, hidden: false, cat: "core", category: "core"},
+ "24 Hour Timestamps": {id: "bda-gs-6", info: "Replace 12hr timestamps with proper ones", implemented: true, hidden: false, cat: "core", category: "core"},
+ "Coloured Text": {id: "bda-gs-7", info: "Make text colour the same as role colour", implemented: true, hidden: false, cat: "core", category: "core"},
+ "Normalize Classes": {id: "fork-ps-4", info: "Adds stable classes to elements to help themes. (e.g. adds .da-channels to .channels-Ie2l6A)", implemented: true, hidden: false, cat: "core", category: "core"},
+
+ /* Content */
+ "Content Error Modal": {id: "fork-ps-1", info: "Shows a modal with plugin/theme errors", implemented: true, hidden: false, cat: "core", category: "plugins & themes"},
+ "Show Toasts": {id: "fork-ps-2", info: "Shows a small notification for important information", implemented: true, hidden: false, cat: "core", category: "plugins & themes"},
+ "Scroll To Settings": {id: "fork-ps-3", info: "Auto-scrolls to a plugin's settings when the button is clicked (only if out of view)", implemented: true, hidden: false, cat: "core", category: "plugins & themes"},
+ "Automatic Loading": {id: "fork-ps-5", info: "Automatically loads, reloads, and unloads plugins and themes", implemented: true, hidden: false, cat: "core", category: "plugins & themes"},
+
+ /* Developer */
+ "Developer Mode": {id: "bda-gs-8", info: "Developer Mode", implemented: true, hidden: false, cat: "core", category: "developer settings"},
+ "Copy Selector": {id: "fork-dm-1", info: "Adds a \"Copy Selector\" option to context menus when developer mode is active", implemented: true, hidden: false, cat: "core", category: "developer settings"},
+
+ /* Window Prefs */
+ "Enable Transparency": {id: "fork-wp-1", info: "Enables the main window to be see-through (requires restart)", implemented: true, hidden: false, cat: "core", category: "window preferences"},
+ "Window Frame": {id: "fork-wp-2", info: "Adds the native os window frame to the main window", implemented: false, hidden: true, cat: "core", category: "window preferences"},
+
+
+ /* Emotes */
+ /* ====== */
+ "Download Emotes": {id: "fork-es-3", info: "Download emotes when the cache is expired", implemented: true, hidden: false, cat: "emote"},
+ "Twitch Emotes": {id: "bda-es-7", info: "Show Twitch emotes", implemented: true, hidden: false, cat: "emote"},
+ "FrankerFaceZ Emotes": {id: "bda-es-1", info: "Show FrankerFaceZ Emotes", implemented: true, hidden: false, cat: "emote"},
+ "BetterTTV Emotes": {id: "bda-es-2", info: "Show BetterTTV Emotes", implemented: true, hidden: false, cat: "emote"},
+ "Emote Menu": {id: "bda-es-0", info: "Show Twitch/Favourite emotes in emote menu", implemented: true, hidden: false, cat: "emote"},
+ "Emoji Menu": {id: "bda-es-9", info: "Show Discord emoji menu", implemented: true, hidden: false, cat: "emote"},
+ "Emote Auto Capitalization": {id: "bda-es-4", info: "Autocapitalize emote commands", implemented: true, hidden: false, cat: "emote"},
+ "Show Names": {id: "bda-es-6", info: "Show emote names on hover", implemented: true, hidden: false, cat: "emote"},
+ "Show emote modifiers": {id: "bda-es-8", info: "Enable emote mods (flip, spin, pulse, spin2, spin3, 1spin, 2spin, 3spin, tr, bl, br, shake, shake2, shake3, flap)", implemented: true, hidden: false, cat: "emote"},
+ "Animate On Hover": {id: "fork-es-2", info: "Only animate the emote modifiers on hover", implemented: true, hidden: false, cat: "emote"}
+});
+
+/***/ }),
+
+/***/ "./src/data/settingscookie.js":
+/*!************************************!*\
+ !*** ./src/data/settingscookie.js ***!
+ \************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ({
+ "bda-gs-1": true,
+ "bda-gs-2": false,
+ "bda-gs-3": false,
+ "bda-gs-4": false,
+ "bda-gs-5": true,
+ "bda-gs-6": false,
+ "bda-gs-7": false,
+ "bda-gs-8": false,
+ "bda-es-0": true,
+ "bda-es-1": true,
+ "bda-es-2": true,
+ "bda-es-4": false,
+ "bda-es-6": true,
+ "bda-es-7": true,
+ "bda-gs-b": false,
+ "bda-es-8": true,
+ "bda-dc-0": false,
+ "bda-css-0": false,
+ "bda-css-1": false,
+ "bda-es-9": true,
+ "fork-dm-1": false,
+ "fork-ps-1": true,
+ "fork-ps-2": true,
+ "fork-ps-3": true,
+ "fork-ps-4": true,
+ "fork-ps-5": true,
+ "fork-es-2": false,
+ "fork-es-3": true,
+ "fork-wp-1": false,
+ "fork-wp-2": false
+});
+
+/***/ }),
+
+/***/ "./src/index.js":
+/*!**********************!*\
+ !*** ./src/index.js ***!
+ \**********************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _localstorage__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./localstorage */ "./src/localstorage.js");
+/* harmony import */ var _modules_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modules/core */ "./src/modules/core.js");
+
+
+
+// Perform some setup
+Object(_localstorage__WEBPACK_IMPORTED_MODULE_0__["default"])();
+const loadingIcon = document.createElement("div");
+loadingIcon.className = "bd-loaderv2";
+loadingIcon.title = "BandagedBD is loading...";
+document.body.appendChild(loadingIcon);
+
+window.Core = _modules_core__WEBPACK_IMPORTED_MODULE_1__["default"];
+
+/* harmony default export */ __webpack_exports__["default"] = (_modules_core__WEBPACK_IMPORTED_MODULE_1__["default"]);
+
+/***/ }),
+
+/***/ "./src/localstorage.js":
+/*!*****************************!*\
+ !*** ./src/localstorage.js ***!
+ \*****************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* Localstorage fix */
+/* harmony default export */ __webpack_exports__["default"] = (function() {
+
+ const fs = window.require("fs");
+ const platform = process.platform;
+ const dataPath = (platform === "win32" ? process.env.APPDATA : platform === "darwin" ? process.env.HOME + "/Library/Preferences" : process.env.HOME + "/.config") + "/BetterDiscord/";
+ const localStorageFile = "localStorage.json";
+
+ let data = {};
+ if (fs.existsSync(`${dataPath}${localStorageFile}`)) {
+ try {
+ data = JSON.parse(fs.readFileSync(`${dataPath}${localStorageFile}`));
+ }
+ catch (err) {
+ console.log(err);
+ }
+ }
+ else if (fs.existsSync(localStorageFile)) {
+ try {
+ data = JSON.parse(fs.readFileSync(localStorageFile));
+ }
+ catch (err) {
+ console.log(err);
+ }
+ }
+
+ const storage = data;
+ storage.setItem = function(i, v) {
+ storage[i] = v;
+ this.save();
+ };
+ storage.getItem = function(i) {
+ return storage[i] || null;
+ };
+ storage.save = function() {
+ fs.writeFileSync(`${dataPath}${localStorageFile}`, JSON.stringify(this), null, 4);
+ };
+
+ const lsProxy = new Proxy(storage, {
+ set: function(target, name, val) {
+ storage[name] = val;
+ storage.save();
+ },
+ get: function(target, name) {
+ return storage[name] || null;
+ }
+ });
+
+ window.localStorage = lsProxy;
+
+});
+
+/***/ }),
+
+/***/ "./src/modules/bdv2.js":
+/*!*****************************!*\
+ !*** ./src/modules/bdv2.js ***!
+ \*****************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _data_settings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../data/settings */ "./src/data/settings.js");
+/* harmony import */ var _pluginapi__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./pluginapi */ "./src/modules/pluginapi.js");
+/* harmony import */ var _ui_icons_bdlogo__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../ui/icons/bdlogo */ "./src/ui/icons/bdlogo.js");
+
+
+
+
+/* harmony default export */ __webpack_exports__["default"] = (new class V2 {
+
+ constructor() {
+ this.editorDetached = false;
+ this.WebpackModules = (() => {
+ const req = webpackJsonp.push([[], {__extra_id__: (module, exports, req) => module.exports = req}, [["__extra_id__"]]]);
+ delete req.m.__extra_id__;
+ delete req.c.__extra_id__;
+ const find = (filter) => {
+ for (let i in req.c) {
+ if (req.c.hasOwnProperty(i)) {
+ let m = req.c[i].exports;
+ if (m && m.__esModule && m.default && filter(m.default)) return m.default;
+ if (m && filter(m)) return m;
+ }
+ }
+ console.warn("Cannot find loaded module in cache");
+ return null;
+ };
+
+ const findAll = (filter) => {
+ const modules = [];
+ for (let i in req.c) {
+ if (req.c.hasOwnProperty(i)) {
+ let m = req.c[i].exports;
+ if (m && m.__esModule && m.default && filter(m.default)) modules.push(m.default);
+ else if (m && filter(m)) modules.push(m);
+ }
+ }
+ return modules;
+ };
+
+ const findByUniqueProperties = (propNames) => find(module => propNames.every(prop => module[prop] !== undefined));
+ const findByPrototypes = (protoNames) => find(module => module.prototype && protoNames.every(protoProp => module.prototype[protoProp] !== undefined));
+ const findByDisplayName = (displayName) => find(module => module.displayName === displayName);
+
+ return {find, findAll, findByUniqueProperties, findByPrototypes, findByDisplayName};
+ })();
+
+ this.internal = {
+ react: this.WebpackModules.findByUniqueProperties(["Component", "PureComponent", "Children", "createElement", "cloneElement"]),
+ reactDom: this.WebpackModules.findByUniqueProperties(["findDOMNode"])
+ };
+ this.getInternalInstance = e => e[Object.keys(e).find(k => k.startsWith("__reactInternalInstance"))];
+ }
+
+ initialize() {
+ _pluginapi__WEBPACK_IMPORTED_MODULE_1__["default"].suppressErrors(this.patchSocial.bind(this), "BD Social Patch")();
+ _pluginapi__WEBPACK_IMPORTED_MODULE_1__["default"].suppressErrors(this.patchGuildPills.bind(this), "BD Guild Pills Patch")();
+ _pluginapi__WEBPACK_IMPORTED_MODULE_1__["default"].suppressErrors(this.patchGuildListItems.bind(this), "BD Guild List Items Patch")();
+ _pluginapi__WEBPACK_IMPORTED_MODULE_1__["default"].suppressErrors(this.patchGuildSeparator.bind(this), "BD Guild Separator Patch")();
+ }
+
+ get react() {return this.internal.react;}
+ get reactDom() {return this.internal.reactDom;}
+ get reactComponent() {return this.internal.react.Component;}
+
+ get messageClasses() {return this.WebpackModules.findByUniqueProperties(["message", "containerCozy"]);}
+ get guildClasses() {
+ const guildsWrapper = this.WebpackModules.findByUniqueProperties(["wrapper", "unreadMentionsBar"]);
+ const guilds = this.WebpackModules.findByUniqueProperties(["guildsError", "selected"]);
+ const pill = this.WebpackModules.findByUniqueProperties(["blobContainer"]);
+ return Object.assign({}, guildsWrapper, guilds, pill);
+ }
+
+ get MessageContentComponent() {return this.WebpackModules.find(m => m.defaultProps && m.defaultProps.hasOwnProperty("disableButtons"));}
+ get TimeFormatter() {return this.WebpackModules.findByUniqueProperties(["dateFormat"]);}
+ get TooltipWrapper() {return this.WebpackModules.findByDisplayName("TooltipDeprecated");}
+ get NativeModule() {return this.WebpackModules.findByUniqueProperties(["setBadge"]);}
+ get Tooltips() {return this.WebpackModules.find(m => m.hide && m.show && !m.search && !m.submit && !m.search && !m.activateRagingDemon && !m.dismiss);}
+ get KeyGenerator() {return this.WebpackModules.find(m => m.toString && /"binary"/.test(m.toString()));}
+
+ parseSettings(cat) {
+ return Object.keys(_data_settings__WEBPACK_IMPORTED_MODULE_0__["default"]).reduce((arr, key) => {
+ let setting = _data_settings__WEBPACK_IMPORTED_MODULE_0__["default"][key];
+ if (setting.cat === cat && setting.implemented && !setting.hidden) {
+ setting.text = key;
+ arr.push(setting);
+ } return arr;
+ }, []);
+ }
+
+ patchSocial() {
+ if (this.socialPatch) return;
+ const TabBar = _pluginapi__WEBPACK_IMPORTED_MODULE_1__["default"].findModule(m => m.displayName == "TabBar");
+ const Anchor = _pluginapi__WEBPACK_IMPORTED_MODULE_1__["default"].findModule(m => m.displayName == "Anchor");
+ if (!TabBar || !Anchor) return;
+ this.socialPatch = _pluginapi__WEBPACK_IMPORTED_MODULE_1__["default"].monkeyPatch(TabBar.prototype, "render", {after: (data) => {
+ const children = data.returnValue.props.children;
+ if (!children || !children.length) return;
+ if (children[children.length - 2].type.displayName !== "Separator") return;
+ if (!children[children.length - 1].type.toString().includes("socialLinks")) return;
+ const original = children[children.length - 1].type;
+ const newOne = function() {
+ const returnVal = original(...arguments);
+ returnVal.props.children.push(_pluginapi__WEBPACK_IMPORTED_MODULE_1__["default"].React.createElement(Anchor, {className: "bd-social-link", href: "https://github.com/rauenzi/BetterDiscordApp", rel: "author", title: "BandagedBD", target: "_blank"},
+ _pluginapi__WEBPACK_IMPORTED_MODULE_1__["default"].React.createElement(_ui_icons_bdlogo__WEBPACK_IMPORTED_MODULE_2__["default"], {size: "16px", className: "bd-social-logo"})
+ ));
+ return returnVal;
+ };
+ children[children.length - 1].type = newOne;
+ }});
+ }
+
+ patchGuildListItems() {
+ if (this.guildListItemsPatch) return;
+ const listItemClass = this.guildClasses.listItem.split(" ")[0];
+ const blobClass = this.guildClasses.blobContainer.split(" ")[0];
+ const reactInstance = _pluginapi__WEBPACK_IMPORTED_MODULE_1__["default"].getInternalInstance(document.querySelector(`.${listItemClass} .${blobClass}`).parentElement);
+ const GuildComponent = reactInstance.return.type;
+ if (!GuildComponent) return;
+ this.guildListItemsPatch = _pluginapi__WEBPACK_IMPORTED_MODULE_1__["default"].monkeyPatch(GuildComponent.prototype, "render", {after: (data) => {
+ const returnValue = data.returnValue;
+ const guildData = data.thisObject.props;
+ returnValue.props.className += " bd-guild";
+ if (guildData.unread) returnValue.props.className += " bd-unread";
+ if (guildData.selected) returnValue.props.className += " bd-selected";
+ if (guildData.audio) returnValue.props.className += " bd-audio";
+ if (guildData.video) returnValue.props.className += " bd-video";
+ if (guildData.badge) returnValue.props.className += " bd-badge";
+ if (guildData.animatable) returnValue.props.className += " bd-animatable";
+ return returnValue;
+ }});
+ }
+
+ patchGuildPills() {
+ if (this.guildPillPatch) return;
+ const guildPill = _pluginapi__WEBPACK_IMPORTED_MODULE_1__["default"].findModule(m => m.default && m.default.toString && m.default.toString().includes("translate3d"));
+ if (!guildPill) return;
+ this.guildPillPatch = _pluginapi__WEBPACK_IMPORTED_MODULE_1__["default"].monkeyPatch(guildPill, "default", {after: (data) => {
+ const props = data.methodArguments[0];
+ if (props.unread) data.returnValue.props.className += " bd-unread";
+ if (props.selected) data.returnValue.props.className += " bd-selected";
+ if (props.hovered) data.returnValue.props.className += " bd-hovered";
+ return data.returnValue;
+ }});
+ }
+
+ patchGuildSeparator() {
+ if (this.guildSeparatorPatch) return;
+ const Guilds = _pluginapi__WEBPACK_IMPORTED_MODULE_1__["default"].findModuleByDisplayName("Guilds");
+ const guildComponents = _pluginapi__WEBPACK_IMPORTED_MODULE_1__["default"].findModuleByProps("renderListItem");
+ if (!guildComponents || !Guilds) return;
+ const GuildSeparator = function() {
+ const returnValue = guildComponents.Separator(...arguments);
+ returnValue.props.className += " bd-guild-separator";
+ return returnValue;
+ };
+ this.guildSeparatorPatch = _pluginapi__WEBPACK_IMPORTED_MODULE_1__["default"].monkeyPatch(Guilds.prototype, "render", {after: (data) => {
+ data.returnValue.props.children[1].props.children[3].type = GuildSeparator;
+ }});
+ }
+
+});
+
+/***/ }),
+
+/***/ "./src/modules/classnormalizer.js":
+/*!****************************************!*\
+ !*** ./src/modules/classnormalizer.js ***!
+ \****************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return ClassNormalizer; });
+/* harmony import */ var _webpackmodules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./webpackmodules */ "./src/modules/webpackmodules.js");
+
+
+const normalizedPrefix = "da";
+const randClass = new RegExp(`^(?!${normalizedPrefix}-)((?:[A-Za-z]|[0-9]|-)+)-(?:[A-Za-z]|[0-9]|-|_){6}$`);
+
+class ClassNormalizer {
+ get id() {return "fork-ps-4";}
+ get name() {return "ClassNormalizer";}
+
+ stop() {
+ if (!this.hasPatched) return;
+ this.unpatchClassModules(_webpackmodules__WEBPACK_IMPORTED_MODULE_0__["default"].getModules(this.moduleFilter.bind(this)));
+ this.revertElement(document.querySelector("#app-mount"));
+ this.hasPatched = false;
+ }
+
+ start() {
+ if (this.hasPatched) return;
+ this.patchClassModules(_webpackmodules__WEBPACK_IMPORTED_MODULE_0__["default"].getModules(this.moduleFilter.bind(this)));
+ this.normalizeElement(document.querySelector("#app-mount"));
+ this.hasPatched = true;
+ }
+
+ patchClassModules(modules) {
+ for (const module of modules) {
+ this.patchClassModule(normalizedPrefix, module);
+ }
+ }
+
+ unpatchClassModules(modules) {
+ for (const module of modules) {
+ this.unpatchClassModule(normalizedPrefix, module);
+ }
+ }
+
+ shouldIgnore(value) {
+ if (!isNaN(value)) return true;
+ if (value.endsWith("px") || value.endsWith("ch") || value.endsWith("em") || value.endsWith("ms")) return true;
+ if (value.startsWith("layerContainer-")) return true;
+ if (value.startsWith("#") && (value.length == 7 || value.length == 4)) return true;
+ if (value.includes("calc(") || value.includes("rgba")) return true;
+ return false;
+ }
+
+ moduleFilter(module) {
+ if (typeof module !== "object" || Array.isArray(module)) return false;
+ if (module.__esModule) return false;
+ if (!Object.keys(module).length) return false;
+ for (const baseClassName in module) {
+ const value = module[baseClassName];
+ if (typeof value !== "string") return false;
+ if (this.shouldIgnore(value)) continue;
+ if (value.split("-").length === 1) return false;
+ if (!randClass.test(value.split(" ")[0])) return false;
+ }
+
+ return true;
+ }
+
+ patchClassModule(componentName, classNames) {
+ for (const baseClassName in classNames) {
+ const value = classNames[baseClassName];
+ if (this.shouldIgnore(value)) continue;
+ const classList = value.split(" ");
+ for (const normalClass of classList) {
+ const match = normalClass.match(randClass)[1];
+ if (!match) continue; // Shouldn't ever happen since they passed the moduleFilter, but you never know
+ const camelCase = match.split("-").map((s, i) => i ? s[0].toUpperCase() + s.slice(1) : s).join("");
+ classNames[baseClassName] += ` ${componentName}-${camelCase}`;
+ }
+ }
+ }
+
+ unpatchClassModule(componentName, classNames) {
+ for (const baseClassName in classNames) {
+ const value = classNames[baseClassName];
+ if (this.shouldIgnore(value)) continue;
+ let newString = "";
+ const classList = value.split(" ");
+ for (const normalClass of classList) {
+ if (normalClass.startsWith(`${componentName}-`)) continue;
+ newString += ` ${normalClass}`;
+ }
+ classNames[baseClassName] = newString.trim();
+ }
+ }
+
+ normalizeElement(element) {
+ if (!(element instanceof Element)) return;
+ const classes = element.classList;
+ for (let c = 0, clen = classes.length; c < clen; c++) {
+ if (!randClass.test(classes[c])) continue;
+ const match = classes[c].match(randClass)[1];
+ const newClass = match.split("-").map((s, i) => i ? s[0].toUpperCase() + s.slice(1) : s).join("");
+ element.classList.add(`${normalizedPrefix}-${newClass}`);
+ }
+ for (const child of element.children) this.normalizeElement(child);
+ }
+
+ revertElement(element) {
+ if (!(element instanceof Element)) return;
+ if (element.children && element.children.length) this.revertElement(element.children[0]);
+ if (element.nextElementSibling) this.revertElement(element.nextElementSibling);
+ const classes = element.classList;
+ const toRemove = [];
+ for (let c = 0; c < classes.length; c++) {
+ if (classes[c].startsWith(`${normalizedPrefix}-`)) toRemove.push(classes[c]);
+ }
+ element.classList.remove(...toRemove);
+ }
+
+}
+
+/***/ }),
+
+/***/ "./src/modules/contentmanager.js":
+/*!***************************************!*\
+ !*** ./src/modules/contentmanager.js ***!
+ \***************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+window.bdthemes = {};
+window.bdplugins = {};
+var ContentManager = (() => {
+ const path = __webpack_require__(/*! path */ "path");
+ const fs = __webpack_require__(/*! fs */ "fs");
+ const Module = __webpack_require__(/*! module */ "module").Module;
+ Module.globalPaths.push(path.resolve(__webpack_require__(/*! electron */ "electron").remote.app.getAppPath(), "node_modules"));
+ class MetaError extends Error {
+ constructor(message) {
+ super(message);
+ this.name = "MetaError";
+ }
+ }
+ const originalJSRequire = Module._extensions[".js"];
+ const originalCSSRequire = Module._extensions[".css"] ? Module._extensions[".css"] : () => {return null;};
+
+
+
+ return new class ContentManager {
+
+ constructor() {
+ this.timeCache = {};
+ this.watchers = {};
+ Module._extensions[".js"] = this.getContentRequire("plugin");
+ Module._extensions[".css"] = this.getContentRequire("theme");
+ }
+
+ get pluginsFolder() {return this._pluginsFolder || (this._pluginsFolder = fs.realpathSync(path.resolve(bdConfig.dataPath + "plugins/")));}
+ get themesFolder() {return this._themesFolder || (this._themesFolder = fs.realpathSync(path.resolve(bdConfig.dataPath + "themes/")));}
+
+ watchContent(contentType) {
+ if (this.watchers[contentType]) return;
+ const isPlugin = contentType === "plugin";
+ const baseFolder = isPlugin ? this.pluginsFolder : this.themesFolder;
+ const fileEnding = isPlugin ? ".plugin.js" : ".theme.css";
+ this.watchers[contentType] = fs.watch(baseFolder, {persistent: false}, async (eventType, filename) => {
+ if (!eventType || !filename || !filename.endsWith(fileEnding)) return;
+ await new Promise(r => setTimeout(r, 50));
+ try {fs.statSync(path.resolve(baseFolder, filename));}
+ catch (err) {
+ if (err.code !== "ENOENT") return;
+ delete this.timeCache[filename];
+ if (isPlugin) return pluginModule.unloadPlugin(filename);
+ return themeModule.unloadTheme(filename);
+ }
+ if (!fs.statSync(path.resolve(baseFolder, filename)).isFile()) return;
+ const stats = fs.statSync(path.resolve(baseFolder, filename));
+ if (!stats || !stats.mtime || !stats.mtime.getTime()) return;
+ if (typeof(stats.mtime.getTime()) !== "number") return;
+ if (this.timeCache[filename] == stats.mtime.getTime()) return;
+ this.timeCache[filename] = stats.mtime.getTime();
+ if (eventType == "rename") {
+ if (isPlugin) pluginModule.loadPlugin(filename);
+ else themeModule.loadTheme(filename);
+ }
+ if (eventType == "change") {
+ if (isPlugin) pluginModule.reloadPlugin(filename);
+ else themeModule.reloadTheme(filename);
+ }
+ });
+ }
+
+ unwatchContent(contentType) {
+ if (!this.watchers[contentType]) return;
+ this.watchers[contentType].close();
+ delete this.watchers[contentType];
+ }
+
+ extractMeta(content) {
+ const meta = content.split("\n")[0];
+ const rawMeta = meta.substring(meta.lastIndexOf("//META") + 6, meta.lastIndexOf("*//"));
+ if (meta.indexOf("META") < 0) throw new MetaError("META was not found.");
+ if (!Utils.testJSON(rawMeta)) throw new MetaError("META could not be parsed.");
+
+ const parsed = JSON.parse(rawMeta);
+ if (!parsed.name) throw new MetaError("META missing name data.");
+ return parsed;
+ }
+
+ getContentRequire(type) {
+ const isPlugin = type === "plugin";
+ const self = this;
+ const originalRequire = isPlugin ? originalJSRequire : originalCSSRequire;
+ return function(module, filename) {
+ const baseFolder = isPlugin ? self.pluginsFolder : self.themesFolder;
+ const possiblePath = path.resolve(baseFolder, path.basename(filename));
+ if (!fs.existsSync(possiblePath) || filename !== fs.realpathSync(possiblePath)) return Reflect.apply(originalRequire, this, arguments);
+ let content = fs.readFileSync(filename, "utf8");
+ content = Utils.stripBOM(content);
+
+ const meta = self.extractMeta(content);
+ meta.filename = path.basename(filename);
+ if (!isPlugin) {
+ meta.css = content.split("\n").slice(1).join("\n");
+ content = `module.exports = ${JSON.stringify(meta)};`;
+ }
+ if (isPlugin) {
+ content += `\nmodule.exports = ${JSON.stringify(meta)};\nmodule.exports.type = ${meta.name};`;
+ }
+ module._compile(content, filename);
+ };
+ }
+
+ makePlaceholderPlugin(data) {
+ return {plugin: {
+ start: () => {},
+ getName: () => {return data.name || data.filename;},
+ getAuthor: () => {return "???";},
+ getDescription: () => {return data.message ? data.message : "This plugin was unable to be loaded. Check the author's page for updates.";},
+ getVersion: () => {return "???";}
+ },
+ name: data.name || data.filename,
+ filename: data.filename,
+ source: data.source ? data.source : "",
+ website: data.website ? data.website : ""
+ };
+ }
+
+ loadContent(filename, type) {
+ if (typeof(filename) === "undefined" || typeof(type) === "undefined") return;
+ const isPlugin = type === "plugin";
+ const baseFolder = isPlugin ? this.pluginsFolder : this.themesFolder;
+ try {require(path.resolve(baseFolder, filename));}
+ catch (error) {return {name: filename, file: filename, message: "Could not be compiled.", error: {message: error.message, stack: error.stack}};}
+ const content = require(path.resolve(baseFolder, filename));
+ if (isPlugin) {
+ if (!content.type) return;
+ try {
+ content.plugin = new content.type();
+ delete bdplugins[content.plugin.getName()];
+ bdplugins[content.plugin.getName()] = content;
+ }
+ catch (error) {return {name: filename, file: filename, message: "Could not be constructed.", error: {message: error.message, stack: error.stack}};}
+ }
+ else {
+ delete bdthemes[content.name];
+ bdthemes[content.name] = content;
+ }
+ }
+
+ unloadContent(filename, type) {
+ if (typeof(filename) === "undefined" || typeof(type) === "undefined") return;
+ const isPlugin = type === "plugin";
+ const baseFolder = isPlugin ? this.pluginsFolder : this.themesFolder;
+ try {
+ delete require.cache[require.resolve(path.resolve(baseFolder, filename))];
+ }
+ catch (err) {return {name: filename, file: filename, message: "Could not be unloaded.", error: {message: err.message, stack: err.stack}};}
+ }
+
+ isLoaded(filename, type) {
+ const isPlugin = type === "plugin";
+ const baseFolder = isPlugin ? this.pluginsFolder : this.themesFolder;
+ try {require.cache[require.resolve(path.resolve(baseFolder, filename))];}
+ catch (err) {return false;}
+ return true;
+ }
+
+ reloadContent(filename, type) {
+ const cantUnload = this.unloadContent(filename, type);
+ if (cantUnload) return cantUnload;
+ return this.loadContent(filename, type);
+ }
+
+ loadNewContent(type) {
+ const isPlugin = type === "plugin";
+ const fileEnding = isPlugin ? ".plugin.js" : ".theme.css";
+ const basedir = isPlugin ? this.pluginsFolder : this.themesFolder;
+ const files = fs.readdirSync(basedir);
+ const contentList = Object.values(isPlugin ? bdplugins : bdthemes);
+ const removed = contentList.filter(t => !files.includes(t.filename)).map(c => isPlugin ? c.plugin.getName() : c.name);
+ const added = files.filter(f => !contentList.find(t => t.filename == f) && f.endsWith(fileEnding) && fs.statSync(path.resolve(basedir, f)).isFile());
+ return {added, removed};
+ }
+
+ loadAllContent(type) {
+ const isPlugin = type === "plugin";
+ const fileEnding = isPlugin ? ".plugin.js" : ".theme.css";
+ const basedir = isPlugin ? this.pluginsFolder : this.themesFolder;
+ const errors = [];
+ const files = fs.readdirSync(basedir);
+
+ for (const filename of files) {
+ if (!fs.statSync(path.resolve(basedir, filename)).isFile() || !filename.endsWith(fileEnding)) continue;
+ const error = this.loadContent(filename, type);
+ if (error) errors.push(error);
+ }
+
+ return errors;
+ }
+
+ loadPlugins() {return this.loadAllContent("plugin");}
+ loadThemes() {return this.loadAllContent("theme");}
+ };
+})();
+
+/***/ }),
+
+/***/ "./src/modules/core.js":
+/*!*****************************!*\
+ !*** ./src/modules/core.js ***!
+ \*****************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utilities */ "./src/modules/utilities.js");
+/* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_utilities__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _data_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../data/config */ "./src/data/config.js");
+/* harmony import */ var _data_settingscookie__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../data/settingscookie */ "./src/data/settingscookie.js");
+/* harmony import */ var _bdv2__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./bdv2 */ "./src/modules/bdv2.js");
+/* harmony import */ var _emotes__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./emotes */ "./src/modules/emotes.js");
+/* harmony import */ var _emotemenu__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./emotemenu */ "./src/modules/emotemenu.js");
+/* harmony import */ var _voicemode__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./voicemode */ "./src/modules/voicemode.js");
+/* harmony import */ var _devmode__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./devmode */ "./src/modules/devmode.js");
+/* harmony import */ var _pluginmanager__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./pluginmanager */ "./src/modules/pluginmanager.js");
+/* harmony import */ var _thememanager__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./thememanager */ "./src/modules/thememanager.js");
+/* harmony import */ var _datastore__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./datastore */ "./src/modules/datastore.js");
+/* harmony import */ var ui__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ui */ "./src/ui/ui.js");
+
+
+
+
+
+
+
+
+
+
+
+
+
+function Core(config) {
+ Object.assign(_data_config__WEBPACK_IMPORTED_MODULE_1__["default"], config);
+}
+
+Core.prototype.init = async function() {
+ if (_data_config__WEBPACK_IMPORTED_MODULE_1__["default"].version < _data_config__WEBPACK_IMPORTED_MODULE_1__["default"].minSupportedVersion) {
+ this.alert("Not Supported", "BetterDiscord v" + _data_config__WEBPACK_IMPORTED_MODULE_1__["default"].version + " (your version)" + " is not supported by the latest js (" + _data_config__WEBPACK_IMPORTED_MODULE_1__["default"].bbdVersion + ").
Please download the latest version from GitHub");
+ return;
+ }
+
+ if (_data_config__WEBPACK_IMPORTED_MODULE_1__["default"].updater.LatestVersion > _data_config__WEBPACK_IMPORTED_MODULE_1__["default"].version) {
+ this.alert("Update Available", `
+ An update for BandagedBD is available (${_data_config__WEBPACK_IMPORTED_MODULE_1__["default"].updater.LatestVersion})! Please Reinstall!
+ Download Installer
+ `);
+ }
+
+ _utilities__WEBPACK_IMPORTED_MODULE_0___default.a.log("Startup", "Initializing Settings");
+ this.initSettings();
+ this.emoteModule = new _emotes__WEBPACK_IMPORTED_MODULE_4__["default"]();
+ this.quickEmoteMenu = new _emotemenu__WEBPACK_IMPORTED_MODULE_5__["default"]();
+ _utilities__WEBPACK_IMPORTED_MODULE_0___default.a.log("Startup", "Initializing EmoteModule");
+ window.emotePromise = this.emoteModule.init().then(() => {
+ this.emoteModule.initialized = true;
+ _utilities__WEBPACK_IMPORTED_MODULE_0___default.a.log("Startup", "Initializing QuickEmoteMenu");
+ this.quickEmoteMenu.init();
+ });
+ this.publicServersModule = new ui__WEBPACK_IMPORTED_MODULE_11__["PublicServers"]();
+
+ this.voiceMode = new _voicemode__WEBPACK_IMPORTED_MODULE_6__["default"]();
+ this.dMode = new _devmode__WEBPACK_IMPORTED_MODULE_7__["default"]();
+
+ this.injectExternals();
+
+ await this.checkForGuilds();
+ _bdv2__WEBPACK_IMPORTED_MODULE_3__["default"].initialize();
+ _utilities__WEBPACK_IMPORTED_MODULE_0___default.a.log("Startup", "Updating Settings");
+ this.settingsPanel = new ui__WEBPACK_IMPORTED_MODULE_11__["SettingsPanel"]();
+ this.settingsPanel.initializeSettings();
+
+ _utilities__WEBPACK_IMPORTED_MODULE_0___default.a.log("Startup", "Loading Plugins");
+ this.pluginModule = new _pluginmanager__WEBPACK_IMPORTED_MODULE_8__["default"]();
+ const pluginErrors = this.pluginModule.loadPlugins();
+
+ _utilities__WEBPACK_IMPORTED_MODULE_0___default.a.log("Startup", "Loading Themes");
+ this.themeModule = new _thememanager__WEBPACK_IMPORTED_MODULE_9__["default"]();
+ const themeErrors = this.themeModule.loadThemes();
+
+ $("#customcss").detach().appendTo(document.head);
+
+ window.addEventListener("beforeunload", function() {
+ if (_data_settingscookie__WEBPACK_IMPORTED_MODULE_2__["default"]["bda-dc-0"]) document.querySelector(".btn.btn-disconnect").click();
+ });
+
+ this.publicServersModule.initialize();
+
+ this.emoteModule.autoCapitalize();
+
+ _utilities__WEBPACK_IMPORTED_MODULE_0___default.a.log("Startup", "Removing Loading Icon");
+ document.getElementsByClassName("bd-loaderv2")[0].remove();
+ _utilities__WEBPACK_IMPORTED_MODULE_0___default.a.log("Startup", "Initializing Main Observer");
+ this.initObserver();
+
+ // Show loading errors
+ if (_data_settingscookie__WEBPACK_IMPORTED_MODULE_2__["default"]["fork-ps-1"]) {
+ _utilities__WEBPACK_IMPORTED_MODULE_0___default.a.log("Startup", "Collecting Startup Errors");
+ this.showContentErrors({plugins: pluginErrors, themes: themeErrors});
+ }
+
+ // if (!DataStore.getBDData(bbdVersion)) {
+ // BdApi.alert("BBD Updated!", ["Lots of things were fixed in this update like Public Servers, Minimal Mode, Dark Mode and 24 Hour Timestamps.", BdApi.React.createElement("br"), BdApi.React.createElement("br"), "Feel free to test them all out!"]);
+ // DataStore.setBDData(bbdVersion, true);
+ // }
+};
+
+Core.prototype.checkForGuilds = function() {
+ return new Promise(resolve => {
+ const checkForGuilds = function() {
+ const wrapper = _bdv2__WEBPACK_IMPORTED_MODULE_3__["default"].guildClasses.wrapper.split(" ")[0];
+ const guild = _bdv2__WEBPACK_IMPORTED_MODULE_3__["default"].guildClasses.listItem.split(" ")[0];
+ const blob = _bdv2__WEBPACK_IMPORTED_MODULE_3__["default"].guildClasses.blobContainer.split(" ")[0];
+ if (document.querySelectorAll(`.${wrapper} .${guild} .${blob}`).length > 0) return resolve(_data_config__WEBPACK_IMPORTED_MODULE_1__["default"].deferLoaded = true);
+ setTimeout(checkForGuilds, 100);
+ };
+ $(document).ready(function () {
+ setTimeout(checkForGuilds, 100);
+ });
+ });
+};
+
+Core.prototype.injectExternals = async function() {
+ await _utilities__WEBPACK_IMPORTED_MODULE_0___default.a.injectJs("https://cdnjs.cloudflare.com/ajax/libs/ace/1.2.9/ace.js");
+ // if (require.original) window.require = require.original;
+};
+
+Core.prototype.initSettings = function () {
+ _datastore__WEBPACK_IMPORTED_MODULE_10__["default"].initialize();
+ if (!_datastore__WEBPACK_IMPORTED_MODULE_10__["default"].getSettingGroup("settings")) return this.saveSettings();
+ const savedSettings = this.loadSettings();
+ $("");
+ }
+ $("#customcss").text(this.editor.session.getValue()).detach().appendTo(document.head);
+ }
+
+ saveCss() {
+ modules__WEBPACK_IMPORTED_MODULE_1__["DataStore"].setBDData("bdcustomcss", btoa(this.editor.session.getValue()));
+ }
+}
+
+/***/ }),
+
+/***/ "./src/ui/customcss/editor.js":
+/*!************************************!*\
+ !*** ./src/ui/customcss/editor.js ***!
+ \************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return V2C_CssEditor; });
+/* harmony import */ var _data_settingscookie__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../data/settingscookie */ "./src/data/settingscookie.js");
+/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! modules */ "./src/modules/modules.js");
+/* harmony import */ var _detached__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./detached */ "./src/ui/customcss/detached.js");
+/* harmony import */ var _settings_checkbox__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../settings/checkbox */ "./src/ui/settings/checkbox.js");
+/* harmony import */ var _settings_title__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../settings/title */ "./src/ui/settings/title.js");
+
+
+
+
+
+
+
+class V2C_CssEditor extends modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].reactComponent {
+
+ constructor(props) {
+ super(props);
+ let self = this;
+ self.props.lines = 0;
+ self.setInitialState();
+ self.attach = self.attach.bind(self);
+ self.detachedEditor = modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement(_detached__WEBPACK_IMPORTED_MODULE_2__["default"], {attach: self.attach});
+ self.onClick = self.onClick.bind(self);
+ self.updateCss = self.updateCss.bind(self);
+ self.saveCss = self.saveCss.bind(self);
+ self.detach = self.detach.bind(self);
+ }
+
+ setInitialState() {
+ this.state = {
+ detached: this.props.detached || modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].editorDetached
+ };
+ }
+
+ componentDidMount() {
+ // this.updateLineCount();
+ this.editor = ace.edit("bd-customcss-editor");
+ this.editor.setTheme("ace/theme/monokai");
+ this.editor.session.setMode("ace/mode/css");
+ this.editor.setShowPrintMargin(false);
+ this.editor.setFontSize(14);
+ this.editor.on("change", () => {
+ if (!_data_settingscookie__WEBPACK_IMPORTED_MODULE_0__["default"]["bda-css-0"]) return;
+ this.saveCss();
+ this.updateCss();
+ });
+ }
+
+ componentWillUnmount() {
+ this.editor.destroy();
+ }
+
+ componentDidUpdate(prevProps, prevState) {
+ let self = this;
+ if (prevState.detached && !self.state.detached) {
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].reactDom.unmountComponentAtNode(self.detachedRoot);
+ }
+ }
+
+ codeMirror() {
+ }
+
+ get options() {
+ return {
+ lineNumbers: true,
+ mode: "css",
+ indentUnit: 4,
+ theme: "material",
+ scrollbarStyle: "simple"
+ };
+ }
+
+ get css() {
+ let _ccss = modules__WEBPACK_IMPORTED_MODULE_1__["DataStore"].getBDData("bdcustomcss");
+ let ccss = "";
+ if (_ccss && _ccss !== "") {
+ ccss = atob(_ccss);
+ }
+ return ccss;
+ }
+
+ updateLineCount() {
+ let lineCount = this.refs.editor.value.split("\n").length;
+ if (lineCount == this.props.lines) return;
+ this.refs.lines.textContent = Array.from(new Array(lineCount), (_, i) => i + 1).join(".\n") + ".";
+ this.props.lines = lineCount;
+ }
+
+ render() {
+ let self = this;
+
+ let {detached} = self.state;
+ return modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement(
+ "div",
+ {className: "contentColumn-2hrIYH contentColumnDefault-1VQkGM content-column default", style: {padding: "60px 40px 0px"}},
+ detached && modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement(
+ "div",
+ {id: "editor-detached"},
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement(_settings_title__WEBPACK_IMPORTED_MODULE_4__["default"], {text: "Custom CSS Editor"}),
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement(
+ "h3",
+ null,
+ "Editor Detached"
+ ),
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement(
+ "button",
+ {className: "btn btn-primary", onClick: () => {
+ self.attach();
+ }},
+ "Attach"
+ )
+ ),
+ !detached && modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement(
+ "div",
+ null,
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement(_settings_title__WEBPACK_IMPORTED_MODULE_4__["default"], {text: "Custom CSS Editor"}),
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("div", {className: "editor-wrapper"},
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("div", {id: "bd-customcss-editor", className: "editor", ref: "editor"}, self.css)
+ ),
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement(
+ "div",
+ {id: "bd-customcss-attach-controls"},
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement(
+ "ul",
+ {className: "checkbox-group"},
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement(_settings_checkbox__WEBPACK_IMPORTED_MODULE_3__["default"], {id: "live-update", text: "Live Update", onChange: this.onChange, checked: _data_settingscookie__WEBPACK_IMPORTED_MODULE_0__["default"]["bda-css-0"]})
+ ),
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement(
+ "div",
+ {id: "bd-customcss-detach-controls-button"},
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement(
+ "button",
+ {style: {borderRadius: "3px 0 0 3px", borderRight: "1px solid #3f4146"}, className: "btn btn-primary", onClick: () => {
+ self.onClick("update");
+ }},
+ "Update"
+ ),
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement(
+ "button",
+ {style: {borderRadius: "0", borderLeft: "1px solid #2d2d2d", borderRight: "1px solid #2d2d2d"}, className: "btn btn-primary", onClick: () => {
+ self.onClick("save");
+ }},
+ "Save"
+ ),
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement(
+ "button",
+ {style: {borderRadius: "0 3px 3px 0", borderLeft: "1px solid #3f4146"}, className: "btn btn-primary", onClick: () => {
+ self.onClick("detach");
+ }},
+ "Detach"
+ ),
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement(
+ "span",
+ {style: {fontSize: "10px", marginLeft: "5px"}},
+ "Unsaved changes are lost on detach"
+ ),
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("div", {className: "help-text"},
+ "Press ",
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("code", {className: "inline"}, "ctrl"),
+ "+",
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("span", {className: "inline"}, ","),
+ " with the editor focused to access the editor's settings."
+ )
+ )
+ )
+ )
+ );
+ }
+
+ onClick(arg) {
+ let self = this;
+ switch (arg) {
+ case "update":
+ self.updateCss();
+ break;
+ case "save":
+ self.saveCss();
+ break;
+ case "detach":
+ self.detach();
+ break;
+ }
+ }
+
+ onChange(id, checked) {
+ switch (id) {
+ case "live-update":
+ _data_settingscookie__WEBPACK_IMPORTED_MODULE_0__["default"]["bda-css-0"] = checked;
+ window.mainCore.saveSettings();
+ break;
+ }
+ }
+
+ updateCss() {
+ if ($("#customcss").length == 0) {
+ $("head").append("");
+ }
+ $("#customcss").text(this.editor.session.getValue()).detach().appendTo(document.head);
+ }
+
+ saveCss() {
+ modules__WEBPACK_IMPORTED_MODULE_1__["DataStore"].setBDData("bdcustomcss", btoa(this.editor.session.getValue()));
+ }
+
+ detach() {
+ let self = this;
+ self.setState({
+ detached: true
+ });
+ let droot = self.detachedRoot;
+ if (!droot) {
+ console.log("FAILED TO INJECT ROOT: .app");
+ return;
+ }
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].reactDom.render(self.detachedEditor, droot);
+ }
+
+ get detachedRoot() {
+ let _root = $("#bd-customcss-detach-container");
+ if (!_root.length) {
+ if (!this.injectDetachedRoot()) return null;
+ return this.detachedRoot;
+ }
+ return _root[0];
+ }
+
+ injectDetachedRoot() {
+ if (!$(".app, .app-2rEoOp").length) return false;
+ $("
", {
+ id: "bd-customcss-detach-container"
+ }).insertAfter($(".app, .app-2rEoOp"));
+ return true;
+ }
+
+ attach() {
+ let self = this;
+ self.setState({
+ detached: false
+ });
+ }
+}
+
+/***/ }),
+
+/***/ "./src/ui/emote.js":
+/*!*************************!*\
+ !*** ./src/ui/emote.js ***!
+ \*************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return BDEmote; });
+/* harmony import */ var _data_settingscookie__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../data/settingscookie */ "./src/data/settingscookie.js");
+/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! modules */ "./src/modules/modules.js");
+
+
+
+class BDEmote extends modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].reactComponent {
+ constructor(props) {
+ super(props);
+
+ const isFav = window.mainCore.quickEmoteMenu && window.mainCore.quickEmoteMenu.favoriteEmotes && window.mainCore.quickEmoteMenu.favoriteEmotes[this.label] ? true : false;
+ this.state = {
+ shouldAnimate: !this.animateOnHover,
+ isFavorite: isFav
+ };
+
+ this.onMouseEnter = this.onMouseEnter.bind(this);
+ this.onMouseLeave = this.onMouseLeave.bind(this);
+ this.onClick = this.onClick.bind(this);
+ }
+
+ get animateOnHover() {
+ return _data_settingscookie__WEBPACK_IMPORTED_MODULE_0__["default"]["fork-es-2"];
+ }
+
+ get label() {
+ return this.props.modifier ? `${this.props.name}:${this.props.modifier}` : this.props.name;
+ }
+
+ get modifierClass() {
+ return this.props.modifier ? ` emote${this.props.modifier}` : "";
+ }
+
+ onMouseEnter() {
+ if (!this.state.shouldAnimate && this.animateOnHover) this.setState({shouldAnimate: true});
+ if (!this.state.isFavorite && window.mainCore.quickEmoteMenu.favoriteEmotes[this.label]) this.setState({isFavorite: true});
+ else if (this.state.isFavorite && !window.mainCore.quickEmoteMenu.favoriteEmotes[this.label]) this.setState({isFavorite: false});
+ }
+
+ onMouseLeave() {
+ if (this.state.shouldAnimate && this.animateOnHover) this.setState({shouldAnimate: false});
+ }
+
+ onClick(e) {
+ if (this.props.onClick) this.props.onClick(e);
+ }
+
+ render() {
+ return modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement(modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].TooltipWrapper, {
+ color: "black",
+ position: "top",
+ text: this.label,
+ delay: 750
+ },
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("div", {
+ className: "emotewrapper" + (this.props.jumboable ? " jumboable" : ""),
+ onMouseEnter: this.onMouseEnter,
+ onMouseLeave: this.onMouseLeave,
+ onClick: this.onClick
+ },
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("img", {
+ draggable: false,
+ className: "emote" + this.modifierClass + (this.props.jumboable ? " jumboable" : "") + (!this.state.shouldAnimate ? " stop-animation" : ""),
+ dataModifier: this.props.modifier,
+ alt: this.label,
+ src: this.props.url
+ }),
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("input", {
+ className: "fav" + (this.state.isFavorite ? " active" : ""),
+ title: "Favorite!",
+ type: "button",
+ onClick: (e) => {
+ e.preventDefault();
+ e.stopPropagation();
+ if (this.state.isFavorite) {
+ delete window.mainCore.quickEmoteMenu.favoriteEmotes[this.label];
+ window.mainCore.quickEmoteMenu.updateFavorites();
+ }
+ else {
+ window.mainCore.quickEmoteMenu.favorite(this.label, this.props.url);
+ }
+ this.setState({isFavorite: !this.state.isFavorite});
+ }
+ })
+ )
+ );
+ }
+}
+
+/***/ }),
+
+/***/ "./src/ui/icons/bdlogo.js":
+/*!********************************!*\
+ !*** ./src/ui/icons/bdlogo.js ***!
+ \********************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return BDLogo; });
+/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ "./src/modules/modules.js");
+
+
+class BDLogo extends modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].reactComponent {
+ render() {
+ return modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "svg",
+ {height: "100%", width: this.props.size || "16px", className: "bd-logo " + this.props.className, style: {fillRule: "evenodd", clipRule: "evenodd", strokeLinecap: "round", strokeLinejoin: "round"}, viewBox: "0 0 2000 2000"},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement("metadata", null),
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement("defs", null,
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement("filter", {id: "shadow1"}, modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement("feDropShadow", {"dx": "20", "dy": "0", "stdDeviation": "20", "flood-color": "rgba(0,0,0,0.35)"})),
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement("filter", {id: "shadow2"}, modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement("feDropShadow", {"dx": "15", "dy": "0", "stdDeviation": "20", "flood-color": "rgba(255,255,255,0.15)"})),
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement("filter", {id: "shadow3"}, modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement("feDropShadow", {"dx": "10", "dy": "0", "stdDeviation": "20", "flood-color": "rgba(0,0,0,0.35)"}))
+ ),
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement("g", null,
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement("path", {style: {filter: "url(#shadow3)"}, d: "M1195.44+135.442L1195.44+135.442L997.6+136.442C1024.2+149.742+1170.34+163.542+1193.64+179.742C1264.34+228.842+1319.74+291.242+1358.24+365.042C1398.14+441.642+1419.74+530.642+1422.54+629.642L1422.54+630.842L1422.54+632.042C1422.54+773.142+1422.54+1228.14+1422.54+1369.14L1422.54+1370.34L1422.54+1371.54C1419.84+1470.54+1398.24+1559.54+1358.24+1636.14C1319.74+1709.94+1264.44+1772.34+1193.64+1821.44C1171.04+1837.14+1025.7+1850.54+1000+1863.54L1193.54+1864.54C1539.74+1866.44+1864.54+1693.34+1864.54+1296.64L1864.54+716.942C1866.44+312.442+1541.64+135.442+1195.44+135.442Z", fill: "#171717", opacity: "1"}),
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement("path", {style: {filter: "url(#shadow2)"}, d: "M1695.54+631.442C1685.84+278.042+1409.34+135.442+1052.94+135.442L361.74+136.442L803.74+490.442L1060.74+490.442C1335.24+490.442+1335.24+835.342+1060.74+835.342L1060.74+1164.84C1150.22+1164.84+1210.53+1201.48+1241.68+1250.87C1306.07+1353+1245.76+1509.64+1060.74+1509.64L361.74+1863.54L1052.94+1864.54C1409.24+1864.54+1685.74+1721.94+1695.54+1368.54C1695.54+1205.94+1651.04+1084.44+1572.64+999.942C1651.04+915.542+1695.54+794.042+1695.54+631.442Z", fill: "#3E82E5", opacity: "1"}),
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement("path", {style: {filter: "url(#shadow1)"}, d: "M1469.25+631.442C1459.55+278.042+1183.05+135.442+826.65+135.442L135.45+135.442L135.45+1004C135.45+1004+135.427+1255.21+355.626+1255.21C575.825+1255.21+575.848+1004+575.848+1004L577.45+490.442L834.45+490.442C1108.95+490.442+1108.95+835.342+834.45+835.342L664.65+835.342L664.65+1164.84L834.45+1164.84C923.932+1164.84+984.244+1201.48+1015.39+1250.87C1079.78+1353+1019.47+1509.64+834.45+1509.64L135.45+1509.64L135.45+1864.54L826.65+1864.54C1182.95+1864.54+1459.45+1721.94+1469.25+1368.54C1469.25+1205.94+1424.75+1084.44+1346.35+999.942C1424.75+915.542+1469.25+794.042+1469.25+631.442Z", fill: "#FFFFFF", opacity: "1"})
+ )
+ );
+ }
+}
+
+/***/ }),
+
+/***/ "./src/ui/icons/close.js":
+/*!*******************************!*\
+ !*** ./src/ui/icons/close.js ***!
+ \*******************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return V2C_XSvg; });
+/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ "./src/modules/modules.js");
+
+
+class V2C_XSvg extends modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].reactComponent {
+ constructor(props) {
+ super(props);
+ }
+
+ render() {
+ return modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "svg",
+ {xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 12 12", style: {width: "18px", height: "18px"}},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "g",
+ {className: "background", fill: "none", fillRule: "evenodd"},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement("path", {d: "M0 0h12v12H0"}),
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement("path", {className: "fill", fill: "#dcddde", d: "M9.5 3.205L8.795 2.5 6 5.295 3.205 2.5l-.705.705L5.295 6 2.5 8.795l.705.705L6 6.705 8.795 9.5l.705-.705L6.705 6"})
+ )
+ );
+ }
+}
+
+/***/ }),
+
+/***/ "./src/ui/icons/reload.js":
+/*!********************************!*\
+ !*** ./src/ui/icons/reload.js ***!
+ \********************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return V2C_ReloadIcon; });
+/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ "./src/modules/modules.js");
+
+
+class V2C_ReloadIcon extends modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].reactComponent {
+ constructor(props) {
+ super(props);
+ }
+
+ render() {
+ return modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement("svg", {
+ xmlns: "http://www.w3.org/2000/svg",
+ viewBox: "0 0 24 24",
+ fill: "#dcddde",
+ className: "bd-reload " + this.props.className,
+ onClick: this.props.onClick,
+ style: {width: this.props.size || "24px", height: this.props.size || "24px"}
+ },
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement("path", {d: "M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"}),
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement("path", {fill: "none", d: "M0 0h24v24H0z"})
+ );
+ }
+}
+
+/***/ }),
+
+/***/ "./src/ui/layer.js":
+/*!*************************!*\
+ !*** ./src/ui/layer.js ***!
+ \*************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return V2C_Layer; });
+/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ "./src/modules/modules.js");
+
+
+class V2C_Layer extends modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].reactComponent {
+
+ constructor(props) {
+ super(props);
+ }
+
+ componentDidMount() {
+ $(window).on(`keyup.${this.props.id}`, e => {
+ if (e.which === 27) {
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].reactDom.unmountComponentAtNode(this.refs.root.parentNode);
+ }
+ });
+
+ $(`#${this.props.id}`).animate({opacity: 1}, {
+ step: function(now) {
+ $(this).css("transform", `scale(${1.1 - 0.1 * now}) translateZ(0px)`);
+ },
+ duration: 200,
+ done: () => {$(`#${this.props.id}`).css("opacity", "").css("transform", "");}
+ });
+ }
+
+ componentWillUnmount() {
+ $(window).off(`keyup.${this.props.id}`);
+ $(`#${this.props.id}`).animate({opacity: 0}, {
+ step: function(now) {
+ $(this).css("transform", `scale(${1.1 - 0.1 * now}) translateZ(0px)`);
+ },
+ duration: 200,
+ done: () => {$(`#${this.props.rootId}`).remove();}
+ });
+
+ $("[class*=\"layer-\"]").removeClass("publicServersOpen").animate({opacity: 1}, {
+ step: function(now) {
+ $(this).css("transform", `scale(${0.07 * now + 0.93}) translateZ(0px)`);
+ },
+ duration: 200,
+ done: () => {$("[class*=\"layer-\"]").css("opacity", "").css("transform", "");}
+ });
+
+ }
+
+ componentWillMount() {
+ $("[class*=\"layer-\"]").addClass("publicServersOpen").animate({opacity: 0}, {
+ step: function(now) {
+ $(this).css("transform", `scale(${0.07 * now + 0.93}) translateZ(0px)`);
+ },
+ duration: 200
+ });
+ }
+
+ render() {
+ return modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ {className: "layer bd-layer layer-3QrUeG", id: this.props.id, ref: "root", style: {opacity: 0, transform: "scale(1.1) translateZ(0px)"}},
+ this.props.children
+ );
+ }
+}
+
+/***/ }),
+
+/***/ "./src/ui/list.js":
+/*!************************!*\
+ !*** ./src/ui/list.js ***!
+ \************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return V2C_List; });
+/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ "./src/modules/modules.js");
+
+
+class V2C_List extends modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].reactComponent {
+ constructor(props) {
+ super(props);
+ }
+
+ render() {
+ return modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "ul",
+ {className: this.props.className},
+ this.props.children
+ );
+ }
+}
+
+/***/ }),
+
+/***/ "./src/ui/publicservers/card.js":
+/*!**************************************!*\
+ !*** ./src/ui/publicservers/card.js ***!
+ \**************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return V2C_ServerCard; });
+/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ "./src/modules/modules.js");
+
+
+class V2C_ServerCard extends modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].reactComponent {
+ constructor(props) {
+ super(props);
+ if (!this.props.server.iconUrl) this.props.server.iconUrl = this.props.fallback;
+ this.state = {
+ imageError: false,
+ joined: this.props.guildList.includes(this.props.server.identifier)
+ };
+ }
+
+ render() {
+ let {server} = this.props;
+ return modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div", // cardPrimary-1Hv-to
+ {className: `card-3Qj_Yx cardPrimary-1Hv-to marginBottom8-AtZOdT bd-server-card${server.pinned ? " bd-server-card-pinned" : ""}`},
+ // BDV2.react.createElement(
+ // "div",
+ // { className: "flex-1xMQg5 flex-1O1GKY horizontal-1ae9ci horizontal-2EEEnY flex-1O1GKY directionRow-3v3tfG justifyStart-2yIZo0 alignStretch-1hwxMa noWrap-3jynv6" },
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement("img", {ref: "img", className: "bd-server-image", src: server.iconUrl, onError: this.handleError.bind(this)}),
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ {className: "flexChild-faoVW3 bd-server-content"},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ {className: "flex-1xMQg5 flex-1O1GKY horizontal-1ae9ci horizontal-2EEEnY directionRow-3v3tfG noWrap-3jynv6 bd-server-header"},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "h5",
+ {className: "h5-18_1nd defaultColor-1_ajX0 margin-reset bd-server-name"},
+ server.name
+ ),
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "h5",
+ {className: "h5-18_1nd defaultColor-1_ajX0 margin-reset bd-server-member-count"},
+ server.members,
+ " Members"
+ )
+ ),
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ {className: "flex-1xMQg5 flex-1O1GKY horizontal-1ae9ci horizontal-2EEEnY directionRow-3v3tfG noWrap-3jynv6"},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ {className: "scrollerWrap-2lJEkd scrollerThemed-2oenus themeGhostHairline-DBD-2d scrollerFade-1Ijw5y bd-server-description-container"},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ {className: "scroller-2FKFPG scroller bd-server-description"},
+ server.description
+ )
+ )
+ ),
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ {className: "flex-1xMQg5 flex-1O1GKY horizontal-1ae9ci horizontal-2EEEnY directionRow-3v3tfG noWrap-3jynv6 bd-server-footer"},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ {className: "flexChild-faoVW3 bd-server-tags", style: {flex: "1 1 auto"}},
+ server.categories.join(", ")
+ ),
+ this.state.joined && modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "button",
+ {type: "button", className: "button-38aScr lookFilled-1Gx00P colorBrand-3pXr91 sizeMin-1mJd1x grow-q77ONN colorGreen-29iAKY", style: {minHeight: "12px", marginTop: "4px", backgroundColor: "#3ac15c"}},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ {className: "ui-button-contents"},
+ "Joined"
+ )
+ ),
+ server.error && modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "button",
+ {type: "button", className: "button-38aScr lookFilled-1Gx00P colorBrand-3pXr91 sizeMin-1mJd1x grow-q77ONN disabled-9aF2ug", style: {minHeight: "12px", marginTop: "4px", backgroundColor: "#c13a3a"}},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ {className: "ui-button-contents"},
+ "Error"
+ )
+ ),
+ !server.error && !this.state.joined && modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "button",
+ {type: "button", className: "button-38aScr lookFilled-1Gx00P colorBrand-3pXr91 sizeMin-1mJd1x grow-q77ONN", style: {minHeight: "12px", marginTop: "4px"}, onClick: () => {this.join();}},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ {className: "ui-button-contents"},
+ "Join"
+ )
+ )
+ )
+ )
+ // )
+ );
+ }
+
+ handleError() {
+ this.props.server.iconUrl = this.props.fallback;
+ this.setState({imageError: true});
+ }
+
+ join() {
+ this.props.join(this);
+ //this.setState({joined: true});
+ }
+}
+
+/***/ }),
+
+/***/ "./src/ui/publicservers/menu.js":
+/*!**************************************!*\
+ !*** ./src/ui/publicservers/menu.js ***!
+ \**************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return V2C_PublicServers; });
+/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ "./src/modules/modules.js");
+/* harmony import */ var _sidebarview__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../sidebarview */ "./src/ui/sidebarview.js");
+/* harmony import */ var _settings_exitbutton__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../settings/exitbutton */ "./src/ui/settings/exitbutton.js");
+/* harmony import */ var _settings_tabbar__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../settings/tabbar */ "./src/ui/settings/tabbar.js");
+/* harmony import */ var _settings_title__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../settings/title */ "./src/ui/settings/title.js");
+/* harmony import */ var _card__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./card */ "./src/ui/publicservers/card.js");
+
+
+
+
+
+
+
+class V2C_PublicServers extends modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].reactComponent {
+
+ constructor(props) {
+ super(props);
+ this.setInitialState();
+ this.close = this.close.bind(this);
+ this.changeCategory = this.changeCategory.bind(this);
+ this.search = this.search.bind(this);
+ this.searchKeyDown = this.searchKeyDown.bind(this);
+ this.checkConnection = this.checkConnection.bind(this);
+ this.join = this.join.bind(this);
+ this.connect = this.connect.bind(this);
+
+ this.GuildStore = modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].WebpackModules.findByUniqueProperties(["getGuilds"]);
+ this.AvatarDefaults = modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].WebpackModules.findByUniqueProperties(["getUserAvatarURL", "DEFAULT_AVATARS"]);
+ this.InviteActions = modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].WebpackModules.findByUniqueProperties(["acceptInvite"]);
+ this.SortedGuildStore = modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].WebpackModules.findByUniqueProperties(["getSortedGuilds"]);
+ }
+
+ componentDidMount() {
+ this.checkConnection();
+ }
+
+ setInitialState() {
+ this.state = {
+ selectedCategory: -1,
+ title: "Loading...",
+ loading: true,
+ servers: [],
+ next: null,
+ connection: {
+ state: 0,
+ user: null
+ }
+ };
+ }
+
+ close() {
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].reactDom.unmountComponentAtNode(document.getElementById(this.props.rootId));
+ }
+
+ search(query, clear) {
+ let self = this;
+
+ $.ajax({
+ method: "GET",
+ url: `${self.endPoint}${query}${query ? "&schema=new" : "?schema=new"}`,
+ success: data => {
+ let servers = data.results.reduce((arr, server) => {
+ server.joined = false;
+ arr.push(server);
+ // arr.push();
+ return arr;
+ }, []);
+
+ if (!clear) {
+ servers = self.state.servers.concat(servers);
+ }
+ else {
+ //servers.unshift(self.bdServer);
+ }
+
+ let end = data.size + data.from;
+ data.next = `?from=${end}`;
+ if (self.state.term) data.next += `&term=${self.state.term}`;
+ if (self.state.selectedCategory) data.next += `&category=${self.categoryButtons[self.state.selectedCategory]}`;
+ if (end >= data.total) {
+ end = data.total;
+ data.next = null;
+ }
+
+ let title = `Showing 1-${end} of ${data.total} results in ${self.categoryButtons[self.state.selectedCategory]}`;
+ if (self.state.term) title += ` for ${self.state.term}`;
+
+ self.setState({
+ loading: false,
+ title: title,
+ servers: servers,
+ next: data.next
+ });
+
+ if (clear) {
+ //console.log(self);
+ self.refs.sbv.refs.contentScroller.scrollTop = 0;
+ }
+ },
+ error: () => {
+ self.setState({
+ loading: false,
+ title: "Failed to load servers. Check console for details"
+ });
+ }
+ });
+ }
+
+ join(serverCard) {
+ if (serverCard.props.pinned) return this.InviteActions.acceptInvite(serverCard.props.invite_code);
+ $.ajax({
+ method: "GET",
+ url: `${this.joinEndPoint}/${serverCard.props.server.identifier}`,
+ headers: {
+ "Accept": "application/json;",
+ "Content-Type": "application/json;" ,
+ "x-discord-token": this.state.connection.user.accessToken
+ },
+ crossDomain: true,
+ xhrFields: {
+ withCredentials: true
+ },
+ success: () => {
+ serverCard.setState({joined: true});
+ }
+ });
+ }
+
+ connect() {
+ let self = this;
+ let options = self.windowOptions;
+ options.x = Math.round(window.screenX + window.innerWidth / 2 - options.width / 2);
+ options.y = Math.round(window.screenY + window.innerHeight / 2 - options.height / 2);
+
+ self.joinWindow = new (window.require("electron").remote.BrowserWindow)(options);
+ const url = "https://auth.discordservers.com/connect?scopes=guilds.join&previousUrl=https://auth.discordservers.com/info";
+ self.joinWindow.webContents.on("did-navigate", (event, url) => {
+ if (url != "https://auth.discordservers.com/info") return;
+ self.joinWindow.close();
+ self.checkConnection();
+ });
+ self.joinWindow.loadURL(url);
+ }
+
+ get windowOptions() {
+ return {
+ width: 500,
+ height: 550,
+ backgroundColor: "#282b30",
+ show: true,
+ resizable: false,
+ maximizable: false,
+ minimizable: false,
+ alwaysOnTop: true,
+ frame: false,
+ center: false,
+ webPreferences: {
+ nodeIntegration: false
+ }
+ };
+ }
+
+ get bdServer() {
+ let server = {
+ name: "BetterDiscord",
+ online: "7500+",
+ members: "20000+",
+ categories: ["community", "programming", "support"],
+ description: "Official BetterDiscord server for support etc",
+ identifier: "86004744966914048",
+ iconUrl: "https://cdn.discordapp.com/icons/86004744966914048/292e7f6bfff2b71dfd13e508a859aedd.webp",
+ nativejoin: true,
+ invite_code: "0Tmfo5ZbORCRqbAd",
+ pinned: true
+ };
+ let guildList = this.SortedGuildStore.guildPositions;
+ let defaultList = this.AvatarDefaults.DEFAULT_AVATARS;
+ return modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(_card__WEBPACK_IMPORTED_MODULE_5__["default"], {server: server, pinned: true, join: this.join, guildList: guildList, fallback: defaultList[Math.floor(Math.random() * 5)]});
+ }
+
+ get endPoint() {
+ return "https://search.discordservers.com";
+ }
+
+ get joinEndPoint() {
+ return "https://j.discordservers.com";
+ }
+
+ get connectEndPoint() {
+ return "https://join.discordservers.com/connect";
+ }
+
+ checkConnection() {
+ let self = this;
+ try {
+ $.ajax({
+ method: "GET",
+ url: `https://auth.discordservers.com/info`,
+ headers: {
+ "Accept": "application/json;",
+ "Content-Type": "application/json;"
+ },
+ crossDomain: true,
+ xhrFields: {
+ withCredentials: true
+ },
+ success: data => {
+ // Utils.log("PublicServer", "Got data: " + JSON.stringify(data));
+ self.setState({
+ selectedCategory: 0,
+ connection: {
+ state: 2,
+ user: data
+ }
+ });
+ self.search("", true);
+
+ },
+ error: () => {
+ self.setState({
+ title: "Not connected to discordservers.com!",
+ loading: true,
+ selectedCategory: -1,
+ connection: {
+ state: 1,
+ user: null
+ }
+ });
+ }
+ });
+ }
+ catch (error) {
+ self.setState({
+ title: "Not connected to discordservers.com!",
+ loading: true,
+ selectedCategory: -1,
+ connection: {
+ state: 1,
+ user: null
+ }
+ });
+ }
+ }
+
+ render() {
+ return modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(_sidebarview__WEBPACK_IMPORTED_MODULE_1__["default"], {ref: "sbv", children: this.component});
+ }
+
+ get component() {
+ return {
+ sidebar: {
+ component: this.sidebar
+ },
+ content: {
+ component: this.content
+ },
+ tools: {
+ component: modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(_settings_exitbutton__WEBPACK_IMPORTED_MODULE_2__["default"], {key: "pt", ref: "tools", onClick: this.close})
+ }
+ };
+ }
+
+ get sidebar() {
+ return modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ {className: "sidebar", key: "ps"},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ {className: "ui-tab-bar SIDE"},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ {className: "ui-tab-bar-header", style: {fontSize: "16px"}},
+ "Public Servers"
+ ),
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(_settings_tabbar__WEBPACK_IMPORTED_MODULE_3__["default"].Separator, null),
+ this.searchInput,
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(_settings_tabbar__WEBPACK_IMPORTED_MODULE_3__["default"].Separator, null),
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(_settings_tabbar__WEBPACK_IMPORTED_MODULE_3__["default"].Header, {text: "Categories"}),
+ this.categoryButtons.map((value, index) => {
+ return modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(_settings_tabbar__WEBPACK_IMPORTED_MODULE_3__["default"].Item, {id: index, onClick: this.changeCategory, key: index, text: value, selected: this.state.selectedCategory === index});
+ }),
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(_settings_tabbar__WEBPACK_IMPORTED_MODULE_3__["default"].Separator, null),
+ this.footer,
+ this.connection
+ )
+ );
+ }
+
+ get searchInput() {
+ return modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ {className: "ui-form-item"},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ {className: "ui-text-input flex-vertical", style: {width: "172px", marginLeft: "10px"}},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement("input", {ref: "searchinput", onKeyDown: this.searchKeyDown, onChange: () => {}, type: "text", className: "input default", placeholder: "Search...", maxLength: "50"})
+ )
+ );
+ }
+
+ searchKeyDown(e) {
+ let self = this;
+ if (self.state.loading || e.which !== 13) return;
+ self.setState({
+ loading: true,
+ title: "Loading...",
+ term: e.target.value
+ });
+ let query = `?term=${e.target.value}`;
+ if (self.state.selectedCategory !== 0) {
+ query += `&category=${self.categoryButtons[self.state.selectedCategory]}`;
+ }
+ self.search(query, true);
+ }
+
+ get categoryButtons() {
+ return ["All", "FPS Games", "MMO Games", "Strategy Games", "MOBA Games", "RPG Games", "Tabletop Games", "Sandbox Games", "Simulation Games", "Music", "Community", "Language", "Programming", "Other"];
+ }
+
+ changeCategory(id) {
+ let self = this;
+ if (self.state.loading) return;
+ self.refs.searchinput.value = "";
+ self.setState({
+ loading: true,
+ selectedCategory: id,
+ title: "Loading...",
+ term: null
+ });
+ if (id === 0) {
+ self.search("", true);
+ return;
+ }
+ self.search(`?category=${self.categoryButtons[id]}`, true);
+ }
+
+ get content() {
+ let self = this;
+ let guildList = this.SortedGuildStore.guildPositions;
+ let defaultList = this.AvatarDefaults.DEFAULT_AVATARS;
+ if (self.state.connection.state === 1) return self.notConnected;
+ return [modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ {ref: "content", key: "pc", className: "contentColumn-2hrIYH contentColumnDefault-1VQkGM content-column default"},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(_settings_title__WEBPACK_IMPORTED_MODULE_4__["default"], {text: self.state.title}),
+ self.bdServer,
+ self.state.servers.map((server) => {
+ return modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(_card__WEBPACK_IMPORTED_MODULE_5__["default"], {key: server.identifier, server: server, join: self.join, guildList: guildList, fallback: defaultList[Math.floor(Math.random() * 5)]});
+ }),
+ self.state.next && modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "button",
+ {type: "button", onClick: () => {
+ if (self.state.loading) return;self.setState({loading: true}); self.search(self.state.next, false);
+ }, className: "ui-button filled brand small grow", style: {width: "100%", marginTop: "10px", marginBottom: "10px"}},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ {className: "ui-button-contents"},
+ self.state.loading ? "Loading" : "Load More"
+ )
+ ),
+ self.state.servers.length > 0 && modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(_settings_title__WEBPACK_IMPORTED_MODULE_4__["default"], {text: self.state.title})
+ )];
+ }
+
+ get notConnected() {
+ let self = this;
+ //return BDV2.react.createElement(SettingsTitle, { text: self.state.title });
+ return [modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ {key: "ncc", ref: "content", className: "contentColumn-2hrIYH contentColumnDefault-1VQkGM content-column default"},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "h2",
+ {className: "ui-form-title h2 margin-reset margin-bottom-20"},
+ "Not connected to discordservers.com!",
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "button",
+ {
+ onClick: self.connect,
+ type: "button",
+ className: "ui-button filled brand small grow",
+ style: {
+ display: "inline-block",
+ minHeight: "18px",
+ marginLeft: "10px",
+ lineHeight: "14px"
+ }
+ },
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ {className: "ui-button-contents"},
+ "Connect"
+ )
+ )
+ ), self.bdServer
+ )];
+ }
+
+ get footer() {
+ return modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ {className: "ui-tab-bar-header"},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "a",
+ {href: "https://discordservers.com", target: "_blank"},
+ "Discordservers.com"
+ )
+ );
+ }
+
+ get connection() {
+ let self = this;
+ let {connection} = self.state;
+ if (connection.state !== 2) return modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement("span", null);
+
+ return modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "span",
+ null,
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(_settings_tabbar__WEBPACK_IMPORTED_MODULE_3__["default"].Separator, null),
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "span",
+ {style: {color: "#b9bbbe", fontSize: "10px", marginLeft: "10px"}},
+ "Connected as: ",
+ `${connection.user.username}#${connection.user.discriminator}`
+ ),
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ {style: {padding: "5px 10px 0 10px"}},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "button",
+ {style: {width: "100%", minHeight: "20px"}, type: "button", className: "ui-button filled brand small grow"},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ {className: "ui-button-contents", onClick: self.connect},
+ "Reconnect"
+ )
+ )
+ )
+ );
+}
+}
+
+
+/***/ }),
+
+/***/ "./src/ui/publicservers/publicservers.js":
+/*!***********************************************!*\
+ !*** ./src/ui/publicservers/publicservers.js ***!
+ \***********************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return V2_PublicServers; });
+/* harmony import */ var _data_settingscookie__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../data/settingscookie */ "./src/data/settingscookie.js");
+/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! modules */ "./src/modules/modules.js");
+/* harmony import */ var _layer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../layer */ "./src/ui/layer.js");
+/* harmony import */ var _menu__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./menu */ "./src/ui/publicservers/menu.js");
+
+
+
+
+
+class V2_PublicServers {
+
+ constructor() {}
+
+ get component() {
+ return modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement(_layer__WEBPACK_IMPORTED_MODULE_2__["default"], {rootId: "pubslayerroot", id: "pubslayer", children: modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement(_menu__WEBPACK_IMPORTED_MODULE_3__["default"], {rootId: "pubslayerroot"})});
+ }
+
+ get root() {
+ let _root = document.getElementById("pubslayerroot");
+ if (!_root) {
+ if (!this.injectRoot()) return null;
+ return this.root;
+ }
+ return _root;
+ }
+
+ injectRoot() {
+ if (!$(".layers, .layers-3iHuyZ").length) return false;
+ $(".layers, .layers-3iHuyZ").append($("", {
+ id: "pubslayerroot"
+ }));
+ return true;
+ }
+
+ render() {
+ // BdApi.alert("Broken", "Sorry but the Public Servers modules is currently broken, I recommend disabling this feature for now.");
+ let root = this.root;
+ if (!root) {
+ console.log("FAILED TO LOCATE ROOT: .layers");
+ return;
+ }
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].reactDom.render(this.component, root);
+ }
+
+ get button() {
+ let btn = $("", {
+ "class": modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].guildClasses.listItem,
+ "id": "bd-pub-li",
+ "style": _data_settingscookie__WEBPACK_IMPORTED_MODULE_0__["default"]["bda-gs-1"] ? "" : "display: none;"
+ }).append($("", {
+ "class": "wrapper-25eVIn " + modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].guildClasses.circleButtonMask,
+ "text": "public",
+ "id": "bd-pub-button",
+ "click": () => { this.render(); }
+ }));
+
+ return btn;
+ }
+
+ initialize() {
+ const wrapper = modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].guildClasses.wrapper.split(" ")[0];
+ const guilds = $(`.${wrapper} .scroller-2FKFPG >:first-child`);
+ guilds.after(this.button);
+ }
+}
+
+/***/ }),
+
+/***/ "./src/ui/scroller.js":
+/*!****************************!*\
+ !*** ./src/ui/scroller.js ***!
+ \****************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return V2C_Scroller; });
+/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ "./src/modules/modules.js");
+
+
+class V2C_Scroller extends modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].reactComponent {
+
+ constructor(props) {
+ super(props);
+ }
+
+ render() {
+ //scrollerWrap-2lJEkd scrollerThemed-2oenus themeGhostHairline-DBD-2d scrollerFade-1Ijw5y
+ let wrapperClass = `scrollerWrap-2lJEkd scrollerThemed-2oenus themeGhostHairline-DBD-2d${this.props.fade ? " scrollerFade-1Ijw5y" : ""}`;
+ let scrollerClass = "scroller-2FKFPG scroller"; /* fuck */
+ if (this.props.sidebar) scrollerClass = "scroller-2FKFPG firefoxFixScrollFlex-cnI2ix sidebarRegionScroller-3MXcoP sidebar-region-scroller scroller";
+ if (this.props.contentColumn) {
+ scrollerClass = "scroller-2FKFPG firefoxFixScrollFlex-cnI2ix contentRegionScroller-26nc1e content-region-scroller scroller"; /* fuck */
+ wrapperClass = "scrollerWrap-2lJEkd firefoxFixScrollFlex-cnI2ix contentRegionScrollerWrap-3YZXdm content-region-scroller-wrap scrollerThemed-2oenus themeGhost-28MSn0 scrollerTrack-1ZIpsv";
+ }
+ let {children} = this.props;
+ return modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ {key: "scrollerwrap", className: wrapperClass},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ {key: "scroller", ref: "scroller", className: scrollerClass},
+ children
+ )
+ );
+ }
+}
+
+/***/ }),
+
+/***/ "./src/ui/settings/checkbox.js":
+/*!*************************************!*\
+ !*** ./src/ui/settings/checkbox.js ***!
+ \*************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return V2C_Checkbox; });
+/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ "./src/modules/modules.js");
+
+
+class V2C_Checkbox extends modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].reactComponent {
+ constructor(props) {
+ super(props);
+ this.onClick = this.onClick.bind(this);
+ this.setInitialState();
+ }
+
+ setInitialState() {
+ this.state = {
+ checked: this.props.checked || false
+ };
+ }
+
+ render() {
+ return modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "li",
+ null,
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ {className: "checkbox checkbox-3kaeSU da-checkbox checkbox-3EVISJ da-checkbox", onClick: this.onClick},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ {className: "checkbox-inner checkboxInner-3yjcPe da-checkboxInner"},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement("input", {className: "checkboxElement-1qV33p da-checkboxElement", checked: this.state.checked, onChange: () => {}, type: "checkbox"}),
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement("span", null)
+ ),
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "span",
+ null,
+ this.props.text
+ )
+ )
+ );
+ }
+
+ onClick() {
+ this.props.onChange(this.props.id, !this.state.checked);
+ this.setState({
+ checked: !this.state.checked
+ });
+ }
+}
+
+/***/ }),
+
+/***/ "./src/ui/settings/contentcolumn.js":
+/*!******************************************!*\
+ !*** ./src/ui/settings/contentcolumn.js ***!
+ \******************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return V2C_ContentColumn; });
+/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ "./src/modules/modules.js");
+
+
+class V2C_ContentColumn extends modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].reactComponent {
+ constructor(props) {
+ super(props);
+ }
+
+ render() {
+ return modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ {className: "contentColumn-2hrIYH contentColumnDefault-1VQkGM content-column default"},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "h2",
+ {className: "ui-form-title h2 margin-reset margin-bottom-20"},
+ this.props.title
+ ),
+ this.props.children
+ );
+ }
+}
+
+/***/ }),
+
+/***/ "./src/ui/settings/exitbutton.js":
+/*!***************************************!*\
+ !*** ./src/ui/settings/exitbutton.js ***!
+ \***************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return V2C_Tools; });
+/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ "./src/modules/modules.js");
+/* harmony import */ var _icons_close__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../icons/close */ "./src/ui/icons/close.js");
+
+
+
+class V2C_Tools extends modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].reactComponent {
+
+ constructor(props) {
+ super(props);
+ this.onClick = this.onClick.bind(this);
+ }
+
+ render() {
+ return modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement("div", {className: "tools-container toolsContainer-1edPuj"},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement("div", {className: "tools tools-3-3s-N"},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement("div", {className: "container-1sFeqf"},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement("div",
+ {className: "btn-close closeButton-1tv5uR", onClick: this.onClick},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(_icons_close__WEBPACK_IMPORTED_MODULE_1__["default"], null)
+ ),
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ {className: "esc-text keybind-KpFkfr"},
+ "ESC"
+ )
+ )
+ )
+ );
+ }
+
+ onClick() {
+ if (this.props.onClick) {
+ this.props.onClick();
+ }
+ $(".closeButton-1tv5uR").first().click();
+ }
+}
+
+/***/ }),
+
+/***/ "./src/ui/settings/panel.js":
+/*!**********************************!*\
+ !*** ./src/ui/settings/panel.js ***!
+ \**********************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return V2C_SettingsPanel; });
+/* harmony import */ var _data_settingscookie__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../data/settingscookie */ "./src/data/settingscookie.js");
+/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! modules */ "./src/modules/modules.js");
+/* harmony import */ var _title__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./title */ "./src/ui/settings/title.js");
+/* harmony import */ var _switch__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./switch */ "./src/ui/settings/switch.js");
+
+
+
+
+
+class V2C_SettingsPanel extends modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].reactComponent {
+
+ constructor(props) {
+ super(props);
+ }
+
+ render() {
+ let {settings} = this.props;
+ return modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement(
+ "div",
+ {className: "contentColumn-2hrIYH contentColumnDefault-1VQkGM content-column default"},
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement(_title__WEBPACK_IMPORTED_MODULE_2__["default"], {text: this.props.title}),
+ this.props.button && modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("button", {key: "title-button", className: "bd-pfbtn", onClick: this.props.button.onClick}, this.props.button.title),
+ settings.map(setting => {
+ return modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement(_switch__WEBPACK_IMPORTED_MODULE_3__["default"], {id: setting.id, key: setting.id, data: setting, checked: _data_settingscookie__WEBPACK_IMPORTED_MODULE_0__["default"][setting.id], onChange: (id, checked) => {
+ this.props.onChange(id, checked);
+ }});
+ })
+ );
+ }
+}
+
+/***/ }),
+
+/***/ "./src/ui/settings/plugincard.js":
+/*!***************************************!*\
+ !*** ./src/ui/settings/plugincard.js ***!
+ \***************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return V2C_PluginCard; });
+/* harmony import */ var _data_settingscookie__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../data/settingscookie */ "./src/data/settingscookie.js");
+/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! modules */ "./src/modules/modules.js");
+/* harmony import */ var _icons_close__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../icons/close */ "./src/ui/icons/close.js");
+/* harmony import */ var _icons_reload__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../icons/reload */ "./src/ui/icons/reload.js");
+
+
+
+
+
+class V2C_PluginCard extends modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].reactComponent {
+
+ constructor(props) {
+ super(props);
+ let self = this;
+ self.onChange = self.onChange.bind(self);
+ self.showSettings = self.showSettings.bind(self);
+ self.setInitialState();
+ self.hasSettings = typeof self.props.plugin.getSettingsPanel === "function";
+ self.settingsPanel = "";
+
+ this.reload = this.reload.bind(this);
+ this.onReload = this.onReload.bind(this);
+ }
+
+ setInitialState() {
+ this.state = {
+ checked: pluginCookie[this.props.plugin.getName()],
+ settings: false,
+ reloads: 0
+ };
+ }
+
+ // componentDidMount() {
+ // BDEvents.on("plugin-reloaded", this.onReload);
+ // }
+
+ // componentWillUnmount() {
+ // BDEvents.off("plugin-reloaded", this.onReload);
+ // }
+
+ onReload(pluginName) {
+ if (pluginName !== this.props.plugin.getName()) return;
+ this.setState({reloads: this.state.reloads + 1});
+ }
+
+ componentDidUpdate() {
+ if (this.state.settings) {
+ if (typeof this.settingsPanel === "object") {
+ this.refs.settingspanel.appendChild(this.settingsPanel);
+ }
+
+ if (!_data_settingscookie__WEBPACK_IMPORTED_MODULE_0__["default"]["fork-ps-3"]) return;
+ var isHidden = (container, element) => {
+
+ let cTop = container.scrollTop;
+ let cBottom = cTop + container.clientHeight;
+
+ let eTop = element.offsetTop;
+ let eBottom = eTop + element.clientHeight;
+
+ return (eTop < cTop || eBottom > cBottom);
+ };
+
+ let self = $(modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].reactDom.findDOMNode(this));
+ let container = self.parents(".scroller");
+ if (!isHidden(container[0], self[0])) return;
+ container.animate({
+ scrollTop: self.offset().top - container.offset().top + container.scrollTop() - 30
+ }, 300);
+ }
+ }
+
+ reload() {
+ const plugin = this.props.plugin.getName();
+ window.mainCore.pluginModule.reloadPlugin(plugin);
+ this.props.plugin = bdplugins[plugin].plugin;
+ this.onReload(this.props.plugin.getName());
+ }
+
+ getString(value) {
+ return typeof value == "string" ? value : value.toString();
+ }
+
+ render() {
+ let self = this;
+ let {plugin} = this.props;
+ let name = this.getString(plugin.getName());
+ let author = this.getString(plugin.getAuthor());
+ let description = this.getString(plugin.getDescription());
+ let version = this.getString(plugin.getVersion());
+ let website = bdplugins[name].website;
+ let source = bdplugins[name].source;
+
+ if (this.state.settings) {
+ try { self.settingsPanel = plugin.getSettingsPanel(); }
+ catch (err) { modules__WEBPACK_IMPORTED_MODULE_1__["Utilities"].err("Plugins", "Unable to get settings panel for " + plugin.getName() + ".", err); }
+
+ return modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("li", {className: "settings-open ui-switch-item"},
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("div", {style: {"float": "right", "cursor": "pointer"}, onClick: () => {
+ this.refs.settingspanel.innerHTML = "";
+ self.setState({settings: false});
+ }},
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement(_icons_close__WEBPACK_IMPORTED_MODULE_2__["default"], null)
+ ),
+ typeof self.settingsPanel === "object" && modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("div", {id: `plugin-settings-${name}`, className: "plugin-settings", ref: "settingspanel"}),
+ typeof self.settingsPanel !== "object" && modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("div", {id: `plugin-settings-${name}`, className: "plugin-settings", ref: "settingspanel", dangerouslySetInnerHTML: {__html: self.settingsPanel}})
+ );
+ }
+
+ return modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("li", {"data-name": name, "data-version": version, "className": "settings-closed ui-switch-item"},
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("div", {className: "bda-header"},
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("span", {className: "bda-header-title"},
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("span", {className: "bda-name"}, name),
+ " v",
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("span", {className: "bda-version"}, version),
+ " by ",
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("span", {className: "bda-author"}, author)
+ ),
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("div", {className: "bda-controls"},
+ !_data_settingscookie__WEBPACK_IMPORTED_MODULE_0__["default"]["fork-ps-5"] && modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement(_icons_reload__WEBPACK_IMPORTED_MODULE_3__["default"], {className: "bd-reload-card", onClick: this.reload}),
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("label", {className: "ui-switch-wrapper ui-flex-child", style: {flex: "0 0 auto"}},
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("input", {checked: this.state.checked, onChange: this.onChange, className: "ui-switch-checkbox", type: "checkbox"}),
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("div", {className: this.state.checked ? "ui-switch checked" : "ui-switch"})
+ )
+ )
+ ),
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("div", {className: "bda-description-wrap scroller-wrap fade"},
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("div", {className: "bda-description scroller"}, description)
+ ),
+ (website || source || this.hasSettings) && modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("div", {className: "bda-footer"},
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("span", {className: "bda-links"},
+ website && modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("a", {className: "bda-link bda-link-website", href: website, target: "_blank"}, "Website"),
+ website && source && " | ",
+ source && modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("a", {className: "bda-link bda-link-source", href: source, target: "_blank"}, "Source")
+ ),
+ this.hasSettings && modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("button", {onClick: this.showSettings, className: "bda-settings-button", disabled: !this.state.checked}, "Settings")
+ )
+ );
+ }
+
+ onChange() {
+ this.setState({checked: !this.state.checked});
+ window.mainCore.pluginModule.togglePlugin(this.props.plugin.getName());
+ }
+
+ showSettings() {
+ if (!this.hasSettings) return;
+ this.setState({settings: true});
+ }
+}
+
+/***/ }),
+
+/***/ "./src/ui/settings/sectionedsettings.js":
+/*!**********************************************!*\
+ !*** ./src/ui/settings/sectionedsettings.js ***!
+ \**********************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return V2C_SectionedSettingsPanel; });
+/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ "./src/modules/modules.js");
+/* harmony import */ var _settingsgroup__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./settingsgroup */ "./src/ui/settings/settingsgroup.js");
+
+
+
+class V2C_SectionedSettingsPanel extends modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].reactComponent {
+
+ constructor(props) {
+ super(props);
+ }
+
+ render() {
+ return modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div", {className: "contentColumn-2hrIYH contentColumnDefault-1VQkGM content-column default"},
+ this.props.sections.map(section => {
+ return modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(_settingsgroup__WEBPACK_IMPORTED_MODULE_1__["default"], Object.assign({}, section, this.props.onChange));
+ })
+ );
+ }
+}
+
+/***/ }),
+
+/***/ "./src/ui/settings/settings.js":
+/*!*************************************!*\
+ !*** ./src/ui/settings/settings.js ***!
+ \*************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return V2_SettingsPanel; });
+/* harmony import */ var _data_settings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../data/settings */ "./src/data/settings.js");
+/* harmony import */ var _data_settingscookie__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../data/settingscookie */ "./src/data/settingscookie.js");
+/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! modules */ "./src/modules/modules.js");
+/* harmony import */ var _sidebar__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./sidebar */ "./src/ui/settings/sidebar.js");
+/* harmony import */ var _scroller__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../scroller */ "./src/ui/scroller.js");
+/* harmony import */ var _list__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../list */ "./src/ui/list.js");
+/* harmony import */ var _contentcolumn__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./contentcolumn */ "./src/ui/settings/contentcolumn.js");
+/* harmony import */ var _sectionedsettings__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./sectionedsettings */ "./src/ui/settings/sectionedsettings.js");
+/* harmony import */ var _exitbutton__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./exitbutton */ "./src/ui/settings/exitbutton.js");
+/* harmony import */ var _panel__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./panel */ "./src/ui/settings/panel.js");
+/* harmony import */ var _plugincard__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./plugincard */ "./src/ui/settings/plugincard.js");
+/* harmony import */ var _themecard__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./themecard */ "./src/ui/settings/themecard.js");
+/* harmony import */ var _icons_reload__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../icons/reload */ "./src/ui/icons/reload.js");
+/* harmony import */ var _customcss_editor__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../customcss/editor */ "./src/ui/customcss/editor.js");
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+class V2_SettingsPanel {
+
+ constructor() {
+ let self = this;
+ self.sideBarOnClick = self.sideBarOnClick.bind(self);
+ self.onChange = self.onChange.bind(self);
+ self.updateSettings = this.updateSettings.bind(self);
+ self.sidebar = new _sidebar__WEBPACK_IMPORTED_MODULE_3__["default"](self.sideBarOnClick);
+ }
+
+ get root() {
+ let _root = $("#bd-settingspane-container");
+ if (!_root.length) {
+ if (!this.injectRoot()) return null;
+ return this.root;
+ }
+ return _root[0];
+ }
+
+ injectRoot() {
+ if (!$(".layer-3QrUeG .standardSidebarView-3F1I7i, .layer-3QrUeG .ui-standard-sidebar-view").length) return false;
+ const root = $("", {
+ "class": "contentRegion-3nDuYy content-region",
+ "id": "bd-settingspane-container"
+ });
+ $(".layer-3QrUeG .standardSidebarView-3F1I7i, .layer-3QrUeG .ui-standard-sidebar-view").append(root);
+
+ modules__WEBPACK_IMPORTED_MODULE_2__["Utilities"].onRemoved(root[0], () => {
+ modules__WEBPACK_IMPORTED_MODULE_2__["BDV2"].reactDom.unmountComponentAtNode(root[0]);
+ });
+ return true;
+ }
+
+ get coreSettings() {
+ const settings = this.getSettings("core");
+ const categories = [...new Set(settings.map(s => s.category))];
+ const sections = categories.map(c => {return {title: c, settings: settings.filter(s => s.category == c)};});
+ return sections;
+ }
+
+ get emoteSettings() {
+ return this.getSettings("emote");
+ }
+ getSettings(category) {
+ return Object.keys(_data_settings__WEBPACK_IMPORTED_MODULE_0__["default"]).reduce((arr, key) => {
+ let setting = _data_settings__WEBPACK_IMPORTED_MODULE_0__["default"][key];
+ if (setting.cat === category && setting.implemented && !setting.hidden) {
+ setting.text = key;
+ arr.push(setting);
+ }
+ return arr;
+ }, []);
+ }
+
+ sideBarOnClick(id) {
+ let self = this;
+ $(".contentRegion-3nDuYy, .content-region").first().hide();
+ $(self.root).show();
+ switch (id) {
+ case "core":
+ self.renderCoreSettings();
+ break;
+ case "emotes":
+ self.renderEmoteSettings();
+ break;
+ case "customcss":
+ self.renderCustomCssEditor();
+ break;
+ case "plugins":
+ self.renderPluginPane();
+ break;
+ case "themes":
+ self.renderThemePane();
+ break;
+ }
+ }
+
+ onClick() {}
+
+ onChange(id, checked) {
+ this.updateSettings(id, checked);
+ }
+
+ updateSettings(id, enabled) {
+ _data_settingscookie__WEBPACK_IMPORTED_MODULE_1__["default"][id] = enabled;
+
+ if (id == "bda-es-0") {
+ if (enabled) $("#twitchcord-button-container").show();
+ else $("#twitchcord-button-container").hide();
+ }
+
+ // if (id == "bda-gs-b") {
+ // if (enabled) $("body").addClass("bd-blue");
+ // else $("body").removeClass("bd-blue");
+ // }
+
+ if (id == "bda-gs-2") {
+ if (enabled) $("body").addClass("bd-minimal");
+ else $("body").removeClass("bd-minimal");
+ }
+
+ if (id == "bda-gs-3") {
+ if (enabled) $("body").addClass("bd-minimal-chan");
+ else $("body").removeClass("bd-minimal-chan");
+ }
+
+ if (id == "bda-gs-1") {
+ if (enabled) $("#bd-pub-li").show();
+ else $("#bd-pub-li").hide();
+ }
+
+ if (id == "bda-gs-4") {
+ if (enabled) window.mainCore.voiceMode.enable();
+ else window.mainCore.voiceMode.disable();
+ }
+
+ if (id == "bda-gs-5") {
+ if (enabled) $("#app-mount").addClass("bda-dark");
+ else $("#app-mount").removeClass("bda-dark");
+ }
+
+ if (enabled && id == "bda-gs-6") window.mainCore.inject24Hour();
+
+ if (id == "bda-gs-7") {
+ if (enabled) window.mainCore.injectColoredText();
+ else window.mainCore.removeColoredText();
+ }
+
+ if (id == "bda-es-4") {
+ if (enabled) window.mainCore.emoteModule.autoCapitalize();
+ else window.mainCore.emoteModule.disableAutoCapitalize();
+ }
+
+ if (id == "fork-ps-4") {
+ if (enabled) modules__WEBPACK_IMPORTED_MODULE_2__["ClassNormalizer"].start();
+ else modules__WEBPACK_IMPORTED_MODULE_2__["ClassNormalizer"].stop();
+ }
+
+ if (id == "fork-ps-5") {
+ if (enabled) {
+ modules__WEBPACK_IMPORTED_MODULE_2__["ContentManager"].watchContent("plugin");
+ modules__WEBPACK_IMPORTED_MODULE_2__["ContentManager"].watchContent("theme");
+ }
+ else {
+ modules__WEBPACK_IMPORTED_MODULE_2__["ContentManager"].unwatchContent("plugin");
+ modules__WEBPACK_IMPORTED_MODULE_2__["ContentManager"].unwatchContent("theme");
+ }
+ }
+
+ if (id == "fork-wp-1") {
+ modules__WEBPACK_IMPORTED_MODULE_2__["BdApi"].setWindowPreference("transparent", enabled);
+ if (enabled) modules__WEBPACK_IMPORTED_MODULE_2__["BdApi"].setWindowPreference("backgroundColor", null);
+ else modules__WEBPACK_IMPORTED_MODULE_2__["BdApi"].setWindowPreference("backgroundColor", "#2f3136");
+ }
+
+ /*if (_c["fork-wp-2"]) {
+ const current = BdApi.getWindowPreference("frame");
+ if (current != _c["fork-wp-2"]) BdApi.setWindowPreference("frame", _c["fork-wp-2"]);
+ }*/
+
+
+ if (id == "bda-gs-8") {
+ if (enabled) window.mainCore.dMode.enable(_data_settingscookie__WEBPACK_IMPORTED_MODULE_1__["default"]["fork-dm-1"]);
+ else window.mainCore.dMode.disable();
+ }
+
+ window.mainCore.saveSettings();
+ }
+
+ initializeSettings() {
+ if (_data_settingscookie__WEBPACK_IMPORTED_MODULE_1__["default"]["bda-es-0"]) $("#twitchcord-button-container").show();
+ // if (Settings["bda-gs-b"]) $("body").addClass("bd-blue");
+ if (_data_settingscookie__WEBPACK_IMPORTED_MODULE_1__["default"]["bda-gs-2"]) $("body").addClass("bd-minimal");
+ if (_data_settingscookie__WEBPACK_IMPORTED_MODULE_1__["default"]["bda-gs-3"]) $("body").addClass("bd-minimal-chan");
+ if (_data_settingscookie__WEBPACK_IMPORTED_MODULE_1__["default"]["bda-gs-1"]) $("#bd-pub-li").show();
+ if (_data_settingscookie__WEBPACK_IMPORTED_MODULE_1__["default"]["bda-gs-4"]) window.mainCore.voiceMode.enable();
+ if (_data_settingscookie__WEBPACK_IMPORTED_MODULE_1__["default"]["bda-gs-5"]) $("#app-mount").addClass("bda-dark");
+ if (_data_settingscookie__WEBPACK_IMPORTED_MODULE_1__["default"]["bda-gs-6"]) window.mainCore.inject24Hour();
+ if (_data_settingscookie__WEBPACK_IMPORTED_MODULE_1__["default"]["bda-gs-7"]) window.mainCore.injectColoredText();
+ if (_data_settingscookie__WEBPACK_IMPORTED_MODULE_1__["default"]["bda-es-4"]) window.mainCore.emoteModule.autoCapitalize();
+ if (_data_settingscookie__WEBPACK_IMPORTED_MODULE_1__["default"]["fork-ps-4"]) modules__WEBPACK_IMPORTED_MODULE_2__["ClassNormalizer"].start();
+
+ if (_data_settingscookie__WEBPACK_IMPORTED_MODULE_1__["default"]["fork-ps-5"]) {
+ modules__WEBPACK_IMPORTED_MODULE_2__["ContentManager"].watchContent("plugin");
+ modules__WEBPACK_IMPORTED_MODULE_2__["ContentManager"].watchContent("theme");
+ }
+
+ if (_data_settingscookie__WEBPACK_IMPORTED_MODULE_1__["default"]["bda-gs-8"]) window.mainCore.dMode.enable(_data_settingscookie__WEBPACK_IMPORTED_MODULE_1__["default"]["fork-dm-1"]);
+
+ window.mainCore.saveSettings();
+ }
+
+ renderSidebar() {
+ let self = this;
+ $("[class*='side-'] > [class*='item-']").off("click.v2settingspanel").on("click.v2settingspanel", () => {
+ modules__WEBPACK_IMPORTED_MODULE_2__["BDV2"].reactDom.unmountComponentAtNode(self.root);
+ $(self.root).hide();
+ $(".contentRegion-3nDuYy, .content-region").first().show();
+ });
+ self.sidebar.render();
+ }
+
+ get coreComponent() {
+ return modules__WEBPACK_IMPORTED_MODULE_2__["BDV2"].react.createElement(_scroller__WEBPACK_IMPORTED_MODULE_4__["default"], {contentColumn: true, fade: true, dark: true, children: [
+ modules__WEBPACK_IMPORTED_MODULE_2__["BDV2"].react.createElement(_sectionedsettings__WEBPACK_IMPORTED_MODULE_7__["default"], {key: "cspanel", onChange: this.onChange, sections: this.coreSettings}),
+ modules__WEBPACK_IMPORTED_MODULE_2__["BDV2"].react.createElement(_exitbutton__WEBPACK_IMPORTED_MODULE_8__["default"], {key: "tools"})
+ ]});
+ }
+
+ get emoteComponent() {
+ return modules__WEBPACK_IMPORTED_MODULE_2__["BDV2"].react.createElement(_scroller__WEBPACK_IMPORTED_MODULE_4__["default"], {
+ contentColumn: true, fade: true, dark: true, children: [
+ modules__WEBPACK_IMPORTED_MODULE_2__["BDV2"].react.createElement(_panel__WEBPACK_IMPORTED_MODULE_9__["default"], {key: "espanel", title: "Emote Settings", onChange: this.onChange, settings: this.emoteSettings, button: {
+ title: "Clear Emote Cache",
+ onClick: () => { window.mainCore.emoteModule.clearEmoteData(); window.mainCore.emoteModule.init(); window.mainCore.quickEmoteMenu.init(); }
+ }}),
+ modules__WEBPACK_IMPORTED_MODULE_2__["BDV2"].react.createElement(_exitbutton__WEBPACK_IMPORTED_MODULE_8__["default"], {key: "tools"})
+ ]});
+ }
+
+ get customCssComponent() {
+ return modules__WEBPACK_IMPORTED_MODULE_2__["BDV2"].react.createElement(_scroller__WEBPACK_IMPORTED_MODULE_4__["default"], {contentColumn: true, fade: true, dark: true, children: [modules__WEBPACK_IMPORTED_MODULE_2__["BDV2"].react.createElement(_customcss_editor__WEBPACK_IMPORTED_MODULE_13__["default"], {key: "csseditor"}), modules__WEBPACK_IMPORTED_MODULE_2__["BDV2"].react.createElement(_exitbutton__WEBPACK_IMPORTED_MODULE_8__["default"], {key: "tools"})]});
+ }
+
+ contentComponent(type) {
+ const componentElement = type == "plugins" ? this.pluginsComponent : this.themesComponent;
+ const prefix = type.replace("s", "");
+ const settingsList = this;
+ class ContentList extends modules__WEBPACK_IMPORTED_MODULE_2__["BDV2"].react.Component {
+ constructor(props) {
+ super(props);
+ this.onChange = this.onChange.bind(this);
+ }
+
+ componentDidMount() {
+ modules__WEBPACK_IMPORTED_MODULE_2__["Emitter"].on(`${prefix}-reloaded`, this.onChange);
+ modules__WEBPACK_IMPORTED_MODULE_2__["Emitter"].on(`${prefix}-loaded`, this.onChange);
+ modules__WEBPACK_IMPORTED_MODULE_2__["Emitter"].on(`${prefix}-unloaded`, this.onChange);
+ }
+
+ componentWillUnmount() {
+ modules__WEBPACK_IMPORTED_MODULE_2__["Emitter"].off(`${prefix}-reloaded`, this.onChange);
+ modules__WEBPACK_IMPORTED_MODULE_2__["Emitter"].off(`${prefix}-loaded`, this.onChange);
+ modules__WEBPACK_IMPORTED_MODULE_2__["Emitter"].off(`${prefix}-unloaded`, this.onChange);
+ }
+
+ onChange() {
+ settingsList.sideBarOnClick(type);
+ }
+
+ render() {return componentElement;}
+ }
+ return modules__WEBPACK_IMPORTED_MODULE_2__["BDV2"].react.createElement(ContentList);
+ }
+
+ get pluginsComponent() {
+ let plugins = Object.keys(bdplugins).sort((a, b) => a.toLowerCase().localeCompare(b.toLowerCase())).reduce((arr, key) => {
+ arr.push(modules__WEBPACK_IMPORTED_MODULE_2__["BDV2"].react.createElement(_plugincard__WEBPACK_IMPORTED_MODULE_10__["default"], {key: key, plugin: bdplugins[key].plugin}));return arr;
+ }, []);
+ let list = modules__WEBPACK_IMPORTED_MODULE_2__["BDV2"].react.createElement(_list__WEBPACK_IMPORTED_MODULE_5__["default"], {key: "plugin-list", className: "bda-slist", children: plugins});
+ let refreshIcon = !_data_settingscookie__WEBPACK_IMPORTED_MODULE_1__["default"]["fork-ps-5"] && modules__WEBPACK_IMPORTED_MODULE_2__["BDV2"].react.createElement(_icons_reload__WEBPACK_IMPORTED_MODULE_12__["default"], {className: "bd-reload-header", size: "18px", onClick: async () => {
+ window.mainCore.pluginModule.updatePluginList();
+ this.sideBarOnClick("plugins");
+ }});
+ let pfBtn = modules__WEBPACK_IMPORTED_MODULE_2__["BDV2"].react.createElement("button", {key: "folder-button", className: "bd-pfbtn", onClick: () => { __webpack_require__(/*! electron */ "electron").shell.openItem(modules__WEBPACK_IMPORTED_MODULE_2__["ContentManager"].pluginsFolder); }}, "Open Plugin Folder");
+ let contentColumn = modules__WEBPACK_IMPORTED_MODULE_2__["BDV2"].react.createElement(_contentcolumn__WEBPACK_IMPORTED_MODULE_6__["default"], {key: "pcolumn", title: "Plugins", children: [refreshIcon, pfBtn, list]});
+ return modules__WEBPACK_IMPORTED_MODULE_2__["BDV2"].react.createElement(_scroller__WEBPACK_IMPORTED_MODULE_4__["default"], {contentColumn: true, fade: true, dark: true, children: [contentColumn, modules__WEBPACK_IMPORTED_MODULE_2__["BDV2"].react.createElement(_exitbutton__WEBPACK_IMPORTED_MODULE_8__["default"], {key: "tools"})]});
+ }
+
+ get themesComponent() {
+ let themes = Object.keys(bdthemes).sort((a, b) => a.toLowerCase().localeCompare(b.toLowerCase())).reduce((arr, key) => {
+ arr.push(modules__WEBPACK_IMPORTED_MODULE_2__["BDV2"].react.createElement(_themecard__WEBPACK_IMPORTED_MODULE_11__["default"], {key: key, theme: bdthemes[key]}));return arr;
+ }, []);
+ let list = modules__WEBPACK_IMPORTED_MODULE_2__["BDV2"].react.createElement(_list__WEBPACK_IMPORTED_MODULE_5__["default"], {key: "theme-list", className: "bda-slist", children: themes});
+ let refreshIcon = !_data_settingscookie__WEBPACK_IMPORTED_MODULE_1__["default"]["fork-ps-5"] && modules__WEBPACK_IMPORTED_MODULE_2__["BDV2"].react.createElement(_icons_reload__WEBPACK_IMPORTED_MODULE_12__["default"], {className: "bd-reload-header", size: "18px", onClick: async () => {
+ window.mainCore.themeModule.updateThemeList();
+ this.sideBarOnClick("themes");
+ }});
+ let tfBtn = modules__WEBPACK_IMPORTED_MODULE_2__["BDV2"].react.createElement("button", {key: "folder-button", className: "bd-pfbtn", onClick: () => { __webpack_require__(/*! electron */ "electron").shell.openItem(modules__WEBPACK_IMPORTED_MODULE_2__["ContentManager"].themesFolder); }}, "Open Theme Folder");
+ let contentColumn = modules__WEBPACK_IMPORTED_MODULE_2__["BDV2"].react.createElement(_contentcolumn__WEBPACK_IMPORTED_MODULE_6__["default"], {key: "tcolumn", title: "Themes", children: [refreshIcon, tfBtn, list]});
+ return modules__WEBPACK_IMPORTED_MODULE_2__["BDV2"].react.createElement(_scroller__WEBPACK_IMPORTED_MODULE_4__["default"], {contentColumn: true, fade: true, dark: true, children: [contentColumn, modules__WEBPACK_IMPORTED_MODULE_2__["BDV2"].react.createElement(_exitbutton__WEBPACK_IMPORTED_MODULE_8__["default"], {key: "tools"})]});
+ }
+
+ renderCoreSettings() {
+ let root = this.root;
+ if (!root) {
+ console.log("FAILED TO LOCATE ROOT: .layer-3QrUeG .standardSidebarView-3F1I7i");
+ return;
+ }
+ modules__WEBPACK_IMPORTED_MODULE_2__["BDV2"].reactDom.render(this.coreComponent, root);
+ }
+
+ renderEmoteSettings() {
+ let root = this.root;
+ if (!root) {
+ console.log("FAILED TO LOCATE ROOT: .layer-3QrUeG .standardSidebarView-3F1I7i");
+ return;
+ }
+ modules__WEBPACK_IMPORTED_MODULE_2__["BDV2"].reactDom.render(this.emoteComponent, root);
+ }
+
+ renderCustomCssEditor() {
+ let root = this.root;
+ if (!root) {
+ console.log("FAILED TO LOCATE ROOT: .layer-3QrUeG .standardSidebarView-3F1I7i");
+ return;
+ }
+ modules__WEBPACK_IMPORTED_MODULE_2__["BDV2"].reactDom.render(this.customCssComponent, root);
+ }
+
+ renderPluginPane() {
+ let root = this.root;
+ if (!root) {
+ console.log("FAILED TO LOCATE ROOT: .layer-3QrUeG .standardSidebarView-3F1I7i");
+ return;
+ }
+ modules__WEBPACK_IMPORTED_MODULE_2__["BDV2"].reactDom.render(this.contentComponent("plugins"), root);
+ }
+
+ renderThemePane() {
+ let root = this.root;
+ if (!root) {
+ console.log("FAILED TO LOCATE ROOT: .layer-3QrUeG .standardSidebarView-3F1I7i");
+ return;
+ }
+ modules__WEBPACK_IMPORTED_MODULE_2__["BDV2"].reactDom.render(this.contentComponent("themes"), root);
+ }
+}
+
+/***/ }),
+
+/***/ "./src/ui/settings/settingsgroup.js":
+/*!******************************************!*\
+ !*** ./src/ui/settings/settingsgroup.js ***!
+ \******************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return V2C_SettingsGroup; });
+/* harmony import */ var _data_settingscookie__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../data/settingscookie */ "./src/data/settingscookie.js");
+/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! modules */ "./src/modules/modules.js");
+/* harmony import */ var _title__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./title */ "./src/ui/settings/title.js");
+/* harmony import */ var _switch__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./switch */ "./src/ui/settings/switch.js");
+
+
+
+
+
+class V2C_SettingsGroup extends modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].reactComponent {
+
+ constructor(props) {
+ super(props);
+ }
+
+ render() {
+ const {title, settings, button} = this.props;
+ const buttonComponent = button ? modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("button", {key: "title-button", className: "bd-pfbtn", onClick: button.onClick}, button.title) : null;
+ return [modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement(_title__WEBPACK_IMPORTED_MODULE_2__["default"], {text: title}),
+ buttonComponent,
+ settings.map(setting => {
+ return modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement(_switch__WEBPACK_IMPORTED_MODULE_3__["default"], {id: setting.id, key: setting.id, data: setting, checked: _data_settingscookie__WEBPACK_IMPORTED_MODULE_0__["default"][setting.id], onChange: (id, checked) => {
+ this.props.onChange(id, checked);
+ }});
+ })];
+ }
+}
+
+/***/ }),
+
+/***/ "./src/ui/settings/sidebar.js":
+/*!************************************!*\
+ !*** ./src/ui/settings/sidebar.js ***!
+ \************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return V2_SettingsPanel_Sidebar; });
+/* harmony import */ var _data_config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../data/config */ "./src/data/config.js");
+/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! modules */ "./src/modules/modules.js");
+/* harmony import */ var _sidebarmenu__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./sidebarmenu */ "./src/ui/settings/sidebarmenu.js");
+
+
+
+
+
+class V2_SettingsPanel_Sidebar {
+
+ constructor(onClick) {
+ this.onClick = onClick;
+ }
+
+ get items() {
+ return [{text: "Settings", id: "core"}, {text: "Emotes", id: "emotes"}, {text: "Plugins", id: "plugins"}, {text: "Themes", id: "themes"}, {text: "Custom CSS", id: "customcss"}];
+ }
+
+ get component() {
+ return modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement(
+ "span",
+ null,
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement(_sidebarmenu__WEBPACK_IMPORTED_MODULE_2__["default"], {onClick: this.onClick, headerText: "Bandaged BD", items: this.items}),
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement(
+ "div",
+ {style: {fontSize: "12px", fontWeight: "600", color: "#72767d", padding: "2px 10px"}},
+ `BD v${_data_config__WEBPACK_IMPORTED_MODULE_0__["default"].version} by `,
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement(
+ "a",
+ {href: "https://github.com/Jiiks/", target: "_blank"},
+ "Jiiks"
+ )
+ ),
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement(
+ "div",
+ {style: {fontSize: "12px", fontWeight: "600", color: "#72767d", padding: "2px 10px"}},
+ `BBD v${_data_config__WEBPACK_IMPORTED_MODULE_0__["default"].bbdVersion} by `,
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement(
+ "a",
+ {href: "https://github.com/rauenzi/", target: "_blank"},
+ "Zerebos"
+ )
+ )
+ );
+ }
+
+ get root() {
+ let _root = $("#bd-settings-sidebar");
+ if (!_root.length) {
+ if (!this.injectRoot()) return null;
+ return this.root;
+ }
+ return _root[0];
+ }
+
+ injectRoot() {
+ let changeLog = $("[class*='side-'] > [class*='item-']:not([class*=Danger])").last();
+ if (!changeLog.length) return false;
+ $("", {id: "bd-settings-sidebar"}).insertBefore(changeLog.prev());
+ return true;
+ }
+
+ render() {
+ let root = this.root;
+ if (!root) {
+ console.log("FAILED TO LOCATE ROOT: [class*='side-'] > [class*='item-']:not([class*=Danger])");
+ return;
+ }
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].reactDom.render(this.component, root);
+ modules__WEBPACK_IMPORTED_MODULE_1__["Utilities"].onRemoved(root, () => {
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].reactDom.unmountComponentAtNode(root);
+ });
+ }
+}
+
+/***/ }),
+
+/***/ "./src/ui/settings/sidebarmenu.js":
+/*!****************************************!*\
+ !*** ./src/ui/settings/sidebarmenu.js ***!
+ \****************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return V2C_SideBar; });
+/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ "./src/modules/modules.js");
+/* harmony import */ var _tabbar__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./tabbar */ "./src/ui/settings/tabbar.js");
+
+
+
+class V2C_SideBar extends modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].reactComponent {
+
+ constructor(props) {
+ super(props);
+ let self = this;
+ const si = $("[class*=side] > [class*=selected]");
+ if (si.length) self.scn = si.attr("class");
+ const ns = $("[class*=side] > [class*=notSelected]");
+ if (ns.length) self.nscn = ns.attr("class");
+ $("[class*='side-'] > [class*='item-']").on("click", () => {
+ self.setState({
+ selected: null
+ });
+ });
+ self.setInitialState();
+ self.onClick = self.onClick.bind(self);
+ }
+
+ setInitialState() {
+ let self = this;
+ self.state = {
+ selected: null,
+ items: self.props.items
+ };
+
+ let initialSelection = self.props.items.find(item => {
+ return item.selected;
+ });
+ if (initialSelection) {
+ self.state.selected = initialSelection.id;
+ }
+ }
+
+ render() {
+ let self = this;
+ let {headerText} = self.props;
+ let {items, selected} = self.state;
+ return modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ null,
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(_tabbar__WEBPACK_IMPORTED_MODULE_1__["default"].Separator, null),
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(_tabbar__WEBPACK_IMPORTED_MODULE_1__["default"].Header, {text: headerText}),
+ items.map(item => {
+ let {id, text} = item;
+ return modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(_tabbar__WEBPACK_IMPORTED_MODULE_1__["default"].Item, {key: id, selected: selected === id, text: text, id: id, onClick: self.onClick});
+ })
+ );
+ }
+
+ onClick(id) {
+ let self = this;
+ const si = $("[class*=side] > [class*=selected]");
+ if (si.length) {
+ si.off("click.bdsb").on("click.bsb", e => {
+ $(e.target).attr("class", self.scn);
+ });
+ si.attr("class", self.nscn);
+ }
+
+ self.setState({selected: null});
+ self.setState({selected: id});
+
+ if (self.props.onClick) self.props.onClick(id);
+ }
+}
+
+/***/ }),
+
+/***/ "./src/ui/settings/switch.js":
+/*!***********************************!*\
+ !*** ./src/ui/settings/switch.js ***!
+ \***********************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return V2C_Switch; });
+/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ "./src/modules/modules.js");
+
+
+class V2C_Switch extends modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].reactComponent {
+
+ constructor(props) {
+ super(props);
+ this.setInitialState();
+ this.onChange = this.onChange.bind(this);
+ }
+
+ setInitialState() {
+ this.state = {
+ checked: this.props.checked
+ };
+ }
+
+ render() {
+ let {text, info} = this.props.data;
+ let {checked} = this.state;
+ return modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ {className: "ui-flex flex-vertical flex-justify-start flex-align-stretch flex-nowrap ui-switch-item"},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ {className: "ui-flex flex-horizontal flex-justify-start flex-align-stretch flex-nowrap"},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "h3",
+ {className: "ui-form-title h3 margin-reset margin-reset ui-flex-child"},
+ text
+ ),
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "label",
+ {className: "ui-switch-wrapper ui-flex-child", style: {flex: "0 0 auto"}},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement("input", {className: "ui-switch-checkbox", type: "checkbox", checked: checked, onChange: e => this.onChange(e)}),
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement("div", {className: `ui-switch ${checked ? "checked" : ""}`})
+ )
+ ),
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ {className: "ui-form-text style-description margin-top-4", style: {flex: "1 1 auto"}},
+ info
+ )
+ );
+ }
+
+ onChange() {
+ this.props.onChange(this.props.id, !this.state.checked);
+ this.setState({
+ checked: !this.state.checked
+ });
+ }
+}
+
+/***/ }),
+
+/***/ "./src/ui/settings/tabbar.js":
+/*!***********************************!*\
+ !*** ./src/ui/settings/tabbar.js ***!
+ \***********************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return V2Cs_TabBar; });
+/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ "./src/modules/modules.js");
+
+
+class V2C_TabBarItem extends modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].reactComponent {
+
+ constructor(props) {
+ super(props);
+ this.setInitialState();
+ this.onClick = this.onClick.bind(this);
+ }
+
+ setInitialState() {
+ this.state = {
+ selected: this.props.selected || false
+ };
+ }
+
+ render() {
+ return modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ {className: `ui-tab-bar-item${this.props.selected ? " selected" : ""}`, onClick: this.onClick},
+ this.props.text
+ );
+ }
+
+ onClick() {
+ if (this.props.onClick) {
+ this.props.onClick(this.props.id);
+ }
+ }
+}
+
+class V2C_TabBarSeparator extends modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].reactComponent {
+ constructor(props) {
+ super(props);
+ }
+
+ render() {
+ return modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement("div", {className: "ui-tab-bar-separator margin-top-8 margin-bottom-8"});
+ }
+}
+
+class V2C_TabBarHeader extends modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].reactComponent {
+ constructor(props) {
+ super(props);
+ }
+
+ render() {
+ return modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ {className: "ui-tab-bar-header"},
+ this.props.text
+ );
+ }
+}
+
+class V2Cs_TabBar {
+ static get Item() {
+ return V2C_TabBarItem;
+ }
+ static get Header() {
+ return V2C_TabBarHeader;
+ }
+ static get Separator() {
+ return V2C_TabBarSeparator;
+ }
+}
+
+/***/ }),
+
+/***/ "./src/ui/settings/themecard.js":
+/*!**************************************!*\
+ !*** ./src/ui/settings/themecard.js ***!
+ \**************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return V2C_ThemeCard; });
+/* harmony import */ var _data_settingscookie__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../data/settingscookie */ "./src/data/settingscookie.js");
+/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! modules */ "./src/modules/modules.js");
+/* harmony import */ var _icons_reload__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../icons/reload */ "./src/ui/icons/reload.js");
+
+
+
+
+class V2C_ThemeCard extends modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].reactComponent {
+
+ constructor(props) {
+ super(props);
+ this.setInitialState();
+ this.onChange = this.onChange.bind(this);
+ this.reload = this.reload.bind(this);
+ }
+
+ setInitialState() {
+ this.state = {
+ checked: themeCookie[this.props.theme.name],
+ reloads: 0
+ };
+ }
+
+ // componentDidMount() {
+ // BDEvents.on("theme-reloaded", this.onReload);
+ // }
+
+ // componentWillUnmount() {
+ // BDEvents.off("theme-reloaded", this.onReload);
+ // }
+
+ onReload(themeName) {
+ if (themeName !== this.props.theme.name) return;
+ this.setState({reloads: this.state.reloads + 1});
+ }
+
+ reload() {
+ const theme = this.props.theme.name;
+ const error = window.mainCore.themeModule.reloadTheme(theme);
+ if (error) window.mainCore.showToast(`Could not reload ${bdthemes[theme].name}. Check console for details.`, {type: "error"});
+ else window.mainCore.showToast(`${bdthemes[theme].name} v${bdthemes[theme].version} has been reloaded.`, {type: "success"});
+ // this.setState(this.state);
+ this.props.theme = bdthemes[theme];
+ this.onReload(this.props.theme.name);
+ }
+
+ render() {
+ let {theme} = this.props;
+ let name = theme.name;
+ let description = theme.description;
+ let version = theme.version;
+ let author = theme.author;
+ let website = bdthemes[name].website;
+ let source = bdthemes[name].source;
+
+ return modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("li", {"data-name": name, "data-version": version, "className": "settings-closed ui-switch-item"},
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("div", {className: "bda-header"},
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("span", {className: "bda-header-title"},
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("span", {className: "bda-name"}, name),
+ " v",
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("span", {className: "bda-version"}, version),
+ " by ",
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("span", {className: "bda-author"}, author)
+ ),
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("div", {className: "bda-controls"},
+ !_data_settingscookie__WEBPACK_IMPORTED_MODULE_0__["default"]["fork-ps-5"] && modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement(_icons_reload__WEBPACK_IMPORTED_MODULE_2__["default"], {className: "bd-reload-card", onClick: this.reload}),
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("label", {className: "ui-switch-wrapper ui-flex-child", style: {flex: "0 0 auto"}},
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("input", {checked: this.state.checked, onChange: this.onChange, className: "ui-switch-checkbox", type: "checkbox"}),
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("div", {className: this.state.checked ? "ui-switch checked" : "ui-switch"})
+ )
+ )
+ ),
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("div", {className: "bda-description-wrap scroller-wrap fade"},
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("div", {className: "bda-description scroller"}, description)
+ ),
+ (website || source) && modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("div", {className: "bda-footer"},
+ modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("span", {className: "bda-links"},
+ website && modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("a", {className: "bda-link", href: website, target: "_blank"}, "Website"),
+ website && source && " | ",
+ source && modules__WEBPACK_IMPORTED_MODULE_1__["BDV2"].react.createElement("a", {className: "bda-link", href: source, target: "_blank"}, "Source")
+ )
+ )
+ );
+ }
+
+ onChange() {
+ this.setState({checked: !this.state.checked});
+ window.mainCore.themeModule.toggleTheme(this.props.theme.name);
+ }
+}
+
+/***/ }),
+
+/***/ "./src/ui/settings/title.js":
+/*!**********************************!*\
+ !*** ./src/ui/settings/title.js ***!
+ \**********************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return V2C_SettingsTitle; });
+/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ "./src/modules/modules.js");
+
+
+class V2C_SettingsTitle extends modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].reactComponent {
+ constructor(props) {
+ super(props);
+ }
+//h2-2gWE-o title-3sZWYQ size16-14cGz5 height20-mO2eIN weightSemiBold-NJexzi da-h2 da-title da-size16 da-height20 da-weightSemiBold defaultColor-1_ajX0 da-defaultColor marginTop60-3PGbtK da-marginTop60 marginBottom20-32qID7 da-marginBottom20
+ render() {
+ return modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "h2",
+ {className: "ui-form-title h2 margin-reset margin-bottom-20 marginTop60-3PGbtK da-marginTop6"},
+ this.props.text
+ );
+ }
+}
+
+/***/ }),
+
+/***/ "./src/ui/sidebarview.js":
+/*!*******************************!*\
+ !*** ./src/ui/sidebarview.js ***!
+ \*******************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return V2C_SidebarView; });
+/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ "./src/modules/modules.js");
+/* harmony import */ var _scroller__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./scroller */ "./src/ui/scroller.js");
+
+
+
+class V2C_SidebarView extends modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].reactComponent {
+
+ constructor(props) {
+ super(props);
+ }
+
+ render() {
+ let {sidebar, content, tools} = this.props.children;
+ return modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ {className: "standardSidebarView-3F1I7i ui-standard-sidebar-view"},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(
+ "div",
+ {className: "sidebarRegion-VFTUkN sidebar-region"},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement(_scroller__WEBPACK_IMPORTED_MODULE_1__["default"], {key: "sidebarScroller", ref: "sidebarScroller", sidebar: true, fade: sidebar.fade || true, dark: sidebar.dark || true, children: sidebar.component})
+ ),
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement("div", {className: "contentRegion-3nDuYy content-region"},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement("div", {className: "contentTransitionWrap-3hqOEW content-transition-wrap"},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement("div", {className: "scrollerWrap-2lJEkd firefoxFixScrollFlex-cnI2ix contentRegionScrollerWrap-3YZXdm content-region-scroller-wrap scrollerThemed-2oenus themeGhost-28MSn0 scrollerTrack-1ZIpsv"},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement("div", {className: "scroller-2FKFPG firefoxFixScrollFlex-cnI2ix contentRegionScroller-26nc1e content-region-scroller scroller", ref: "contentScroller"},
+ modules__WEBPACK_IMPORTED_MODULE_0__["BDV2"].react.createElement("div", {className: "contentColumn-2hrIYH contentColumnDefault-1VQkGM content-column default"}, content.component),
+ tools.component
+ )
+ )
+ )
+ )
+ );
+ }
+}
+
+/***/ }),
+
+/***/ "./src/ui/ui.js":
+/*!**********************!*\
+ !*** ./src/ui/ui.js ***!
+ \**********************/
+/*! exports provided: SettingsPanel, PublicServers */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _settings_settings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./settings/settings */ "./src/ui/settings/settings.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SettingsPanel", function() { return _settings_settings__WEBPACK_IMPORTED_MODULE_0__["default"]; });
+
+/* harmony import */ var _publicservers_publicservers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./publicservers/publicservers */ "./src/ui/publicservers/publicservers.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PublicServers", function() { return _publicservers_publicservers__WEBPACK_IMPORTED_MODULE_1__["default"]; });
+
+
+
+
+
+
+/***/ }),
+
+/***/ "electron":
+/*!****************************************!*\
+ !*** external "require(\"electron\")" ***!
+ \****************************************/
+/*! no static exports found */
+/***/ (function(module, exports) {
+
+module.exports = require("electron");
+
+/***/ }),
+
+/***/ "events":
+/*!*************************!*\
+ !*** external "events" ***!
+ \*************************/
+/*! no static exports found */
+/***/ (function(module, exports) {
+
+module.exports = require("events");
+
+/***/ }),
+
+/***/ "fs":
+/*!**********************************!*\
+ !*** external "require(\"fs\")" ***!
+ \**********************************/
+/*! no static exports found */
+/***/ (function(module, exports) {
+
+module.exports = require("fs");
+
+/***/ }),
+
+/***/ "module":
+/*!*************************!*\
+ !*** external "module" ***!
+ \*************************/
+/*! no static exports found */
+/***/ (function(module, exports) {
+
+module.exports = require("module");
+
+/***/ }),
+
+/***/ "path":
+/*!************************************!*\
+ !*** external "require(\"path\")" ***!
+ \************************************/
+/*! no static exports found */
+/***/ (function(module, exports) {
+
+module.exports = require("path");
+
+/***/ }),
+
+/***/ "request":
+/*!***************************************!*\
+ !*** external "require(\"request\")" ***!
+ \***************************************/
+/*! no static exports found */
+/***/ (function(module, exports) {
+
+module.exports = require("request");
+
+/***/ })
+
+/******/ })["default"];
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index 15cca605..81219d82 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -14,75 +14,106 @@
}
},
"@babel/core": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.1.2.tgz",
- "integrity": "sha512-IFeSSnjXdhDaoysIlev//UzHZbdEmm7D0EIH2qtse9xK7mXEZQpYjs2P00XlP1qYsYvid79p+Zgg6tz1mp6iVw==",
+ "version": "7.4.5",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.4.5.tgz",
+ "integrity": "sha512-OvjIh6aqXtlsA8ujtGKfC7LYWksYSX8yQcM8Ay3LuvVeQ63lcOKgoZWVqcpFwkd29aYU9rVx7jxhfhiEDV9MZA==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
- "@babel/generator": "^7.1.2",
- "@babel/helpers": "^7.1.2",
- "@babel/parser": "^7.1.2",
- "@babel/template": "^7.1.2",
- "@babel/traverse": "^7.1.0",
- "@babel/types": "^7.1.2",
+ "@babel/generator": "^7.4.4",
+ "@babel/helpers": "^7.4.4",
+ "@babel/parser": "^7.4.5",
+ "@babel/template": "^7.4.4",
+ "@babel/traverse": "^7.4.5",
+ "@babel/types": "^7.4.4",
"convert-source-map": "^1.1.0",
- "debug": "^3.1.0",
- "json5": "^0.5.0",
- "lodash": "^4.17.10",
+ "debug": "^4.1.0",
+ "json5": "^2.1.0",
+ "lodash": "^4.17.11",
"resolve": "^1.3.2",
"semver": "^5.4.1",
"source-map": "^0.5.0"
},
"dependencies": {
"debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
"dev": true,
"requires": {
"ms": "^2.1.1"
}
},
- "lodash": {
- "version": "4.17.11",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
- "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
- "dev": true
- },
"ms": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
"integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
"dev": true
- },
- "semver": {
- "version": "5.6.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
- "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==",
- "dev": true
}
}
},
"@babel/generator": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.1.3.tgz",
- "integrity": "sha512-ZoCZGcfIJFJuZBqxcY9OjC1KW2lWK64qrX1o4UYL3yshVhwKFYgzpWZ0vvtGMNJdTlvkw0W+HR1VnYN8q3QPFQ==",
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.4.4.tgz",
+ "integrity": "sha512-53UOLK6TVNqKxf7RUh8NE851EHRxOOeVXKbK2bivdb+iziMyk03Sr4eaE9OELCbyZAAafAKPDwF2TPUES5QbxQ==",
"dev": true,
"requires": {
- "@babel/types": "^7.1.3",
+ "@babel/types": "^7.4.4",
"jsesc": "^2.5.1",
- "lodash": "^4.17.10",
+ "lodash": "^4.17.11",
"source-map": "^0.5.0",
"trim-right": "^1.0.1"
- },
- "dependencies": {
- "lodash": {
- "version": "4.17.11",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
- "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
- "dev": true
- }
+ }
+ },
+ "@babel/helper-annotate-as-pure": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz",
+ "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-builder-binary-assignment-operator-visitor": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz",
+ "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-explode-assignable-expression": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-call-delegate": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz",
+ "integrity": "sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-hoist-variables": "^7.4.4",
+ "@babel/traverse": "^7.4.4",
+ "@babel/types": "^7.4.4"
+ }
+ },
+ "@babel/helper-define-map": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.4.4.tgz",
+ "integrity": "sha512-IX3Ln8gLhZpSuqHJSnTNBWGDE9kdkTEWl21A/K7PQ00tseBwbqCHTvNLHSBd9M0R5rER4h5Rsvj9vw0R5SieBg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/types": "^7.4.4",
+ "lodash": "^4.17.11"
+ }
+ },
+ "@babel/helper-explode-assignable-expression": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz",
+ "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==",
+ "dev": true,
+ "requires": {
+ "@babel/traverse": "^7.1.0",
+ "@babel/types": "^7.0.0"
}
},
"@babel/helper-function-name": {
@@ -105,24 +136,136 @@
"@babel/types": "^7.0.0"
}
},
- "@babel/helper-split-export-declaration": {
+ "@babel/helper-hoist-variables": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz",
+ "integrity": "sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.4.4"
+ }
+ },
+ "@babel/helper-member-expression-to-functions": {
"version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz",
- "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz",
+ "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==",
"dev": true,
"requires": {
"@babel/types": "^7.0.0"
}
},
- "@babel/helpers": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.1.2.tgz",
- "integrity": "sha512-Myc3pUE8eswD73aWcartxB16K6CGmHDv9KxOmD2CeOs/FaEAQodr3VYGmlvOmog60vNQ2w8QbatuahepZwrHiA==",
+ "@babel/helper-module-imports": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz",
+ "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==",
"dev": true,
"requires": {
- "@babel/template": "^7.1.2",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-module-transforms": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.4.4.tgz",
+ "integrity": "sha512-3Z1yp8TVQf+B4ynN7WoHPKS8EkdTbgAEy0nU0rs/1Kw4pDgmvYH3rz3aI11KgxKCba2cn7N+tqzV1mY2HMN96w==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-imports": "^7.0.0",
+ "@babel/helper-simple-access": "^7.1.0",
+ "@babel/helper-split-export-declaration": "^7.4.4",
+ "@babel/template": "^7.4.4",
+ "@babel/types": "^7.4.4",
+ "lodash": "^4.17.11"
+ }
+ },
+ "@babel/helper-optimise-call-expression": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz",
+ "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-plugin-utils": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz",
+ "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==",
+ "dev": true
+ },
+ "@babel/helper-regex": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.4.4.tgz",
+ "integrity": "sha512-Y5nuB/kESmR3tKjU8Nkn1wMGEx1tjJX076HBMeL3XLQCu6vA/YRzuTW0bbb+qRnXvQGn+d6Rx953yffl8vEy7Q==",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.17.11"
+ }
+ },
+ "@babel/helper-remap-async-to-generator": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz",
+ "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.0.0",
+ "@babel/helper-wrap-function": "^7.1.0",
+ "@babel/template": "^7.1.0",
"@babel/traverse": "^7.1.0",
- "@babel/types": "^7.1.2"
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-replace-supers": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.4.4.tgz",
+ "integrity": "sha512-04xGEnd+s01nY1l15EuMS1rfKktNF+1CkKmHoErDppjAAZL+IUBZpzT748x262HF7fibaQPhbvWUl5HeSt1EXg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-member-expression-to-functions": "^7.0.0",
+ "@babel/helper-optimise-call-expression": "^7.0.0",
+ "@babel/traverse": "^7.4.4",
+ "@babel/types": "^7.4.4"
+ }
+ },
+ "@babel/helper-simple-access": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz",
+ "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==",
+ "dev": true,
+ "requires": {
+ "@babel/template": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-split-export-declaration": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz",
+ "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.4.4"
+ }
+ },
+ "@babel/helper-wrap-function": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz",
+ "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/template": "^7.1.0",
+ "@babel/traverse": "^7.1.0",
+ "@babel/types": "^7.2.0"
+ }
+ },
+ "@babel/helpers": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.4.4.tgz",
+ "integrity": "sha512-igczbR/0SeuPR8RFfC7tGrbdTbFL3QTvH6D+Z6zNxnTe//GyqmtHmDkzrqDmyZ3eSwPqB/LhyKoU5DXsp+Vp2A==",
+ "dev": true,
+ "requires": {
+ "@babel/template": "^7.4.4",
+ "@babel/traverse": "^7.4.4",
+ "@babel/types": "^7.4.4"
}
},
"@babel/highlight": {
@@ -134,88 +277,514 @@
"chalk": "^2.0.0",
"esutils": "^2.0.2",
"js-tokens": "^4.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
}
},
"@babel/parser": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.3.tgz",
- "integrity": "sha512-gqmspPZOMW3MIRb9HlrnbZHXI1/KHTOroBwN1NcLL6pWxzqzEKGvRTq0W/PxS45OtQGbaFikSQpkS5zbnsQm2w==",
+ "version": "7.4.5",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.4.5.tgz",
+ "integrity": "sha512-9mUqkL1FF5T7f0WDFfAoDdiMVPWsdD1gZYzSnaXsxUCUqzuch/8of9G3VUSNiZmMBoRxT3neyVsqeiL/ZPcjew==",
"dev": true
},
+ "@babel/plugin-proposal-async-generator-functions": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz",
+ "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-remap-async-to-generator": "^7.1.0",
+ "@babel/plugin-syntax-async-generators": "^7.2.0"
+ }
+ },
+ "@babel/plugin-proposal-json-strings": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz",
+ "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-json-strings": "^7.2.0"
+ }
+ },
+ "@babel/plugin-proposal-object-rest-spread": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.4.4.tgz",
+ "integrity": "sha512-dMBG6cSPBbHeEBdFXeQ2QLc5gUpg4Vkaz8octD4aoW/ISO+jBOcsuxYL7bsb5WSu8RLP6boxrBIALEHgoHtO9g==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-object-rest-spread": "^7.2.0"
+ }
+ },
+ "@babel/plugin-proposal-optional-catch-binding": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz",
+ "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.2.0"
+ }
+ },
+ "@babel/plugin-proposal-unicode-property-regex": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz",
+ "integrity": "sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-regex": "^7.4.4",
+ "regexpu-core": "^4.5.4"
+ }
+ },
+ "@babel/plugin-syntax-async-generators": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz",
+ "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-syntax-json-strings": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz",
+ "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-syntax-object-rest-spread": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz",
+ "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-syntax-optional-catch-binding": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz",
+ "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-arrow-functions": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz",
+ "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-async-to-generator": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.4.4.tgz",
+ "integrity": "sha512-YiqW2Li8TXmzgbXw+STsSqPBPFnGviiaSp6CYOq55X8GQ2SGVLrXB6pNid8HkqkZAzOH6knbai3snhP7v0fNwA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-imports": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-remap-async-to-generator": "^7.1.0"
+ }
+ },
+ "@babel/plugin-transform-block-scoped-functions": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz",
+ "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-block-scoping": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.4.4.tgz",
+ "integrity": "sha512-jkTUyWZcTrwxu5DD4rWz6rDB5Cjdmgz6z7M7RLXOJyCUkFBawssDGcGh8M/0FTSB87avyJI1HsTwUXp9nKA1PA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "lodash": "^4.17.11"
+ }
+ },
+ "@babel/plugin-transform-classes": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.4.4.tgz",
+ "integrity": "sha512-/e44eFLImEGIpL9qPxSRat13I5QNRgBLu2hOQJCF7VLy/otSM/sypV1+XaIw5+502RX/+6YaSAPmldk+nhHDPw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.0.0",
+ "@babel/helper-define-map": "^7.4.4",
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/helper-optimise-call-expression": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-replace-supers": "^7.4.4",
+ "@babel/helper-split-export-declaration": "^7.4.4",
+ "globals": "^11.1.0"
+ }
+ },
+ "@babel/plugin-transform-computed-properties": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz",
+ "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-destructuring": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.4.4.tgz",
+ "integrity": "sha512-/aOx+nW0w8eHiEHm+BTERB2oJn5D127iye/SUQl7NjHy0lf+j7h4MKMMSOwdazGq9OxgiNADncE+SRJkCxjZpQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-dotall-regex": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz",
+ "integrity": "sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-regex": "^7.4.4",
+ "regexpu-core": "^4.5.4"
+ }
+ },
+ "@babel/plugin-transform-duplicate-keys": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.2.0.tgz",
+ "integrity": "sha512-q+yuxW4DsTjNceUiTzK0L+AfQ0zD9rWaTLiUqHA8p0gxx7lu1EylenfzjeIWNkPy6e/0VG/Wjw9uf9LueQwLOw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-exponentiation-operator": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz",
+ "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-for-of": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz",
+ "integrity": "sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-function-name": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz",
+ "integrity": "sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-literals": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz",
+ "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-member-expression-literals": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz",
+ "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-modules-amd": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz",
+ "integrity": "sha512-mK2A8ucqz1qhrdqjS9VMIDfIvvT2thrEsIQzbaTdc5QFzhDjQv2CkJJ5f6BXIkgbmaoax3zBr2RyvV/8zeoUZw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-transforms": "^7.1.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-modules-commonjs": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.4.4.tgz",
+ "integrity": "sha512-4sfBOJt58sEo9a2BQXnZq+Q3ZTSAUXyK3E30o36BOGnJ+tvJ6YSxF0PG6kERvbeISgProodWuI9UVG3/FMY6iw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-transforms": "^7.4.4",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-simple-access": "^7.1.0"
+ }
+ },
+ "@babel/plugin-transform-modules-systemjs": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.4.4.tgz",
+ "integrity": "sha512-MSiModfILQc3/oqnG7NrP1jHaSPryO6tA2kOMmAQApz5dayPxWiHqmq4sWH2xF5LcQK56LlbKByCd8Aah/OIkQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-hoist-variables": "^7.4.4",
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-modules-umd": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz",
+ "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-transforms": "^7.1.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-named-capturing-groups-regex": {
+ "version": "7.4.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz",
+ "integrity": "sha512-z7+2IsWafTBbjNsOxU/Iv5CvTJlr5w4+HGu1HovKYTtgJ362f7kBcQglkfmlspKKZ3bgrbSGvLfNx++ZJgCWsg==",
+ "dev": true,
+ "requires": {
+ "regexp-tree": "^0.1.6"
+ }
+ },
+ "@babel/plugin-transform-new-target": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz",
+ "integrity": "sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-object-super": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz",
+ "integrity": "sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-replace-supers": "^7.1.0"
+ }
+ },
+ "@babel/plugin-transform-parameters": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz",
+ "integrity": "sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-call-delegate": "^7.4.4",
+ "@babel/helper-get-function-arity": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-property-literals": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz",
+ "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-regenerator": {
+ "version": "7.4.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz",
+ "integrity": "sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==",
+ "dev": true,
+ "requires": {
+ "regenerator-transform": "^0.14.0"
+ }
+ },
+ "@babel/plugin-transform-reserved-words": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz",
+ "integrity": "sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-shorthand-properties": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz",
+ "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-spread": {
+ "version": "7.2.2",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz",
+ "integrity": "sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-sticky-regex": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz",
+ "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-regex": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-template-literals": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz",
+ "integrity": "sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-typeof-symbol": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz",
+ "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-unicode-regex": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz",
+ "integrity": "sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-regex": "^7.4.4",
+ "regexpu-core": "^4.5.4"
+ }
+ },
+ "@babel/preset-env": {
+ "version": "7.4.5",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.4.5.tgz",
+ "integrity": "sha512-f2yNVXM+FsR5V8UwcFeIHzHWgnhXg3NpRmy0ADvALpnhB0SLbCvrCRr4BLOUYbQNLS+Z0Yer46x9dJXpXewI7w==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-imports": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-proposal-async-generator-functions": "^7.2.0",
+ "@babel/plugin-proposal-json-strings": "^7.2.0",
+ "@babel/plugin-proposal-object-rest-spread": "^7.4.4",
+ "@babel/plugin-proposal-optional-catch-binding": "^7.2.0",
+ "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
+ "@babel/plugin-syntax-async-generators": "^7.2.0",
+ "@babel/plugin-syntax-json-strings": "^7.2.0",
+ "@babel/plugin-syntax-object-rest-spread": "^7.2.0",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.2.0",
+ "@babel/plugin-transform-arrow-functions": "^7.2.0",
+ "@babel/plugin-transform-async-to-generator": "^7.4.4",
+ "@babel/plugin-transform-block-scoped-functions": "^7.2.0",
+ "@babel/plugin-transform-block-scoping": "^7.4.4",
+ "@babel/plugin-transform-classes": "^7.4.4",
+ "@babel/plugin-transform-computed-properties": "^7.2.0",
+ "@babel/plugin-transform-destructuring": "^7.4.4",
+ "@babel/plugin-transform-dotall-regex": "^7.4.4",
+ "@babel/plugin-transform-duplicate-keys": "^7.2.0",
+ "@babel/plugin-transform-exponentiation-operator": "^7.2.0",
+ "@babel/plugin-transform-for-of": "^7.4.4",
+ "@babel/plugin-transform-function-name": "^7.4.4",
+ "@babel/plugin-transform-literals": "^7.2.0",
+ "@babel/plugin-transform-member-expression-literals": "^7.2.0",
+ "@babel/plugin-transform-modules-amd": "^7.2.0",
+ "@babel/plugin-transform-modules-commonjs": "^7.4.4",
+ "@babel/plugin-transform-modules-systemjs": "^7.4.4",
+ "@babel/plugin-transform-modules-umd": "^7.2.0",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.4.5",
+ "@babel/plugin-transform-new-target": "^7.4.4",
+ "@babel/plugin-transform-object-super": "^7.2.0",
+ "@babel/plugin-transform-parameters": "^7.4.4",
+ "@babel/plugin-transform-property-literals": "^7.2.0",
+ "@babel/plugin-transform-regenerator": "^7.4.5",
+ "@babel/plugin-transform-reserved-words": "^7.2.0",
+ "@babel/plugin-transform-shorthand-properties": "^7.2.0",
+ "@babel/plugin-transform-spread": "^7.2.0",
+ "@babel/plugin-transform-sticky-regex": "^7.2.0",
+ "@babel/plugin-transform-template-literals": "^7.4.4",
+ "@babel/plugin-transform-typeof-symbol": "^7.2.0",
+ "@babel/plugin-transform-unicode-regex": "^7.4.4",
+ "@babel/types": "^7.4.4",
+ "browserslist": "^4.6.0",
+ "core-js-compat": "^3.1.1",
+ "invariant": "^2.2.2",
+ "js-levenshtein": "^1.1.3",
+ "semver": "^5.5.0"
+ }
+ },
+ "@babel/register": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.4.4.tgz",
+ "integrity": "sha512-sn51H88GRa00+ZoMqCVgOphmswG4b7mhf9VOB0LUBAieykq2GnRFerlN+JQkO/ntT7wz4jaHNSRPg9IdMPEUkA==",
+ "dev": true,
+ "requires": {
+ "core-js": "^3.0.0",
+ "find-cache-dir": "^2.0.0",
+ "lodash": "^4.17.11",
+ "mkdirp": "^0.5.1",
+ "pirates": "^4.0.0",
+ "source-map-support": "^0.5.9"
+ }
+ },
"@babel/template": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.1.2.tgz",
- "integrity": "sha512-SY1MmplssORfFiLDcOETrW7fCLl+PavlwMh92rrGcikQaRq4iWPVH0MpwPpY3etVMx6RnDjXtr6VZYr/IbP/Ag==",
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.4.tgz",
+ "integrity": "sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
- "@babel/parser": "^7.1.2",
- "@babel/types": "^7.1.2"
+ "@babel/parser": "^7.4.4",
+ "@babel/types": "^7.4.4"
}
},
"@babel/traverse": {
- "version": "7.1.4",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.1.4.tgz",
- "integrity": "sha512-my9mdrAIGdDiSVBuMjpn/oXYpva0/EZwWL3sm3Wcy/AVWO2eXnsoZruOT9jOGNRXU8KbCIu5zsKnXcAJ6PcV6Q==",
+ "version": "7.4.5",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.4.5.tgz",
+ "integrity": "sha512-Vc+qjynwkjRmIFGxy0KYoPj4FdVDxLej89kMHFsWScq999uX+pwcX4v9mWRjW0KcAYTPAuVQl2LKP1wEVLsp+A==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
- "@babel/generator": "^7.1.3",
+ "@babel/generator": "^7.4.4",
"@babel/helper-function-name": "^7.1.0",
- "@babel/helper-split-export-declaration": "^7.0.0",
- "@babel/parser": "^7.1.3",
- "@babel/types": "^7.1.3",
- "debug": "^3.1.0",
+ "@babel/helper-split-export-declaration": "^7.4.4",
+ "@babel/parser": "^7.4.5",
+ "@babel/types": "^7.4.4",
+ "debug": "^4.1.0",
"globals": "^11.1.0",
- "lodash": "^4.17.10"
+ "lodash": "^4.17.11"
},
"dependencies": {
"debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
"dev": true,
"requires": {
"ms": "^2.1.1"
}
},
- "lodash": {
- "version": "4.17.11",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
- "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
- "dev": true
- },
"ms": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
@@ -225,24 +794,240 @@
}
},
"@babel/types": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.1.3.tgz",
- "integrity": "sha512-RpPOVfK+yatXyn8n4PB1NW6k9qjinrXrRR8ugBN8fD6hCy5RXI6PSbVqpOJBO9oSaY7Nom4ohj35feb0UR9hSA==",
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.4.tgz",
+ "integrity": "sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ==",
"dev": true,
"requires": {
"esutils": "^2.0.2",
- "lodash": "^4.17.10",
+ "lodash": "^4.17.11",
"to-fast-properties": "^2.0.0"
- },
- "dependencies": {
- "lodash": {
- "version": "4.17.11",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
- "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
- "dev": true
- }
}
},
+ "@webassemblyjs/ast": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz",
+ "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/helper-module-context": "1.8.5",
+ "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
+ "@webassemblyjs/wast-parser": "1.8.5"
+ }
+ },
+ "@webassemblyjs/floating-point-hex-parser": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz",
+ "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==",
+ "dev": true
+ },
+ "@webassemblyjs/helper-api-error": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz",
+ "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==",
+ "dev": true
+ },
+ "@webassemblyjs/helper-buffer": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz",
+ "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==",
+ "dev": true
+ },
+ "@webassemblyjs/helper-code-frame": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz",
+ "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/wast-printer": "1.8.5"
+ }
+ },
+ "@webassemblyjs/helper-fsm": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz",
+ "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==",
+ "dev": true
+ },
+ "@webassemblyjs/helper-module-context": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz",
+ "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.8.5",
+ "mamacro": "^0.0.3"
+ }
+ },
+ "@webassemblyjs/helper-wasm-bytecode": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz",
+ "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==",
+ "dev": true
+ },
+ "@webassemblyjs/helper-wasm-section": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz",
+ "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.8.5",
+ "@webassemblyjs/helper-buffer": "1.8.5",
+ "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
+ "@webassemblyjs/wasm-gen": "1.8.5"
+ }
+ },
+ "@webassemblyjs/ieee754": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz",
+ "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==",
+ "dev": true,
+ "requires": {
+ "@xtuc/ieee754": "^1.2.0"
+ }
+ },
+ "@webassemblyjs/leb128": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz",
+ "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==",
+ "dev": true,
+ "requires": {
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "@webassemblyjs/utf8": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz",
+ "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==",
+ "dev": true
+ },
+ "@webassemblyjs/wasm-edit": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz",
+ "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.8.5",
+ "@webassemblyjs/helper-buffer": "1.8.5",
+ "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
+ "@webassemblyjs/helper-wasm-section": "1.8.5",
+ "@webassemblyjs/wasm-gen": "1.8.5",
+ "@webassemblyjs/wasm-opt": "1.8.5",
+ "@webassemblyjs/wasm-parser": "1.8.5",
+ "@webassemblyjs/wast-printer": "1.8.5"
+ }
+ },
+ "@webassemblyjs/wasm-gen": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz",
+ "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.8.5",
+ "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
+ "@webassemblyjs/ieee754": "1.8.5",
+ "@webassemblyjs/leb128": "1.8.5",
+ "@webassemblyjs/utf8": "1.8.5"
+ }
+ },
+ "@webassemblyjs/wasm-opt": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz",
+ "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.8.5",
+ "@webassemblyjs/helper-buffer": "1.8.5",
+ "@webassemblyjs/wasm-gen": "1.8.5",
+ "@webassemblyjs/wasm-parser": "1.8.5"
+ }
+ },
+ "@webassemblyjs/wasm-parser": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz",
+ "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.8.5",
+ "@webassemblyjs/helper-api-error": "1.8.5",
+ "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
+ "@webassemblyjs/ieee754": "1.8.5",
+ "@webassemblyjs/leb128": "1.8.5",
+ "@webassemblyjs/utf8": "1.8.5"
+ }
+ },
+ "@webassemblyjs/wast-parser": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz",
+ "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.8.5",
+ "@webassemblyjs/floating-point-hex-parser": "1.8.5",
+ "@webassemblyjs/helper-api-error": "1.8.5",
+ "@webassemblyjs/helper-code-frame": "1.8.5",
+ "@webassemblyjs/helper-fsm": "1.8.5",
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "@webassemblyjs/wast-printer": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz",
+ "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.8.5",
+ "@webassemblyjs/wast-parser": "1.8.5",
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "@xtuc/ieee754": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
+ "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
+ "dev": true
+ },
+ "@xtuc/long": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
+ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
+ "dev": true
+ },
+ "acorn": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz",
+ "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==",
+ "dev": true
+ },
+ "acorn-dynamic-import": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz",
+ "integrity": "sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==",
+ "dev": true
+ },
+ "ajv": {
+ "version": "6.10.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz",
+ "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^2.0.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "ajv-errors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
+ "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
+ "dev": true
+ },
+ "ajv-keywords": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.0.tgz",
+ "integrity": "sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw==",
+ "dev": true
+ },
"ansi-colors": {
"version": "1.1.0",
"resolved": "http://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz",
@@ -285,6 +1070,15 @@
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
"dev": true
},
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
"ansi-wrap": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
@@ -310,6 +1104,12 @@
"buffer-equal": "^1.0.0"
}
},
+ "aproba": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
+ "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
+ "dev": true
+ },
"archy": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
@@ -424,6 +1224,44 @@
"integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
"dev": true
},
+ "asn1.js": {
+ "version": "4.10.1",
+ "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
+ "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.0.0",
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0"
+ }
+ },
+ "assert": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
+ "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
+ "dev": true,
+ "requires": {
+ "object-assign": "^4.1.1",
+ "util": "0.10.3"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
+ "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
+ "dev": true
+ },
+ "util": {
+ "version": "0.10.3",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
+ "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.1"
+ }
+ }
+ }
+ },
"assign-symbols": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
@@ -786,12 +1624,36 @@
}
}
},
+ "base64-js": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz",
+ "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==",
+ "dev": true
+ },
+ "big.js": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
+ "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
+ "dev": true
+ },
"binary-extensions": {
"version": "1.13.1",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
"integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
"dev": true
},
+ "bluebird": {
+ "version": "3.5.5",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz",
+ "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==",
+ "dev": true
+ },
+ "bn.js": {
+ "version": "4.11.8",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
+ "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
+ "dev": true
+ },
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -831,6 +1693,105 @@
}
}
},
+ "brorand": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
+ "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
+ "dev": true
+ },
+ "browserify-aes": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
+ "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
+ "dev": true,
+ "requires": {
+ "buffer-xor": "^1.0.3",
+ "cipher-base": "^1.0.0",
+ "create-hash": "^1.1.0",
+ "evp_bytestokey": "^1.0.3",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "browserify-cipher": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
+ "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
+ "dev": true,
+ "requires": {
+ "browserify-aes": "^1.0.4",
+ "browserify-des": "^1.0.0",
+ "evp_bytestokey": "^1.0.0"
+ }
+ },
+ "browserify-des": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
+ "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
+ "dev": true,
+ "requires": {
+ "cipher-base": "^1.0.1",
+ "des.js": "^1.0.0",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ }
+ },
+ "browserify-rsa": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
+ "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.1.0",
+ "randombytes": "^2.0.1"
+ }
+ },
+ "browserify-sign": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
+ "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.1.1",
+ "browserify-rsa": "^4.0.0",
+ "create-hash": "^1.1.0",
+ "create-hmac": "^1.1.2",
+ "elliptic": "^6.0.0",
+ "inherits": "^2.0.1",
+ "parse-asn1": "^5.0.0"
+ }
+ },
+ "browserify-zlib": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
+ "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
+ "dev": true,
+ "requires": {
+ "pako": "~1.0.5"
+ }
+ },
+ "browserslist": {
+ "version": "4.6.1",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.1.tgz",
+ "integrity": "sha512-1MC18ooMPRG2UuVFJTHFIAkk6mpByJfxCrnUyvSlu/hyQSFHMrlhM02SzNuCV+quTP4CKmqtOMAIjrifrpBJXQ==",
+ "dev": true,
+ "requires": {
+ "caniuse-lite": "^1.0.30000971",
+ "electron-to-chromium": "^1.3.137",
+ "node-releases": "^1.1.21"
+ }
+ },
+ "buffer": {
+ "version": "4.9.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
+ "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
+ "dev": true,
+ "requires": {
+ "base64-js": "^1.0.2",
+ "ieee754": "^1.1.4",
+ "isarray": "^1.0.0"
+ }
+ },
"buffer-equal": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz",
@@ -843,6 +1804,40 @@
"integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
"dev": true
},
+ "buffer-xor": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
+ "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
+ "dev": true
+ },
+ "builtin-status-codes": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
+ "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
+ "dev": true
+ },
+ "cacache": {
+ "version": "11.3.2",
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.2.tgz",
+ "integrity": "sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg==",
+ "dev": true,
+ "requires": {
+ "bluebird": "^3.5.3",
+ "chownr": "^1.1.1",
+ "figgy-pudding": "^3.5.1",
+ "glob": "^7.1.3",
+ "graceful-fs": "^4.1.15",
+ "lru-cache": "^5.1.1",
+ "mississippi": "^3.0.0",
+ "mkdirp": "^0.5.1",
+ "move-concurrently": "^1.0.1",
+ "promise-inflight": "^1.0.1",
+ "rimraf": "^2.6.2",
+ "ssri": "^6.0.1",
+ "unique-filename": "^1.1.1",
+ "y18n": "^4.0.0"
+ }
+ },
"cache-base": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
@@ -860,6 +1855,29 @@
"unset-value": "^1.0.0"
}
},
+ "camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "dev": true
+ },
+ "caniuse-lite": {
+ "version": "1.0.30000971",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000971.tgz",
+ "integrity": "sha512-TQFYFhRS0O5rdsmSbF1Wn+16latXYsQJat66f7S7lizXW1PVpWJeZw9wqqVLIjuxDRz7s7xRUj13QCfd8hKn6g==",
+ "dev": true
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
"chokidar": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.5.tgz",
@@ -888,6 +1906,31 @@
}
}
},
+ "chownr": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz",
+ "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==",
+ "dev": true
+ },
+ "chrome-trace-event": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz",
+ "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==",
+ "dev": true,
+ "requires": {
+ "tslib": "^1.9.0"
+ }
+ },
+ "cipher-base": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
+ "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
"class-utils": {
"version": "0.3.6",
"resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
@@ -911,6 +1954,34 @@
}
}
},
+ "cliui": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
+ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
+ "dev": true,
+ "requires": {
+ "string-width": "^2.1.1",
+ "strip-ansi": "^4.0.0",
+ "wrap-ansi": "^2.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ }
+ }
+ },
"clone": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
@@ -988,6 +2059,18 @@
"integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
"dev": true
},
+ "commander": {
+ "version": "2.20.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz",
+ "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==",
+ "dev": true
+ },
+ "commondir": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
+ "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
+ "dev": true
+ },
"component-emitter": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
@@ -1012,6 +2095,21 @@
"typedarray": "^0.0.6"
}
},
+ "console-browserify": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
+ "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
+ "dev": true,
+ "requires": {
+ "date-now": "^0.1.4"
+ }
+ },
+ "constants-browserify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
+ "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
+ "dev": true
+ },
"convert-source-map": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz",
@@ -1021,6 +2119,20 @@
"safe-buffer": "~5.1.1"
}
},
+ "copy-concurrently": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
+ "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
+ "dev": true,
+ "requires": {
+ "aproba": "^1.1.1",
+ "fs-write-stream-atomic": "^1.0.8",
+ "iferr": "^0.1.5",
+ "mkdirp": "^0.5.1",
+ "rimraf": "^2.5.4",
+ "run-queue": "^1.0.0"
+ }
+ },
"copy-descriptor": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
@@ -1037,12 +2149,112 @@
"is-plain-object": "^2.0.1"
}
},
+ "core-js": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.1.3.tgz",
+ "integrity": "sha512-PWZ+ZfuaKf178BIAg+CRsljwjIMRV8MY00CbZczkR6Zk5LfkSkjGoaab3+bqRQWVITNZxQB7TFYz+CFcyuamvA==",
+ "dev": true
+ },
+ "core-js-compat": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.1.3.tgz",
+ "integrity": "sha512-EP018pVhgwsKHz3YoN1hTq49aRe+h017Kjz0NQz3nXV0cCRMvH3fLQl+vEPGr4r4J5sk4sU3tUC7U1aqTCeJeA==",
+ "dev": true,
+ "requires": {
+ "browserslist": "^4.6.0",
+ "core-js-pure": "3.1.3",
+ "semver": "^6.1.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.1.1.tgz",
+ "integrity": "sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==",
+ "dev": true
+ }
+ }
+ },
+ "core-js-pure": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.1.3.tgz",
+ "integrity": "sha512-k3JWTrcQBKqjkjI0bkfXS0lbpWPxYuHWfMMjC1VDmzU4Q58IwSbuXSo99YO/hUHlw/EB4AlfA2PVxOGkrIq6dA==",
+ "dev": true
+ },
"core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
"dev": true
},
+ "create-ecdh": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz",
+ "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.1.0",
+ "elliptic": "^6.0.0"
+ }
+ },
+ "create-hash": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
+ "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
+ "dev": true,
+ "requires": {
+ "cipher-base": "^1.0.1",
+ "inherits": "^2.0.1",
+ "md5.js": "^1.3.4",
+ "ripemd160": "^2.0.1",
+ "sha.js": "^2.4.0"
+ }
+ },
+ "create-hmac": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
+ "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
+ "dev": true,
+ "requires": {
+ "cipher-base": "^1.0.3",
+ "create-hash": "^1.1.0",
+ "inherits": "^2.0.1",
+ "ripemd160": "^2.0.0",
+ "safe-buffer": "^5.0.1",
+ "sha.js": "^2.4.8"
+ }
+ },
+ "cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "dev": true,
+ "requires": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "crypto-browserify": {
+ "version": "3.12.0",
+ "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
+ "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
+ "dev": true,
+ "requires": {
+ "browserify-cipher": "^1.0.0",
+ "browserify-sign": "^4.0.0",
+ "create-ecdh": "^4.0.0",
+ "create-hash": "^1.1.0",
+ "create-hmac": "^1.1.0",
+ "diffie-hellman": "^5.0.0",
+ "inherits": "^2.0.1",
+ "pbkdf2": "^3.0.3",
+ "public-encrypt": "^4.0.0",
+ "randombytes": "^2.0.0",
+ "randomfill": "^1.0.3"
+ }
+ },
"css-tree": {
"version": "1.0.0-alpha.29",
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.29.tgz",
@@ -1062,6 +2274,12 @@
"css-tree": "1.0.0-alpha.29"
}
},
+ "cyclist": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz",
+ "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=",
+ "dev": true
+ },
"d": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
@@ -1071,6 +2289,12 @@
"es5-ext": "^0.10.9"
}
},
+ "date-now": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
+ "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=",
+ "dev": true
+ },
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
@@ -1165,12 +2389,39 @@
}
}
},
+ "des.js": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
+ "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0"
+ }
+ },
"detect-file": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
"integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=",
"dev": true
},
+ "diffie-hellman": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
+ "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.1.0",
+ "miller-rabin": "^4.0.0",
+ "randombytes": "^2.0.0"
+ }
+ },
+ "domain-browser": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
+ "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
+ "dev": true
+ },
"duplexify": {
"version": "3.7.1",
"resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
@@ -1193,6 +2444,33 @@
"object.defaults": "^1.1.0"
}
},
+ "electron-to-chromium": {
+ "version": "1.3.137",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.137.tgz",
+ "integrity": "sha512-kGi32g42a8vS/WnYE7ELJyejRT7hbr3UeOOu0WeuYuQ29gCpg9Lrf6RdcTQVXSt/v0bjCfnlb/EWOOsiKpTmkw==",
+ "dev": true
+ },
+ "elliptic": {
+ "version": "6.4.1",
+ "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz",
+ "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.4.0",
+ "brorand": "^1.0.1",
+ "hash.js": "^1.0.0",
+ "hmac-drbg": "^1.0.0",
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0",
+ "minimalistic-crypto-utils": "^1.0.0"
+ }
+ },
+ "emojis-list": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
+ "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
+ "dev": true
+ },
"end-of-stream": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
@@ -1213,6 +2491,26 @@
}
}
},
+ "enhanced-resolve": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz",
+ "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "memory-fs": "^0.4.0",
+ "tapable": "^1.0.0"
+ }
+ },
+ "errno": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
+ "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
+ "dev": true,
+ "requires": {
+ "prr": "~1.0.1"
+ }
+ },
"error-ex": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
@@ -1272,12 +2570,68 @@
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
+ "eslint-scope": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
+ "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
+ "dev": true,
+ "requires": {
+ "esrecurse": "^4.1.0",
+ "estraverse": "^4.1.1"
+ }
+ },
+ "esrecurse": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
+ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
+ "dev": true,
+ "requires": {
+ "estraverse": "^4.1.0"
+ }
+ },
+ "estraverse": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
+ "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
+ "dev": true
+ },
"esutils": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
"integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
"dev": true
},
+ "events": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz",
+ "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==",
+ "dev": true
+ },
+ "evp_bytestokey": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
+ "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
+ "dev": true,
+ "requires": {
+ "md5.js": "^1.3.4",
+ "safe-buffer": "^5.1.1"
+ }
+ },
+ "execa": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
+ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^6.0.0",
+ "get-stream": "^4.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ }
+ },
"expand-brackets": {
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
@@ -1426,6 +2780,24 @@
"time-stamp": "^1.0.0"
}
},
+ "fast-deep-equal": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
+ "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
+ "dev": true
+ },
+ "fast-json-stable-stringify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
+ "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
+ "dev": true
+ },
+ "figgy-pudding": {
+ "version": "3.5.1",
+ "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz",
+ "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==",
+ "dev": true
+ },
"fill-range": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
@@ -1449,6 +2821,26 @@
}
}
},
+ "find-cache-dir": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
+ "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
+ "dev": true,
+ "requires": {
+ "commondir": "^1.0.1",
+ "make-dir": "^2.0.0",
+ "pkg-dir": "^3.0.0"
+ }
+ },
+ "find-up": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+ "dev": true,
+ "requires": {
+ "locate-path": "^3.0.0"
+ }
+ },
"findup-sync": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz",
@@ -1514,6 +2906,16 @@
"map-cache": "^0.2.2"
}
},
+ "from2": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
+ "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.0.0"
+ }
+ },
"fs-mkdirp-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz",
@@ -1524,6 +2926,18 @@
"through2": "^2.0.3"
}
},
+ "fs-write-stream-atomic": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
+ "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "iferr": "^0.1.5",
+ "imurmurhash": "^0.1.4",
+ "readable-stream": "1 || 2"
+ }
+ },
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -1571,12 +2985,14 @@
"balanced-match": {
"version": "1.0.0",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -1591,17 +3007,20 @@
"code-point-at": {
"version": "1.1.0",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"concat-map": {
"version": "0.0.1",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"console-control-strings": {
"version": "1.1.0",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"core-util-is": {
"version": "1.0.2",
@@ -1718,7 +3137,8 @@
"inherits": {
"version": "2.0.3",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"ini": {
"version": "1.3.5",
@@ -1730,6 +3150,7 @@
"version": "1.0.0",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"number-is-nan": "^1.0.0"
}
@@ -1744,6 +3165,7 @@
"version": "3.0.4",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"brace-expansion": "^1.1.7"
}
@@ -1751,12 +3173,14 @@
"minimist": {
"version": "0.0.8",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"minipass": {
"version": "2.3.5",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"safe-buffer": "^5.1.2",
"yallist": "^3.0.0"
@@ -1775,6 +3199,7 @@
"version": "0.5.1",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"minimist": "0.0.8"
}
@@ -1855,7 +3280,8 @@
"number-is-nan": {
"version": "1.0.1",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"object-assign": {
"version": "4.1.1",
@@ -1867,6 +3293,7 @@
"version": "1.4.0",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"wrappy": "1"
}
@@ -1988,6 +3415,7 @@
"version": "1.0.2",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
@@ -2065,6 +3493,21 @@
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
"dev": true
},
+ "get-caller-file": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
+ "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
+ "dev": true
+ },
+ "get-stream": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
"get-value": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
@@ -2163,9 +3606,9 @@
}
},
"globals": {
- "version": "11.8.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.8.0.tgz",
- "integrity": "sha512-io6LkyPVuzCHBSQV9fmOwxZkUk6nIaGmxheLDgmuFv89j0fm2aqDbIXKAGfzCMHqz3HLF2Zf8WSG6VqMh2qFmA==",
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
"dev": true
},
"glogg": {
@@ -2473,6 +3916,37 @@
}
}
},
+ "hash-base": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
+ "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "hash.js": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
+ "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.3",
+ "minimalistic-assert": "^1.0.1"
+ }
+ },
+ "hmac-drbg": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
+ "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
+ "dev": true,
+ "requires": {
+ "hash.js": "^1.0.3",
+ "minimalistic-assert": "^1.0.0",
+ "minimalistic-crypto-utils": "^1.0.1"
+ }
+ },
"homedir-polyfill": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
@@ -2488,6 +3962,46 @@
"integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==",
"dev": true
},
+ "https-browserify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
+ "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
+ "dev": true
+ },
+ "ieee754": {
+ "version": "1.1.13",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
+ "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==",
+ "dev": true
+ },
+ "iferr": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
+ "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
+ "dev": true
+ },
+ "import-local": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz",
+ "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==",
+ "dev": true,
+ "requires": {
+ "pkg-dir": "^3.0.0",
+ "resolve-cwd": "^2.0.0"
+ }
+ },
+ "imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+ "dev": true
+ },
+ "indexof": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
+ "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
+ "dev": true
+ },
"inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
@@ -2516,6 +4030,21 @@
"integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==",
"dev": true
},
+ "invariant": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+ "dev": true,
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ },
+ "invert-kv": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
+ "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==",
+ "dev": true
+ },
"is-absolute": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
@@ -2618,6 +4147,12 @@
"integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
"dev": true
},
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
"is-glob": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
@@ -2671,6 +4206,12 @@
"is-unc-path": "^1.0.0"
}
},
+ "is-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+ "dev": true
+ },
"is-unc-path": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz",
@@ -2698,6 +4239,12 @@
"integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
"dev": true
},
+ "is-wsl": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
+ "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
+ "dev": true
+ },
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
@@ -2716,6 +4263,12 @@
"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
"dev": true
},
+ "js-levenshtein": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz",
+ "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==",
+ "dev": true
+ },
"js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -2723,9 +4276,21 @@
"dev": true
},
"jsesc": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.1.tgz",
- "integrity": "sha1-5CGiqOINawgZ3yiQj3glJrlt0f4=",
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "dev": true
+ },
+ "json-parse-better-errors": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
+ "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
+ "dev": true
+ },
+ "json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
"dev": true
},
"json-stable-stringify-without-jsonify": {
@@ -2735,10 +4300,13 @@
"dev": true
},
"json5": {
- "version": "0.5.1",
- "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
- "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
- "dev": true
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz",
+ "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.0"
+ }
},
"just-debounce": {
"version": "1.0.0",
@@ -2771,6 +4339,15 @@
"readable-stream": "^2.0.5"
}
},
+ "lcid": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
+ "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
+ "dev": true,
+ "requires": {
+ "invert-kv": "^2.0.0"
+ }
+ },
"lead": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz",
@@ -2817,6 +4394,50 @@
}
}
},
+ "loader-runner": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
+ "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==",
+ "dev": true
+ },
+ "loader-utils": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz",
+ "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==",
+ "dev": true,
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^2.0.0",
+ "json5": "^1.0.1"
+ },
+ "dependencies": {
+ "json5": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+ "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.0"
+ }
+ }
+ }
+ },
+ "locate-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "dev": true,
+ "requires": {
+ "p-locate": "^3.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.11",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
+ "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
+ "dev": true
+ },
"lodash.isplainobject": {
"version": "4.0.6",
"resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
@@ -2829,6 +4450,34 @@
"integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=",
"dev": true
},
+ "loose-envify": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "dev": true,
+ "requires": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ }
+ },
+ "lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "dev": true,
+ "requires": {
+ "yallist": "^3.0.2"
+ }
+ },
+ "make-dir": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
+ "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+ "dev": true,
+ "requires": {
+ "pify": "^4.0.1",
+ "semver": "^5.6.0"
+ }
+ },
"make-iterator": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
@@ -2838,6 +4487,21 @@
"kind-of": "^6.0.2"
}
},
+ "mamacro": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz",
+ "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==",
+ "dev": true
+ },
+ "map-age-cleaner": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
+ "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==",
+ "dev": true,
+ "requires": {
+ "p-defer": "^1.0.0"
+ }
+ },
"map-cache": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
@@ -2888,12 +4552,44 @@
}
}
},
+ "md5.js": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
+ "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
+ "dev": true,
+ "requires": {
+ "hash-base": "^3.0.0",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ }
+ },
"mdn-data": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.4.tgz",
"integrity": "sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==",
"dev": true
},
+ "mem": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz",
+ "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==",
+ "dev": true,
+ "requires": {
+ "map-age-cleaner": "^0.1.1",
+ "mimic-fn": "^2.0.0",
+ "p-is-promise": "^2.0.0"
+ }
+ },
+ "memory-fs": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
+ "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
+ "dev": true,
+ "requires": {
+ "errno": "^0.1.3",
+ "readable-stream": "^2.0.1"
+ }
+ },
"micromatch": {
"version": "3.1.10",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
@@ -2915,6 +4611,34 @@
"to-regex": "^3.0.2"
}
},
+ "miller-rabin": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
+ "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.0.0",
+ "brorand": "^1.0.1"
+ }
+ },
+ "mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+ "dev": true
+ },
+ "minimalistic-assert": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
+ "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
+ "dev": true
+ },
+ "minimalistic-crypto-utils": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
+ "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
+ "dev": true
+ },
"minimatch": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
@@ -2924,6 +4648,30 @@
"brace-expansion": "^1.1.7"
}
},
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ },
+ "mississippi": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
+ "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==",
+ "dev": true,
+ "requires": {
+ "concat-stream": "^1.5.0",
+ "duplexify": "^3.4.2",
+ "end-of-stream": "^1.1.0",
+ "flush-write-stream": "^1.0.0",
+ "from2": "^2.1.0",
+ "parallel-transform": "^1.1.0",
+ "pump": "^3.0.0",
+ "pumpify": "^1.3.3",
+ "stream-each": "^1.1.0",
+ "through2": "^2.0.0"
+ }
+ },
"mixin-deep": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
@@ -2945,6 +4693,37 @@
}
}
},
+ "mkdirp": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "dev": true,
+ "requires": {
+ "minimist": "0.0.8"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+ "dev": true
+ }
+ }
+ },
+ "move-concurrently": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
+ "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
+ "dev": true,
+ "requires": {
+ "aproba": "^1.1.1",
+ "copy-concurrently": "^1.0.0",
+ "fs-write-stream-atomic": "^1.0.8",
+ "mkdirp": "^0.5.1",
+ "rimraf": "^2.5.4",
+ "run-queue": "^1.0.3"
+ }
+ },
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
@@ -2983,12 +4762,78 @@
"to-regex": "^3.0.1"
}
},
+ "neo-async": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz",
+ "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==",
+ "dev": true
+ },
"next-tick": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
"integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
"dev": true
},
+ "nice-try": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
+ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
+ "dev": true
+ },
+ "node-libs-browser": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.0.tgz",
+ "integrity": "sha512-5MQunG/oyOaBdttrL40dA7bUfPORLRWMUJLQtMg7nluxUvk5XwnLdL9twQHFAjRx/y7mIMkLKT9++qPbbk6BZA==",
+ "dev": true,
+ "requires": {
+ "assert": "^1.1.1",
+ "browserify-zlib": "^0.2.0",
+ "buffer": "^4.3.0",
+ "console-browserify": "^1.1.0",
+ "constants-browserify": "^1.0.0",
+ "crypto-browserify": "^3.11.0",
+ "domain-browser": "^1.1.1",
+ "events": "^3.0.0",
+ "https-browserify": "^1.0.0",
+ "os-browserify": "^0.3.0",
+ "path-browserify": "0.0.0",
+ "process": "^0.11.10",
+ "punycode": "^1.2.4",
+ "querystring-es3": "^0.2.0",
+ "readable-stream": "^2.3.3",
+ "stream-browserify": "^2.0.1",
+ "stream-http": "^2.7.2",
+ "string_decoder": "^1.0.0",
+ "timers-browserify": "^2.0.4",
+ "tty-browserify": "0.0.0",
+ "url": "^0.11.0",
+ "util": "^0.11.0",
+ "vm-browserify": "0.0.4"
+ },
+ "dependencies": {
+ "punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+ "dev": true
+ }
+ }
+ },
+ "node-modules-regexp": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz",
+ "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=",
+ "dev": true
+ },
+ "node-releases": {
+ "version": "1.1.21",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.21.tgz",
+ "integrity": "sha512-TwnURTCjc8a+ElJUjmDqU6+12jhli1Q61xOQmdZ7ECZVBZuQpN/1UnembiIHDM1wCcfLvh5wrWXUF5H6ufX64Q==",
+ "dev": true,
+ "requires": {
+ "semver": "^5.3.0"
+ }
+ },
"normalize-package-data": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
@@ -3030,12 +4875,27 @@
"once": "^1.3.2"
}
},
+ "npm-run-path": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
+ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+ "dev": true,
+ "requires": {
+ "path-key": "^2.0.0"
+ }
+ },
"number-is-nan": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
"dev": true
},
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ },
"object-copy": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
@@ -3153,6 +5013,96 @@
"readable-stream": "^2.0.1"
}
},
+ "os-browserify": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
+ "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
+ "dev": true
+ },
+ "os-locale": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz",
+ "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==",
+ "dev": true,
+ "requires": {
+ "execa": "^1.0.0",
+ "lcid": "^2.0.0",
+ "mem": "^4.0.0"
+ }
+ },
+ "p-defer": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
+ "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=",
+ "dev": true
+ },
+ "p-finally": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
+ "dev": true
+ },
+ "p-is-promise": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz",
+ "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==",
+ "dev": true
+ },
+ "p-limit": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz",
+ "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==",
+ "dev": true,
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+ "dev": true,
+ "requires": {
+ "p-limit": "^2.0.0"
+ }
+ },
+ "p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+ "dev": true
+ },
+ "pako": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz",
+ "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==",
+ "dev": true
+ },
+ "parallel-transform": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz",
+ "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=",
+ "dev": true,
+ "requires": {
+ "cyclist": "~0.2.2",
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.1.5"
+ }
+ },
+ "parse-asn1": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz",
+ "integrity": "sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==",
+ "dev": true,
+ "requires": {
+ "asn1.js": "^4.0.0",
+ "browserify-aes": "^1.0.0",
+ "create-hash": "^1.1.0",
+ "evp_bytestokey": "^1.0.0",
+ "pbkdf2": "^3.0.3",
+ "safe-buffer": "^5.1.1"
+ }
+ },
"parse-filepath": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
@@ -3191,18 +5141,36 @@
"integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
"dev": true
},
+ "path-browserify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
+ "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=",
+ "dev": true
+ },
"path-dirname": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
"integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
"dev": true
},
+ "path-exists": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+ "dev": true
+ },
"path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"dev": true
},
+ "path-key": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+ "dev": true
+ },
"path-parse": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
@@ -3243,6 +5211,25 @@
}
}
},
+ "pbkdf2": {
+ "version": "3.0.17",
+ "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz",
+ "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==",
+ "dev": true,
+ "requires": {
+ "create-hash": "^1.1.2",
+ "create-hmac": "^1.1.4",
+ "ripemd160": "^2.0.1",
+ "safe-buffer": "^5.0.1",
+ "sha.js": "^2.4.8"
+ }
+ },
+ "pify": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+ "dev": true
+ },
"pinkie": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
@@ -3258,6 +5245,24 @@
"pinkie": "^2.0.0"
}
},
+ "pirates": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz",
+ "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==",
+ "dev": true,
+ "requires": {
+ "node-modules-regexp": "^1.0.0"
+ }
+ },
+ "pkg-dir": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
+ "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
+ "dev": true,
+ "requires": {
+ "find-up": "^3.0.0"
+ }
+ },
"plugin-error": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz",
@@ -3282,12 +5287,60 @@
"integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=",
"dev": true
},
+ "private": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
+ "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
+ "dev": true
+ },
+ "process": {
+ "version": "0.11.10",
+ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+ "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
+ "dev": true
+ },
"process-nextick-args": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
"integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
"dev": true
},
+ "promise-inflight": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
+ "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
+ "dev": true
+ },
+ "prr": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
+ "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
+ "dev": true
+ },
+ "public-encrypt": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
+ "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.1.0",
+ "browserify-rsa": "^4.0.0",
+ "create-hash": "^1.1.0",
+ "parse-asn1": "^5.0.0",
+ "randombytes": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ }
+ },
+ "pump": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ },
"pumpify": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
@@ -3311,6 +5364,43 @@
}
}
},
+ "punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+ "dev": true
+ },
+ "querystring": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
+ "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
+ "dev": true
+ },
+ "querystring-es3": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
+ "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
+ "dev": true
+ },
+ "randombytes": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
+ "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "randomfill": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
+ "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
+ "dev": true,
+ "requires": {
+ "randombytes": "^2.0.5",
+ "safe-buffer": "^5.1.0"
+ }
+ },
"read-pkg": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
@@ -3388,6 +5478,30 @@
"resolve": "^1.1.6"
}
},
+ "regenerate": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
+ "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==",
+ "dev": true
+ },
+ "regenerate-unicode-properties": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz",
+ "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==",
+ "dev": true,
+ "requires": {
+ "regenerate": "^1.4.0"
+ }
+ },
+ "regenerator-transform": {
+ "version": "0.14.0",
+ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.0.tgz",
+ "integrity": "sha512-rtOelq4Cawlbmq9xuMR5gdFmv7ku/sFoB7sRiywx7aq53bc52b4j6zvH7Te1Vt/X2YveDKnCGUbioieU7FEL3w==",
+ "dev": true,
+ "requires": {
+ "private": "^0.1.6"
+ }
+ },
"regex-not": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
@@ -3398,6 +5512,49 @@
"safe-regex": "^1.1.0"
}
},
+ "regexp-tree": {
+ "version": "0.1.10",
+ "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.10.tgz",
+ "integrity": "sha512-K1qVSbcedffwuIslMwpe6vGlj+ZXRnGkvjAtFHfDZZZuEdA/h0dxljAPu9vhUo6Rrx2U2AwJ+nSQ6hK+lrP5MQ==",
+ "dev": true
+ },
+ "regexpu-core": {
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.4.tgz",
+ "integrity": "sha512-BtizvGtFQKGPUcTy56o3nk1bGRp4SZOTYrDtGNlqCQufptV5IkkLN6Emw+yunAJjzf+C9FQFtvq7IoA3+oMYHQ==",
+ "dev": true,
+ "requires": {
+ "regenerate": "^1.4.0",
+ "regenerate-unicode-properties": "^8.0.2",
+ "regjsgen": "^0.5.0",
+ "regjsparser": "^0.6.0",
+ "unicode-match-property-ecmascript": "^1.0.4",
+ "unicode-match-property-value-ecmascript": "^1.1.0"
+ }
+ },
+ "regjsgen": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz",
+ "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==",
+ "dev": true
+ },
+ "regjsparser": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz",
+ "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==",
+ "dev": true,
+ "requires": {
+ "jsesc": "~0.5.0"
+ },
+ "dependencies": {
+ "jsesc": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+ "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
+ "dev": true
+ }
+ }
+ },
"remove-bom-buffer": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz",
@@ -3460,6 +5617,12 @@
"integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
"dev": true
},
+ "require-main-filename": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
+ "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
+ "dev": true
+ },
"resolve": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz",
@@ -3469,6 +5632,15 @@
"path-parse": "^1.0.5"
}
},
+ "resolve-cwd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz",
+ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=",
+ "dev": true,
+ "requires": {
+ "resolve-from": "^3.0.0"
+ }
+ },
"resolve-dir": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
@@ -3479,6 +5651,12 @@
"global-modules": "^1.0.0"
}
},
+ "resolve-from": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
+ "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
+ "dev": true
+ },
"resolve-options": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz",
@@ -3500,6 +5678,34 @@
"integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
"dev": true
},
+ "rimraf": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
+ "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "ripemd160": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
+ "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
+ "dev": true,
+ "requires": {
+ "hash-base": "^3.0.0",
+ "inherits": "^2.0.1"
+ }
+ },
+ "run-queue": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
+ "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
+ "dev": true,
+ "requires": {
+ "aproba": "^1.1.1"
+ }
+ },
"safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
@@ -3515,6 +5721,17 @@
"ret": "~0.1.10"
}
},
+ "schema-utils": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
+ "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
+ "dev": true,
+ "requires": {
+ "ajv": "^6.1.0",
+ "ajv-errors": "^1.0.0",
+ "ajv-keywords": "^3.1.0"
+ }
+ },
"semver": {
"version": "5.7.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz",
@@ -3530,6 +5747,12 @@
"sver-compat": "^1.5.0"
}
},
+ "serialize-javascript": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.7.0.tgz",
+ "integrity": "sha512-ke8UG8ulpFOxO8f8gRYabHQe/ZntKlcig2Mp+8+URDP1D8vJZ0KUt7LYo07q25Z/+JVSgpr/cui9PIp5H6/+nA==",
+ "dev": true
+ },
"set-blocking": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
@@ -3559,6 +5782,43 @@
}
}
},
+ "setimmediate": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
+ "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
+ "dev": true
+ },
+ "sha.js": {
+ "version": "2.4.11",
+ "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
+ "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "shebang-command": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "^1.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+ "dev": true
+ },
+ "signal-exit": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
+ "dev": true
+ },
"snapdragon": {
"version": "0.8.2",
"resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
@@ -3666,6 +5926,12 @@
}
}
},
+ "source-list-map": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
+ "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==",
+ "dev": true
+ },
"source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
@@ -3685,6 +5951,24 @@
"urix": "^0.1.0"
}
},
+ "source-map-support": {
+ "version": "0.5.12",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz",
+ "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==",
+ "dev": true,
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
+ }
+ },
"source-map-url": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
@@ -3738,6 +6022,15 @@
"extend-shallow": "^3.0.0"
}
},
+ "ssri": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz",
+ "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==",
+ "dev": true,
+ "requires": {
+ "figgy-pudding": "^3.5.1"
+ }
+ },
"stack-trace": {
"version": "0.0.10",
"resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
@@ -3765,18 +6058,78 @@
}
}
},
+ "stream-browserify": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
+ "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
+ "dev": true,
+ "requires": {
+ "inherits": "~2.0.1",
+ "readable-stream": "^2.0.2"
+ }
+ },
+ "stream-each": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
+ "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "^1.1.0",
+ "stream-shift": "^1.0.0"
+ }
+ },
"stream-exhaust": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz",
"integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==",
"dev": true
},
+ "stream-http": {
+ "version": "2.8.3",
+ "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
+ "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
+ "dev": true,
+ "requires": {
+ "builtin-status-codes": "^3.0.0",
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.3.6",
+ "to-arraybuffer": "^1.0.0",
+ "xtend": "^4.0.0"
+ }
+ },
"stream-shift": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
"integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=",
"dev": true
},
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^4.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ }
+ }
+ },
"string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
@@ -3804,6 +6157,21 @@
"is-utf8": "^0.2.0"
}
},
+ "strip-eof": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
+ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ },
"sver-compat": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz",
@@ -3814,6 +6182,57 @@
"es6-symbol": "^3.1.1"
}
},
+ "tapable": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
+ "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
+ "dev": true
+ },
+ "terser": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-4.0.0.tgz",
+ "integrity": "sha512-dOapGTU0hETFl1tCo4t56FN+2jffoKyER9qBGoUFyZ6y7WLoKT0bF+lAYi6B6YsILcGF3q1C2FBh8QcKSCgkgA==",
+ "dev": true,
+ "requires": {
+ "commander": "^2.19.0",
+ "source-map": "~0.6.1",
+ "source-map-support": "~0.5.10"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
+ }
+ },
+ "terser-webpack-plugin": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.3.0.tgz",
+ "integrity": "sha512-W2YWmxPjjkUcOWa4pBEv4OP4er1aeQJlSo2UhtCFQCuRXEHjOFscO8VyWHj9JLlA0RzQb8Y2/Ta78XZvT54uGg==",
+ "dev": true,
+ "requires": {
+ "cacache": "^11.3.2",
+ "find-cache-dir": "^2.0.0",
+ "is-wsl": "^1.1.0",
+ "loader-utils": "^1.2.3",
+ "schema-utils": "^1.0.0",
+ "serialize-javascript": "^1.7.0",
+ "source-map": "^0.6.1",
+ "terser": "^4.0.0",
+ "webpack-sources": "^1.3.0",
+ "worker-farm": "^1.7.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
+ }
+ },
"through2": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
@@ -3872,6 +6291,15 @@
"integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=",
"dev": true
},
+ "timers-browserify": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz",
+ "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==",
+ "dev": true,
+ "requires": {
+ "setimmediate": "^1.0.4"
+ }
+ },
"to-absolute-glob": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz",
@@ -3882,6 +6310,12 @@
"is-negated-glob": "^1.0.0"
}
},
+ "to-arraybuffer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
+ "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
+ "dev": true
+ },
"to-fast-properties": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
@@ -3945,6 +6379,18 @@
"integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
"dev": true
},
+ "tslib": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz",
+ "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==",
+ "dev": true
+ },
+ "tty-browserify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
+ "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
+ "dev": true
+ },
"typedarray": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
@@ -3980,6 +6426,34 @@
"integrity": "sha1-XkvaMI5KiirlhPm5pDWaSZglzFA=",
"dev": true
},
+ "unicode-canonical-property-names-ecmascript": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
+ "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==",
+ "dev": true
+ },
+ "unicode-match-property-ecmascript": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz",
+ "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==",
+ "dev": true,
+ "requires": {
+ "unicode-canonical-property-names-ecmascript": "^1.0.4",
+ "unicode-property-aliases-ecmascript": "^1.0.4"
+ }
+ },
+ "unicode-match-property-value-ecmascript": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz",
+ "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==",
+ "dev": true
+ },
+ "unicode-property-aliases-ecmascript": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz",
+ "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==",
+ "dev": true
+ },
"union-value": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
@@ -4015,6 +6489,24 @@
}
}
},
+ "unique-filename": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
+ "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
+ "dev": true,
+ "requires": {
+ "unique-slug": "^2.0.0"
+ }
+ },
+ "unique-slug": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.1.tgz",
+ "integrity": "sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg==",
+ "dev": true,
+ "requires": {
+ "imurmurhash": "^0.1.4"
+ }
+ },
"unique-stream": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz",
@@ -4071,24 +6563,66 @@
"integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==",
"dev": true
},
+ "uri-js": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
+ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
+ "dev": true,
+ "requires": {
+ "punycode": "^2.1.0"
+ }
+ },
"urix": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
"integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
"dev": true
},
+ "url": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
+ "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
+ "dev": true,
+ "requires": {
+ "punycode": "1.3.2",
+ "querystring": "0.2.0"
+ },
+ "dependencies": {
+ "punycode": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
+ "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
+ "dev": true
+ }
+ }
+ },
"use": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
"integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
"dev": true
},
+ "util": {
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
+ "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3"
+ }
+ },
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
"dev": true
},
+ "v8-compile-cache": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz",
+ "integrity": "sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==",
+ "dev": true
+ },
"v8flags": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.2.tgz",
@@ -4177,6 +6711,118 @@
"source-map": "^0.5.1"
}
},
+ "vm-browserify": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz",
+ "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=",
+ "dev": true,
+ "requires": {
+ "indexof": "0.0.1"
+ }
+ },
+ "watchpack": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz",
+ "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==",
+ "dev": true,
+ "requires": {
+ "chokidar": "^2.0.2",
+ "graceful-fs": "^4.1.2",
+ "neo-async": "^2.5.0"
+ }
+ },
+ "webpack": {
+ "version": "4.32.2",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.32.2.tgz",
+ "integrity": "sha512-F+H2Aa1TprTQrpodRAWUMJn7A8MgDx82yQiNvYMaj3d1nv3HetKU0oqEulL9huj8enirKi8KvEXQ3QtuHF89Zg==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.8.5",
+ "@webassemblyjs/helper-module-context": "1.8.5",
+ "@webassemblyjs/wasm-edit": "1.8.5",
+ "@webassemblyjs/wasm-parser": "1.8.5",
+ "acorn": "^6.0.5",
+ "acorn-dynamic-import": "^4.0.0",
+ "ajv": "^6.1.0",
+ "ajv-keywords": "^3.1.0",
+ "chrome-trace-event": "^1.0.0",
+ "enhanced-resolve": "^4.1.0",
+ "eslint-scope": "^4.0.0",
+ "json-parse-better-errors": "^1.0.2",
+ "loader-runner": "^2.3.0",
+ "loader-utils": "^1.1.0",
+ "memory-fs": "~0.4.1",
+ "micromatch": "^3.1.8",
+ "mkdirp": "~0.5.0",
+ "neo-async": "^2.5.0",
+ "node-libs-browser": "^2.0.0",
+ "schema-utils": "^1.0.0",
+ "tapable": "^1.1.0",
+ "terser-webpack-plugin": "^1.1.0",
+ "watchpack": "^1.5.0",
+ "webpack-sources": "^1.3.0"
+ }
+ },
+ "webpack-cli": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.2.tgz",
+ "integrity": "sha512-FLkobnaJJ+03j5eplxlI0TUxhGCOdfewspIGuvDVtpOlrAuKMFC57K42Ukxqs1tn8947/PM6tP95gQc0DCzRYA==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.1",
+ "cross-spawn": "^6.0.5",
+ "enhanced-resolve": "^4.1.0",
+ "findup-sync": "^2.0.0",
+ "global-modules": "^1.0.0",
+ "import-local": "^2.0.0",
+ "interpret": "^1.1.0",
+ "loader-utils": "^1.1.0",
+ "supports-color": "^5.5.0",
+ "v8-compile-cache": "^2.0.2",
+ "yargs": "^12.0.5"
+ },
+ "dependencies": {
+ "findup-sync": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
+ "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
+ "dev": true,
+ "requires": {
+ "detect-file": "^1.0.0",
+ "is-glob": "^3.1.0",
+ "micromatch": "^3.0.4",
+ "resolve-dir": "^1.0.1"
+ }
+ },
+ "is-glob": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^2.1.0"
+ }
+ }
+ }
+ },
+ "webpack-sources": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz",
+ "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==",
+ "dev": true,
+ "requires": {
+ "source-list-map": "^2.0.0",
+ "source-map": "~0.6.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
+ }
+ },
"which": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
@@ -4186,6 +6832,21 @@
"isexe": "^2.0.0"
}
},
+ "which-module": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
+ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
+ "dev": true
+ },
+ "worker-farm": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz",
+ "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==",
+ "dev": true,
+ "requires": {
+ "errno": "~0.1.7"
+ }
+ },
"wrap-ansi": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
@@ -4229,6 +6890,48 @@
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
"integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
"dev": true
+ },
+ "y18n": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
+ "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
+ "dev": true
+ },
+ "yallist": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz",
+ "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==",
+ "dev": true
+ },
+ "yargs": {
+ "version": "12.0.5",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz",
+ "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==",
+ "dev": true,
+ "requires": {
+ "cliui": "^4.0.0",
+ "decamelize": "^1.2.0",
+ "find-up": "^3.0.0",
+ "get-caller-file": "^1.0.1",
+ "os-locale": "^3.0.0",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^1.0.1",
+ "set-blocking": "^2.0.0",
+ "string-width": "^2.0.0",
+ "which-module": "^2.0.0",
+ "y18n": "^3.2.1 || ^4.0.0",
+ "yargs-parser": "^11.1.1"
+ }
+ },
+ "yargs-parser": {
+ "version": "11.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz",
+ "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==",
+ "dev": true,
+ "requires": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ }
}
}
}
diff --git a/package.json b/package.json
index 66e53ed4..49c0cead 100644
--- a/package.json
+++ b/package.json
@@ -4,6 +4,7 @@
"description": "Enhances Discord adding functionality and themes.",
"main": "js/main.js",
"scripts": {
+ "build": "webpack --progress --colors",
"test": "echo \"Error: no test specified\" && exit 1",
"minify": "gulp minify-js && gulp minify-css",
"minify-js": "gulp minify-js",
@@ -26,6 +27,11 @@
"gulp": "^4.0.0",
"gulp-babel-minify": "^0.5.0",
"gulp-csso": "^3.0.1",
- "gulp-rename": "^1.4.0"
+ "gulp-rename": "^1.4.0",
+ "@babel/core": "^7.3.4",
+ "@babel/preset-env": "^7.3.4",
+ "@babel/register": "^7.0.0",
+ "webpack": "^4.29.6",
+ "webpack-cli": "^3.2.3"
}
}
diff --git a/src/data/config.js b/src/data/config.js
new file mode 100644
index 00000000..30eff2cb
--- /dev/null
+++ b/src/data/config.js
@@ -0,0 +1,10 @@
+export default {
+ local: false,
+ localServer: "//localhost:8080",
+ minified: true,
+ version: "0.3.0",
+ branch: "master",
+ repo: "rauenzi",
+ minSupportedVersion: "0.3.0",
+ bbdVersion: "0.2.17"
+};
\ No newline at end of file
diff --git a/src/data/config.json b/src/data/config.json
deleted file mode 100644
index a0737c0e..00000000
--- a/src/data/config.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "local": false,
- "localServer": "//localhost:8080",
- "minified": true,
- "version": "0.3.0",
- "branch": "master",
- "repo": "rauenzi"
-}
\ No newline at end of file
diff --git a/src/data/settings.js b/src/data/settings.js
index e3e5c6e3..6d6940d2 100644
--- a/src/data/settings.js
+++ b/src/data/settings.js
@@ -1,4 +1,4 @@
-var settings = {
+export default {
"Custom css live update": {id: "bda-css-0", info: "", implemented: true, hidden: true, cat: "core"},
"Custom css auto udpate": {id: "bda-css-1", info: "", implemented: true, hidden: true, cat: "core"},
"BetterDiscord Blue": {id: "bda-gs-b", info: "Replace Discord blue with BD Blue", implemented: false, hidden: false, cat: "core"},
diff --git a/src/data/defaultcookie.js b/src/data/settingscookie.js
similarity index 96%
rename from src/data/defaultcookie.js
rename to src/data/settingscookie.js
index 89f7ed85..51813812 100644
--- a/src/data/defaultcookie.js
+++ b/src/data/settingscookie.js
@@ -1,4 +1,4 @@
-var defaultCookie = {
+export default {
"bda-gs-1": true,
"bda-gs-2": false,
"bda-gs-3": false,
diff --git a/src/index.js b/src/index.js
index b88b8bb9..c83a7123 100644
--- a/src/index.js
+++ b/src/index.js
@@ -1,8 +1,13 @@
import proxyLocalStorage from "./localstorage";
+import Core from "./modules/core";
// Perform some setup
proxyLocalStorage();
const loadingIcon = document.createElement("div");
loadingIcon.className = "bd-loaderv2";
loadingIcon.title = "BandagedBD is loading...";
-document.body.appendChild(loadingIcon);
\ No newline at end of file
+document.body.appendChild(loadingIcon);
+
+window.Core = Core;
+
+export default Core;
\ No newline at end of file
diff --git a/src/modules/bdv2.js b/src/modules/bdv2.js
index eb07da24..d1d11a72 100644
--- a/src/modules/bdv2.js
+++ b/src/modules/bdv2.js
@@ -1,4 +1,8 @@
-var BDV2 = new class V2 {
+import Settings from "../data/settings";
+import BdApi from "./pluginapi";
+import BDLogo from "../ui/icons/bdlogo";
+
+export default new class V2 {
constructor() {
this.editorDetached = false;
@@ -71,8 +75,8 @@ var BDV2 = new class V2 {
get KeyGenerator() {return this.WebpackModules.find(m => m.toString && /"binary"/.test(m.toString()));}
parseSettings(cat) {
- return Object.keys(settings).reduce((arr, key) => {
- let setting = settings[key];
+ return Object.keys(Settings).reduce((arr, key) => {
+ let setting = Settings[key];
if (setting.cat === cat && setting.implemented && !setting.hidden) {
setting.text = key;
arr.push(setting);
@@ -151,4 +155,4 @@ var BDV2 = new class V2 {
}});
}
-}
\ No newline at end of file
+};
\ No newline at end of file
diff --git a/src/modules/contentmanager.js b/src/modules/contentmanager.js
index 7f8a4fbd..890b5f2d 100644
--- a/src/modules/contentmanager.js
+++ b/src/modules/contentmanager.js
@@ -120,9 +120,9 @@ var ContentManager = (() => {
if (typeof(filename) === "undefined" || typeof(type) === "undefined") return;
const isPlugin = type === "plugin";
const baseFolder = isPlugin ? this.pluginsFolder : this.themesFolder;
- try {require(path.resolve(baseFolder, filename));}
+ try {__non_webpack_require__(path.resolve(baseFolder, filename));}
catch (error) {return {name: filename, file: filename, message: "Could not be compiled.", error: {message: error.message, stack: error.stack}};}
- const content = require(path.resolve(baseFolder, filename));
+ const content = __non_webpack_require__(path.resolve(baseFolder, filename));
if (isPlugin) {
if (!content.type) return;
try {
@@ -143,7 +143,7 @@ var ContentManager = (() => {
const isPlugin = type === "plugin";
const baseFolder = isPlugin ? this.pluginsFolder : this.themesFolder;
try {
- delete require.cache[require.resolve(path.resolve(baseFolder, filename))];
+ delete __non_webpack_require__.cache[__non_webpack_require__.resolve(path.resolve(baseFolder, filename))];
}
catch (err) {return {name: filename, file: filename, message: "Could not be unloaded.", error: {message: err.message, stack: err.stack}};}
}
@@ -151,7 +151,7 @@ var ContentManager = (() => {
isLoaded(filename, type) {
const isPlugin = type === "plugin";
const baseFolder = isPlugin ? this.pluginsFolder : this.themesFolder;
- try {require.cache[require.resolve(path.resolve(baseFolder, filename))];}
+ try {__non_webpack_require__.cache[__non_webpack_require__.resolve(path.resolve(baseFolder, filename))];}
catch (err) {return false;}
return true;
}
diff --git a/src/modules/core.js b/src/modules/core.js
index 4140f30a..37d1fa88 100644
--- a/src/modules/core.js
+++ b/src/modules/core.js
@@ -1,70 +1,83 @@
+import Utilties from "./utilities";
+import Config from "../data/config";
+import Settings from "../data/settingscookie";
+import BDV2 from "./bdv2";
+import EmoteModule from "./emotes";
+import QuickEmoteMenu from "./emotemenu";
+import VoiceMode from "./voicemode";
+import DevMode from "./devmode";
+import PluginModule from "./pluginmanager";
+import ThemeModule from "./thememanager";
+import DataStore from "./datastore";
+import {PublicServers, SettingsPanel} from "ui";
+
function Core(config) {
- window.bdConfig = config;
+ Object.assign(Config, config);
}
Core.prototype.init = async function() {
- if (bdConfig.version < minSupportedVersion) {
- this.alert("Not Supported", "BetterDiscord v" + bdConfig.version + " (your version)" + " is not supported by the latest js (" + bbdVersion + ").
Please download the latest version from GitHub");
+ if (Config.version < Config.minSupportedVersion) {
+ this.alert("Not Supported", "BetterDiscord v" + Config.version + " (your version)" + " is not supported by the latest js (" + Config.bbdVersion + ").
Please download the latest version from GitHub");
return;
}
- if (bdConfig.updater.LatestVersion > bdConfig.version) {
+ if (Config.updater.LatestVersion > Config.version) {
this.alert("Update Available", `
- An update for BandagedBD is available (${bdConfig.updater.LatestVersion})! Please Reinstall!
+ An update for BandagedBD is available (${Config.updater.LatestVersion})! Please Reinstall!
Download Installer
`);
}
- Utils.log("Startup", "Initializing Settings");
+ Utilties.log("Startup", "Initializing Settings");
this.initSettings();
- emoteModule = new EmoteModule();
- quickEmoteMenu = new QuickEmoteMenu();
- Utils.log("Startup", "Initializing EmoteModule");
- window.emotePromise = emoteModule.init().then(() => {
- emoteModule.initialized = true;
- Utils.log("Startup", "Initializing QuickEmoteMenu");
- quickEmoteMenu.init();
+ this.emoteModule = new EmoteModule();
+ this.quickEmoteMenu = new QuickEmoteMenu();
+ Utilties.log("Startup", "Initializing EmoteModule");
+ window.emotePromise = this.emoteModule.init().then(() => {
+ this.emoteModule.initialized = true;
+ Utilties.log("Startup", "Initializing QuickEmoteMenu");
+ this.quickEmoteMenu.init();
});
- publicServersModule = new V2_PublicServers();
+ this.publicServersModule = new PublicServers();
- voiceMode = new VoiceMode();
- dMode = new devMode();
+ this.voiceMode = new VoiceMode();
+ this.dMode = new DevMode();
this.injectExternals();
await this.checkForGuilds();
BDV2.initialize();
- Utils.log("Startup", "Updating Settings");
- settingsPanel = new V2_SettingsPanel();
- settingsPanel.initializeSettings();
+ Utilties.log("Startup", "Updating Settings");
+ this.settingsPanel = new SettingsPanel();
+ this.settingsPanel.initializeSettings();
- Utils.log("Startup", "Loading Plugins");
- pluginModule = new PluginModule();
- pluginModule.loadPlugins();
+ Utilties.log("Startup", "Loading Plugins");
+ this.pluginModule = new PluginModule();
+ const pluginErrors = this.pluginModule.loadPlugins();
- Utils.log("Startup", "Loading Themes");
- themeModule = new ThemeModule();
- themeModule.loadThemes();
+ Utilties.log("Startup", "Loading Themes");
+ this.themeModule = new ThemeModule();
+ const themeErrors = this.themeModule.loadThemes();
$("#customcss").detach().appendTo(document.head);
window.addEventListener("beforeunload", function() {
- if (settingsCookie["bda-dc-0"]) document.querySelector(".btn.btn-disconnect").click();
+ if (Settings["bda-dc-0"]) document.querySelector(".btn.btn-disconnect").click();
});
- publicServersModule.initialize();
+ this.publicServersModule.initialize();
- emoteModule.autoCapitalize();
+ this.emoteModule.autoCapitalize();
- Utils.log("Startup", "Removing Loading Icon");
+ Utilties.log("Startup", "Removing Loading Icon");
document.getElementsByClassName("bd-loaderv2")[0].remove();
- Utils.log("Startup", "Initializing Main Observer");
+ Utilties.log("Startup", "Initializing Main Observer");
this.initObserver();
// Show loading errors
- if (settingsCookie["fork-ps-1"]) {
- Utils.log("Startup", "Collecting Startup Errors");
- this.showContentErrors({plugins: bdpluginErrors, themes: bdthemeErrors});
+ if (Settings["fork-ps-1"]) {
+ Utilties.log("Startup", "Collecting Startup Errors");
+ this.showContentErrors({plugins: pluginErrors, themes: themeErrors});
}
// if (!DataStore.getBDData(bbdVersion)) {
@@ -79,7 +92,7 @@ Core.prototype.checkForGuilds = function() {
const wrapper = BDV2.guildClasses.wrapper.split(" ")[0];
const guild = BDV2.guildClasses.listItem.split(" ")[0];
const blob = BDV2.guildClasses.blobContainer.split(" ")[0];
- if (document.querySelectorAll(`.${wrapper} .${guild} .${blob}`).length > 0) return resolve(bdConfig.deferLoaded = true);
+ if (document.querySelectorAll(`.${wrapper} .${guild} .${blob}`).length > 0) return resolve(Config.deferLoaded = true);
setTimeout(checkForGuilds, 100);
};
$(document).ready(function () {
@@ -89,34 +102,28 @@ Core.prototype.checkForGuilds = function() {
};
Core.prototype.injectExternals = async function() {
- await Utils.injectJs("https://cdnjs.cloudflare.com/ajax/libs/ace/1.2.9/ace.js");
- if (require.original) window.require = require.original;
+ await Utilties.injectJs("https://cdnjs.cloudflare.com/ajax/libs/ace/1.2.9/ace.js");
+ // if (require.original) window.require = require.original;
};
Core.prototype.initSettings = function () {
DataStore.initialize();
- if (!DataStore.getSettingGroup("settings")) {
- settingsCookie = defaultCookie;
- this.saveSettings();
- }
- else {
- this.loadSettings();
- $("