Bug 1352699 - Make netmonitor run on devtools-launchpad r?honza draft
authorRicky Chien <ricky060709@gmail.com>
Sat, 01 Apr 2017 23:01:06 +0800
changeset 559180 1d729af6ec2b4110d94372327fe1e3b3ddd5991a
parent 559179 18c9bb482ef02abd18e90ffdf01100566dfe62ce
child 559181 677edf0086b9afa0e0b362eba2e913031dc2be52
push id53013
push userbmo:rchien@mozilla.com
push dateSun, 09 Apr 2017 04:54:11 +0000
reviewershonza
bugs1352699
milestone55.0a1
Bug 1352699 - Make netmonitor run on devtools-launchpad r?honza MozReview-Commit-ID: 4khCXm2lfzG
devtools/client/netmonitor/bin/dev-server.js
devtools/client/netmonitor/index.html
devtools/client/netmonitor/index.js
devtools/client/netmonitor/package.json
devtools/client/netmonitor/src/assets/styles/netmonitor.css
devtools/client/netmonitor/src/components/editor.js
devtools/client/netmonitor/src/components/tabbox-panel.js
devtools/client/netmonitor/src/har/test/browser_net_har_throttle_upload.js
devtools/client/netmonitor/src/middleware/moz.build
devtools/client/netmonitor/src/middleware/prefs.js
devtools/client/netmonitor/src/middleware/thunk.js
devtools/client/netmonitor/src/netmonitor-controller.js
devtools/client/netmonitor/src/utils/create-store.js
devtools/client/netmonitor/webpack.config.js
devtools/client/netmonitor/yarn.lock
devtools/client/themes/dark-theme.css
devtools/client/themes/firebug-theme.css
devtools/client/themes/light-theme.css
devtools/client/webconsole/test/browser_webconsole_netlogging_panel.js
devtools/client/webconsole/webconsole.js
xpcom/base/ErrorList.h
--- a/devtools/client/netmonitor/bin/dev-server.js
+++ b/devtools/client/netmonitor/bin/dev-server.js
@@ -1,31 +1,19 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 /* eslint-env node */
 
 "use strict";
 
-const path = require("path");
-
 const toolbox = require("devtools-launchpad/index");
 const feature = require("devtools-config");
-const express = require("express");
 const { getConfig } = require("./configure");
 
 const envConfig = getConfig();
 
 feature.setConfig(envConfig);
 
 let webpackConfig = require("../webpack.config");
 
-let { app } = toolbox.startDevServer(envConfig, webpackConfig, __dirname);
-
-app.use(
-  "/integration/examples",
-  express.static("src/test/mochitest/examples")
-);
-
-app.get("/integration", function (req, res) {
-  res.sendFile(path.join(__dirname, "../src/test/integration/index.html"));
-});
+toolbox.startDevServer(envConfig, webpackConfig, __dirname);
--- a/devtools/client/netmonitor/index.html
+++ b/devtools/client/netmonitor/index.html
@@ -32,18 +32,18 @@
       EventEmitter.decorate(window);
 
       window.Netmonitor = {
         bootstrap({ toolbox }) {
           this.mount = document.querySelector("#mount");
           const App = createFactory(require("./src/components/app"));
           render(Provider({ store }, App()), this.mount);
           return NetMonitorController.startupNetMonitor({
-            client: {
-              getTabTarget: () => toolbox.target,
+            tabConnection: {
+              tabTarget: toolbox.target,
             },
             toolbox,
           });
         },
 
         destroy() {
           unmountComponentAtNode(this.mount);
           return NetMonitorController.shutdownNetMonitor();
--- a/devtools/client/netmonitor/index.js
+++ b/devtools/client/netmonitor/index.js
@@ -6,17 +6,17 @@
 
 /**
  * This script is the entry point of devtools-launchpad. Make netmonitor possible
  * to run on standalone browser tab without chrome privilege.
  * See README.md for more information.
  */
 const React = require("react");
 const ReactDOM = require("react-dom");
-const { bootstrap } = require("devtools-launchpad");
+const { bootstrap, renderRoot } = require("devtools-launchpad");
 const { EventEmitter } = require("devtools-modules");
 const { Services: { appinfo, pref }} = require("devtools-modules");
 const { configureStore } = require("./src/utils/create-store");
 
 require("./src/assets/styles/netmonitor.css");
 
 EventEmitter.decorate(window);
 
@@ -35,24 +35,39 @@ pref("devtools.netmonitor.har.forceExpor
 pref("devtools.netmonitor.har.pageLoadedTimeout", 1500);
 pref("devtools.netmonitor.har.enableAutoExportToFile", false);
 pref("devtools.webconsole.persistlog", false);
 
 const App = require("./src/components/app");
 const store = window.gStore = configureStore();
 const { NetMonitorController } = require("./src/netmonitor-controller");
 
+/**
+ * Stylesheet links in devtools xhtml files are using chrome or resource URLs.
+ * Rewrite the href attribute to remove the protocol. web-server.js contains redirects
+ * to map CSS urls to the proper file. Supports urls using:
+ *   - devtools/client/
+ *   - devtools/content/
+ *   - skin/
+ * Will also add mandatory classnames and attributes to be compatible with devtools theme
+ * stylesheet.
+ */
 window.addEventListener("DOMContentLoaded", () => {
+  for (let link of document.head.querySelectorAll("link")) {
+    link.href = link.href.replace(/(resource|chrome)\:\/\//, "/");
+  }
+
   if (appinfo.OS === "Darwin") {
     document.documentElement.setAttribute("platform", "mac");
   } else if (appinfo.OS === "Linux") {
     document.documentElement.setAttribute("platform", "linux");
   } else {
     document.documentElement.setAttribute("platform", "win");
   }
 });
 
-bootstrap(React, ReactDOM, App, null, store).then(connection => {
-  if (!connection || !connection.tab) {
+bootstrap(React, ReactDOM).then(connection => {
+  if (!connection) {
     return;
   }
+  renderRoot(React, ReactDOM, App, store);
   NetMonitorController.startupNetMonitor(connection);
 });
--- a/devtools/client/netmonitor/package.json
+++ b/devtools/client/netmonitor/package.json
@@ -2,28 +2,30 @@
   "name": "netmonitor",
   "version": "0.0.1",
   "engines": {
     "node": ">=6.9.0"
   },
   "description": "Network monitor in developer tools",
   "dependencies": {
     "codemirror": "^5.24.2",
-    "devtools-launchpad": "^0.0.59",
+    "devtools-config": "^0.0.12",
+    "devtools-launchpad": "^0.0.65",
     "devtools-modules": "^0.0.18",
     "devtools-reps": "^0.4.0",
     "devtools-splitter": "^0.0.2",
     "express": "^4.15.2",
     "immutable": "^3.8.1",
     "jszip": "^3.1.3",
     "react": "=15.3.2",
     "react-dom": "=15.3.2",
     "react-redux": "=5.0.3",
     "redux": "^3.6.0",
-    "reselect": "^2.5.4"
+    "reselect": "^2.5.4",
+    "webpack": "^2.3.2"
   },
   "devDependencies": {
     "babel-preset-es2015": "^6.6.0",
     "babel-register": "^6.24.0",
     "file-loader": "^0.10.1"
   },
   "scripts": {
     "start": "node bin/dev-server"
--- a/devtools/client/netmonitor/src/assets/styles/netmonitor.css
+++ b/devtools/client/netmonitor/src/assets/styles/netmonitor.css
@@ -44,20 +44,21 @@
   --sort-ascending-image: url(chrome://devtools/skin/images/firebug/arrow-up.svg);
   --sort-descending-image: url(chrome://devtools/skin/images/firebug/arrow-down.svg);
 }
 
 /* General */
 
 html,
 body,
-.root,
 #mount,
+.launchpad-root,
 .network-monitor,
 .monitor-panel {
+  flex: initial;
   display: flex;
   flex-direction: column;
   height: 100%;
   overflow: hidden;
 }
 
 * {
   box-sizing: border-box;
--- a/devtools/client/netmonitor/src/components/editor.js
+++ b/devtools/client/netmonitor/src/components/editor.js
@@ -1,14 +1,12 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
-/* eslint-disable react/prop-types */
-
 "use strict";
 
 const {
   createClass,
   DOM,
   PropTypes,
 } = require("devtools/client/shared/vendor/react");
 const SourceEditor = require("devtools/client/sourceeditor/editor");
@@ -98,10 +96,8 @@ const Editor = createClass({
           style: { visibility: open ? "visible" : "hidden" },
         }),
       )
     );
   }
 });
 
 module.exports = Editor;
-
-/* eslint-enable react/prop-types */
--- a/devtools/client/netmonitor/src/components/tabbox-panel.js
+++ b/devtools/client/netmonitor/src/components/tabbox-panel.js
@@ -78,17 +78,17 @@ function TabboxPanel({
         ResponsePanel({ request }),
       ),
       TabPanel({
         id: "timings",
         title: TIMINGS_TITLE,
       },
         TimingsPanel({ request }),
       ),
-      request.cause.stacktrace && request.cause.stacktrace.length > 0 &&
+      request.cause && request.cause.stacktrace && request.cause.stacktrace.length > 0 &&
       TabPanel({
         id: "stack-trace",
         title: STACK_TRACE_TITLE,
       },
         StackTracePanel({ request }),
       ),
       request.securityState && request.securityState !== "insecure" &&
       TabPanel({
--- a/devtools/client/netmonitor/src/har/test/browser_net_har_throttle_upload.js
+++ b/devtools/client/netmonitor/src/har/test/browser_net_har_throttle_upload.js
@@ -11,18 +11,20 @@ add_task(function* () {
 });
 
 function* throttleUploadTest(actuallyThrottle) {
   let { tab, monitor } = yield initNetMonitor(
     HAR_EXAMPLE_URL + "html_har_post-data-test-page.html");
 
   info("Starting test... (actuallyThrottle = " + actuallyThrottle + ")");
 
-  let { gStore, windowRequire, NetMonitorController } = monitor.panelWin;
+  let { gStore, windowRequire } = monitor.panelWin;
   let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
+  let { NetMonitorController } =
+    windowRequire("devtools/client/netmonitor/src/netmonitor-controller");
   let RequestListContextMenu = windowRequire(
     "devtools/client/netmonitor/src/request-list-context-menu");
 
   gStore.dispatch(Actions.batchEnable(false));
 
   const size = 4096;
   const uploadSize = actuallyThrottle ? size / 3 : 0;
 
--- a/devtools/client/netmonitor/src/middleware/moz.build
+++ b/devtools/client/netmonitor/src/middleware/moz.build
@@ -1,8 +1,9 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 DevToolsModules(
     'batching.js',
     'prefs.js',
+    'thunk.js',
 )
--- a/devtools/client/netmonitor/src/middleware/prefs.js
+++ b/devtools/client/netmonitor/src/middleware/prefs.js
@@ -16,17 +16,16 @@ const { getRequestFilterTypes } = requir
 /**
   * Update the relevant prefs when:
   *   - a column has been toggled
   *   - a filter type has been set
   */
 function prefsMiddleware(store) {
   return next => action => {
     const res = next(action);
-
     switch (action.type) {
       case ENABLE_REQUEST_FILTER_TYPE_ONLY:
       case TOGGLE_REQUEST_FILTER_TYPE:
         let filters = getRequestFilterTypes(store.getState())
           .filter(([type, check]) => check)
           .map(([type, check]) => type);
         Services.prefs.setCharPref(
           "devtools.netmonitor.filters", JSON.stringify(filters));
new file mode 100644
--- /dev/null
+++ b/devtools/client/netmonitor/src/middleware/thunk.js
@@ -0,0 +1,20 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+"use strict";
+
+/**
+ * A middleware that allows thunks (functions) to be dispatched.
+ * If it's a thunk, it is called with `dispatch` and `getState`,
+ * allowing the action to create multiple actions (most likely
+ * asynchronously).
+ */
+function thunk({ dispatch, getState }) {
+  return next => action => {
+    return (typeof action === "function")
+      ? action(dispatch, getState)
+      : next(action);
+  };
+}
+
+module.exports = thunk;
--- a/devtools/client/netmonitor/src/netmonitor-controller.js
+++ b/devtools/client/netmonitor/src/netmonitor-controller.js
@@ -80,17 +80,17 @@ var NetMonitorController = {
       return this._connection;
     }
     this._onTabDetached = this.shutdownNetMonitor.bind(this);
 
     this._connection = new Promise(async (resolve) => {
       // Some actors like AddonActor or RootActor for chrome debugging
       // aren't actual tabs.
       this.toolbox = connection.toolbox;
-      this._target = connection.client.getTabTarget();
+      this._target = connection.tabConnection.tabTarget;
       this.tabClient = this._target.isTabActor ? this._target.activeTab : null;
 
       let connectTimeline = () => {
         // Don't start up waiting for timeline markers if the server isn't
         // recent enough to emit the markers we're interested in.
         if (this._target.getTrait("documentLoadingMarkers")) {
           this.timelineFront = new TimelineFront(this._target.client,
             this._target.form);
@@ -246,22 +246,22 @@ var NetMonitorController = {
   /**
    * Selects the specified request in the waterfall and opens the details view.
    *
    * @param string requestId
    *        The actor ID of the request to inspect.
    * @return object
    *         A promise resolved once the task finishes.
    */
-  inspectRequest: function (requestId) {
+  inspectRequest(requestId) {
     // Look for the request in the existing ones or wait for it to appear, if
     // the network monitor is still loading.
     return new Promise((resolve) => {
       let request = null;
-      let inspector = function () {
+      let inspector = () => {
         request = getDisplayedRequestById(window.gStore.getState(), requestId);
         if (!request) {
           // Reset filters so that the request is visible.
           window.gStore.dispatch(Actions.toggleRequestFilterType("all"));
           request = getDisplayedRequestById(window.gStore.getState(), requestId);
         }
 
         // If the request was found, select it. Otherwise this function will be
--- a/devtools/client/netmonitor/src/utils/create-store.js
+++ b/devtools/client/netmonitor/src/utils/create-store.js
@@ -3,43 +3,45 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 "use strict";
 
 const Services = require("Services");
 const { createStore, applyMiddleware } = require("devtools/client/shared/vendor/redux");
 const batching = require("../middleware/batching");
 const prefs = require("../middleware/prefs");
+const thunk = require("../middleware/thunk");
 const rootReducer = require("../reducers/index");
 const { FilterTypes, Filters } = require("../reducers/filters");
 const { Requests } = require("../reducers/requests");
 const { Sort } = require("../reducers/sort");
 const { TimingMarkers } = require("../reducers/timing-markers");
 const { UI, Columns } = require("../reducers/ui");
 
 function configureStore() {
   let activeFilters = {};
   let filters = JSON.parse(Services.prefs.getCharPref("devtools.netmonitor.filters"));
   filters.forEach((filter) => {
     activeFilters[filter] = true;
   });
 
-  let inactiveColumns = Prefs.hiddenColumns.reduce((acc, col) => {
+  let hiddenColumns = Services.prefs.getCharPref("devtools.netmonitor.hiddenColumns");
+  let inactiveColumns = JSON.parse(hiddenColumns).reduce((acc, col) => {
     acc[col] = false;
     return acc;
   }, {});
 
   const initialState = {
     filters: new Filters({
       requestFilterTypes: new FilterTypes(activeFilters)
     }),
     requests: new Requests(),
     sort: new Sort(),
     timingMarkers: new TimingMarkers(),
     ui: new UI({
       columns: new Columns(inactiveColumns)
     }),
   };
 
-  return createStore(rootReducer, initialState, applyMiddleware(prefs, batching));
+  return createStore(rootReducer, initialState, applyMiddleware(thunk, prefs, batching));
 }
 
 exports.configureStore = configureStore;
--- a/devtools/client/netmonitor/webpack.config.js
+++ b/devtools/client/netmonitor/webpack.config.js
@@ -45,44 +45,43 @@ let webpackConfig = {
   },
 
   // Fallback compatibility for npm link
   resolve: {
     fallback: path.join(__dirname, "node_modules"),
     alias: {
       "react": path.join(__dirname, "node_modules/react"),
       "devtools/client/framework/devtools": "devtools-modules",
-      "devtools/client/framework/menu": "devtools-modules",
-      "devtools/client/framework/menu-item": "devtools-modules",
+      "devtools/client/framework/menu": "devtools-modules/client/framework/menu",
+      "devtools/client/framework/menu-item": "devtools-modules/client/framework/menu-item",
       "devtools/client/locales": path.join(__dirname, "../locales/en-US"),
       "devtools/client/shared/components/reps/reps": "devtools-reps",
       "devtools/client/shared/components/search-box": "devtools-modules/client/shared/components/search-box",
-      "devtools/client/shared/components/splitter/split-box": "devtools-modules/client/shared/components/splitter/SplitBox",
+      "devtools/client/shared/components/splitter/split-box": "devtools-splitter",
       "devtools/client/shared/components/stack-trace": "devtools-modules/client/shared/components/stack-trace",
       "devtools/client/shared/components/tabs/tabbar": "devtools-modules/client/shared/components/tabs/tabbar",
       "devtools/client/shared/components/tabs/tabs": "devtools-modules/client/shared/components/tabs/tabs",
       "devtools/client/shared/components/tree/tree-view": "devtools-modules/client/shared/components/tree/tree-view",
       "devtools/client/shared/components/tree/tree-row": "devtools-modules/client/shared/components/tree/tree-row",
       "devtools/client/shared/curl": "devtools-modules",
       "devtools/client/shared/file-saver": "devtools-modules",
       "devtools/client/shared/prefs": "devtools-modules",
-      "devtools/client/shared/redux/middleware/thunk": "devtools-launchpad/src/utils/redux/middleware/thunk",
       "devtools/client/shared/vendor/immutable": "immutable",
       "devtools/client/shared/vendor/react": "react",
       "devtools/client/shared/vendor/react-dom": "react-dom",
       "devtools/client/shared/vendor/react-redux": "react-redux",
       "devtools/client/shared/vendor/redux": "redux",
       "devtools/client/shared/vendor/reselect": "reselect",
       "devtools/client/shared/vendor/jszip": "jszip",
       "devtools/client/shared/widgets/tooltip/HTMLTooltip": "devtools-modules",
-      "devtools/client/shared/widgets/tooltip/ImageTooltipHelper": "devtools-modules",
+      "devtools/client/shared/widgets/tooltip/ImageTooltipHelper": "devtools-modules/client/shared/widgets/tooltip/ImageTooltipHelper",
       "devtools/client/shared/widgets/Chart": "devtools-modules",
       "devtools/client/sourceeditor/editor": "devtools-modules",
       "devtools/shared/fronts/timeline": "devtools-modules",
-      "devtools/shared/l10n": "devtools-modules",
+      "devtools/shared/l10n": "devtools-modules/shared/l10n",
       "devtools/shared/locales": path.join(__dirname, "../../shared/locales/en-US"),
       "devtools/shared/platform/clipboard": "devtools-modules",
       "devtools/shared/plural-form": "devtools-modules",
       "toolkit/locales": path.join(__dirname, "../../../toolkit/locales/en-US"),
       "Services": "devtools-modules/client/shared/shim/Services",
     },
   },
 };
--- a/devtools/client/netmonitor/yarn.lock
+++ b/devtools/client/netmonitor/yarn.lock
@@ -20,29 +20,33 @@ acorn-dynamic-import@^2.0.0:
     acorn "^4.0.3"
 
 acorn-jsx@^3.0.0:
   version "3.0.1"
   resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b"
   dependencies:
     acorn "^3.0.4"
 
-acorn@4.0.4:
-  version "4.0.4"
-  resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.4.tgz#17a8d6a7a6c4ef538b814ec9abac2779293bf30a"
-
 acorn@^3.0.0, acorn@^3.0.4:
   version "3.3.0"
   resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
 
+acorn@^4.0.3, acorn@^4.0.4:
+  version "4.0.11"
+  resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.11.tgz#edcda3bd937e7556410d42ed5860f67399c794c0"
+
+acorn@^5.0.1:
+  version "5.0.3"
+  resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.0.3.tgz#c460df08491463f028ccb82eab3730bf01087b3d"
+
 adm-zip@0.4.7, adm-zip@^0.4.7:
   version "0.4.7"
   resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.7.tgz#8606c2cbf1c426ce8c8ec00174447fd49b6eafc1"
 
-ajv-keywords@^1.0.0:
+ajv-keywords@^1.0.0, ajv-keywords@^1.1.1:
   version "1.5.1"
   resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c"
 
 ajv@^4.7.0, ajv@^4.9.1:
   version "4.11.5"
   resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.5.tgz#b6ee74657b993a01dce44b7944d56f485828d5bd"
   dependencies:
     co "^4.6.0"
@@ -132,30 +136,38 @@ array-uniq@^1.0.1:
   version "1.0.3"
   resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
 
 array-unique@^0.2.1:
   version "0.2.1"
   resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
 
 array.prototype.find@^2.0.1:
-  version "2.0.3"
-  resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.0.3.tgz#08c3ec33e32ec4bab362a2958e686ae92f59271d"
+  version "2.0.4"
+  resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.0.4.tgz#556a5c5362c08648323ddaeb9de9d14bc1864c90"
   dependencies:
     define-properties "^1.1.2"
     es-abstract "^1.7.0"
 
 arrify@^1.0.0:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
 
 asap@~2.0.3:
   version "2.0.5"
   resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f"
 
+asn1.js@^4.0.0:
+  version "4.9.1"
+  resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.1.tgz#48ba240b45a9280e94748990ba597d216617fd40"
+  dependencies:
+    bn.js "^4.0.0"
+    inherits "^2.0.1"
+    minimalistic-assert "^1.0.0"
+
 asn1@~0.2.3:
   version "0.2.3"
   resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86"
 
 assert-plus@1.0.0, assert-plus@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
 
@@ -177,18 +189,18 @@ async@^0.9.0:
   version "0.9.2"
   resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d"
 
 async@^1.3.0, async@^1.5.0:
   version "1.5.2"
   resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
 
 async@^2.1.2:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/async/-/async-2.2.0.tgz#c324eba010a237e4fbd55a12dee86367d5c0ef32"
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/async/-/async-2.3.0.tgz#1013d1051047dd320fe24e494d5c66ecaf6147d9"
   dependencies:
     lodash "^4.14.0"
 
 async@~0.2.6:
   version "0.2.10"
   resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1"
 
 asynckit@^0.4.0:
@@ -391,22 +403,22 @@ babel-messages@^6.23.0:
 
 babel-plugin-check-es2015-constants@^6.22.0:
   version "6.22.0"
   resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a"
   dependencies:
     babel-runtime "^6.22.0"
 
 babel-plugin-module-resolver@^2.2.0:
-  version "2.6.1"
-  resolved "https://registry.yarnpkg.com/babel-plugin-module-resolver/-/babel-plugin-module-resolver-2.6.1.tgz#5e9cbb8d35882d7fd149860ca8cffb91c1e32759"
+  version "2.7.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-module-resolver/-/babel-plugin-module-resolver-2.7.0.tgz#9c1cb2fcf2a1bdb45e91c6c985b96311123797f9"
   dependencies:
     find-babel-config "^1.0.1"
     glob "^7.1.1"
-    resolve "^1.3.2"
+    resolve "^1.2.0"
 
 babel-plugin-syntax-async-functions@^6.8.0:
   version "6.13.0"
   resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95"
 
 babel-plugin-syntax-flow@^6.18.0:
   version "6.18.0"
   resolved "https://registry.yarnpkg.com/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz#4c3ab20a2af26aa20cd25995c398c4eb70310c8d"
@@ -746,16 +758,20 @@ block-stream@*:
 bluebird@3.4.6:
   version "3.4.6"
   resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.6.tgz#01da8d821d87813d158967e743d5fe6c62cf8c0f"
 
 bluebird@^2.9.34:
   version "2.11.0"
   resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-2.11.0.tgz#534b9033c022c9579c56ba3b3e5a5caafbb650e1"
 
+bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0:
+  version "4.11.6"
+  resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215"
+
 body-parser@^1.15.2:
   version "1.17.1"
   resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.17.1.tgz#75b3bc98ddd6e7e0d8ffe750dfaca5c66993fa47"
   dependencies:
     bytes "2.4.0"
     content-type "~1.0.2"
     debug "2.6.1"
     depd "~1.1.0"
@@ -768,18 +784,18 @@ body-parser@^1.15.2:
 
 boom@2.x.x:
   version "2.10.1"
   resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f"
   dependencies:
     hoek "2.x.x"
 
 brace-expansion@^1.0.0:
-  version "1.1.6"
-  resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9"
+  version "1.1.7"
+  resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.7.tgz#3effc3c50e000531fb720eaff80f0ae8ef23cf59"
   dependencies:
     balanced-match "^0.4.1"
     concat-map "0.0.1"
 
 braces@^1.8.2:
   version "1.8.5"
   resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
   dependencies:
@@ -792,41 +808,94 @@ brorand@^1.0.1:
   resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
 
 browserify-aes@0.4.0:
   version "0.4.0"
   resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-0.4.0.tgz#067149b668df31c4b58533e02d01e806d8608e2c"
   dependencies:
     inherits "^2.0.1"
 
+browserify-aes@^1.0.0, browserify-aes@^1.0.4:
+  version "1.0.6"
+  resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.0.6.tgz#5e7725dbdef1fd5930d4ebab48567ce451c48a0a"
+  dependencies:
+    buffer-xor "^1.0.2"
+    cipher-base "^1.0.0"
+    create-hash "^1.1.0"
+    evp_bytestokey "^1.0.0"
+    inherits "^2.0.1"
+
+browserify-cipher@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.0.tgz#9988244874bf5ed4e28da95666dcd66ac8fc363a"
+  dependencies:
+    browserify-aes "^1.0.4"
+    browserify-des "^1.0.0"
+    evp_bytestokey "^1.0.0"
+
+browserify-des@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.0.tgz#daa277717470922ed2fe18594118a175439721dd"
+  dependencies:
+    cipher-base "^1.0.1"
+    des.js "^1.0.0"
+    inherits "^2.0.1"
+
+browserify-rsa@^4.0.0:
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524"
+  dependencies:
+    bn.js "^4.1.0"
+    randombytes "^2.0.1"
+
+browserify-sign@^4.0.0:
+  version "4.0.4"
+  resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298"
+  dependencies:
+    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@^0.1.4:
   version "0.1.4"
   resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d"
   dependencies:
     pako "~0.2.0"
 
-browserslist@^1.0.1, browserslist@^1.5.2, browserslist@^1.7.6:
+browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6:
   version "1.7.7"
   resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9"
   dependencies:
     caniuse-db "^1.0.30000639"
     electron-to-chromium "^1.2.7"
 
-buffer-shims@^1.0.0:
+buffer-shims@~1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51"
 
-buffer@^4.9.0:
+buffer-xor@^1.0.2:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
+
+buffer@^4.3.0, buffer@^4.9.0:
   version "4.9.1"
   resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298"
   dependencies:
     base64-js "^1.0.2"
     ieee754 "^1.1.4"
     isarray "^1.0.0"
 
+builtin-modules@^1.0.0:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
+
 builtin-status-codes@^3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
 
 bytes@2.4.0:
   version "2.4.0"
   resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.4.0.tgz#7d97196f9d5baf7f6935e25985549edd2a6c2339"
 
@@ -839,28 +908,32 @@ caller-path@^0.1.0:
 callsites@^0.2.0:
   version "0.2.0"
   resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca"
 
 camelcase@^1.0.2:
   version "1.2.1"
   resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
 
+camelcase@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
+
 caniuse-api@^1.5.2:
-  version "1.5.3"
-  resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.5.3.tgz#5018e674b51c393e4d50614275dc017e27c4a2a2"
-  dependencies:
-    browserslist "^1.0.1"
-    caniuse-db "^1.0.30000346"
-    lodash.memoize "^4.1.0"
-    lodash.uniq "^4.3.0"
-
-caniuse-db@^1.0.30000346, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639:
-  version "1.0.30000646"
-  resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000646.tgz#c724b90d61df24286e015fc528d062073c00def4"
+  version "1.6.1"
+  resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.6.1.tgz#b534e7c734c4f81ec5fbe8aca2ad24354b962c6c"
+  dependencies:
+    browserslist "^1.3.6"
+    caniuse-db "^1.0.30000529"
+    lodash.memoize "^4.1.2"
+    lodash.uniq "^4.5.0"
+
+caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639:
+  version "1.0.30000649"
+  resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000649.tgz#1ee1754a6df235450c8b7cd15e0ebf507221a86a"
 
 capture-stack-trace@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d"
 
 caseless@~0.12.0:
   version "0.12.0"
   resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
@@ -885,17 +958,17 @@ chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1
 check-node-version@^1.1.2:
   version "1.1.2"
   resolved "https://registry.yarnpkg.com/check-node-version/-/check-node-version-1.1.2.tgz#d48214ec629e3bf9f8f3ecee9feefeac723c864e"
   dependencies:
     minimist "^1.2.0"
     run-parallel "^1.1.4"
     semver "^5.0.3"
 
-chokidar@^1.0.0, chokidar@^1.6.1:
+chokidar@^1.0.0, chokidar@^1.4.3, chokidar@^1.6.1:
   version "1.6.1"
   resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.6.1.tgz#2f4447ab5e96e50fb3d789fd90d4c72e0e4c70c2"
   dependencies:
     anymatch "^1.3.0"
     async-each "^1.0.0"
     glob-parent "^2.0.0"
     inherits "^2.0.1"
     is-binary-path "^1.0.0"
@@ -945,16 +1018,24 @@ cli-width@^2.0.0:
 cliui@^2.1.0:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
   dependencies:
     center-align "^0.1.1"
     right-align "^0.1.1"
     wordwrap "0.0.2"
 
+cliui@^3.2.0:
+  version "3.2.0"
+  resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"
+  dependencies:
+    string-width "^1.0.1"
+    strip-ansi "^3.0.1"
+    wrap-ansi "^2.0.0"
+
 clone@^1.0.2:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149"
 
 co@=4.6.0, co@^4.6.0:
   version "4.6.0"
   resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
 
@@ -1100,37 +1181,75 @@ cosmiconfig@^2.1.0, cosmiconfig@^2.1.1:
   dependencies:
     js-yaml "^3.4.3"
     minimist "^1.2.0"
     object-assign "^4.1.0"
     os-homedir "^1.0.1"
     parse-json "^2.2.0"
     require-from-string "^1.1.0"
 
+create-ecdh@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d"
+  dependencies:
+    bn.js "^4.1.0"
+    elliptic "^6.0.0"
+
 create-error-class@^3.0.1:
   version "3.0.2"
   resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6"
   dependencies:
     capture-stack-trace "^1.0.0"
 
+create-hash@^1.1.0, create-hash@^1.1.1:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.2.tgz#51210062d7bb7479f6c65bb41a92208b1d61abad"
+  dependencies:
+    cipher-base "^1.0.1"
+    inherits "^2.0.1"
+    ripemd160 "^1.0.0"
+    sha.js "^2.3.6"
+
+create-hmac@^1.1.0, create-hmac@^1.1.2:
+  version "1.1.4"
+  resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.4.tgz#d3fb4ba253eb8b3f56e39ea2fbcb8af747bd3170"
+  dependencies:
+    create-hash "^1.1.0"
+    inherits "^2.0.1"
+
 cryptiles@2.x.x:
   version "2.0.5"
   resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8"
   dependencies:
     boom "2.x.x"
 
 crypto-browserify@3.3.0:
   version "3.3.0"
   resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.3.0.tgz#b9fc75bb4a0ed61dcf1cd5dae96eb30c9c3e506c"
   dependencies:
     browserify-aes "0.4.0"
     pbkdf2-compat "2.0.1"
     ripemd160 "0.2.0"
     sha.js "2.2.6"
 
+crypto-browserify@^3.11.0:
+  version "3.11.0"
+  resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.11.0.tgz#3652a0906ab9b2a7e0c3ce66a408e957a2485522"
+  dependencies:
+    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"
+
 css-color-names@0.0.4:
   version "0.0.4"
   resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
 
 css-loader@^0.26.1:
   version "0.26.4"
   resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.26.4.tgz#b61e9e30db94303e6ffc892f10ecd09ad025a1fd"
   dependencies:
@@ -1222,29 +1341,29 @@ dashdash@^1.12.0:
   resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
   dependencies:
     assert-plus "^1.0.0"
 
 date-now@^0.1.4:
   version "0.1.4"
   resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
 
-debug@2.6.1, debug@^2.1.1:
+debug@2.6.1:
   version "2.6.1"
   resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.1.tgz#79855090ba2c4e3115cc7d8769491d58f0491351"
   dependencies:
     ms "0.7.2"
 
-debug@2.6.3, debug@^2.2.0:
+debug@2.6.3, debug@^2.1.1, debug@^2.2.0:
   version "2.6.3"
   resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.3.tgz#0f7eb8c30965ec08c72accfa0130c8b79984141d"
   dependencies:
     ms "0.7.2"
 
-decamelize@^1.0.0, decamelize@^1.1.2:
+decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2:
   version "1.2.0"
   resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
 
 deep-extend@~0.4.0:
   version "0.4.1"
   resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253"
 
 deep-is@~0.1.3:
@@ -1281,43 +1400,40 @@ delayed-stream@~1.0.0:
 delegates@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
 
 depd@1.1.0, depd@~1.1.0:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3"
 
+des.js@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc"
+  dependencies:
+    inherits "^2.0.1"
+    minimalistic-assert "^1.0.0"
+
 destroy@~1.0.4:
   version "1.0.4"
   resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
 
 detect-indent@^4.0.0:
   version "4.0.0"
   resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208"
   dependencies:
     repeating "^2.0.0"
 
-devtools-client-adapters@^0.0.23:
-  version "0.0.23"
-  resolved "https://registry.yarnpkg.com/devtools-client-adapters/-/devtools-client-adapters-0.0.23.tgz#c0b05b07ec4419b6553c5f171a59a5e35502d13e"
-  dependencies:
-    chrome-remote-interface "0.17.0"
-    devtools-config "^0.0.12"
-    devtools-modules "^0.0.18"
-    devtools-network-request "^0.0.14"
-    devtools-sham-modules "^0.0.17"
-
 devtools-config@^0.0.12:
   version "0.0.12"
   resolved "https://registry.yarnpkg.com/devtools-config/-/devtools-config-0.0.12.tgz#4094e62efec23cdc31bd0e6d89e15f7c51d6a7e6"
 
-devtools-launchpad@^0.0.59:
-  version "0.0.59"
-  resolved "https://registry.yarnpkg.com/devtools-launchpad/-/devtools-launchpad-0.0.59.tgz#f0f4311dd919710fbd6a11d3b0aadeaef80dba8d"
+devtools-launchpad@^0.0.65:
+  version "0.0.65"
+  resolved "https://registry.yarnpkg.com/devtools-launchpad/-/devtools-launchpad-0.0.65.tgz#d794a8825b219ad268785e8b28d57a611bf62bbd"
   dependencies:
     amd-loader "0.0.5"
     autoprefixer "^6.7.6"
     babel-cli "^6.7.5"
     babel-core "^6.17.0"
     babel-eslint "^7.1.0"
     babel-loader "^6.2.4"
     babel-plugin-module-resolver "^2.2.0"
@@ -1329,34 +1445,32 @@ devtools-launchpad@^0.0.59:
     babel-plugin-transform-es2015-spread "^6.6.5"
     babel-plugin-transform-flow-strip-types "^6.14.0"
     babel-plugin-transform-runtime "^6.7.5"
     babel-plugin-webpack-alias "^2.1.1"
     babel-polyfill "^6.7.4"
     babel-register "^6.18.0"
     body-parser "^1.15.2"
     check-node-version "^1.1.2"
+    chrome-remote-interface "0.17.0"
     classnames "^2.2.5"
     co "=4.6.0"
     css-loader "^0.26.1"
-    devtools-client-adapters "^0.0.23"
     devtools-config "^0.0.12"
-    devtools-modules "^0.0.18"
-    devtools-network-request "^0.0.14"
-    devtools-sham-modules "^0.0.17"
+    devtools-modules "^0.0.23"
     eslint "^3.12.0"
     eslint-plugin-babel "^3.3.0"
     eslint-plugin-flowtype "^2.20.0"
     eslint-plugin-mozilla "0.2.3"
     eslint-plugin-react "^6.7.1"
     express "^4.13.4"
     extract-text-webpack-plugin "^1.0.1"
     fs-extra "^2.0.0"
     fuzzaldrin-plus "^0.4.0"
-    geckodriver "^1.2.0"
+    geckodriver "=1.4.0"
     immutable "^3.7.6"
     json-loader "^0.5.4"
     minimist "^1.2.0"
     mustache "^2.2.1"
     node-static "^0.7.7"
     parse-yarn-lock "^1.0.2"
     postcss "^5.2.12"
     postcss-bidirection "=2.3.0"
@@ -1379,19 +1493,21 @@ devtools-launchpad@^0.0.59:
     webpack-env-loader-plugin "^0.1.4"
     webpack-hot-middleware "^2.12.0"
     ws "^1.0.1"
 
 devtools-modules@^0.0.18:
   version "0.0.18"
   resolved "https://registry.yarnpkg.com/devtools-modules/-/devtools-modules-0.0.18.tgz#87f0dc697692f33cd4eb166b1469bfed67d53c29"
 
-devtools-network-request@^0.0.14:
-  version "0.0.14"
-  resolved "https://registry.yarnpkg.com/devtools-network-request/-/devtools-network-request-0.0.14.tgz#427f13a20728ab7367ca885708e57f065742db57"
+devtools-modules@^0.0.23:
+  version "0.0.23"
+  resolved "https://registry.yarnpkg.com/devtools-modules/-/devtools-modules-0.0.23.tgz#2c9d9478de18a9e68857f49512dbeb86329c55bc"
+  dependencies:
+    properties-parser "^0.3.1"
 
 devtools-reps@^0.4.0:
   version "0.4.0"
   resolved "https://registry.yarnpkg.com/devtools-reps/-/devtools-reps-0.4.0.tgz#a0600a773cc7e13e0a0d684cec24767cc861e488"
   dependencies:
     lodash "^4.17.2"
     svg-inline-react "^1.0.2"
 
@@ -1440,30 +1556,51 @@ ecc-jsbn@~0.1.1:
 ee-first@1.1.1:
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
 
 electron-to-chromium@^1.2.7:
   version "1.3.2"
   resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.2.tgz#b8ce5c93b308db0e92f6d0435c46ddec8f6363ab"
 
+elliptic@^6.0.0:
+  version "6.4.0"
+  resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df"
+  dependencies:
+    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@^2.0.0:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
 
 encodeurl@~1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20"
 
 encoding@^0.1.11:
   version "0.1.12"
   resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb"
   dependencies:
     iconv-lite "~0.4.13"
 
+enhanced-resolve@^3.0.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.1.0.tgz#9f4b626f577245edcf4b2ad83d86e17f4f421dec"
+  dependencies:
+    graceful-fs "^4.1.2"
+    memory-fs "^0.4.0"
+    object-assign "^4.0.1"
+    tapable "^0.2.5"
+
 enhanced-resolve@~0.9.0:
   version "0.9.1"
   resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz#4d6e689b3725f86090927ccc86cd9f1635b89e2e"
   dependencies:
     graceful-fs "^4.1.2"
     memory-fs "^0.2.0"
     tapable "^0.1.8"
 
@@ -1594,18 +1731,18 @@ eslint-plugin-react@^6.7.1:
   dependencies:
     array.prototype.find "^2.0.1"
     doctrine "^1.2.2"
     has "^1.0.1"
     jsx-ast-utils "^1.3.4"
     object.assign "^4.0.4"
 
 eslint@^3.12.0:
-  version "3.18.0"
-  resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.18.0.tgz#647e985c4ae71502d20ac62c109f66d5104c8a4b"
+  version "3.19.0"
+  resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.19.0.tgz#c8fc6201c7f40dd08941b87c085767386a679acc"
   dependencies:
     babel-code-frame "^6.16.0"
     chalk "^1.1.3"
     concat-stream "^1.5.2"
     debug "^2.1.1"
     doctrine "^2.0.0"
     escope "^3.6.0"
     espree "^3.4.0"
@@ -1634,20 +1771,20 @@ eslint@^3.12.0:
     shelljs "^0.7.5"
     strip-bom "^3.0.0"
     strip-json-comments "~2.0.1"
     table "^3.7.8"
     text-table "~0.2.0"
     user-home "^2.0.0"
 
 espree@^3.2.0, espree@^3.4.0:
-  version "3.4.0"
-  resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.0.tgz#41656fa5628e042878025ef467e78f125cb86e1d"
-  dependencies:
-    acorn "4.0.4"
+  version "3.4.1"
+  resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.1.tgz#28a83ab4aaed71ed8fe0f5efe61b76a05c13c4d2"
+  dependencies:
+    acorn "^5.0.1"
     acorn-jsx "^3.0.0"
 
 esprima@^2.6.0:
   version "2.7.3"
   resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"
 
 esprima@^3.1.1:
   version "3.1.3"
@@ -1966,35 +2103,39 @@ gauge@~2.7.1:
     console-control-strings "^1.0.0"
     has-unicode "^2.0.0"
     object-assign "^4.1.0"
     signal-exit "^3.0.0"
     string-width "^1.0.1"
     strip-ansi "^3.0.1"
     wide-align "^1.1.0"
 
-geckodriver@^1.2.0:
-  version "1.5.0"
-  resolved "https://registry.yarnpkg.com/geckodriver/-/geckodriver-1.5.0.tgz#5ea6bafc01863ac31e39dd30e9f6637f7f36a966"
+geckodriver@=1.4.0:
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/geckodriver/-/geckodriver-1.4.0.tgz#f3bc1e4e6139e9e09b44e0777225c628e41d129c"
   dependencies:
     adm-zip "0.4.7"
     bluebird "3.4.6"
     got "5.6.0"
     tar.gz "1.0.5"
 
 generate-function@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74"
 
 generate-object-property@^1.1.0:
   version "1.2.0"
   resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0"
   dependencies:
     is-property "^1.0.0"
 
+get-caller-file@^1.0.1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5"
+
 getpass@^0.1.1:
   version "0.1.6"
   resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6"
   dependencies:
     assert-plus "^1.0.0"
 
 glob-base@^0.3.0:
   version "0.3.0"
@@ -2090,40 +2231,58 @@ has-unicode@^2.0.0:
   resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
 
 has@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28"
   dependencies:
     function-bind "^1.0.2"
 
+hash.js@^1.0.0, hash.js@^1.0.3:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.0.3.tgz#1332ff00156c0a0ffdd8236013d07b77a0451573"
+  dependencies:
+    inherits "^2.0.1"
+
 hawk@~3.1.3:
   version "3.1.3"
   resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4"
   dependencies:
     boom "2.x.x"
     cryptiles "2.x.x"
     hoek "2.x.x"
     sntp "1.x.x"
 
+hmac-drbg@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.0.tgz#3db471f45aae4a994a0688322171f51b8b91bee5"
+  dependencies:
+    hash.js "^1.0.3"
+    minimalistic-assert "^1.0.0"
+    minimalistic-crypto-utils "^1.0.1"
+
 hoek@2.x.x:
   version "2.16.3"
   resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed"
 
 hoist-non-react-statics@^1.0.3:
   version "1.2.0"
   resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz#aa448cf0986d55cc40773b17174b7dd066cb7cfb"
 
 home-or-tmp@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8"
   dependencies:
     os-homedir "^1.0.0"
     os-tmpdir "^1.0.1"
 
+hosted-git-info@^2.1.4:
+  version "2.4.1"
+  resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.4.1.tgz#4b0445e41c004a8bd1337773a4ff790ca40318c8"
+
 html-comment-regex@^1.1.0:
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.1.tgz#668b93776eaae55ebde8f3ad464b307a4963625e"
 
 html-entities@^1.2.0:
   version "1.2.0"
   resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.0.tgz#41948caf85ce82fed36e4e6a0ed371a6664379e2"
 
@@ -2164,18 +2323,18 @@ icss-replace-symbols@^1.0.2:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.0.2.tgz#cb0b6054eb3af6edc9ab1d62d01933e2d4c8bfa5"
 
 ieee754@^1.1.4:
   version "1.1.8"
   resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4"
 
 ignore@^3.2.0:
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.6.tgz#26e8da0644be0bb4cb39516f6c79f0e0f4ffe48c"
+  version "3.2.7"
+  resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.7.tgz#4810ca5f1d8eca5595213a34b94f2eb4ed926bbd"
 
 immediate@~3.0.5:
   version "3.0.6"
   resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b"
 
 immutable@^3.7.6, immutable@^3.8.1:
   version "3.8.1"
   resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.1.tgz#200807f11ab0f72710ea485542de088075f68cd2"
@@ -2238,16 +2397,20 @@ interpret@^1.0.0:
   resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.2.tgz#f4f623f0bb7122f15f5717c8e254b8161b5c5b2d"
 
 invariant@^2.0.0, invariant@^2.2.0:
   version "2.2.2"
   resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360"
   dependencies:
     loose-envify "^1.0.0"
 
+invert-kv@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
+
 ipaddr.js@1.3.0:
   version "1.3.0"
   resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.3.0.tgz#1e03a52fdad83a8bbb2b25cbf4998b4cffcd3dec"
 
 is-absolute-url@^2.0.0:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6"
 
@@ -2260,16 +2423,22 @@ is-binary-path@^1.0.0:
   resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
   dependencies:
     binary-extensions "^1.0.0"
 
 is-buffer@^1.0.2:
   version "1.1.5"
   resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc"
 
+is-builtin-module@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe"
+  dependencies:
+    builtin-modules "^1.0.0"
+
 is-callable@^1.1.1, is-callable@^1.1.3:
   version "1.1.3"
   resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2"
 
 is-date-object@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"
 
@@ -2393,16 +2562,20 @@ is-svg@^2.0.0:
 is-symbol@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572"
 
 is-typedarray@~1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
 
+is-utf8@^0.2.0:
+  version "0.2.1"
+  resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
+
 isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
 
 isexe@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
 
@@ -2433,18 +2606,18 @@ js-base64@^2.1.9:
   version "2.1.9"
   resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce"
 
 js-tokens@^3.0.0:
   version "3.0.1"
   resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
 
 js-yaml@^3.4.3, js-yaml@^3.5.1:
-  version "3.8.2"
-  resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.2.tgz#02d3e2c0f6beab20248d412c352203827d786721"
+  version "3.8.3"
+  resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.3.tgz#33a05ec481c850c8875929166fe1beb61c728766"
   dependencies:
     argparse "^1.0.7"
     esprima "^3.1.1"
 
 js-yaml@~3.7.0:
   version "3.7.0"
   resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80"
   dependencies:
@@ -2529,17 +2702,16 @@ kind-of@^3.0.2:
   resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47"
   dependencies:
     is-buffer "^1.0.2"
 
 lazy-cache@^1.0.3:
   version "1.0.4"
   resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
 
-
 lcid@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
   dependencies:
     invert-kv "^1.0.0"
 
 levn@^0.3.0, levn@~0.3.0:
   version "0.3.0"
@@ -2549,16 +2721,30 @@ levn@^0.3.0, levn@~0.3.0:
     type-check "~0.3.2"
 
 lie@~3.1.0:
   version "3.1.1"
   resolved "https://registry.yarnpkg.com/lie/-/lie-3.1.1.tgz#9a436b2cc7746ca59de7a41fa469b3efb76bd87e"
   dependencies:
     immediate "~3.0.5"
 
+load-json-file@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
+  dependencies:
+    graceful-fs "^4.1.2"
+    parse-json "^2.2.0"
+    pify "^2.0.0"
+    pinkie-promise "^2.0.0"
+    strip-bom "^2.0.0"
+
+loader-runner@^2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2"
+
 loader-utils@^0.2.11, loader-utils@^0.2.16, loader-utils@^0.2.3:
   version "0.2.17"
   resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348"
   dependencies:
     big.js "^3.1.3"
     emojis-list "^2.0.0"
     json5 "^0.5.0"
     object-assign "^4.0.1"
@@ -2585,17 +2771,17 @@ lodash-es@^4.2.0, lodash-es@^4.2.1:
 lodash._reinterpolate@~3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
 
 lodash.camelcase@^4.3.0:
   version "4.3.0"
   resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
 
-lodash.memoize@^4.1.0:
+lodash.memoize@^4.1.2:
   version "4.1.2"
   resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
 
 lodash.some@^4.5.1:
   version "4.6.0"
   resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d"
 
 lodash.template@^4.3.0:
@@ -2606,21 +2792,21 @@ lodash.template@^4.3.0:
     lodash.templatesettings "^4.0.0"
 
 lodash.templatesettings@^4.0.0:
   version "4.1.0"
   resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz#2b4d4e95ba440d915ff08bc899e4553666713316"
   dependencies:
     lodash._reinterpolate "~3.0.0"
 
-lodash.uniq@^4.3.0:
+lodash.uniq@^4.5.0:
   version "4.5.0"
   resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
 
-lodash@^4.0.0, lodash@^4.15.0, lodash@^4.17.2, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0:
+lodash@^4.0.0, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.2, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0:
   version "4.17.4"
   resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
 
 longest@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
 
 loose-envify@^1.0.0, loose-envify@^1.1.0:
@@ -2644,30 +2830,30 @@ math-expression-evaluator@^1.2.14:
 media-typer@0.3.0:
   version "0.3.0"
   resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
 
 memory-fs@^0.2.0:
   version "0.2.0"
   resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.2.0.tgz#f2bb25368bc121e391c2520de92969caee0a0290"
 
+memory-fs@^0.4.0, memory-fs@~0.4.1:
+  version "0.4.1"
+  resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
+  dependencies:
+    errno "^0.1.3"
+    readable-stream "^2.0.1"
+
 memory-fs@~0.3.0:
   version "0.3.0"
   resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.3.0.tgz#7bcc6b629e3a43e871d7e29aca6ae8a7f15cbb20"
   dependencies:
     errno "^0.1.3"
     readable-stream "^2.0.1"
 
-memory-fs@~0.4.1:
-  version "0.4.1"
-  resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
-  dependencies:
-    errno "^0.1.3"
-    readable-stream "^2.0.1"
-
 merge-descriptors@1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
 
 methods@~1.1.2:
   version "1.1.2"
   resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
 
@@ -2684,21 +2870,28 @@ micromatch@^2.1.5:
     is-extglob "^1.0.0"
     is-glob "^2.0.1"
     kind-of "^3.0.2"
     normalize-path "^2.0.1"
     object.omit "^2.0.0"
     parse-glob "^3.0.4"
     regex-cache "^0.4.2"
 
+miller-rabin@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.0.tgz#4a62fb1d42933c05583982f4c716f6fb9e6c6d3d"
+  dependencies:
+    bn.js "^4.0.0"
+    brorand "^1.0.1"
+
 mime-db@~1.27.0:
   version "1.27.0"
   resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1"
 
-mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.13, mime-types@~2.1.7:
+mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.15, mime-types@~2.1.7:
   version "2.1.15"
   resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed"
   dependencies:
     mime-db "~1.27.0"
 
 mime@1.3.4, mime@>=1.2.9, mime@^1.3.4:
   version "1.3.4"
   resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53"
@@ -2743,18 +2936,18 @@ mustache@^2.2.1:
   version "2.3.0"
   resolved "https://registry.yarnpkg.com/mustache/-/mustache-2.3.0.tgz#4028f7778b17708a489930a6e52ac3bca0da41d0"
 
 mute-stream@0.0.5:
   version "0.0.5"
   resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0"
 
 nan@^2.3.0:
-  version "2.5.1"
-  resolved "https://registry.yarnpkg.com/nan/-/nan-2.5.1.tgz#d5b01691253326a97a2bbee9e61c55d8d60351e2"
+  version "2.6.1"
+  resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.1.tgz#8c84f7b14c96b89f57fbc838012180ec8ca39a01"
 
 natural-compare@^1.4.0:
   version "1.4.0"
   resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
 
 negotiator@0.6.1:
   version "0.6.1"
   resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9"
@@ -2850,16 +3043,25 @@ node-status-codes@^1.0.0:
 
 nopt@^4.0.1:
   version "4.0.1"
   resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
   dependencies:
     abbrev "1"
     osenv "^0.1.4"
 
+normalize-package-data@^2.3.2:
+  version "2.3.6"
+  resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.6.tgz#498fa420c96401f787402ba21e600def9f981fff"
+  dependencies:
+    hosted-git-info "^2.1.4"
+    is-builtin-module "^1.0.0"
+    semver "2 || 3 || 4 || 5"
+    validate-npm-package-license "^3.0.1"
+
 normalize-path@^2.0.1:
   version "2.1.1"
   resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
   dependencies:
     remove-trailing-separator "^1.0.1"
 
 normalize-range@^0.1.2:
   version "0.1.2"
@@ -2959,16 +3161,22 @@ options@>=0.0.5:
 os-browserify@^0.2.0:
   version "0.2.1"
   resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.2.1.tgz#63fc4ccee5d2d7763d26bbf8601078e6c2e0044f"
 
 os-homedir@^1.0.0, os-homedir@^1.0.1:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
 
+os-locale@^1.4.0:
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9"
+  dependencies:
+    lcid "^1.0.0"
+
 os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.1:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
 
 osenv@^0.1.4:
   version "0.1.4"
   resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644"
   dependencies:
@@ -2996,16 +3204,26 @@ p-locate@^2.0.0:
 pako@~0.2.0:
   version "0.2.9"
   resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75"
 
 pako@~1.0.2:
   version "1.0.5"
   resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.5.tgz#d2205dfe5b9da8af797e7c163db4d1f84e4600bc"
 
+parse-asn1@^5.0.0:
+  version "5.1.0"
+  resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.0.tgz#37c4f9b7ed3ab65c74817b5f2480937fbf97c712"
+  dependencies:
+    asn1.js "^4.0.0"
+    browserify-aes "^1.0.0"
+    create-hash "^1.1.0"
+    evp_bytestokey "^1.0.0"
+    pbkdf2 "^3.0.3"
+
 parse-glob@^3.0.4:
   version "3.0.4"
   resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
   dependencies:
     glob-base "^0.3.0"
     is-dotfile "^1.0.0"
     is-extglob "^1.0.0"
     is-glob "^2.0.0"
@@ -3052,20 +3270,34 @@ path-is-inside@^1.0.1:
 path-parse@^1.0.5:
   version "1.0.5"
   resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1"
 
 path-to-regexp@0.1.7:
   version "0.1.7"
   resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
 
+path-type@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
+  dependencies:
+    graceful-fs "^4.1.2"
+    pify "^2.0.0"
+    pinkie-promise "^2.0.0"
+
 pbkdf2-compat@2.0.1:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/pbkdf2-compat/-/pbkdf2-compat-2.0.1.tgz#b6e0c8fa99494d94e0511575802a59a5c142f288"
 
+pbkdf2@^3.0.3:
+  version "3.0.9"
+  resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.9.tgz#f2c4b25a600058b3c3773c086c37dbbee1ffe693"
+  dependencies:
+    create-hmac "^1.1.2"
+
 performance-now@^0.2.0:
   version "0.2.0"
   resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5"
 
 pify@^2.0.0:
   version "2.3.0"
   resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
 
@@ -3417,16 +3649,26 @@ prr@~0.0.0:
   resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a"
 
 ps-node@^0.1.4:
   version "0.1.5"
   resolved "https://registry.yarnpkg.com/ps-node/-/ps-node-0.1.5.tgz#b51e5dd5650fe12ab4785d76ac4770dfbc56f986"
   dependencies:
     table-parser "^0.1.3"
 
+public-encrypt@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.0.tgz#39f699f3a46560dd5ebacbca693caf7c65c18cc6"
+  dependencies:
+    bn.js "^4.1.0"
+    browserify-rsa "^4.0.0"
+    create-hash "^1.1.0"
+    parse-asn1 "^5.0.0"
+    randombytes "^2.0.1"
+
 punycode@1.3.2:
   version "1.3.2"
   resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
 
 punycode@^1.2.4, punycode@^1.4.1:
   version "1.4.1"
   resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
 
@@ -3455,16 +3697,20 @@ querystring@0.2.0, querystring@^0.2.0:
 
 randomatic@^1.1.3:
   version "1.1.6"
   resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb"
   dependencies:
     is-number "^2.0.2"
     kind-of "^3.0.2"
 
+randombytes@^2.0.0, randombytes@^2.0.1:
+  version "2.0.3"
+  resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.3.tgz#674c99760901c3c4112771a31e521dc349cc09ec"
+
 range-parser@^1.0.3, range-parser@~1.2.0:
   version "1.2.0"
   resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e"
 
 raw-body@~2.2.0:
   version "2.2.0"
   resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.2.0.tgz#994976cf6a5096a41162840492f0bdc5d6e7fb96"
   dependencies:
@@ -3472,18 +3718,18 @@ raw-body@~2.2.0:
     iconv-lite "0.4.15"
     unpipe "1.0.0"
 
 raw-loader@^0.5.1:
   version "0.5.1"
   resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-0.5.1.tgz#0c3d0beaed8a01c966d9787bf778281252a979aa"
 
 rc@^1.1.7:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.0.tgz#c7de973b7b46297c041366b2fd3d2363b1697c66"
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95"
   dependencies:
     deep-extend "~0.4.0"
     ini "~1.3.0"
     minimist "^1.2.0"
     strip-json-comments "~2.0.1"
 
 react-dom@=15.3.2:
   version "15.3.2"
@@ -3541,26 +3787,41 @@ react@=15.3.2:
 
 read-all-stream@^3.0.0:
   version "3.1.0"
   resolved "https://registry.yarnpkg.com/read-all-stream/-/read-all-stream-3.1.0.tgz#35c3e177f2078ef789ee4bfafa4373074eaef4fa"
   dependencies:
     pinkie-promise "^2.0.0"
     readable-stream "^2.0.0"
 
-readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.1.0, readable-stream@^2.1.4, readable-stream@^2.2.2:
-  version "2.2.6"
-  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.6.tgz#8b43aed76e71483938d12a8d46c6cf1a00b1f816"
-  dependencies:
-    buffer-shims "^1.0.0"
+read-pkg-up@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
+  dependencies:
+    find-up "^1.0.0"
+    read-pkg "^1.0.0"
+
+read-pkg@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
+  dependencies:
+    load-json-file "^1.0.0"
+    normalize-package-data "^2.3.2"
+    path-type "^1.0.0"
+
+readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.1.4, readable-stream@^2.2.2, readable-stream@^2.2.6:
+  version "2.2.7"
+  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.7.tgz#07057acbe2467b22042d36f98c5ad507054e95b1"
+  dependencies:
+    buffer-shims "~1.0.0"
     core-util-is "~1.0.0"
     inherits "~2.0.1"
     isarray "~1.0.0"
     process-nextick-args "~1.0.6"
-    string_decoder "~0.10.x"
+    string_decoder "~1.0.0"
     util-deprecate "~1.0.1"
 
 readable-stream@~2.0.6:
   version "2.0.6"
   resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e"
   dependencies:
     core-util-is "~1.0.0"
     inherits "~2.0.1"
@@ -3713,20 +3974,28 @@ request@^2.81.0:
     performance-now "^0.2.0"
     qs "~6.4.0"
     safe-buffer "^5.0.1"
     stringstream "~0.0.4"
     tough-cookie "~2.3.0"
     tunnel-agent "^0.6.0"
     uuid "^3.0.0"
 
+require-directory@^2.1.1:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
+
 require-from-string@^1.1.0:
   version "1.2.1"
   resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-1.2.1.tgz#529c9ccef27380adfec9a2f965b649bbee636418"
 
+require-main-filename@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
+
 require-uncached@^1.0.2:
   version "1.0.3"
   resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3"
   dependencies:
     caller-path "^0.1.0"
     resolve-from "^1.0.0"
 
 reselect@^2.5.4:
@@ -3761,16 +4030,20 @@ rimraf@2, rimraf@^2.2.8, rimraf@^2.5.1, 
   resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d"
   dependencies:
     glob "^7.0.5"
 
 ripemd160@0.2.0:
   version "0.2.0"
   resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-0.2.0.tgz#2bf198bde167cacfa51c0a928e84b68bbe171fce"
 
+ripemd160@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-1.0.1.tgz#93a4bbd4942bc574b69a8fa57c71de10ecca7d6e"
+
 run-async@^0.1.0:
   version "0.1.0"
   resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389"
   dependencies:
     once "^1.3.0"
 
 run-parallel@^1.1.4:
   version "1.1.6"
@@ -3796,17 +4069,17 @@ selenium-webdriver@^3.0.1:
   version "3.3.0"
   resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-3.3.0.tgz#f14d9b04cee9495d4284d22105b189b8305ccca1"
   dependencies:
     adm-zip "^0.4.7"
     rimraf "^2.5.4"
     tmp "0.0.30"
     xml2js "^0.4.17"
 
-semver@^5.0.3, semver@^5.3.0:
+"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.3.0:
   version "5.3.0"
   resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
 
 send@0.15.1:
   version "0.15.1"
   resolved "https://registry.yarnpkg.com/send/-/send-0.15.1.tgz#8a02354c26e6f5cca700065f5f0cdeba90ec7b5f"
   dependencies:
     debug "2.6.1"
@@ -3827,17 +4100,17 @@ serve-static@1.12.1:
   version "1.12.1"
   resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.12.1.tgz#7443a965e3ced647aceb5639fa06bf4d1bbe0039"
   dependencies:
     encodeurl "~1.0.1"
     escape-html "~1.0.3"
     parseurl "~1.3.1"
     send "0.15.1"
 
-set-blocking@~2.0.0:
+set-blocking@^2.0.0, set-blocking@~2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
 
 set-immediate-shim@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61"
 
 setimmediate@^1.0.4, setimmediate@^1.0.5:
@@ -3847,16 +4120,22 @@ setimmediate@^1.0.4, setimmediate@^1.0.5
 setprototypeof@1.0.3:
   version "1.0.3"
   resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04"
 
 sha.js@2.2.6:
   version "2.2.6"
   resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.2.6.tgz#17ddeddc5f722fb66501658895461977867315ba"
 
+sha.js@^2.3.6:
+  version "2.4.8"
+  resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.8.tgz#37068c2c476b6baf402d14a49c67f597921f634f"
+  dependencies:
+    inherits "^2.0.1"
+
 shelljs@^0.7.5:
   version "0.7.7"
   resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.7.tgz#b2f5c77ef97148f4b4f6e22682e10bba8667cff1"
   dependencies:
     glob "^7.0.0"
     interpret "^1.0.0"
     rechoir "^0.6.2"
 
@@ -3887,16 +4166,20 @@ sort-keys@^1.0.0:
   resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad"
   dependencies:
     is-plain-obj "^1.0.0"
 
 source-list-map@^0.1.7, source-list-map@~0.1.7:
   version "0.1.8"
   resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106"
 
+source-list-map@^1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-1.1.1.tgz#1a33ac210ca144d1e561f906ebccab5669ff4cb4"
+
 source-map-support@^0.4.2:
   version "0.4.14"
   resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.14.tgz#9d4463772598b86271b4f523f6c1f4e02a7d6aef"
   dependencies:
     source-map "^0.5.6"
 
 source-map@^0.4.4, source-map@~0.4.1:
   version "0.4.4"
@@ -3948,22 +4231,22 @@ sshpk@^1.7.0:
 stream-browserify@^2.0.1:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db"
   dependencies:
     inherits "~2.0.1"
     readable-stream "^2.0.2"
 
 stream-http@^2.3.1:
-  version "2.6.3"
-  resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.6.3.tgz#4c3ddbf9635968ea2cfd4e48d43de5def2625ac3"
+  version "2.7.0"
+  resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.7.0.tgz#cec1f4e3b494bc4a81b451808970f8b20b4ed5f6"
   dependencies:
     builtin-status-codes "^3.0.0"
     inherits "^2.0.1"
-    readable-stream "^2.1.0"
+    readable-stream "^2.2.6"
     to-arraybuffer "^1.0.0"
     xtend "^4.0.0"
 
 strict-uri-encode@^1.0.0:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
 
 string-width@^1.0.1, string-width@^1.0.2:
@@ -3984,16 +4267,22 @@ string-width@^2.0.0:
 string.prototype.codepointat@^0.2.0:
   version "0.2.0"
   resolved "https://registry.yarnpkg.com/string.prototype.codepointat/-/string.prototype.codepointat-0.2.0.tgz#6b26e9bd3afcaa7be3b4269b526de1b82000ac78"
 
 string_decoder@^0.10.25, string_decoder@~0.10.x:
   version "0.10.31"
   resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
 
+string_decoder@~1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.0.tgz#f06f41157b664d86069f84bdbdc9b0d8ab281667"
+  dependencies:
+    buffer-shims "~1.0.0"
+
 stringstream@~0.0.4:
   version "0.0.5"
   resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878"
 
 strip-ansi@^3.0.0, strip-ansi@^3.0.1:
   version "3.0.1"
   resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
   dependencies:
@@ -4077,16 +4366,20 @@ table@^3.7.8:
     lodash "^4.0.0"
     slice-ansi "0.0.4"
     string-width "^2.0.0"
 
 tapable@^0.1.8, tapable@~0.1.8:
   version "0.1.10"
   resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.1.10.tgz#29c35707c2b70e50d07482b5d202e8ed446dafd4"
 
+tapable@^0.2.5, tapable@~0.2.5:
+  version "0.2.6"
+  resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.6.tgz#206be8e188860b514425375e6f1ae89bfb01fd8d"
+
 tar-pack@^3.4.0:
   version "3.4.0"
   resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.0.tgz#23be2d7f671a8339376cbdb0b8fe3fdebf317984"
   dependencies:
     debug "^2.2.0"
     fstream "^1.0.10"
     fstream-ignore "^1.0.5"
     once "^1.3.3"
@@ -4175,33 +4468,33 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0:
 
 type-check@~0.3.2:
   version "0.3.2"
   resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
   dependencies:
     prelude-ls "~1.1.2"
 
 type-is@~1.6.14:
-  version "1.6.14"
-  resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.14.tgz#e219639c17ded1ca0789092dd54a03826b817cb2"
+  version "1.6.15"
+  resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410"
   dependencies:
     media-typer "0.3.0"
-    mime-types "~2.1.13"
+    mime-types "~2.1.15"
 
 typedarray@^0.0.6:
   version "0.0.6"
   resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
 
 ua-parser-js@^0.7.9:
   version "0.7.12"
   resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.12.tgz#04c81a99bdd5dc52263ea29d24c6bf8d4818a4bb"
 
 uglify-js@^2.8.5:
-  version "2.8.20"
-  resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.20.tgz#be87100fbc18de3876ed606e9d24b4568311cecf"
+  version "2.8.21"
+  resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.21.tgz#1733f669ae6f82fc90c7b25ec0f5c783ee375314"
   dependencies:
     source-map "~0.5.1"
     yargs "~3.10.0"
   optionalDependencies:
     uglify-to-browserify "~1.0.0"
 
 uglify-js@~2.7.3:
   version "2.7.5"
@@ -4289,21 +4582,28 @@ utils-merge@1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8"
 
 uuid@^3.0.0:
   version "3.0.1"
   resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1"
 
 v8flags@^2.0.10:
-  version "2.0.11"
-  resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.0.11.tgz#bca8f30f0d6d60612cc2c00641e6962d42ae6881"
+  version "2.0.12"
+  resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.0.12.tgz#73235d9f7176f8e8833fb286795445f7938d84e5"
   dependencies:
     user-home "^1.1.1"
 
+validate-npm-package-license@^3.0.1:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc"
+  dependencies:
+    spdx-correct "~1.0.0"
+    spdx-expression-parse "~1.0.0"
+
 vary@~1.1.0:
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.1.tgz#67535ebb694c1d52257457984665323f587e8d37"
 
 vendors@^1.0.0:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.1.tgz#37ad73c8ee417fb3d580e785312307d274847f22"
 
@@ -4357,31 +4657,38 @@ webpack-env-loader-plugin@^0.1.4:
   dependencies:
     colors "^1.1.2"
     strip-json-comments "^2.0.1"
     webpack "^1.12.14"
     yaml "^0.3.0"
     yamljs "^0.2.6"
 
 webpack-hot-middleware@^2.12.0:
-  version "2.17.1"
-  resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.17.1.tgz#0c8fbf6f93ff29c095d684b07ab6d6c0f2f951d7"
+  version "2.18.0"
+  resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.18.0.tgz#a16bb535b83a6ac94a78ac5ebce4f3059e8274d3"
   dependencies:
     ansi-html "0.0.7"
     html-entities "^1.2.0"
     querystring "^0.2.0"
     strip-ansi "^3.0.0"
 
 webpack-sources@^0.1.0:
   version "0.1.5"
   resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.1.5.tgz#aa1f3abf0f0d74db7111c40e500b84f966640750"
   dependencies:
     source-list-map "~0.1.7"
     source-map "~0.5.3"
 
+webpack-sources@^0.2.3:
+  version "0.2.3"
+  resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.2.3.tgz#17c62bfaf13c707f9d02c479e0dcdde8380697fb"
+  dependencies:
+    source-list-map "^1.1.1"
+    source-map "~0.5.3"
+
 webpack@1.14.0, webpack@^1.12.14:
   version "1.14.0"
   resolved "https://registry.yarnpkg.com/webpack/-/webpack-1.14.0.tgz#54f1ffb92051a328a5b2057d6ae33c289462c823"
   dependencies:
     acorn "^3.0.0"
     async "^1.3.0"
     clone "^1.0.2"
     enhanced-resolve "~0.9.0"
@@ -4393,18 +4700,18 @@ webpack@1.14.0, webpack@^1.12.14:
     optimist "~0.6.0"
     supports-color "^3.1.0"
     tapable "~0.1.8"
     uglify-js "~2.7.3"
     watchpack "^0.2.1"
     webpack-core "~0.6.9"
 
 webpack@^2.3.2:
-  version "2.3.2"
-  resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.3.2.tgz#7d521e6f0777a3a58985c69425263fdfe977b458"
+  version "2.3.3"
+  resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.3.3.tgz#eecc083c18fb7bf958ea4f40b57a6640c5a0cc78"
   dependencies:
     acorn "^4.0.4"
     acorn-dynamic-import "^2.0.0"
     ajv "^4.7.0"
     ajv-keywords "^1.1.1"
     async "^2.1.2"
     enhanced-resolve "^3.0.0"
     interpret "^1.0.0"
@@ -4445,24 +4752,20 @@ wide-align@^1.1.0:
   resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad"
   dependencies:
     string-width "^1.0.1"
 
 window-size@0.1.0:
   version "0.1.0"
   resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"
 
-wordwrap@0.0.2:
+wordwrap@0.0.2, wordwrap@~0.0.2:
   version "0.0.2"
   resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
 
-wordwrap@~0.0.2:
-  version "0.0.3"
-  resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
-
 wordwrap@~1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
 
 wrap-ansi@^2.0.0:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
   dependencies:
@@ -4506,23 +4809,27 @@ xmlhttprequest@*:
 xtend@^4.0.0, xtend@~4.0.0:
   version "4.0.1"
   resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
 
 xtend@~3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/xtend/-/xtend-3.0.0.tgz#5cce7407baf642cba7becda568111c493f59665a"
 
+y18n@^3.2.1:
+  version "3.2.1"
+  resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"
+
 yaml@^0.3.0:
   version "0.3.0"
   resolved "https://registry.yarnpkg.com/yaml/-/yaml-0.3.0.tgz#c31a616d07acdbc2012d73a6ba5b1b0bdd185a7f"
 
 yamljs@^0.2.6:
-  version "0.2.8"
-  resolved "https://registry.yarnpkg.com/yamljs/-/yamljs-0.2.8.tgz#ef23fb006e62f6ae07b406aa2a949561f336ea5c"
+  version "0.2.9"
+  resolved "https://registry.yarnpkg.com/yamljs/-/yamljs-0.2.9.tgz#bd3bdaa62ac09deb2a2e1ce803eeb4217b52a82f"
   dependencies:
     argparse "^1.0.7"
     glob "^7.0.5"
 
 yargs-parser@^4.2.0:
   version "4.2.1"
   resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c"
   dependencies:
--- a/devtools/client/themes/dark-theme.css
+++ b/devtools/client/themes/dark-theme.css
@@ -1,17 +1,17 @@
 /* vim:set ts=2 sw=2 sts=2 et: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 @import url(resource://devtools/client/themes/variables.css);
 @import url(resource://devtools/client/themes/common.css);
-@import url(toolbars.css);
-@import url(tooltips.css);
+@import url(chrome://devtools/skin/toolbars.css);
+@import url(chrome://devtools/skin/tooltips.css);
 
 body {
   margin: 0;
 }
 
 .theme-body {
   background: var(--theme-body-background);
   color: var(--theme-body-color);
--- a/devtools/client/themes/firebug-theme.css
+++ b/devtools/client/themes/firebug-theme.css
@@ -1,16 +1,16 @@
 /* vim:set ts=2 sw=2 sts=2 et: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 @import url(resource://devtools/client/themes/variables.css);
 @import url(resource://devtools/client/themes/common.css);
-@import url(light-theme.css);
+@import url(chrome://devtools/skin/light-theme.css);
 
 :root {
   font-size: 11px;
   font-family: var(--proportional-font-family);
 }
 
 /* CodeMirror Color Syntax */
 
--- a/devtools/client/themes/light-theme.css
+++ b/devtools/client/themes/light-theme.css
@@ -1,17 +1,17 @@
 /* vim:set ts=2 sw=2 sts=2 et: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 @import url(resource://devtools/client/themes/variables.css);
 @import url(resource://devtools/client/themes/common.css);
-@import url(toolbars.css);
-@import url(tooltips.css);
+@import url(chrome://devtools/skin/toolbars.css);
+@import url(chrome://devtools/skin/tooltips.css);
 
 body {
   margin: 0;
 }
 
 .theme-body {
   background: var(--theme-body-background);
   color: var(--theme-body-color);
--- a/devtools/client/webconsole/test/browser_webconsole_netlogging_panel.js
+++ b/devtools/client/webconsole/test/browser_webconsole_netlogging_panel.js
@@ -20,16 +20,18 @@ add_task(function* () {
 
   yield hud.ui.openNetworkPanel(request.actor);
   let toolbox = gDevTools.getToolbox(hud.target);
   is(toolbox.currentToolId, "netmonitor", "Network panel was opened");
   let panel = toolbox.getCurrentPanel();
 
   let { gStore, windowRequire } = panel.panelWin;
   let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
+  let { NetMonitorController } =
+    windowRequire("devtools/client/netmonitor/src/netmonitor-controller");
   let { getSelectedRequest } = windowRequire("devtools/client/netmonitor/src/selectors/index");
 
   let selected = getSelectedRequest(gStore.getState());
   is(selected.method, request.request.method,
      "The correct request is selected");
   is(selected.url, request.request.url,
      "The correct request is definitely selected");
 });
--- a/devtools/client/webconsole/webconsole.js
+++ b/devtools/client/webconsole/webconsole.js
@@ -1932,17 +1932,19 @@ WebConsoleFrame.prototype = {
    */
   openNetworkPanel: function (requestId) {
     let toolbox = gDevTools.getToolbox(this.owner.target);
     // The browser console doesn't have a toolbox.
     if (!toolbox) {
       return;
     }
     return toolbox.selectTool("netmonitor").then(panel => {
-      return panel.panelWin.NetMonitorController.inspectRequest(requestId);
+      let { NetMonitorController } = panel.panelWin
+        .windowRequire("devtools/client/netmonitor/src/netmonitor-controller");
+      return NetMonitorController.inspectRequest(requestId);
     });
   },
 
   /**
    * Handler for page location changes.
    *
    * @param string uri
    *        New page location.
new file mode 100644
--- /dev/null
+++ b/xpcom/base/ErrorList.h
@@ -0,0 +1,1050 @@
+
+/* THIS FILE IS GENERATED BY ErrorList.py - DO NOT EDIT */
+
+#ifndef ErrorList_h__
+#define ErrorList_h__
+
+#define NS_ERROR_MODULE_BASE_OFFSET 69
+#define NS_ERROR_MODULE_XPCOM 1
+#define NS_ERROR_MODULE_BASE 2
+#define NS_ERROR_MODULE_GFX 3
+#define NS_ERROR_MODULE_WIDGET 4
+#define NS_ERROR_MODULE_CALENDAR 5
+#define NS_ERROR_MODULE_NETWORK 6
+#define NS_ERROR_MODULE_PLUGINS 7
+#define NS_ERROR_MODULE_LAYOUT 8
+#define NS_ERROR_MODULE_HTMLPARSER 9
+#define NS_ERROR_MODULE_RDF 10
+#define NS_ERROR_MODULE_UCONV 11
+#define NS_ERROR_MODULE_REG 12
+#define NS_ERROR_MODULE_FILES 13
+#define NS_ERROR_MODULE_DOM 14
+#define NS_ERROR_MODULE_IMGLIB 15
+#define NS_ERROR_MODULE_MAILNEWS 16
+#define NS_ERROR_MODULE_EDITOR 17
+#define NS_ERROR_MODULE_XPCONNECT 18
+#define NS_ERROR_MODULE_PROFILE 19
+#define NS_ERROR_MODULE_LDAP 20
+#define NS_ERROR_MODULE_SECURITY 21
+#define NS_ERROR_MODULE_DOM_XPATH 22
+#define NS_ERROR_MODULE_URILOADER 24
+#define NS_ERROR_MODULE_CONTENT 25
+#define NS_ERROR_MODULE_PYXPCOM 26
+#define NS_ERROR_MODULE_XSLT 27
+#define NS_ERROR_MODULE_IPC 28
+#define NS_ERROR_MODULE_SVG 29
+#define NS_ERROR_MODULE_STORAGE 30
+#define NS_ERROR_MODULE_SCHEMA 31
+#define NS_ERROR_MODULE_DOM_FILE 32
+#define NS_ERROR_MODULE_DOM_INDEXEDDB 33
+#define NS_ERROR_MODULE_DOM_FILEHANDLE 34
+#define NS_ERROR_MODULE_SIGNED_JAR 35
+#define NS_ERROR_MODULE_DOM_FILESYSTEM 36
+#define NS_ERROR_MODULE_DOM_BLUETOOTH 37
+#define NS_ERROR_MODULE_SIGNED_APP 38
+#define NS_ERROR_MODULE_DOM_ANIM 39
+#define NS_ERROR_MODULE_DOM_PUSH 40
+#define NS_ERROR_MODULE_DOM_MEDIA 41
+#define NS_ERROR_MODULE_URL_CLASSIFIER 42
+#define NS_ERROR_MODULE_ERRORRESULT 43
+#define NS_ERROR_MODULE_GENERAL 51
+
+enum class nsresult : uint32_t
+{
+  NS_OK = 0x0,
+  NS_ERROR_BASE = 0xC1F30000,
+  NS_ERROR_NOT_INITIALIZED = 0xC1F30001,
+  NS_ERROR_ALREADY_INITIALIZED = 0xC1F30002,
+  NS_ERROR_NOT_IMPLEMENTED = 0x80004001,
+  NS_NOINTERFACE = 0x80004002,
+  NS_ERROR_NO_INTERFACE = 0x80004002,
+  NS_ERROR_ABORT = 0x80004004,
+  NS_ERROR_FAILURE = 0x80004005,
+  NS_ERROR_UNEXPECTED = 0x8000FFFF,
+  NS_ERROR_OUT_OF_MEMORY = 0x8007000E,
+  NS_ERROR_ILLEGAL_VALUE = 0x80070057,
+  NS_ERROR_INVALID_ARG = 0x80070057,
+  NS_ERROR_INVALID_POINTER = 0x80070057,
+  NS_ERROR_NULL_POINTER = 0x80070057,
+  NS_ERROR_NO_AGGREGATION = 0x80040110,
+  NS_ERROR_NOT_AVAILABLE = 0x80040111,
+  NS_ERROR_FACTORY_NOT_REGISTERED = 0x80040154,
+  NS_ERROR_FACTORY_REGISTER_AGAIN = 0x80040155,
+  NS_ERROR_FACTORY_NOT_LOADED = 0x800401F8,
+  NS_ERROR_FACTORY_NO_SIGNATURE_SUPPORT = 0xC1F30101,
+  NS_ERROR_FACTORY_EXISTS = 0xC1F30100,
+  NS_ERROR_CANNOT_CONVERT_DATA = 0x80460001,
+  NS_ERROR_OBJECT_IS_IMMUTABLE = 0x80460002,
+  NS_ERROR_LOSS_OF_SIGNIFICANT_DATA = 0x80460003,
+  NS_ERROR_NOT_SAME_THREAD = 0x80460004,
+  NS_ERROR_ILLEGAL_DURING_SHUTDOWN = 0x8046001E,
+  NS_ERROR_SERVICE_NOT_AVAILABLE = 0x80460016,
+  NS_SUCCESS_LOSS_OF_INSIGNIFICANT_DATA = 0x460001,
+  NS_SUCCESS_INTERRUPTED_TRAVERSE = 0x460002,
+  NS_ERROR_SERVICE_NOT_FOUND = 0x460016,
+  NS_ERROR_SERVICE_IN_USE = 0x460017,
+  NS_BASE_STREAM_CLOSED = 0x80470002,
+  NS_BASE_STREAM_OSERROR = 0x80470003,
+  NS_BASE_STREAM_ILLEGAL_ARGS = 0x80470004,
+  NS_BASE_STREAM_NO_CONVERTER = 0x80470005,
+  NS_BASE_STREAM_BAD_CONVERSION = 0x80470006,
+  NS_BASE_STREAM_WOULD_BLOCK = 0x80470007,
+  NS_ERROR_GFX_PRINTER_NO_PRINTER_AVAILABLE = 0x80480001,
+  NS_ERROR_GFX_PRINTER_NAME_NOT_FOUND = 0x80480002,
+  NS_ERROR_GFX_PRINTER_COULD_NOT_OPEN_FILE = 0x80480003,
+  NS_ERROR_GFX_PRINTER_STARTDOC = 0x80480004,
+  NS_ERROR_GFX_PRINTER_ENDDOC = 0x80480005,
+  NS_ERROR_GFX_PRINTER_STARTPAGE = 0x80480006,
+  NS_ERROR_GFX_PRINTER_DOC_IS_BUSY = 0x80480007,
+  NS_ERROR_GFX_CMAP_MALFORMED = 0x80480033,
+  NS_SUCCESS_EVENT_CONSUMED = 0x490001,
+  NS_SUCCESS_EVENT_HANDLED_ASYNCHRONOUSLY = 0x490002,
+  NS_BINDING_SUCCEEDED = 0x0,
+  NS_BINDING_FAILED = 0x804B0001,
+  NS_BINDING_ABORTED = 0x804B0002,
+  NS_BINDING_REDIRECTED = 0x804B0003,
+  NS_BINDING_RETARGETED = 0x804B0004,
+  NS_ERROR_MALFORMED_URI = 0x804B000A,
+  NS_ERROR_IN_PROGRESS = 0x804B000F,
+  NS_ERROR_NO_CONTENT = 0x804B0011,
+  NS_ERROR_UNKNOWN_PROTOCOL = 0x804B0012,
+  NS_ERROR_INVALID_CONTENT_ENCODING = 0x804B001B,
+  NS_ERROR_CORRUPTED_CONTENT = 0x804B001D,
+  NS_ERROR_INVALID_SIGNATURE = 0x804B003A,
+  NS_ERROR_FIRST_HEADER_FIELD_COMPONENT_EMPTY = 0x804B0022,
+  NS_ERROR_ALREADY_OPENED = 0x804B0049,
+  NS_ERROR_ALREADY_CONNECTED = 0x804B000B,
+  NS_ERROR_NOT_CONNECTED = 0x804B000C,
+  NS_ERROR_CONNECTION_REFUSED = 0x804B000D,
+  NS_ERROR_NET_TIMEOUT = 0x804B000E,
+  NS_ERROR_OFFLINE = 0x804B0010,
+  NS_ERROR_PORT_ACCESS_NOT_ALLOWED = 0x804B0013,
+  NS_ERROR_NET_RESET = 0x804B0014,
+  NS_ERROR_NET_INTERRUPT = 0x804B0047,
+  NS_ERROR_PROXY_CONNECTION_REFUSED = 0x804B0048,
+  NS_ERROR_NET_PARTIAL_TRANSFER = 0x804B004C,
+  NS_ERROR_NET_INADEQUATE_SECURITY = 0x804B0052,
+  NS_ERROR_NOT_RESUMABLE = 0x804B0019,
+  NS_ERROR_REDIRECT_LOOP = 0x804B001F,
+  NS_ERROR_ENTITY_CHANGED = 0x804B0020,
+  NS_ERROR_UNSAFE_CONTENT_TYPE = 0x804B004A,
+  NS_ERROR_REMOTE_XUL = 0x804B004B,
+  NS_ERROR_LOAD_SHOWED_ERRORPAGE = 0x804B004D,
+  NS_ERROR_DOCSHELL_DYING = 0x804B004E,
+  NS_ERROR_FTP_LOGIN = 0x804B0015,
+  NS_ERROR_FTP_CWD = 0x804B0016,
+  NS_ERROR_FTP_PASV = 0x804B0017,
+  NS_ERROR_FTP_PWD = 0x804B0018,
+  NS_ERROR_FTP_LIST = 0x804B001C,
+  NS_ERROR_UNKNOWN_HOST = 0x804B001E,
+  NS_ERROR_DNS_LOOKUP_QUEUE_FULL = 0x804B0021,
+  NS_ERROR_UNKNOWN_PROXY_HOST = 0x804B002A,
+  NS_ERROR_UNKNOWN_SOCKET_TYPE = 0x804B0033,
+  NS_ERROR_SOCKET_CREATE_FAILED = 0x804B0034,
+  NS_ERROR_SOCKET_ADDRESS_NOT_SUPPORTED = 0x804B0035,
+  NS_ERROR_SOCKET_ADDRESS_IN_USE = 0x804B0036,
+  NS_ERROR_CACHE_KEY_NOT_FOUND = 0x804B003D,
+  NS_ERROR_CACHE_DATA_IS_STREAM = 0x804B003E,
+  NS_ERROR_CACHE_DATA_IS_NOT_STREAM = 0x804B003F,
+  NS_ERROR_CACHE_WAIT_FOR_VALIDATION = 0x804B0040,
+  NS_ERROR_CACHE_ENTRY_DOOMED = 0x804B0041,
+  NS_ERROR_CACHE_READ_ACCESS_DENIED = 0x804B0042,
+  NS_ERROR_CACHE_WRITE_ACCESS_DENIED = 0x804B0043,
+  NS_ERROR_CACHE_IN_USE = 0x804B0044,
+  NS_ERROR_DOCUMENT_NOT_CACHED = 0x804B0046,
+  NS_ERROR_INSUFFICIENT_DOMAIN_LEVELS = 0x804B0050,
+  NS_ERROR_HOST_IS_IP_ADDRESS = 0x804B0051,
+  NS_SUCCESS_ADOPTED_DATA = 0x4B005A,
+  NS_NET_STATUS_BEGIN_FTP_TRANSACTION = 0x4B001B,
+  NS_NET_STATUS_END_FTP_TRANSACTION = 0x4B001C,
+  NS_SUCCESS_AUTH_FINISHED = 0x4B0028,
+  NS_NET_STATUS_READING = 0x804B0008,
+  NS_NET_STATUS_WRITING = 0x804B0009,
+  NS_NET_STATUS_RESOLVING_HOST = 0x804B0003,
+  NS_NET_STATUS_RESOLVED_HOST = 0x804B000B,
+  NS_NET_STATUS_CONNECTING_TO = 0x804B0007,
+  NS_NET_STATUS_CONNECTED_TO = 0x804B0004,
+  NS_NET_STATUS_TLS_HANDSHAKE_STARTING = 0x804B000C,
+  NS_NET_STATUS_TLS_HANDSHAKE_ENDED = 0x804B000D,
+  NS_NET_STATUS_SENDING_TO = 0x804B0005,
+  NS_NET_STATUS_WAITING_FOR = 0x804B000A,
+  NS_NET_STATUS_RECEIVING_FROM = 0x804B0006,
+  NS_ERROR_INTERCEPTION_FAILED = 0x804B0064,
+  NS_ERROR_HSTS_PRIMING_TIMEOUT = 0x804B006E,
+  NS_ERROR_PLUGINS_PLUGINSNOTCHANGED = 0x804C03E8,
+  NS_ERROR_PLUGIN_DISABLED = 0x804C03E9,
+  NS_ERROR_PLUGIN_BLOCKLISTED = 0x804C03EA,
+  NS_ERROR_PLUGIN_TIME_RANGE_NOT_SUPPORTED = 0x804C03EB,
+  NS_ERROR_PLUGIN_CLICKTOPLAY = 0x804C03EC,
+  NS_PLUGIN_INIT_PENDING = 0x4C03ED,
+  NS_TABLELAYOUT_CELL_NOT_FOUND = 0x4D0000,
+  NS_POSITION_BEFORE_TABLE = 0x4D0003,
+  NS_STATE_PROPERTY_EXISTS = 0x0,
+  NS_STATE_PROPERTY_NOT_THERE = 0x4D0005,
+  NS_ERROR_HTMLPARSER_CONTINUE = 0x0,
+  NS_ERROR_HTMLPARSER_EOF = 0x804E03E8,
+  NS_ERROR_HTMLPARSER_UNKNOWN = 0x804E03E9,
+  NS_ERROR_HTMLPARSER_CANTPROPAGATE = 0x804E03EA,
+  NS_ERROR_HTMLPARSER_CONTEXTMISMATCH = 0x804E03EB,
+  NS_ERROR_HTMLPARSER_BADFILENAME = 0x804E03EC,
+  NS_ERROR_HTMLPARSER_BADURL = 0x804E03ED,
+  NS_ERROR_HTMLPARSER_INVALIDPARSERCONTEXT = 0x804E03EE,
+  NS_ERROR_HTMLPARSER_INTERRUPTED = 0x804E03EF,
+  NS_ERROR_HTMLPARSER_BLOCK = 0x804E03F0,
+  NS_ERROR_HTMLPARSER_BADTOKENIZER = 0x804E03F1,
+  NS_ERROR_HTMLPARSER_BADATTRIBUTE = 0x804E03F2,
+  NS_ERROR_HTMLPARSER_UNRESOLVEDDTD = 0x804E03F3,
+  NS_ERROR_HTMLPARSER_MISPLACEDTABLECONTENT = 0x804E03F4,
+  NS_ERROR_HTMLPARSER_BADDTD = 0x804E03F5,
+  NS_ERROR_HTMLPARSER_BADCONTEXT = 0x804E03F6,
+  NS_ERROR_HTMLPARSER_STOPPARSING = 0x804E03F7,
+  NS_ERROR_HTMLPARSER_UNTERMINATEDSTRINGLITERAL = 0x804E03F8,
+  NS_ERROR_HTMLPARSER_HIERARCHYTOODEEP = 0x804E03F9,
+  NS_ERROR_HTMLPARSER_FAKE_ENDTAG = 0x804E03FA,
+  NS_ERROR_HTMLPARSER_INVALID_COMMENT = 0x804E03FB,
+  NS_HTMLTOKENS_NOT_AN_ENTITY = 0x4E07D0,
+  NS_HTMLPARSER_VALID_META_CHARSET = 0x4E0BB8,
+  NS_RDF_ASSERTION_ACCEPTED = 0x0,
+  NS_RDF_CURSOR_EMPTY = 0x4F0001,
+  NS_RDF_NO_VALUE = 0x4F0002,
+  NS_RDF_ASSERTION_REJECTED = 0x4F0003,
+  NS_RDF_STOP_VISIT = 0x4F0004,
+  NS_ERROR_UCONV_NOCONV = 0x80500001,
+  NS_ERROR_UDEC_ILLEGALINPUT = 0x8050000E,
+  NS_SUCCESS_USING_FALLBACK_LOCALE = 0x500002,
+  NS_OK_UDEC_EXACTLENGTH = 0x50000B,
+  NS_OK_UDEC_MOREINPUT = 0x50000C,
+  NS_OK_UDEC_MOREOUTPUT = 0x50000D,
+  NS_OK_UDEC_NOBOMFOUND = 0x50000E,
+  NS_OK_UENC_EXACTLENGTH = 0x500021,
+  NS_OK_UENC_MOREOUTPUT = 0x500022,
+  NS_ERROR_UENC_NOMAPPING = 0x500023,
+  NS_OK_UENC_MOREINPUT = 0x500024,
+  NS_EXACT_LENGTH = 0x50000B,
+  NS_PARTIAL_MORE_INPUT = 0x50000C,
+  NS_PARTIAL_MORE_OUTPUT = 0x50000D,
+  NS_ERROR_ILLEGAL_INPUT = 0x8050000E,
+  NS_ERROR_FILE_UNRECOGNIZED_PATH = 0x80520001,
+  NS_ERROR_FILE_UNRESOLVABLE_SYMLINK = 0x80520002,
+  NS_ERROR_FILE_EXECUTION_FAILED = 0x80520003,
+  NS_ERROR_FILE_UNKNOWN_TYPE = 0x80520004,
+  NS_ERROR_FILE_DESTINATION_NOT_DIR = 0x80520005,
+  NS_ERROR_FILE_TARGET_DOES_NOT_EXIST = 0x80520006,
+  NS_ERROR_FILE_COPY_OR_MOVE_FAILED = 0x80520007,
+  NS_ERROR_FILE_ALREADY_EXISTS = 0x80520008,
+  NS_ERROR_FILE_INVALID_PATH = 0x80520009,
+  NS_ERROR_FILE_DISK_FULL = 0x8052000A,
+  NS_ERROR_FILE_CORRUPTED = 0x8052000B,
+  NS_ERROR_FILE_NOT_DIRECTORY = 0x8052000C,
+  NS_ERROR_FILE_IS_DIRECTORY = 0x8052000D,
+  NS_ERROR_FILE_IS_LOCKED = 0x8052000E,
+  NS_ERROR_FILE_TOO_BIG = 0x8052000F,
+  NS_ERROR_FILE_NO_DEVICE_SPACE = 0x80520010,
+  NS_ERROR_FILE_NAME_TOO_LONG = 0x80520011,
+  NS_ERROR_FILE_NOT_FOUND = 0x80520012,
+  NS_ERROR_FILE_READ_ONLY = 0x80520013,
+  NS_ERROR_FILE_DIR_NOT_EMPTY = 0x80520014,
+  NS_ERROR_FILE_ACCESS_DENIED = 0x80520015,
+  NS_SUCCESS_FILE_DIRECTORY_EMPTY = 0x520001,
+  NS_SUCCESS_AGGREGATE_RESULT = 0x520002,
+  NS_ERROR_DOM_INDEX_SIZE_ERR = 0x80530001,
+  NS_ERROR_DOM_HIERARCHY_REQUEST_ERR = 0x80530003,
+  NS_ERROR_DOM_WRONG_DOCUMENT_ERR = 0x80530004,
+  NS_ERROR_DOM_INVALID_CHARACTER_ERR = 0x80530005,
+  NS_ERROR_DOM_NO_MODIFICATION_ALLOWED_ERR = 0x80530007,
+  NS_ERROR_DOM_NOT_FOUND_ERR = 0x80530008,
+  NS_ERROR_DOM_NOT_SUPPORTED_ERR = 0x80530009,
+  NS_ERROR_DOM_INUSE_ATTRIBUTE_ERR = 0x8053000A,
+  NS_ERROR_DOM_INVALID_STATE_ERR = 0x8053000B,
+  NS_ERROR_DOM_SYNTAX_ERR = 0x8053000C,
+  NS_ERROR_DOM_INVALID_MODIFICATION_ERR = 0x8053000D,
+  NS_ERROR_DOM_NAMESPACE_ERR = 0x8053000E,
+  NS_ERROR_DOM_INVALID_ACCESS_ERR = 0x8053000F,
+  NS_ERROR_DOM_TYPE_MISMATCH_ERR = 0x80530011,
+  NS_ERROR_DOM_SECURITY_ERR = 0x80530012,
+  NS_ERROR_DOM_NETWORK_ERR = 0x80530013,
+  NS_ERROR_DOM_ABORT_ERR = 0x80530014,
+  NS_ERROR_DOM_URL_MISMATCH_ERR = 0x80530015,
+  NS_ERROR_DOM_QUOTA_EXCEEDED_ERR = 0x80530016,
+  NS_ERROR_DOM_TIMEOUT_ERR = 0x80530017,
+  NS_ERROR_DOM_INVALID_NODE_TYPE_ERR = 0x80530018,
+  NS_ERROR_DOM_DATA_CLONE_ERR = 0x80530019,
+  NS_ERROR_TYPE_ERR = 0x8053001A,
+  NS_ERROR_RANGE_ERR = 0x8053001B,
+  NS_ERROR_DOM_ENCODING_NOT_SUPPORTED_ERR = 0x8053001C,
+  NS_ERROR_DOM_INVALID_POINTER_ERR = 0x8053001D,
+  NS_ERROR_DOM_UNKNOWN_ERR = 0x8053001E,
+  NS_ERROR_DOM_DATA_ERR = 0x8053001F,
+  NS_ERROR_DOM_OPERATION_ERR = 0x80530020,
+  NS_ERROR_DOM_NOT_ALLOWED_ERR = 0x80530021,
+  NS_ERROR_DOM_SECMAN_ERR = 0x805303E9,
+  NS_ERROR_DOM_WRONG_TYPE_ERR = 0x805303EA,
+  NS_ERROR_DOM_NOT_OBJECT_ERR = 0x805303EB,
+  NS_ERROR_DOM_NOT_XPC_OBJECT_ERR = 0x805303EC,
+  NS_ERROR_DOM_NOT_NUMBER_ERR = 0x805303ED,
+  NS_ERROR_DOM_NOT_BOOLEAN_ERR = 0x805303EE,
+  NS_ERROR_DOM_NOT_FUNCTION_ERR = 0x805303EF,
+  NS_ERROR_DOM_TOO_FEW_PARAMETERS_ERR = 0x805303F0,
+  NS_ERROR_DOM_BAD_DOCUMENT_DOMAIN = 0x805303F1,
+  NS_ERROR_DOM_PROP_ACCESS_DENIED = 0x805303F2,
+  NS_ERROR_DOM_XPCONNECT_ACCESS_DENIED = 0x805303F3,
+  NS_ERROR_DOM_BAD_URI = 0x805303F4,
+  NS_ERROR_DOM_RETVAL_UNDEFINED = 0x805303F5,
+  NS_ERROR_DOM_QUOTA_REACHED = 0x805303F6,
+  NS_ERROR_UNCATCHABLE_EXCEPTION = 0x805303F7,
+  NS_ERROR_DOM_MALFORMED_URI = 0x805303F8,
+  NS_ERROR_DOM_INVALID_HEADER_NAME = 0x805303F9,
+  NS_ERROR_DOM_INVALID_STATE_XHR_HAS_INVALID_CONTEXT = 0x805303FA,
+  NS_ERROR_DOM_INVALID_STATE_XHR_MUST_BE_OPENED = 0x805303FB,
+  NS_ERROR_DOM_INVALID_STATE_XHR_MUST_NOT_BE_SENDING = 0x805303FC,
+  NS_ERROR_DOM_INVALID_STATE_XHR_MUST_NOT_BE_LOADING_OR_DONE = 0x805303FD,
+  NS_ERROR_DOM_INVALID_STATE_XHR_HAS_WRONG_RESPONSETYPE_FOR_RESPONSEXML = 0x805303FE,
+  NS_ERROR_DOM_INVALID_STATE_XHR_HAS_WRONG_RESPONSETYPE_FOR_RESPONSETEXT = 0x805303FF,
+  NS_ERROR_DOM_INVALID_STATE_XHR_CHUNKED_RESPONSETYPES_UNSUPPORTED_FOR_SYNC = 0x80530400,
+  NS_ERROR_DOM_INVALID_ACCESS_XHR_TIMEOUT_AND_RESPONSETYPE_UNSUPPORTED_FOR_SYNC = 0x80530401,
+  NS_SUCCESS_DOM_NO_OPERATION = 0x530001,
+  NS_SUCCESS_DOM_SCRIPT_EVALUATION_THREW = 0x530002,
+  NS_SUCCESS_DOM_SCRIPT_EVALUATION_THREW_UNCATCHABLE = 0x530003,
+  NS_IMAGELIB_SUCCESS_LOAD_FINISHED = 0x540000,
+  NS_IMAGELIB_CHANGING_OWNER = 0x540001,
+  NS_IMAGELIB_ERROR_FAILURE = 0x80540005,
+  NS_IMAGELIB_ERROR_NO_DECODER = 0x80540006,
+  NS_IMAGELIB_ERROR_NOT_FINISHED = 0x80540007,
+  NS_IMAGELIB_ERROR_NO_ENCODER = 0x80540009,
+  NS_SUCCESS_EDITOR_ELEMENT_NOT_FOUND = 0x560001,
+  NS_SUCCESS_EDITOR_FOUND_TARGET = 0x560002,
+  NS_ERROR_XPC_NOT_ENOUGH_ARGS = 0x80570001,
+  NS_ERROR_XPC_NEED_OUT_OBJECT = 0x80570002,
+  NS_ERROR_XPC_CANT_SET_OUT_VAL = 0x80570003,
+  NS_ERROR_XPC_NATIVE_RETURNED_FAILURE = 0x80570004,
+  NS_ERROR_XPC_CANT_GET_INTERFACE_INFO = 0x80570005,
+  NS_ERROR_XPC_CANT_GET_PARAM_IFACE_INFO = 0x80570006,
+  NS_ERROR_XPC_CANT_GET_METHOD_INFO = 0x80570007,
+  NS_ERROR_XPC_UNEXPECTED = 0x80570008,
+  NS_ERROR_XPC_BAD_CONVERT_JS = 0x80570009,
+  NS_ERROR_XPC_BAD_CONVERT_NATIVE = 0x8057000A,
+  NS_ERROR_XPC_BAD_CONVERT_JS_NULL_REF = 0x8057000B,
+  NS_ERROR_XPC_BAD_OP_ON_WN_PROTO = 0x8057000C,
+  NS_ERROR_XPC_CANT_CONVERT_WN_TO_FUN = 0x8057000D,
+  NS_ERROR_XPC_CANT_DEFINE_PROP_ON_WN = 0x8057000E,
+  NS_ERROR_XPC_CANT_WATCH_WN_STATIC = 0x8057000F,
+  NS_ERROR_XPC_CANT_EXPORT_WN_STATIC = 0x80570010,
+  NS_ERROR_XPC_SCRIPTABLE_CALL_FAILED = 0x80570011,
+  NS_ERROR_XPC_SCRIPTABLE_CTOR_FAILED = 0x80570012,
+  NS_ERROR_XPC_CANT_CALL_WO_SCRIPTABLE = 0x80570013,
+  NS_ERROR_XPC_CANT_CTOR_WO_SCRIPTABLE = 0x80570014,
+  NS_ERROR_XPC_CI_RETURNED_FAILURE = 0x80570015,
+  NS_ERROR_XPC_GS_RETURNED_FAILURE = 0x80570016,
+  NS_ERROR_XPC_BAD_CID = 0x80570017,
+  NS_ERROR_XPC_BAD_IID = 0x80570018,
+  NS_ERROR_XPC_CANT_CREATE_WN = 0x80570019,
+  NS_ERROR_XPC_JS_THREW_EXCEPTION = 0x8057001A,
+  NS_ERROR_XPC_JS_THREW_NATIVE_OBJECT = 0x8057001B,
+  NS_ERROR_XPC_JS_THREW_JS_OBJECT = 0x8057001C,
+  NS_ERROR_XPC_JS_THREW_NULL = 0x8057001D,
+  NS_ERROR_XPC_JS_THREW_STRING = 0x8057001E,
+  NS_ERROR_XPC_JS_THREW_NUMBER = 0x8057001F,
+  NS_ERROR_XPC_JAVASCRIPT_ERROR = 0x80570020,
+  NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS = 0x80570021,
+  NS_ERROR_XPC_CANT_CONVERT_PRIMITIVE_TO_ARRAY = 0x80570022,
+  NS_ERROR_XPC_CANT_CONVERT_OBJECT_TO_ARRAY = 0x80570023,
+  NS_ERROR_XPC_NOT_ENOUGH_ELEMENTS_IN_ARRAY = 0x80570024,
+  NS_ERROR_XPC_CANT_GET_ARRAY_INFO = 0x80570025,
+  NS_ERROR_XPC_NOT_ENOUGH_CHARS_IN_STRING = 0x80570026,
+  NS_ERROR_XPC_SECURITY_MANAGER_VETO = 0x80570027,
+  NS_ERROR_XPC_INTERFACE_NOT_SCRIPTABLE = 0x80570028,
+  NS_ERROR_XPC_INTERFACE_NOT_FROM_NSISUPPORTS = 0x80570029,
+  NS_ERROR_XPC_CANT_GET_JSOBJECT_OF_DOM_OBJECT = 0x8057002A,
+  NS_ERROR_XPC_CANT_SET_READ_ONLY_CONSTANT = 0x8057002B,
+  NS_ERROR_XPC_CANT_SET_READ_ONLY_ATTRIBUTE = 0x8057002C,
+  NS_ERROR_XPC_CANT_SET_READ_ONLY_METHOD = 0x8057002D,
+  NS_ERROR_XPC_CANT_ADD_PROP_TO_WRAPPED_NATIVE = 0x8057002E,
+  NS_ERROR_XPC_CALL_TO_SCRIPTABLE_FAILED = 0x8057002F,
+  NS_ERROR_XPC_JSOBJECT_HAS_NO_FUNCTION_NAMED = 0x80570030,
+  NS_ERROR_XPC_BAD_ID_STRING = 0x80570031,
+  NS_ERROR_XPC_BAD_INITIALIZER_NAME = 0x80570032,
+  NS_ERROR_XPC_HAS_BEEN_SHUTDOWN = 0x80570033,
+  NS_ERROR_XPC_CANT_MODIFY_PROP_ON_WN = 0x80570034,
+  NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL = 0x80570035,
+  NS_ERROR_XPC_CANT_PASS_CPOW_TO_NATIVE = 0x80570036,
+  NS_ERROR_LAUNCHED_CHILD_PROCESS = 0x805800C8,
+  NS_ERROR_CSP_FORM_ACTION_VIOLATION = 0x805A0062,
+  NS_ERROR_CSP_FRAME_ANCESTOR_VIOLATION = 0x805A0063,
+  NS_ERROR_SRI_CORRUPT = 0x805A00C8,
+  NS_ERROR_SRI_DISABLED = 0x805A00C9,
+  NS_ERROR_SRI_NOT_ELIGIBLE = 0x805A00CA,
+  NS_ERROR_SRI_UNEXPECTED_HASH_TYPE = 0x805A00CB,
+  NS_ERROR_SRI_IMPORT = 0x805A00CC,
+  NS_ERROR_CMS_VERIFY_NOT_SIGNED = 0x805A0400,
+  NS_ERROR_CMS_VERIFY_NO_CONTENT_INFO = 0x805A0401,
+  NS_ERROR_CMS_VERIFY_BAD_DIGEST = 0x805A0402,
+  NS_ERROR_CMS_VERIFY_NOCERT = 0x805A0404,
+  NS_ERROR_CMS_VERIFY_UNTRUSTED = 0x805A0405,
+  NS_ERROR_CMS_VERIFY_ERROR_UNVERIFIED = 0x805A0407,
+  NS_ERROR_CMS_VERIFY_ERROR_PROCESSING = 0x805A0408,
+  NS_ERROR_CMS_VERIFY_BAD_SIGNATURE = 0x805A0409,
+  NS_ERROR_CMS_VERIFY_DIGEST_MISMATCH = 0x805A040A,
+  NS_ERROR_CMS_VERIFY_UNKNOWN_ALGO = 0x805A040B,
+  NS_ERROR_CMS_VERIFY_UNSUPPORTED_ALGO = 0x805A040C,
+  NS_ERROR_CMS_VERIFY_MALFORMED_SIGNATURE = 0x805A040D,
+  NS_ERROR_CMS_VERIFY_HEADER_MISMATCH = 0x805A040E,
+  NS_ERROR_CMS_VERIFY_NOT_YET_ATTEMPTED = 0x805A040F,
+  NS_ERROR_CMS_VERIFY_CERT_WITHOUT_ADDRESS = 0x805A0410,
+  NS_ERROR_CMS_ENCRYPT_NO_BULK_ALG = 0x805A0420,
+  NS_ERROR_CMS_ENCRYPT_INCOMPLETE = 0x805A0421,
+  NS_ERROR_DOM_INVALID_EXPRESSION_ERR = 0x805B0033,
+  NS_ERROR_DOM_TYPE_ERR = 0x805B0034,
+  NS_ERROR_WONT_HANDLE_CONTENT = 0x805D0001,
+  NS_ERROR_MALWARE_URI = 0x805D001E,
+  NS_ERROR_PHISHING_URI = 0x805D001F,
+  NS_ERROR_TRACKING_URI = 0x805D0022,
+  NS_ERROR_UNWANTED_URI = 0x805D0023,
+  NS_ERROR_BLOCKED_URI = 0x805D0025,
+  NS_ERROR_SAVE_LINK_AS_TIMEOUT = 0x805D0020,
+  NS_ERROR_PARSED_DATA_CACHED = 0x805D0021,
+  NS_REFRESHURI_HEADER_FOUND = 0x5D0002,
+  NS_ERROR_IMAGE_SRC_CHANGED = 0x805E0004,
+  NS_ERROR_IMAGE_BLOCKED = 0x805E0005,
+  NS_ERROR_CONTENT_BLOCKED = 0x805E0006,
+  NS_ERROR_CONTENT_BLOCKED_SHOW_ALT = 0x805E0007,
+  NS_PROPTABLE_PROP_NOT_THERE = 0x805E000A,
+  NS_ERROR_XBL_BLOCKED = 0x805E000F,
+  NS_ERROR_CONTENT_CRASHED = 0x805E0010,
+  NS_HTML_STYLE_PROPERTY_NOT_THERE = 0x5E0002,
+  NS_CONTENT_BLOCKED = 0x5E0008,
+  NS_CONTENT_BLOCKED_SHOW_ALT = 0x5E0009,
+  NS_PROPTABLE_PROP_OVERWRITTEN = 0x5E000B,
+  NS_FINDBROADCASTER_NOT_FOUND = 0x5E000C,
+  NS_FINDBROADCASTER_FOUND = 0x5E000D,
+  NS_FINDBROADCASTER_AWAIT_OVERLAYS = 0x5E000E,
+  NS_ERROR_XPATH_INVALID_ARG = 0x80070057,
+  NS_ERROR_XSLT_PARSE_FAILURE = 0x80600001,
+  NS_ERROR_XPATH_PARSE_FAILURE = 0x80600002,
+  NS_ERROR_XSLT_ALREADY_SET = 0x80600003,
+  NS_ERROR_XSLT_EXECUTION_FAILURE = 0x80600004,
+  NS_ERROR_XPATH_UNKNOWN_FUNCTION = 0x80600005,
+  NS_ERROR_XSLT_BAD_RECURSION = 0x80600006,
+  NS_ERROR_XSLT_BAD_VALUE = 0x80600007,
+  NS_ERROR_XSLT_NODESET_EXPECTED = 0x80600008,
+  NS_ERROR_XSLT_ABORTED = 0x80600009,
+  NS_ERROR_XSLT_NETWORK_ERROR = 0x8060000A,
+  NS_ERROR_XSLT_WRONG_MIME_TYPE = 0x8060000B,
+  NS_ERROR_XSLT_LOAD_RECURSION = 0x8060000C,
+  NS_ERROR_XPATH_BAD_ARGUMENT_COUNT = 0x8060000D,
+  NS_ERROR_XPATH_BAD_EXTENSION_FUNCTION = 0x8060000E,
+  NS_ERROR_XPATH_PAREN_EXPECTED = 0x8060000F,
+  NS_ERROR_XPATH_INVALID_AXIS = 0x80600010,
+  NS_ERROR_XPATH_NO_NODE_TYPE_TEST = 0x80600011,
+  NS_ERROR_XPATH_BRACKET_EXPECTED = 0x80600012,
+  NS_ERROR_XPATH_INVALID_VAR_NAME = 0x80600013,
+  NS_ERROR_XPATH_UNEXPECTED_END = 0x80600014,
+  NS_ERROR_XPATH_OPERATOR_EXPECTED = 0x80600015,
+  NS_ERROR_XPATH_UNCLOSED_LITERAL = 0x80600016,
+  NS_ERROR_XPATH_BAD_COLON = 0x80600017,
+  NS_ERROR_XPATH_BAD_BANG = 0x80600018,
+  NS_ERROR_XPATH_ILLEGAL_CHAR = 0x80600019,
+  NS_ERROR_XPATH_BINARY_EXPECTED = 0x8060001A,
+  NS_ERROR_XSLT_LOAD_BLOCKED_ERROR = 0x8060001B,
+  NS_ERROR_XPATH_INVALID_EXPRESSION_EVALUATED = 0x8060001C,
+  NS_ERROR_XPATH_UNBALANCED_CURLY_BRACE = 0x8060001D,
+  NS_ERROR_XSLT_BAD_NODE_NAME = 0x8060001E,
+  NS_ERROR_XSLT_VAR_ALREADY_SET = 0x8060001F,
+  NS_ERROR_XSLT_CALL_TO_KEY_NOT_ALLOWED = 0x80600020,
+  NS_XSLT_GET_NEW_HANDLER = 0x600001,
+  NS_ERROR_TRANSPORT_INIT = 0x80610001,
+  NS_ERROR_DUPLICATE_HANDLE = 0x80610002,
+  NS_ERROR_BRIDGE_OPEN_PARENT = 0x80610003,
+  NS_ERROR_BRIDGE_OPEN_CHILD = 0x80610004,
+  NS_ERROR_DOM_SVG_WRONG_TYPE_ERR = 0x80620000,
+  NS_ERROR_DOM_SVG_MATRIX_NOT_INVERTABLE = 0x80620002,
+  NS_ERROR_STORAGE_BUSY = 0x80630001,
+  NS_ERROR_STORAGE_IOERR = 0x80630002,
+  NS_ERROR_STORAGE_CONSTRAINT = 0x80630003,
+  NS_ERROR_DOM_FILE_NOT_FOUND_ERR = 0x80650000,
+  NS_ERROR_DOM_FILE_NOT_READABLE_ERR = 0x80650001,
+  NS_ERROR_DOM_FILE_ABORT_ERR = 0x80650002,
+  NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR = 0x80660001,
+  NS_ERROR_DOM_INDEXEDDB_NOT_FOUND_ERR = 0x80660003,
+  NS_ERROR_DOM_INDEXEDDB_CONSTRAINT_ERR = 0x80660004,
+  NS_ERROR_DOM_INDEXEDDB_DATA_ERR = 0x80660005,
+  NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR = 0x80660006,
+  NS_ERROR_DOM_INDEXEDDB_TRANSACTION_INACTIVE_ERR = 0x80660007,
+  NS_ERROR_DOM_INDEXEDDB_ABORT_ERR = 0x80660008,
+  NS_ERROR_DOM_INDEXEDDB_READ_ONLY_ERR = 0x80660009,
+  NS_ERROR_DOM_INDEXEDDB_TIMEOUT_ERR = 0x8066000A,
+  NS_ERROR_DOM_INDEXEDDB_QUOTA_ERR = 0x8066000B,
+  NS_ERROR_DOM_INDEXEDDB_VERSION_ERR = 0x8066000C,
+  NS_ERROR_DOM_INDEXEDDB_RECOVERABLE_ERR = 0x806603E9,
+  NS_ERROR_DOM_FILEHANDLE_UNKNOWN_ERR = 0x80670001,
+  NS_ERROR_DOM_FILEHANDLE_NOT_ALLOWED_ERR = 0x80670002,
+  NS_ERROR_DOM_FILEHANDLE_INACTIVE_ERR = 0x80670003,
+  NS_ERROR_DOM_FILEHANDLE_ABORT_ERR = 0x80670004,
+  NS_ERROR_DOM_FILEHANDLE_READ_ONLY_ERR = 0x80670005,
+  NS_ERROR_DOM_FILEHANDLE_QUOTA_ERR = 0x80670006,
+  NS_ERROR_SIGNED_JAR_NOT_SIGNED = 0x80680001,
+  NS_ERROR_SIGNED_JAR_MODIFIED_ENTRY = 0x80680002,
+  NS_ERROR_SIGNED_JAR_UNSIGNED_ENTRY = 0x80680003,
+  NS_ERROR_SIGNED_JAR_ENTRY_MISSING = 0x80680004,
+  NS_ERROR_SIGNED_JAR_WRONG_SIGNATURE = 0x80680005,
+  NS_ERROR_SIGNED_JAR_ENTRY_TOO_LARGE = 0x80680006,
+  NS_ERROR_SIGNED_JAR_ENTRY_INVALID = 0x80680007,
+  NS_ERROR_SIGNED_JAR_MANIFEST_INVALID = 0x80680008,
+  NS_ERROR_DOM_FILESYSTEM_INVALID_PATH_ERR = 0x80690001,
+  NS_ERROR_DOM_FILESYSTEM_INVALID_MODIFICATION_ERR = 0x80690002,
+  NS_ERROR_DOM_FILESYSTEM_NO_MODIFICATION_ALLOWED_ERR = 0x80690003,
+  NS_ERROR_DOM_FILESYSTEM_PATH_EXISTS_ERR = 0x80690004,
+  NS_ERROR_DOM_FILESYSTEM_TYPE_MISMATCH_ERR = 0x80690005,
+  NS_ERROR_DOM_FILESYSTEM_UNKNOWN_ERR = 0x80690006,
+  NS_ERROR_SIGNED_APP_MANIFEST_INVALID = 0x806B0001,
+  NS_ERROR_DOM_ANIM_MISSING_PROPS_ERR = 0x806C0001,
+  NS_ERROR_DOM_PUSH_INVALID_REGISTRATION_ERR = 0x806D0001,
+  NS_ERROR_DOM_PUSH_DENIED_ERR = 0x806D0002,
+  NS_ERROR_DOM_PUSH_ABORT_ERR = 0x806D0003,
+  NS_ERROR_DOM_PUSH_SERVICE_UNREACHABLE = 0x806D0004,
+  NS_ERROR_DOM_PUSH_INVALID_KEY_ERR = 0x806D0005,
+  NS_ERROR_DOM_PUSH_MISMATCHED_KEY_ERR = 0x806D0006,
+  NS_ERROR_DOM_MEDIA_ABORT_ERR = 0x806E0001,
+  NS_ERROR_DOM_MEDIA_NOT_ALLOWED_ERR = 0x806E0002,
+  NS_ERROR_DOM_MEDIA_NOT_SUPPORTED_ERR = 0x806E0003,
+  NS_ERROR_DOM_MEDIA_DECODE_ERR = 0x806E0004,
+  NS_ERROR_DOM_MEDIA_FATAL_ERR = 0x806E0005,
+  NS_ERROR_DOM_MEDIA_METADATA_ERR = 0x806E0006,
+  NS_ERROR_DOM_MEDIA_OVERFLOW_ERR = 0x806E0007,
+  NS_ERROR_DOM_MEDIA_END_OF_STREAM = 0x806E0008,
+  NS_ERROR_DOM_MEDIA_WAITING_FOR_DATA = 0x806E0009,
+  NS_ERROR_DOM_MEDIA_CANCELED = 0x806E000A,
+  NS_ERROR_DOM_MEDIA_MEDIASINK_ERR = 0x806E000B,
+  NS_ERROR_DOM_MEDIA_DEMUXER_ERR = 0x806E000C,
+  NS_ERROR_DOM_MEDIA_CDM_ERR = 0x806E000D,
+  NS_ERROR_DOM_MEDIA_NEED_NEW_DECODER = 0x806E000E,
+  NS_ERROR_DOM_MEDIA_INITIALIZING_DECODER = 0x806E000F,
+  NS_ERROR_DOM_MEDIA_CUBEB_INITIALIZATION_ERR = 0x806E0065,
+  NS_ERROR_UC_UPDATE_UNKNOWN = 0x806F0001,
+  NS_ERROR_UC_UPDATE_DUPLICATE_PREFIX = 0x806F0002,
+  NS_ERROR_UC_UPDATE_INFINITE_LOOP = 0x806F0003,
+  NS_ERROR_UC_UPDATE_WRONG_REMOVAL_INDICES = 0x806F0004,
+  NS_ERROR_UC_UPDATE_CHECKSUM_MISMATCH = 0x806F0005,
+  NS_ERROR_UC_UPDATE_MISSING_CHECKSUM = 0x806F0006,
+  NS_ERROR_UC_UPDATE_SHUTDOWNING = 0x806F0007,
+  NS_ERROR_UC_UPDATE_TABLE_NOT_FOUND = 0x806F0008,
+  NS_ERROR_UC_UPDATE_BUILD_PREFIX_FAILURE = 0x806F0009,
+  NS_ERROR_UC_UPDATE_FAIL_TO_WRITE_DISK = 0x806F000A,
+  NS_ERROR_UC_UPDATE_PROTOCOL_PARSER_ERROR = 0x806F000B,
+  NS_ERROR_INTERNAL_ERRORRESULT_JS_EXCEPTION = 0x80700001,
+  NS_ERROR_INTERNAL_ERRORRESULT_DOMEXCEPTION = 0x80700002,
+  NS_ERROR_INTERNAL_ERRORRESULT_EXCEPTION_ON_JSCONTEXT = 0x80700003,
+  NS_ERROR_INTERNAL_ERRORRESULT_TYPEERROR = 0x80700004,
+  NS_ERROR_INTERNAL_ERRORRESULT_RANGEERROR = 0x80700005,
+  NS_ERROR_DOWNLOAD_COMPLETE = 0x80780001,
+  NS_ERROR_DOWNLOAD_NOT_PARTIAL = 0x80780002,
+  NS_ERROR_UNORM_MOREOUTPUT = 0x80780021,
+  NS_ERROR_DOCSHELL_REQUEST_REJECTED = 0x807803E9,
+  NS_ERROR_DOCUMENT_IS_PRINTMODE = 0x807807D1,
+  NS_SUCCESS_DONT_FIXUP = 0x780001,
+  NS_SUCCESS_RESTART_APP = 0x780001,
+  NS_SUCCESS_RESTART_APP_NOT_SAME_PROFILE = 0x780003,
+  NS_SUCCESS_UNORM_NOTFOUND = 0x780011,
+  NS_ERROR_NOT_IN_TREE = 0x80780026,
+  NS_OK_NO_NAME_CLAUSE_HANDLED = 0x780022
+};
+
+
+const nsresult
+  NS_OK = nsresult::NS_OK,
+  NS_ERROR_BASE = nsresult::NS_ERROR_BASE,
+  NS_ERROR_NOT_INITIALIZED = nsresult::NS_ERROR_NOT_INITIALIZED,
+  NS_ERROR_ALREADY_INITIALIZED = nsresult::NS_ERROR_ALREADY_INITIALIZED,
+  NS_ERROR_NOT_IMPLEMENTED = nsresult::NS_ERROR_NOT_IMPLEMENTED,
+  NS_NOINTERFACE = nsresult::NS_NOINTERFACE,
+  NS_ERROR_NO_INTERFACE = nsresult::NS_ERROR_NO_INTERFACE,
+  NS_ERROR_ABORT = nsresult::NS_ERROR_ABORT,
+  NS_ERROR_FAILURE = nsresult::NS_ERROR_FAILURE,
+  NS_ERROR_UNEXPECTED = nsresult::NS_ERROR_UNEXPECTED,
+  NS_ERROR_OUT_OF_MEMORY = nsresult::NS_ERROR_OUT_OF_MEMORY,
+  NS_ERROR_ILLEGAL_VALUE = nsresult::NS_ERROR_ILLEGAL_VALUE,
+  NS_ERROR_INVALID_ARG = nsresult::NS_ERROR_INVALID_ARG,
+  NS_ERROR_INVALID_POINTER = nsresult::NS_ERROR_INVALID_POINTER,
+  NS_ERROR_NULL_POINTER = nsresult::NS_ERROR_NULL_POINTER,
+  NS_ERROR_NO_AGGREGATION = nsresult::NS_ERROR_NO_AGGREGATION,
+  NS_ERROR_NOT_AVAILABLE = nsresult::NS_ERROR_NOT_AVAILABLE,
+  NS_ERROR_FACTORY_NOT_REGISTERED = nsresult::NS_ERROR_FACTORY_NOT_REGISTERED,
+  NS_ERROR_FACTORY_REGISTER_AGAIN = nsresult::NS_ERROR_FACTORY_REGISTER_AGAIN,
+  NS_ERROR_FACTORY_NOT_LOADED = nsresult::NS_ERROR_FACTORY_NOT_LOADED,
+  NS_ERROR_FACTORY_NO_SIGNATURE_SUPPORT = nsresult::NS_ERROR_FACTORY_NO_SIGNATURE_SUPPORT,
+  NS_ERROR_FACTORY_EXISTS = nsresult::NS_ERROR_FACTORY_EXISTS,
+  NS_ERROR_CANNOT_CONVERT_DATA = nsresult::NS_ERROR_CANNOT_CONVERT_DATA,
+  NS_ERROR_OBJECT_IS_IMMUTABLE = nsresult::NS_ERROR_OBJECT_IS_IMMUTABLE,
+  NS_ERROR_LOSS_OF_SIGNIFICANT_DATA = nsresult::NS_ERROR_LOSS_OF_SIGNIFICANT_DATA,
+  NS_ERROR_NOT_SAME_THREAD = nsresult::NS_ERROR_NOT_SAME_THREAD,
+  NS_ERROR_ILLEGAL_DURING_SHUTDOWN = nsresult::NS_ERROR_ILLEGAL_DURING_SHUTDOWN,
+  NS_ERROR_SERVICE_NOT_AVAILABLE = nsresult::NS_ERROR_SERVICE_NOT_AVAILABLE,
+  NS_SUCCESS_LOSS_OF_INSIGNIFICANT_DATA = nsresult::NS_SUCCESS_LOSS_OF_INSIGNIFICANT_DATA,
+  NS_SUCCESS_INTERRUPTED_TRAVERSE = nsresult::NS_SUCCESS_INTERRUPTED_TRAVERSE,
+  NS_ERROR_SERVICE_NOT_FOUND = nsresult::NS_ERROR_SERVICE_NOT_FOUND,
+  NS_ERROR_SERVICE_IN_USE = nsresult::NS_ERROR_SERVICE_IN_USE,
+  NS_BASE_STREAM_CLOSED = nsresult::NS_BASE_STREAM_CLOSED,
+  NS_BASE_STREAM_OSERROR = nsresult::NS_BASE_STREAM_OSERROR,
+  NS_BASE_STREAM_ILLEGAL_ARGS = nsresult::NS_BASE_STREAM_ILLEGAL_ARGS,
+  NS_BASE_STREAM_NO_CONVERTER = nsresult::NS_BASE_STREAM_NO_CONVERTER,
+  NS_BASE_STREAM_BAD_CONVERSION = nsresult::NS_BASE_STREAM_BAD_CONVERSION,
+  NS_BASE_STREAM_WOULD_BLOCK = nsresult::NS_BASE_STREAM_WOULD_BLOCK,
+  NS_ERROR_GFX_PRINTER_NO_PRINTER_AVAILABLE = nsresult::NS_ERROR_GFX_PRINTER_NO_PRINTER_AVAILABLE,
+  NS_ERROR_GFX_PRINTER_NAME_NOT_FOUND = nsresult::NS_ERROR_GFX_PRINTER_NAME_NOT_FOUND,
+  NS_ERROR_GFX_PRINTER_COULD_NOT_OPEN_FILE = nsresult::NS_ERROR_GFX_PRINTER_COULD_NOT_OPEN_FILE,
+  NS_ERROR_GFX_PRINTER_STARTDOC = nsresult::NS_ERROR_GFX_PRINTER_STARTDOC,
+  NS_ERROR_GFX_PRINTER_ENDDOC = nsresult::NS_ERROR_GFX_PRINTER_ENDDOC,
+  NS_ERROR_GFX_PRINTER_STARTPAGE = nsresult::NS_ERROR_GFX_PRINTER_STARTPAGE,
+  NS_ERROR_GFX_PRINTER_DOC_IS_BUSY = nsresult::NS_ERROR_GFX_PRINTER_DOC_IS_BUSY,
+  NS_ERROR_GFX_CMAP_MALFORMED = nsresult::NS_ERROR_GFX_CMAP_MALFORMED,
+  NS_SUCCESS_EVENT_CONSUMED = nsresult::NS_SUCCESS_EVENT_CONSUMED,
+  NS_SUCCESS_EVENT_HANDLED_ASYNCHRONOUSLY = nsresult::NS_SUCCESS_EVENT_HANDLED_ASYNCHRONOUSLY,
+  NS_BINDING_SUCCEEDED = nsresult::NS_BINDING_SUCCEEDED,
+  NS_BINDING_FAILED = nsresult::NS_BINDING_FAILED,
+  NS_BINDING_ABORTED = nsresult::NS_BINDING_ABORTED,
+  NS_BINDING_REDIRECTED = nsresult::NS_BINDING_REDIRECTED,
+  NS_BINDING_RETARGETED = nsresult::NS_BINDING_RETARGETED,
+  NS_ERROR_MALFORMED_URI = nsresult::NS_ERROR_MALFORMED_URI,
+  NS_ERROR_IN_PROGRESS = nsresult::NS_ERROR_IN_PROGRESS,
+  NS_ERROR_NO_CONTENT = nsresult::NS_ERROR_NO_CONTENT,
+  NS_ERROR_UNKNOWN_PROTOCOL = nsresult::NS_ERROR_UNKNOWN_PROTOCOL,
+  NS_ERROR_INVALID_CONTENT_ENCODING = nsresult::NS_ERROR_INVALID_CONTENT_ENCODING,
+  NS_ERROR_CORRUPTED_CONTENT = nsresult::NS_ERROR_CORRUPTED_CONTENT,
+  NS_ERROR_INVALID_SIGNATURE = nsresult::NS_ERROR_INVALID_SIGNATURE,
+  NS_ERROR_FIRST_HEADER_FIELD_COMPONENT_EMPTY = nsresult::NS_ERROR_FIRST_HEADER_FIELD_COMPONENT_EMPTY,
+  NS_ERROR_ALREADY_OPENED = nsresult::NS_ERROR_ALREADY_OPENED,
+  NS_ERROR_ALREADY_CONNECTED = nsresult::NS_ERROR_ALREADY_CONNECTED,
+  NS_ERROR_NOT_CONNECTED = nsresult::NS_ERROR_NOT_CONNECTED,
+  NS_ERROR_CONNECTION_REFUSED = nsresult::NS_ERROR_CONNECTION_REFUSED,
+  NS_ERROR_NET_TIMEOUT = nsresult::NS_ERROR_NET_TIMEOUT,
+  NS_ERROR_OFFLINE = nsresult::NS_ERROR_OFFLINE,
+  NS_ERROR_PORT_ACCESS_NOT_ALLOWED = nsresult::NS_ERROR_PORT_ACCESS_NOT_ALLOWED,
+  NS_ERROR_NET_RESET = nsresult::NS_ERROR_NET_RESET,
+  NS_ERROR_NET_INTERRUPT = nsresult::NS_ERROR_NET_INTERRUPT,
+  NS_ERROR_PROXY_CONNECTION_REFUSED = nsresult::NS_ERROR_PROXY_CONNECTION_REFUSED,
+  NS_ERROR_NET_PARTIAL_TRANSFER = nsresult::NS_ERROR_NET_PARTIAL_TRANSFER,
+  NS_ERROR_NET_INADEQUATE_SECURITY = nsresult::NS_ERROR_NET_INADEQUATE_SECURITY,
+  NS_ERROR_NOT_RESUMABLE = nsresult::NS_ERROR_NOT_RESUMABLE,
+  NS_ERROR_REDIRECT_LOOP = nsresult::NS_ERROR_REDIRECT_LOOP,
+  NS_ERROR_ENTITY_CHANGED = nsresult::NS_ERROR_ENTITY_CHANGED,
+  NS_ERROR_UNSAFE_CONTENT_TYPE = nsresult::NS_ERROR_UNSAFE_CONTENT_TYPE,
+  NS_ERROR_REMOTE_XUL = nsresult::NS_ERROR_REMOTE_XUL,
+  NS_ERROR_LOAD_SHOWED_ERRORPAGE = nsresult::NS_ERROR_LOAD_SHOWED_ERRORPAGE,
+  NS_ERROR_DOCSHELL_DYING = nsresult::NS_ERROR_DOCSHELL_DYING,
+  NS_ERROR_FTP_LOGIN = nsresult::NS_ERROR_FTP_LOGIN,
+  NS_ERROR_FTP_CWD = nsresult::NS_ERROR_FTP_CWD,
+  NS_ERROR_FTP_PASV = nsresult::NS_ERROR_FTP_PASV,
+  NS_ERROR_FTP_PWD = nsresult::NS_ERROR_FTP_PWD,
+  NS_ERROR_FTP_LIST = nsresult::NS_ERROR_FTP_LIST,
+  NS_ERROR_UNKNOWN_HOST = nsresult::NS_ERROR_UNKNOWN_HOST,
+  NS_ERROR_DNS_LOOKUP_QUEUE_FULL = nsresult::NS_ERROR_DNS_LOOKUP_QUEUE_FULL,
+  NS_ERROR_UNKNOWN_PROXY_HOST = nsresult::NS_ERROR_UNKNOWN_PROXY_HOST,
+  NS_ERROR_UNKNOWN_SOCKET_TYPE = nsresult::NS_ERROR_UNKNOWN_SOCKET_TYPE,
+  NS_ERROR_SOCKET_CREATE_FAILED = nsresult::NS_ERROR_SOCKET_CREATE_FAILED,
+  NS_ERROR_SOCKET_ADDRESS_NOT_SUPPORTED = nsresult::NS_ERROR_SOCKET_ADDRESS_NOT_SUPPORTED,
+  NS_ERROR_SOCKET_ADDRESS_IN_USE = nsresult::NS_ERROR_SOCKET_ADDRESS_IN_USE,
+  NS_ERROR_CACHE_KEY_NOT_FOUND = nsresult::NS_ERROR_CACHE_KEY_NOT_FOUND,
+  NS_ERROR_CACHE_DATA_IS_STREAM = nsresult::NS_ERROR_CACHE_DATA_IS_STREAM,
+  NS_ERROR_CACHE_DATA_IS_NOT_STREAM = nsresult::NS_ERROR_CACHE_DATA_IS_NOT_STREAM,
+  NS_ERROR_CACHE_WAIT_FOR_VALIDATION = nsresult::NS_ERROR_CACHE_WAIT_FOR_VALIDATION,
+  NS_ERROR_CACHE_ENTRY_DOOMED = nsresult::NS_ERROR_CACHE_ENTRY_DOOMED,
+  NS_ERROR_CACHE_READ_ACCESS_DENIED = nsresult::NS_ERROR_CACHE_READ_ACCESS_DENIED,
+  NS_ERROR_CACHE_WRITE_ACCESS_DENIED = nsresult::NS_ERROR_CACHE_WRITE_ACCESS_DENIED,
+  NS_ERROR_CACHE_IN_USE = nsresult::NS_ERROR_CACHE_IN_USE,
+  NS_ERROR_DOCUMENT_NOT_CACHED = nsresult::NS_ERROR_DOCUMENT_NOT_CACHED,
+  NS_ERROR_INSUFFICIENT_DOMAIN_LEVELS = nsresult::NS_ERROR_INSUFFICIENT_DOMAIN_LEVELS,
+  NS_ERROR_HOST_IS_IP_ADDRESS = nsresult::NS_ERROR_HOST_IS_IP_ADDRESS,
+  NS_SUCCESS_ADOPTED_DATA = nsresult::NS_SUCCESS_ADOPTED_DATA,
+  NS_NET_STATUS_BEGIN_FTP_TRANSACTION = nsresult::NS_NET_STATUS_BEGIN_FTP_TRANSACTION,
+  NS_NET_STATUS_END_FTP_TRANSACTION = nsresult::NS_NET_STATUS_END_FTP_TRANSACTION,
+  NS_SUCCESS_AUTH_FINISHED = nsresult::NS_SUCCESS_AUTH_FINISHED,
+  NS_NET_STATUS_READING = nsresult::NS_NET_STATUS_READING,
+  NS_NET_STATUS_WRITING = nsresult::NS_NET_STATUS_WRITING,
+  NS_NET_STATUS_RESOLVING_HOST = nsresult::NS_NET_STATUS_RESOLVING_HOST,
+  NS_NET_STATUS_RESOLVED_HOST = nsresult::NS_NET_STATUS_RESOLVED_HOST,
+  NS_NET_STATUS_CONNECTING_TO = nsresult::NS_NET_STATUS_CONNECTING_TO,
+  NS_NET_STATUS_CONNECTED_TO = nsresult::NS_NET_STATUS_CONNECTED_TO,
+  NS_NET_STATUS_TLS_HANDSHAKE_STARTING = nsresult::NS_NET_STATUS_TLS_HANDSHAKE_STARTING,
+  NS_NET_STATUS_TLS_HANDSHAKE_ENDED = nsresult::NS_NET_STATUS_TLS_HANDSHAKE_ENDED,
+  NS_NET_STATUS_SENDING_TO = nsresult::NS_NET_STATUS_SENDING_TO,
+  NS_NET_STATUS_WAITING_FOR = nsresult::NS_NET_STATUS_WAITING_FOR,
+  NS_NET_STATUS_RECEIVING_FROM = nsresult::NS_NET_STATUS_RECEIVING_FROM,
+  NS_ERROR_INTERCEPTION_FAILED = nsresult::NS_ERROR_INTERCEPTION_FAILED,
+  NS_ERROR_HSTS_PRIMING_TIMEOUT = nsresult::NS_ERROR_HSTS_PRIMING_TIMEOUT,
+  NS_ERROR_PLUGINS_PLUGINSNOTCHANGED = nsresult::NS_ERROR_PLUGINS_PLUGINSNOTCHANGED,
+  NS_ERROR_PLUGIN_DISABLED = nsresult::NS_ERROR_PLUGIN_DISABLED,
+  NS_ERROR_PLUGIN_BLOCKLISTED = nsresult::NS_ERROR_PLUGIN_BLOCKLISTED,
+  NS_ERROR_PLUGIN_TIME_RANGE_NOT_SUPPORTED = nsresult::NS_ERROR_PLUGIN_TIME_RANGE_NOT_SUPPORTED,
+  NS_ERROR_PLUGIN_CLICKTOPLAY = nsresult::NS_ERROR_PLUGIN_CLICKTOPLAY,
+  NS_PLUGIN_INIT_PENDING = nsresult::NS_PLUGIN_INIT_PENDING,
+  NS_TABLELAYOUT_CELL_NOT_FOUND = nsresult::NS_TABLELAYOUT_CELL_NOT_FOUND,
+  NS_POSITION_BEFORE_TABLE = nsresult::NS_POSITION_BEFORE_TABLE,
+  NS_STATE_PROPERTY_EXISTS = nsresult::NS_STATE_PROPERTY_EXISTS,
+  NS_STATE_PROPERTY_NOT_THERE = nsresult::NS_STATE_PROPERTY_NOT_THERE,
+  NS_ERROR_HTMLPARSER_CONTINUE = nsresult::NS_ERROR_HTMLPARSER_CONTINUE,
+  NS_ERROR_HTMLPARSER_EOF = nsresult::NS_ERROR_HTMLPARSER_EOF,
+  NS_ERROR_HTMLPARSER_UNKNOWN = nsresult::NS_ERROR_HTMLPARSER_UNKNOWN,
+  NS_ERROR_HTMLPARSER_CANTPROPAGATE = nsresult::NS_ERROR_HTMLPARSER_CANTPROPAGATE,
+  NS_ERROR_HTMLPARSER_CONTEXTMISMATCH = nsresult::NS_ERROR_HTMLPARSER_CONTEXTMISMATCH,
+  NS_ERROR_HTMLPARSER_BADFILENAME = nsresult::NS_ERROR_HTMLPARSER_BADFILENAME,
+  NS_ERROR_HTMLPARSER_BADURL = nsresult::NS_ERROR_HTMLPARSER_BADURL,
+  NS_ERROR_HTMLPARSER_INVALIDPARSERCONTEXT = nsresult::NS_ERROR_HTMLPARSER_INVALIDPARSERCONTEXT,
+  NS_ERROR_HTMLPARSER_INTERRUPTED = nsresult::NS_ERROR_HTMLPARSER_INTERRUPTED,
+  NS_ERROR_HTMLPARSER_BLOCK = nsresult::NS_ERROR_HTMLPARSER_BLOCK,
+  NS_ERROR_HTMLPARSER_BADTOKENIZER = nsresult::NS_ERROR_HTMLPARSER_BADTOKENIZER,
+  NS_ERROR_HTMLPARSER_BADATTRIBUTE = nsresult::NS_ERROR_HTMLPARSER_BADATTRIBUTE,
+  NS_ERROR_HTMLPARSER_UNRESOLVEDDTD = nsresult::NS_ERROR_HTMLPARSER_UNRESOLVEDDTD,
+  NS_ERROR_HTMLPARSER_MISPLACEDTABLECONTENT = nsresult::NS_ERROR_HTMLPARSER_MISPLACEDTABLECONTENT,
+  NS_ERROR_HTMLPARSER_BADDTD = nsresult::NS_ERROR_HTMLPARSER_BADDTD,
+  NS_ERROR_HTMLPARSER_BADCONTEXT = nsresult::NS_ERROR_HTMLPARSER_BADCONTEXT,
+  NS_ERROR_HTMLPARSER_STOPPARSING = nsresult::NS_ERROR_HTMLPARSER_STOPPARSING,
+  NS_ERROR_HTMLPARSER_UNTERMINATEDSTRINGLITERAL = nsresult::NS_ERROR_HTMLPARSER_UNTERMINATEDSTRINGLITERAL,
+  NS_ERROR_HTMLPARSER_HIERARCHYTOODEEP = nsresult::NS_ERROR_HTMLPARSER_HIERARCHYTOODEEP,
+  NS_ERROR_HTMLPARSER_FAKE_ENDTAG = nsresult::NS_ERROR_HTMLPARSER_FAKE_ENDTAG,
+  NS_ERROR_HTMLPARSER_INVALID_COMMENT = nsresult::NS_ERROR_HTMLPARSER_INVALID_COMMENT,
+  NS_HTMLTOKENS_NOT_AN_ENTITY = nsresult::NS_HTMLTOKENS_NOT_AN_ENTITY,
+  NS_HTMLPARSER_VALID_META_CHARSET = nsresult::NS_HTMLPARSER_VALID_META_CHARSET,
+  NS_RDF_ASSERTION_ACCEPTED = nsresult::NS_RDF_ASSERTION_ACCEPTED,
+  NS_RDF_CURSOR_EMPTY = nsresult::NS_RDF_CURSOR_EMPTY,
+  NS_RDF_NO_VALUE = nsresult::NS_RDF_NO_VALUE,
+  NS_RDF_ASSERTION_REJECTED = nsresult::NS_RDF_ASSERTION_REJECTED,
+  NS_RDF_STOP_VISIT = nsresult::NS_RDF_STOP_VISIT,
+  NS_ERROR_UCONV_NOCONV = nsresult::NS_ERROR_UCONV_NOCONV,
+  NS_ERROR_UDEC_ILLEGALINPUT = nsresult::NS_ERROR_UDEC_ILLEGALINPUT,
+  NS_SUCCESS_USING_FALLBACK_LOCALE = nsresult::NS_SUCCESS_USING_FALLBACK_LOCALE,
+  NS_OK_UDEC_EXACTLENGTH = nsresult::NS_OK_UDEC_EXACTLENGTH,
+  NS_OK_UDEC_MOREINPUT = nsresult::NS_OK_UDEC_MOREINPUT,
+  NS_OK_UDEC_MOREOUTPUT = nsresult::NS_OK_UDEC_MOREOUTPUT,
+  NS_OK_UDEC_NOBOMFOUND = nsresult::NS_OK_UDEC_NOBOMFOUND,
+  NS_OK_UENC_EXACTLENGTH = nsresult::NS_OK_UENC_EXACTLENGTH,
+  NS_OK_UENC_MOREOUTPUT = nsresult::NS_OK_UENC_MOREOUTPUT,
+  NS_ERROR_UENC_NOMAPPING = nsresult::NS_ERROR_UENC_NOMAPPING,
+  NS_OK_UENC_MOREINPUT = nsresult::NS_OK_UENC_MOREINPUT,
+  NS_EXACT_LENGTH = nsresult::NS_EXACT_LENGTH,
+  NS_PARTIAL_MORE_INPUT = nsresult::NS_PARTIAL_MORE_INPUT,
+  NS_PARTIAL_MORE_OUTPUT = nsresult::NS_PARTIAL_MORE_OUTPUT,
+  NS_ERROR_ILLEGAL_INPUT = nsresult::NS_ERROR_ILLEGAL_INPUT,
+  NS_ERROR_FILE_UNRECOGNIZED_PATH = nsresult::NS_ERROR_FILE_UNRECOGNIZED_PATH,
+  NS_ERROR_FILE_UNRESOLVABLE_SYMLINK = nsresult::NS_ERROR_FILE_UNRESOLVABLE_SYMLINK,
+  NS_ERROR_FILE_EXECUTION_FAILED = nsresult::NS_ERROR_FILE_EXECUTION_FAILED,
+  NS_ERROR_FILE_UNKNOWN_TYPE = nsresult::NS_ERROR_FILE_UNKNOWN_TYPE,
+  NS_ERROR_FILE_DESTINATION_NOT_DIR = nsresult::NS_ERROR_FILE_DESTINATION_NOT_DIR,
+  NS_ERROR_FILE_TARGET_DOES_NOT_EXIST = nsresult::NS_ERROR_FILE_TARGET_DOES_NOT_EXIST,
+  NS_ERROR_FILE_COPY_OR_MOVE_FAILED = nsresult::NS_ERROR_FILE_COPY_OR_MOVE_FAILED,
+  NS_ERROR_FILE_ALREADY_EXISTS = nsresult::NS_ERROR_FILE_ALREADY_EXISTS,
+  NS_ERROR_FILE_INVALID_PATH = nsresult::NS_ERROR_FILE_INVALID_PATH,
+  NS_ERROR_FILE_DISK_FULL = nsresult::NS_ERROR_FILE_DISK_FULL,
+  NS_ERROR_FILE_CORRUPTED = nsresult::NS_ERROR_FILE_CORRUPTED,
+  NS_ERROR_FILE_NOT_DIRECTORY = nsresult::NS_ERROR_FILE_NOT_DIRECTORY,
+  NS_ERROR_FILE_IS_DIRECTORY = nsresult::NS_ERROR_FILE_IS_DIRECTORY,
+  NS_ERROR_FILE_IS_LOCKED = nsresult::NS_ERROR_FILE_IS_LOCKED,
+  NS_ERROR_FILE_TOO_BIG = nsresult::NS_ERROR_FILE_TOO_BIG,
+  NS_ERROR_FILE_NO_DEVICE_SPACE = nsresult::NS_ERROR_FILE_NO_DEVICE_SPACE,
+  NS_ERROR_FILE_NAME_TOO_LONG = nsresult::NS_ERROR_FILE_NAME_TOO_LONG,
+  NS_ERROR_FILE_NOT_FOUND = nsresult::NS_ERROR_FILE_NOT_FOUND,
+  NS_ERROR_FILE_READ_ONLY = nsresult::NS_ERROR_FILE_READ_ONLY,
+  NS_ERROR_FILE_DIR_NOT_EMPTY = nsresult::NS_ERROR_FILE_DIR_NOT_EMPTY,
+  NS_ERROR_FILE_ACCESS_DENIED = nsresult::NS_ERROR_FILE_ACCESS_DENIED,
+  NS_SUCCESS_FILE_DIRECTORY_EMPTY = nsresult::NS_SUCCESS_FILE_DIRECTORY_EMPTY,
+  NS_SUCCESS_AGGREGATE_RESULT = nsresult::NS_SUCCESS_AGGREGATE_RESULT,
+  NS_ERROR_DOM_INDEX_SIZE_ERR = nsresult::NS_ERROR_DOM_INDEX_SIZE_ERR,
+  NS_ERROR_DOM_HIERARCHY_REQUEST_ERR = nsresult::NS_ERROR_DOM_HIERARCHY_REQUEST_ERR,
+  NS_ERROR_DOM_WRONG_DOCUMENT_ERR = nsresult::NS_ERROR_DOM_WRONG_DOCUMENT_ERR,
+  NS_ERROR_DOM_INVALID_CHARACTER_ERR = nsresult::NS_ERROR_DOM_INVALID_CHARACTER_ERR,
+  NS_ERROR_DOM_NO_MODIFICATION_ALLOWED_ERR = nsresult::NS_ERROR_DOM_NO_MODIFICATION_ALLOWED_ERR,
+  NS_ERROR_DOM_NOT_FOUND_ERR = nsresult::NS_ERROR_DOM_NOT_FOUND_ERR,
+  NS_ERROR_DOM_NOT_SUPPORTED_ERR = nsresult::NS_ERROR_DOM_NOT_SUPPORTED_ERR,
+  NS_ERROR_DOM_INUSE_ATTRIBUTE_ERR = nsresult::NS_ERROR_DOM_INUSE_ATTRIBUTE_ERR,
+  NS_ERROR_DOM_INVALID_STATE_ERR = nsresult::NS_ERROR_DOM_INVALID_STATE_ERR,
+  NS_ERROR_DOM_SYNTAX_ERR = nsresult::NS_ERROR_DOM_SYNTAX_ERR,
+  NS_ERROR_DOM_INVALID_MODIFICATION_ERR = nsresult::NS_ERROR_DOM_INVALID_MODIFICATION_ERR,
+  NS_ERROR_DOM_NAMESPACE_ERR = nsresult::NS_ERROR_DOM_NAMESPACE_ERR,
+  NS_ERROR_DOM_INVALID_ACCESS_ERR = nsresult::NS_ERROR_DOM_INVALID_ACCESS_ERR,
+  NS_ERROR_DOM_TYPE_MISMATCH_ERR = nsresult::NS_ERROR_DOM_TYPE_MISMATCH_ERR,
+  NS_ERROR_DOM_SECURITY_ERR = nsresult::NS_ERROR_DOM_SECURITY_ERR,
+  NS_ERROR_DOM_NETWORK_ERR = nsresult::NS_ERROR_DOM_NETWORK_ERR,
+  NS_ERROR_DOM_ABORT_ERR = nsresult::NS_ERROR_DOM_ABORT_ERR,
+  NS_ERROR_DOM_URL_MISMATCH_ERR = nsresult::NS_ERROR_DOM_URL_MISMATCH_ERR,
+  NS_ERROR_DOM_QUOTA_EXCEEDED_ERR = nsresult::NS_ERROR_DOM_QUOTA_EXCEEDED_ERR,
+  NS_ERROR_DOM_TIMEOUT_ERR = nsresult::NS_ERROR_DOM_TIMEOUT_ERR,
+  NS_ERROR_DOM_INVALID_NODE_TYPE_ERR = nsresult::NS_ERROR_DOM_INVALID_NODE_TYPE_ERR,
+  NS_ERROR_DOM_DATA_CLONE_ERR = nsresult::NS_ERROR_DOM_DATA_CLONE_ERR,
+  NS_ERROR_TYPE_ERR = nsresult::NS_ERROR_TYPE_ERR,
+  NS_ERROR_RANGE_ERR = nsresult::NS_ERROR_RANGE_ERR,
+  NS_ERROR_DOM_ENCODING_NOT_SUPPORTED_ERR = nsresult::NS_ERROR_DOM_ENCODING_NOT_SUPPORTED_ERR,
+  NS_ERROR_DOM_INVALID_POINTER_ERR = nsresult::NS_ERROR_DOM_INVALID_POINTER_ERR,
+  NS_ERROR_DOM_UNKNOWN_ERR = nsresult::NS_ERROR_DOM_UNKNOWN_ERR,
+  NS_ERROR_DOM_DATA_ERR = nsresult::NS_ERROR_DOM_DATA_ERR,
+  NS_ERROR_DOM_OPERATION_ERR = nsresult::NS_ERROR_DOM_OPERATION_ERR,
+  NS_ERROR_DOM_NOT_ALLOWED_ERR = nsresult::NS_ERROR_DOM_NOT_ALLOWED_ERR,
+  NS_ERROR_DOM_SECMAN_ERR = nsresult::NS_ERROR_DOM_SECMAN_ERR,
+  NS_ERROR_DOM_WRONG_TYPE_ERR = nsresult::NS_ERROR_DOM_WRONG_TYPE_ERR,
+  NS_ERROR_DOM_NOT_OBJECT_ERR = nsresult::NS_ERROR_DOM_NOT_OBJECT_ERR,
+  NS_ERROR_DOM_NOT_XPC_OBJECT_ERR = nsresult::NS_ERROR_DOM_NOT_XPC_OBJECT_ERR,
+  NS_ERROR_DOM_NOT_NUMBER_ERR = nsresult::NS_ERROR_DOM_NOT_NUMBER_ERR,
+  NS_ERROR_DOM_NOT_BOOLEAN_ERR = nsresult::NS_ERROR_DOM_NOT_BOOLEAN_ERR,
+  NS_ERROR_DOM_NOT_FUNCTION_ERR = nsresult::NS_ERROR_DOM_NOT_FUNCTION_ERR,
+  NS_ERROR_DOM_TOO_FEW_PARAMETERS_ERR = nsresult::NS_ERROR_DOM_TOO_FEW_PARAMETERS_ERR,
+  NS_ERROR_DOM_BAD_DOCUMENT_DOMAIN = nsresult::NS_ERROR_DOM_BAD_DOCUMENT_DOMAIN,
+  NS_ERROR_DOM_PROP_ACCESS_DENIED = nsresult::NS_ERROR_DOM_PROP_ACCESS_DENIED,
+  NS_ERROR_DOM_XPCONNECT_ACCESS_DENIED = nsresult::NS_ERROR_DOM_XPCONNECT_ACCESS_DENIED,
+  NS_ERROR_DOM_BAD_URI = nsresult::NS_ERROR_DOM_BAD_URI,
+  NS_ERROR_DOM_RETVAL_UNDEFINED = nsresult::NS_ERROR_DOM_RETVAL_UNDEFINED,
+  NS_ERROR_DOM_QUOTA_REACHED = nsresult::NS_ERROR_DOM_QUOTA_REACHED,
+  NS_ERROR_UNCATCHABLE_EXCEPTION = nsresult::NS_ERROR_UNCATCHABLE_EXCEPTION,
+  NS_ERROR_DOM_MALFORMED_URI = nsresult::NS_ERROR_DOM_MALFORMED_URI,
+  NS_ERROR_DOM_INVALID_HEADER_NAME = nsresult::NS_ERROR_DOM_INVALID_HEADER_NAME,
+  NS_ERROR_DOM_INVALID_STATE_XHR_HAS_INVALID_CONTEXT = nsresult::NS_ERROR_DOM_INVALID_STATE_XHR_HAS_INVALID_CONTEXT,
+  NS_ERROR_DOM_INVALID_STATE_XHR_MUST_BE_OPENED = nsresult::NS_ERROR_DOM_INVALID_STATE_XHR_MUST_BE_OPENED,
+  NS_ERROR_DOM_INVALID_STATE_XHR_MUST_NOT_BE_SENDING = nsresult::NS_ERROR_DOM_INVALID_STATE_XHR_MUST_NOT_BE_SENDING,
+  NS_ERROR_DOM_INVALID_STATE_XHR_MUST_NOT_BE_LOADING_OR_DONE = nsresult::NS_ERROR_DOM_INVALID_STATE_XHR_MUST_NOT_BE_LOADING_OR_DONE,
+  NS_ERROR_DOM_INVALID_STATE_XHR_HAS_WRONG_RESPONSETYPE_FOR_RESPONSEXML = nsresult::NS_ERROR_DOM_INVALID_STATE_XHR_HAS_WRONG_RESPONSETYPE_FOR_RESPONSEXML,
+  NS_ERROR_DOM_INVALID_STATE_XHR_HAS_WRONG_RESPONSETYPE_FOR_RESPONSETEXT = nsresult::NS_ERROR_DOM_INVALID_STATE_XHR_HAS_WRONG_RESPONSETYPE_FOR_RESPONSETEXT,
+  NS_ERROR_DOM_INVALID_STATE_XHR_CHUNKED_RESPONSETYPES_UNSUPPORTED_FOR_SYNC = nsresult::NS_ERROR_DOM_INVALID_STATE_XHR_CHUNKED_RESPONSETYPES_UNSUPPORTED_FOR_SYNC,
+  NS_ERROR_DOM_INVALID_ACCESS_XHR_TIMEOUT_AND_RESPONSETYPE_UNSUPPORTED_FOR_SYNC = nsresult::NS_ERROR_DOM_INVALID_ACCESS_XHR_TIMEOUT_AND_RESPONSETYPE_UNSUPPORTED_FOR_SYNC,
+  NS_SUCCESS_DOM_NO_OPERATION = nsresult::NS_SUCCESS_DOM_NO_OPERATION,
+  NS_SUCCESS_DOM_SCRIPT_EVALUATION_THREW = nsresult::NS_SUCCESS_DOM_SCRIPT_EVALUATION_THREW,
+  NS_SUCCESS_DOM_SCRIPT_EVALUATION_THREW_UNCATCHABLE = nsresult::NS_SUCCESS_DOM_SCRIPT_EVALUATION_THREW_UNCATCHABLE,
+  NS_IMAGELIB_SUCCESS_LOAD_FINISHED = nsresult::NS_IMAGELIB_SUCCESS_LOAD_FINISHED,
+  NS_IMAGELIB_CHANGING_OWNER = nsresult::NS_IMAGELIB_CHANGING_OWNER,
+  NS_IMAGELIB_ERROR_FAILURE = nsresult::NS_IMAGELIB_ERROR_FAILURE,
+  NS_IMAGELIB_ERROR_NO_DECODER = nsresult::NS_IMAGELIB_ERROR_NO_DECODER,
+  NS_IMAGELIB_ERROR_NOT_FINISHED = nsresult::NS_IMAGELIB_ERROR_NOT_FINISHED,
+  NS_IMAGELIB_ERROR_NO_ENCODER = nsresult::NS_IMAGELIB_ERROR_NO_ENCODER,
+  NS_SUCCESS_EDITOR_ELEMENT_NOT_FOUND = nsresult::NS_SUCCESS_EDITOR_ELEMENT_NOT_FOUND,
+  NS_SUCCESS_EDITOR_FOUND_TARGET = nsresult::NS_SUCCESS_EDITOR_FOUND_TARGET,
+  NS_ERROR_XPC_NOT_ENOUGH_ARGS = nsresult::NS_ERROR_XPC_NOT_ENOUGH_ARGS,
+  NS_ERROR_XPC_NEED_OUT_OBJECT = nsresult::NS_ERROR_XPC_NEED_OUT_OBJECT,
+  NS_ERROR_XPC_CANT_SET_OUT_VAL = nsresult::NS_ERROR_XPC_CANT_SET_OUT_VAL,
+  NS_ERROR_XPC_NATIVE_RETURNED_FAILURE = nsresult::NS_ERROR_XPC_NATIVE_RETURNED_FAILURE,
+  NS_ERROR_XPC_CANT_GET_INTERFACE_INFO = nsresult::NS_ERROR_XPC_CANT_GET_INTERFACE_INFO,
+  NS_ERROR_XPC_CANT_GET_PARAM_IFACE_INFO = nsresult::NS_ERROR_XPC_CANT_GET_PARAM_IFACE_INFO,
+  NS_ERROR_XPC_CANT_GET_METHOD_INFO = nsresult::NS_ERROR_XPC_CANT_GET_METHOD_INFO,
+  NS_ERROR_XPC_UNEXPECTED = nsresult::NS_ERROR_XPC_UNEXPECTED,
+  NS_ERROR_XPC_BAD_CONVERT_JS = nsresult::NS_ERROR_XPC_BAD_CONVERT_JS,
+  NS_ERROR_XPC_BAD_CONVERT_NATIVE = nsresult::NS_ERROR_XPC_BAD_CONVERT_NATIVE,
+  NS_ERROR_XPC_BAD_CONVERT_JS_NULL_REF = nsresult::NS_ERROR_XPC_BAD_CONVERT_JS_NULL_REF,
+  NS_ERROR_XPC_BAD_OP_ON_WN_PROTO = nsresult::NS_ERROR_XPC_BAD_OP_ON_WN_PROTO,
+  NS_ERROR_XPC_CANT_CONVERT_WN_TO_FUN = nsresult::NS_ERROR_XPC_CANT_CONVERT_WN_TO_FUN,
+  NS_ERROR_XPC_CANT_DEFINE_PROP_ON_WN = nsresult::NS_ERROR_XPC_CANT_DEFINE_PROP_ON_WN,
+  NS_ERROR_XPC_CANT_WATCH_WN_STATIC = nsresult::NS_ERROR_XPC_CANT_WATCH_WN_STATIC,
+  NS_ERROR_XPC_CANT_EXPORT_WN_STATIC = nsresult::NS_ERROR_XPC_CANT_EXPORT_WN_STATIC,
+  NS_ERROR_XPC_SCRIPTABLE_CALL_FAILED = nsresult::NS_ERROR_XPC_SCRIPTABLE_CALL_FAILED,
+  NS_ERROR_XPC_SCRIPTABLE_CTOR_FAILED = nsresult::NS_ERROR_XPC_SCRIPTABLE_CTOR_FAILED,
+  NS_ERROR_XPC_CANT_CALL_WO_SCRIPTABLE = nsresult::NS_ERROR_XPC_CANT_CALL_WO_SCRIPTABLE,
+  NS_ERROR_XPC_CANT_CTOR_WO_SCRIPTABLE = nsresult::NS_ERROR_XPC_CANT_CTOR_WO_SCRIPTABLE,
+  NS_ERROR_XPC_CI_RETURNED_FAILURE = nsresult::NS_ERROR_XPC_CI_RETURNED_FAILURE,
+  NS_ERROR_XPC_GS_RETURNED_FAILURE = nsresult::NS_ERROR_XPC_GS_RETURNED_FAILURE,
+  NS_ERROR_XPC_BAD_CID = nsresult::NS_ERROR_XPC_BAD_CID,
+  NS_ERROR_XPC_BAD_IID = nsresult::NS_ERROR_XPC_BAD_IID,
+  NS_ERROR_XPC_CANT_CREATE_WN = nsresult::NS_ERROR_XPC_CANT_CREATE_WN,
+  NS_ERROR_XPC_JS_THREW_EXCEPTION = nsresult::NS_ERROR_XPC_JS_THREW_EXCEPTION,
+  NS_ERROR_XPC_JS_THREW_NATIVE_OBJECT = nsresult::NS_ERROR_XPC_JS_THREW_NATIVE_OBJECT,
+  NS_ERROR_XPC_JS_THREW_JS_OBJECT = nsresult::NS_ERROR_XPC_JS_THREW_JS_OBJECT,
+  NS_ERROR_XPC_JS_THREW_NULL = nsresult::NS_ERROR_XPC_JS_THREW_NULL,
+  NS_ERROR_XPC_JS_THREW_STRING = nsresult::NS_ERROR_XPC_JS_THREW_STRING,
+  NS_ERROR_XPC_JS_THREW_NUMBER = nsresult::NS_ERROR_XPC_JS_THREW_NUMBER,
+  NS_ERROR_XPC_JAVASCRIPT_ERROR = nsresult::NS_ERROR_XPC_JAVASCRIPT_ERROR,
+  NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS = nsresult::NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS,
+  NS_ERROR_XPC_CANT_CONVERT_PRIMITIVE_TO_ARRAY = nsresult::NS_ERROR_XPC_CANT_CONVERT_PRIMITIVE_TO_ARRAY,
+  NS_ERROR_XPC_CANT_CONVERT_OBJECT_TO_ARRAY = nsresult::NS_ERROR_XPC_CANT_CONVERT_OBJECT_TO_ARRAY,
+  NS_ERROR_XPC_NOT_ENOUGH_ELEMENTS_IN_ARRAY = nsresult::NS_ERROR_XPC_NOT_ENOUGH_ELEMENTS_IN_ARRAY,
+  NS_ERROR_XPC_CANT_GET_ARRAY_INFO = nsresult::NS_ERROR_XPC_CANT_GET_ARRAY_INFO,
+  NS_ERROR_XPC_NOT_ENOUGH_CHARS_IN_STRING = nsresult::NS_ERROR_XPC_NOT_ENOUGH_CHARS_IN_STRING,
+  NS_ERROR_XPC_SECURITY_MANAGER_VETO = nsresult::NS_ERROR_XPC_SECURITY_MANAGER_VETO,
+  NS_ERROR_XPC_INTERFACE_NOT_SCRIPTABLE = nsresult::NS_ERROR_XPC_INTERFACE_NOT_SCRIPTABLE,
+  NS_ERROR_XPC_INTERFACE_NOT_FROM_NSISUPPORTS = nsresult::NS_ERROR_XPC_INTERFACE_NOT_FROM_NSISUPPORTS,
+  NS_ERROR_XPC_CANT_GET_JSOBJECT_OF_DOM_OBJECT = nsresult::NS_ERROR_XPC_CANT_GET_JSOBJECT_OF_DOM_OBJECT,
+  NS_ERROR_XPC_CANT_SET_READ_ONLY_CONSTANT = nsresult::NS_ERROR_XPC_CANT_SET_READ_ONLY_CONSTANT,
+  NS_ERROR_XPC_CANT_SET_READ_ONLY_ATTRIBUTE = nsresult::NS_ERROR_XPC_CANT_SET_READ_ONLY_ATTRIBUTE,
+  NS_ERROR_XPC_CANT_SET_READ_ONLY_METHOD = nsresult::NS_ERROR_XPC_CANT_SET_READ_ONLY_METHOD,
+  NS_ERROR_XPC_CANT_ADD_PROP_TO_WRAPPED_NATIVE = nsresult::NS_ERROR_XPC_CANT_ADD_PROP_TO_WRAPPED_NATIVE,
+  NS_ERROR_XPC_CALL_TO_SCRIPTABLE_FAILED = nsresult::NS_ERROR_XPC_CALL_TO_SCRIPTABLE_FAILED,
+  NS_ERROR_XPC_JSOBJECT_HAS_NO_FUNCTION_NAMED = nsresult::NS_ERROR_XPC_JSOBJECT_HAS_NO_FUNCTION_NAMED,
+  NS_ERROR_XPC_BAD_ID_STRING = nsresult::NS_ERROR_XPC_BAD_ID_STRING,
+  NS_ERROR_XPC_BAD_INITIALIZER_NAME = nsresult::NS_ERROR_XPC_BAD_INITIALIZER_NAME,
+  NS_ERROR_XPC_HAS_BEEN_SHUTDOWN = nsresult::NS_ERROR_XPC_HAS_BEEN_SHUTDOWN,
+  NS_ERROR_XPC_CANT_MODIFY_PROP_ON_WN = nsresult::NS_ERROR_XPC_CANT_MODIFY_PROP_ON_WN,
+  NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL = nsresult::NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL,
+  NS_ERROR_XPC_CANT_PASS_CPOW_TO_NATIVE = nsresult::NS_ERROR_XPC_CANT_PASS_CPOW_TO_NATIVE,
+  NS_ERROR_LAUNCHED_CHILD_PROCESS = nsresult::NS_ERROR_LAUNCHED_CHILD_PROCESS,
+  NS_ERROR_CSP_FORM_ACTION_VIOLATION = nsresult::NS_ERROR_CSP_FORM_ACTION_VIOLATION,
+  NS_ERROR_CSP_FRAME_ANCESTOR_VIOLATION = nsresult::NS_ERROR_CSP_FRAME_ANCESTOR_VIOLATION,
+  NS_ERROR_SRI_CORRUPT = nsresult::NS_ERROR_SRI_CORRUPT,
+  NS_ERROR_SRI_DISABLED = nsresult::NS_ERROR_SRI_DISABLED,
+  NS_ERROR_SRI_NOT_ELIGIBLE = nsresult::NS_ERROR_SRI_NOT_ELIGIBLE,
+  NS_ERROR_SRI_UNEXPECTED_HASH_TYPE = nsresult::NS_ERROR_SRI_UNEXPECTED_HASH_TYPE,
+  NS_ERROR_SRI_IMPORT = nsresult::NS_ERROR_SRI_IMPORT,
+  NS_ERROR_CMS_VERIFY_NOT_SIGNED = nsresult::NS_ERROR_CMS_VERIFY_NOT_SIGNED,
+  NS_ERROR_CMS_VERIFY_NO_CONTENT_INFO = nsresult::NS_ERROR_CMS_VERIFY_NO_CONTENT_INFO,
+  NS_ERROR_CMS_VERIFY_BAD_DIGEST = nsresult::NS_ERROR_CMS_VERIFY_BAD_DIGEST,
+  NS_ERROR_CMS_VERIFY_NOCERT = nsresult::NS_ERROR_CMS_VERIFY_NOCERT,
+  NS_ERROR_CMS_VERIFY_UNTRUSTED = nsresult::NS_ERROR_CMS_VERIFY_UNTRUSTED,
+  NS_ERROR_CMS_VERIFY_ERROR_UNVERIFIED = nsresult::NS_ERROR_CMS_VERIFY_ERROR_UNVERIFIED,
+  NS_ERROR_CMS_VERIFY_ERROR_PROCESSING = nsresult::NS_ERROR_CMS_VERIFY_ERROR_PROCESSING,
+  NS_ERROR_CMS_VERIFY_BAD_SIGNATURE = nsresult::NS_ERROR_CMS_VERIFY_BAD_SIGNATURE,
+  NS_ERROR_CMS_VERIFY_DIGEST_MISMATCH = nsresult::NS_ERROR_CMS_VERIFY_DIGEST_MISMATCH,
+  NS_ERROR_CMS_VERIFY_UNKNOWN_ALGO = nsresult::NS_ERROR_CMS_VERIFY_UNKNOWN_ALGO,
+  NS_ERROR_CMS_VERIFY_UNSUPPORTED_ALGO = nsresult::NS_ERROR_CMS_VERIFY_UNSUPPORTED_ALGO,
+  NS_ERROR_CMS_VERIFY_MALFORMED_SIGNATURE = nsresult::NS_ERROR_CMS_VERIFY_MALFORMED_SIGNATURE,
+  NS_ERROR_CMS_VERIFY_HEADER_MISMATCH = nsresult::NS_ERROR_CMS_VERIFY_HEADER_MISMATCH,
+  NS_ERROR_CMS_VERIFY_NOT_YET_ATTEMPTED = nsresult::NS_ERROR_CMS_VERIFY_NOT_YET_ATTEMPTED,
+  NS_ERROR_CMS_VERIFY_CERT_WITHOUT_ADDRESS = nsresult::NS_ERROR_CMS_VERIFY_CERT_WITHOUT_ADDRESS,
+  NS_ERROR_CMS_ENCRYPT_NO_BULK_ALG = nsresult::NS_ERROR_CMS_ENCRYPT_NO_BULK_ALG,
+  NS_ERROR_CMS_ENCRYPT_INCOMPLETE = nsresult::NS_ERROR_CMS_ENCRYPT_INCOMPLETE,
+  NS_ERROR_DOM_INVALID_EXPRESSION_ERR = nsresult::NS_ERROR_DOM_INVALID_EXPRESSION_ERR,
+  NS_ERROR_DOM_TYPE_ERR = nsresult::NS_ERROR_DOM_TYPE_ERR,
+  NS_ERROR_WONT_HANDLE_CONTENT = nsresult::NS_ERROR_WONT_HANDLE_CONTENT,
+  NS_ERROR_MALWARE_URI = nsresult::NS_ERROR_MALWARE_URI,
+  NS_ERROR_PHISHING_URI = nsresult::NS_ERROR_PHISHING_URI,
+  NS_ERROR_TRACKING_URI = nsresult::NS_ERROR_TRACKING_URI,
+  NS_ERROR_UNWANTED_URI = nsresult::NS_ERROR_UNWANTED_URI,
+  NS_ERROR_BLOCKED_URI = nsresult::NS_ERROR_BLOCKED_URI,
+  NS_ERROR_SAVE_LINK_AS_TIMEOUT = nsresult::NS_ERROR_SAVE_LINK_AS_TIMEOUT,
+  NS_ERROR_PARSED_DATA_CACHED = nsresult::NS_ERROR_PARSED_DATA_CACHED,
+  NS_REFRESHURI_HEADER_FOUND = nsresult::NS_REFRESHURI_HEADER_FOUND,
+  NS_ERROR_IMAGE_SRC_CHANGED = nsresult::NS_ERROR_IMAGE_SRC_CHANGED,
+  NS_ERROR_IMAGE_BLOCKED = nsresult::NS_ERROR_IMAGE_BLOCKED,
+  NS_ERROR_CONTENT_BLOCKED = nsresult::NS_ERROR_CONTENT_BLOCKED,
+  NS_ERROR_CONTENT_BLOCKED_SHOW_ALT = nsresult::NS_ERROR_CONTENT_BLOCKED_SHOW_ALT,
+  NS_PROPTABLE_PROP_NOT_THERE = nsresult::NS_PROPTABLE_PROP_NOT_THERE,
+  NS_ERROR_XBL_BLOCKED = nsresult::NS_ERROR_XBL_BLOCKED,
+  NS_ERROR_CONTENT_CRASHED = nsresult::NS_ERROR_CONTENT_CRASHED,
+  NS_HTML_STYLE_PROPERTY_NOT_THERE = nsresult::NS_HTML_STYLE_PROPERTY_NOT_THERE,
+  NS_CONTENT_BLOCKED = nsresult::NS_CONTENT_BLOCKED,
+  NS_CONTENT_BLOCKED_SHOW_ALT = nsresult::NS_CONTENT_BLOCKED_SHOW_ALT,
+  NS_PROPTABLE_PROP_OVERWRITTEN = nsresult::NS_PROPTABLE_PROP_OVERWRITTEN,
+  NS_FINDBROADCASTER_NOT_FOUND = nsresult::NS_FINDBROADCASTER_NOT_FOUND,
+  NS_FINDBROADCASTER_FOUND = nsresult::NS_FINDBROADCASTER_FOUND,
+  NS_FINDBROADCASTER_AWAIT_OVERLAYS = nsresult::NS_FINDBROADCASTER_AWAIT_OVERLAYS,
+  NS_ERROR_XPATH_INVALID_ARG = nsresult::NS_ERROR_XPATH_INVALID_ARG,
+  NS_ERROR_XSLT_PARSE_FAILURE = nsresult::NS_ERROR_XSLT_PARSE_FAILURE,
+  NS_ERROR_XPATH_PARSE_FAILURE = nsresult::NS_ERROR_XPATH_PARSE_FAILURE,
+  NS_ERROR_XSLT_ALREADY_SET = nsresult::NS_ERROR_XSLT_ALREADY_SET,
+  NS_ERROR_XSLT_EXECUTION_FAILURE = nsresult::NS_ERROR_XSLT_EXECUTION_FAILURE,
+  NS_ERROR_XPATH_UNKNOWN_FUNCTION = nsresult::NS_ERROR_XPATH_UNKNOWN_FUNCTION,
+  NS_ERROR_XSLT_BAD_RECURSION = nsresult::NS_ERROR_XSLT_BAD_RECURSION,
+  NS_ERROR_XSLT_BAD_VALUE = nsresult::NS_ERROR_XSLT_BAD_VALUE,
+  NS_ERROR_XSLT_NODESET_EXPECTED = nsresult::NS_ERROR_XSLT_NODESET_EXPECTED,
+  NS_ERROR_XSLT_ABORTED = nsresult::NS_ERROR_XSLT_ABORTED,
+  NS_ERROR_XSLT_NETWORK_ERROR = nsresult::NS_ERROR_XSLT_NETWORK_ERROR,
+  NS_ERROR_XSLT_WRONG_MIME_TYPE = nsresult::NS_ERROR_XSLT_WRONG_MIME_TYPE,
+  NS_ERROR_XSLT_LOAD_RECURSION = nsresult::NS_ERROR_XSLT_LOAD_RECURSION,
+  NS_ERROR_XPATH_BAD_ARGUMENT_COUNT = nsresult::NS_ERROR_XPATH_BAD_ARGUMENT_COUNT,
+  NS_ERROR_XPATH_BAD_EXTENSION_FUNCTION = nsresult::NS_ERROR_XPATH_BAD_EXTENSION_FUNCTION,
+  NS_ERROR_XPATH_PAREN_EXPECTED = nsresult::NS_ERROR_XPATH_PAREN_EXPECTED,
+  NS_ERROR_XPATH_INVALID_AXIS = nsresult::NS_ERROR_XPATH_INVALID_AXIS,
+  NS_ERROR_XPATH_NO_NODE_TYPE_TEST = nsresult::NS_ERROR_XPATH_NO_NODE_TYPE_TEST,
+  NS_ERROR_XPATH_BRACKET_EXPECTED = nsresult::NS_ERROR_XPATH_BRACKET_EXPECTED,
+  NS_ERROR_XPATH_INVALID_VAR_NAME = nsresult::NS_ERROR_XPATH_INVALID_VAR_NAME,
+  NS_ERROR_XPATH_UNEXPECTED_END = nsresult::NS_ERROR_XPATH_UNEXPECTED_END,
+  NS_ERROR_XPATH_OPERATOR_EXPECTED = nsresult::NS_ERROR_XPATH_OPERATOR_EXPECTED,
+  NS_ERROR_XPATH_UNCLOSED_LITERAL = nsresult::NS_ERROR_XPATH_UNCLOSED_LITERAL,
+  NS_ERROR_XPATH_BAD_COLON = nsresult::NS_ERROR_XPATH_BAD_COLON,
+  NS_ERROR_XPATH_BAD_BANG = nsresult::NS_ERROR_XPATH_BAD_BANG,
+  NS_ERROR_XPATH_ILLEGAL_CHAR = nsresult::NS_ERROR_XPATH_ILLEGAL_CHAR,
+  NS_ERROR_XPATH_BINARY_EXPECTED = nsresult::NS_ERROR_XPATH_BINARY_EXPECTED,
+  NS_ERROR_XSLT_LOAD_BLOCKED_ERROR = nsresult::NS_ERROR_XSLT_LOAD_BLOCKED_ERROR,
+  NS_ERROR_XPATH_INVALID_EXPRESSION_EVALUATED = nsresult::NS_ERROR_XPATH_INVALID_EXPRESSION_EVALUATED,
+  NS_ERROR_XPATH_UNBALANCED_CURLY_BRACE = nsresult::NS_ERROR_XPATH_UNBALANCED_CURLY_BRACE,
+  NS_ERROR_XSLT_BAD_NODE_NAME = nsresult::NS_ERROR_XSLT_BAD_NODE_NAME,
+  NS_ERROR_XSLT_VAR_ALREADY_SET = nsresult::NS_ERROR_XSLT_VAR_ALREADY_SET,
+  NS_ERROR_XSLT_CALL_TO_KEY_NOT_ALLOWED = nsresult::NS_ERROR_XSLT_CALL_TO_KEY_NOT_ALLOWED,
+  NS_XSLT_GET_NEW_HANDLER = nsresult::NS_XSLT_GET_NEW_HANDLER,
+  NS_ERROR_TRANSPORT_INIT = nsresult::NS_ERROR_TRANSPORT_INIT,
+  NS_ERROR_DUPLICATE_HANDLE = nsresult::NS_ERROR_DUPLICATE_HANDLE,
+  NS_ERROR_BRIDGE_OPEN_PARENT = nsresult::NS_ERROR_BRIDGE_OPEN_PARENT,
+  NS_ERROR_BRIDGE_OPEN_CHILD = nsresult::NS_ERROR_BRIDGE_OPEN_CHILD,
+  NS_ERROR_DOM_SVG_WRONG_TYPE_ERR = nsresult::NS_ERROR_DOM_SVG_WRONG_TYPE_ERR,
+  NS_ERROR_DOM_SVG_MATRIX_NOT_INVERTABLE = nsresult::NS_ERROR_DOM_SVG_MATRIX_NOT_INVERTABLE,
+  NS_ERROR_STORAGE_BUSY = nsresult::NS_ERROR_STORAGE_BUSY,
+  NS_ERROR_STORAGE_IOERR = nsresult::NS_ERROR_STORAGE_IOERR,
+  NS_ERROR_STORAGE_CONSTRAINT = nsresult::NS_ERROR_STORAGE_CONSTRAINT,
+  NS_ERROR_DOM_FILE_NOT_FOUND_ERR = nsresult::NS_ERROR_DOM_FILE_NOT_FOUND_ERR,
+  NS_ERROR_DOM_FILE_NOT_READABLE_ERR = nsresult::NS_ERROR_DOM_FILE_NOT_READABLE_ERR,
+  NS_ERROR_DOM_FILE_ABORT_ERR = nsresult::NS_ERROR_DOM_FILE_ABORT_ERR,
+  NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR = nsresult::NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR,
+  NS_ERROR_DOM_INDEXEDDB_NOT_FOUND_ERR = nsresult::NS_ERROR_DOM_INDEXEDDB_NOT_FOUND_ERR,
+  NS_ERROR_DOM_INDEXEDDB_CONSTRAINT_ERR = nsresult::NS_ERROR_DOM_INDEXEDDB_CONSTRAINT_ERR,
+  NS_ERROR_DOM_INDEXEDDB_DATA_ERR = nsresult::NS_ERROR_DOM_INDEXEDDB_DATA_ERR,
+  NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR = nsresult::NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR,
+  NS_ERROR_DOM_INDEXEDDB_TRANSACTION_INACTIVE_ERR = nsresult::NS_ERROR_DOM_INDEXEDDB_TRANSACTION_INACTIVE_ERR,
+  NS_ERROR_DOM_INDEXEDDB_ABORT_ERR = nsresult::NS_ERROR_DOM_INDEXEDDB_ABORT_ERR,
+  NS_ERROR_DOM_INDEXEDDB_READ_ONLY_ERR = nsresult::NS_ERROR_DOM_INDEXEDDB_READ_ONLY_ERR,
+  NS_ERROR_DOM_INDEXEDDB_TIMEOUT_ERR = nsresult::NS_ERROR_DOM_INDEXEDDB_TIMEOUT_ERR,
+  NS_ERROR_DOM_INDEXEDDB_QUOTA_ERR = nsresult::NS_ERROR_DOM_INDEXEDDB_QUOTA_ERR,
+  NS_ERROR_DOM_INDEXEDDB_VERSION_ERR = nsresult::NS_ERROR_DOM_INDEXEDDB_VERSION_ERR,
+  NS_ERROR_DOM_INDEXEDDB_RECOVERABLE_ERR = nsresult::NS_ERROR_DOM_INDEXEDDB_RECOVERABLE_ERR,
+  NS_ERROR_DOM_FILEHANDLE_UNKNOWN_ERR = nsresult::NS_ERROR_DOM_FILEHANDLE_UNKNOWN_ERR,
+  NS_ERROR_DOM_FILEHANDLE_NOT_ALLOWED_ERR = nsresult::NS_ERROR_DOM_FILEHANDLE_NOT_ALLOWED_ERR,
+  NS_ERROR_DOM_FILEHANDLE_INACTIVE_ERR = nsresult::NS_ERROR_DOM_FILEHANDLE_INACTIVE_ERR,
+  NS_ERROR_DOM_FILEHANDLE_ABORT_ERR = nsresult::NS_ERROR_DOM_FILEHANDLE_ABORT_ERR,
+  NS_ERROR_DOM_FILEHANDLE_READ_ONLY_ERR = nsresult::NS_ERROR_DOM_FILEHANDLE_READ_ONLY_ERR,
+  NS_ERROR_DOM_FILEHANDLE_QUOTA_ERR = nsresult::NS_ERROR_DOM_FILEHANDLE_QUOTA_ERR,
+  NS_ERROR_SIGNED_JAR_NOT_SIGNED = nsresult::NS_ERROR_SIGNED_JAR_NOT_SIGNED,
+  NS_ERROR_SIGNED_JAR_MODIFIED_ENTRY = nsresult::NS_ERROR_SIGNED_JAR_MODIFIED_ENTRY,
+  NS_ERROR_SIGNED_JAR_UNSIGNED_ENTRY = nsresult::NS_ERROR_SIGNED_JAR_UNSIGNED_ENTRY,
+  NS_ERROR_SIGNED_JAR_ENTRY_MISSING = nsresult::NS_ERROR_SIGNED_JAR_ENTRY_MISSING,
+  NS_ERROR_SIGNED_JAR_WRONG_SIGNATURE = nsresult::NS_ERROR_SIGNED_JAR_WRONG_SIGNATURE,
+  NS_ERROR_SIGNED_JAR_ENTRY_TOO_LARGE = nsresult::NS_ERROR_SIGNED_JAR_ENTRY_TOO_LARGE,
+  NS_ERROR_SIGNED_JAR_ENTRY_INVALID = nsresult::NS_ERROR_SIGNED_JAR_ENTRY_INVALID,
+  NS_ERROR_SIGNED_JAR_MANIFEST_INVALID = nsresult::NS_ERROR_SIGNED_JAR_MANIFEST_INVALID,
+  NS_ERROR_DOM_FILESYSTEM_INVALID_PATH_ERR = nsresult::NS_ERROR_DOM_FILESYSTEM_INVALID_PATH_ERR,
+  NS_ERROR_DOM_FILESYSTEM_INVALID_MODIFICATION_ERR = nsresult::NS_ERROR_DOM_FILESYSTEM_INVALID_MODIFICATION_ERR,
+  NS_ERROR_DOM_FILESYSTEM_NO_MODIFICATION_ALLOWED_ERR = nsresult::NS_ERROR_DOM_FILESYSTEM_NO_MODIFICATION_ALLOWED_ERR,
+  NS_ERROR_DOM_FILESYSTEM_PATH_EXISTS_ERR = nsresult::NS_ERROR_DOM_FILESYSTEM_PATH_EXISTS_ERR,
+  NS_ERROR_DOM_FILESYSTEM_TYPE_MISMATCH_ERR = nsresult::NS_ERROR_DOM_FILESYSTEM_TYPE_MISMATCH_ERR,
+  NS_ERROR_DOM_FILESYSTEM_UNKNOWN_ERR = nsresult::NS_ERROR_DOM_FILESYSTEM_UNKNOWN_ERR,
+  NS_ERROR_SIGNED_APP_MANIFEST_INVALID = nsresult::NS_ERROR_SIGNED_APP_MANIFEST_INVALID,
+  NS_ERROR_DOM_ANIM_MISSING_PROPS_ERR = nsresult::NS_ERROR_DOM_ANIM_MISSING_PROPS_ERR,
+  NS_ERROR_DOM_PUSH_INVALID_REGISTRATION_ERR = nsresult::NS_ERROR_DOM_PUSH_INVALID_REGISTRATION_ERR,
+  NS_ERROR_DOM_PUSH_DENIED_ERR = nsresult::NS_ERROR_DOM_PUSH_DENIED_ERR,
+  NS_ERROR_DOM_PUSH_ABORT_ERR = nsresult::NS_ERROR_DOM_PUSH_ABORT_ERR,
+  NS_ERROR_DOM_PUSH_SERVICE_UNREACHABLE = nsresult::NS_ERROR_DOM_PUSH_SERVICE_UNREACHABLE,
+  NS_ERROR_DOM_PUSH_INVALID_KEY_ERR = nsresult::NS_ERROR_DOM_PUSH_INVALID_KEY_ERR,
+  NS_ERROR_DOM_PUSH_MISMATCHED_KEY_ERR = nsresult::NS_ERROR_DOM_PUSH_MISMATCHED_KEY_ERR,
+  NS_ERROR_DOM_MEDIA_ABORT_ERR = nsresult::NS_ERROR_DOM_MEDIA_ABORT_ERR,
+  NS_ERROR_DOM_MEDIA_NOT_ALLOWED_ERR = nsresult::NS_ERROR_DOM_MEDIA_NOT_ALLOWED_ERR,
+  NS_ERROR_DOM_MEDIA_NOT_SUPPORTED_ERR = nsresult::NS_ERROR_DOM_MEDIA_NOT_SUPPORTED_ERR,
+  NS_ERROR_DOM_MEDIA_DECODE_ERR = nsresult::NS_ERROR_DOM_MEDIA_DECODE_ERR,
+  NS_ERROR_DOM_MEDIA_FATAL_ERR = nsresult::NS_ERROR_DOM_MEDIA_FATAL_ERR,
+  NS_ERROR_DOM_MEDIA_METADATA_ERR = nsresult::NS_ERROR_DOM_MEDIA_METADATA_ERR,
+  NS_ERROR_DOM_MEDIA_OVERFLOW_ERR = nsresult::NS_ERROR_DOM_MEDIA_OVERFLOW_ERR,
+  NS_ERROR_DOM_MEDIA_END_OF_STREAM = nsresult::NS_ERROR_DOM_MEDIA_END_OF_STREAM,
+  NS_ERROR_DOM_MEDIA_WAITING_FOR_DATA = nsresult::NS_ERROR_DOM_MEDIA_WAITING_FOR_DATA,
+  NS_ERROR_DOM_MEDIA_CANCELED = nsresult::NS_ERROR_DOM_MEDIA_CANCELED,
+  NS_ERROR_DOM_MEDIA_MEDIASINK_ERR = nsresult::NS_ERROR_DOM_MEDIA_MEDIASINK_ERR,
+  NS_ERROR_DOM_MEDIA_DEMUXER_ERR = nsresult::NS_ERROR_DOM_MEDIA_DEMUXER_ERR,
+  NS_ERROR_DOM_MEDIA_CDM_ERR = nsresult::NS_ERROR_DOM_MEDIA_CDM_ERR,
+  NS_ERROR_DOM_MEDIA_NEED_NEW_DECODER = nsresult::NS_ERROR_DOM_MEDIA_NEED_NEW_DECODER,
+  NS_ERROR_DOM_MEDIA_INITIALIZING_DECODER = nsresult::NS_ERROR_DOM_MEDIA_INITIALIZING_DECODER,
+  NS_ERROR_DOM_MEDIA_CUBEB_INITIALIZATION_ERR = nsresult::NS_ERROR_DOM_MEDIA_CUBEB_INITIALIZATION_ERR,
+  NS_ERROR_UC_UPDATE_UNKNOWN = nsresult::NS_ERROR_UC_UPDATE_UNKNOWN,
+  NS_ERROR_UC_UPDATE_DUPLICATE_PREFIX = nsresult::NS_ERROR_UC_UPDATE_DUPLICATE_PREFIX,
+  NS_ERROR_UC_UPDATE_INFINITE_LOOP = nsresult::NS_ERROR_UC_UPDATE_INFINITE_LOOP,
+  NS_ERROR_UC_UPDATE_WRONG_REMOVAL_INDICES = nsresult::NS_ERROR_UC_UPDATE_WRONG_REMOVAL_INDICES,
+  NS_ERROR_UC_UPDATE_CHECKSUM_MISMATCH = nsresult::NS_ERROR_UC_UPDATE_CHECKSUM_MISMATCH,
+  NS_ERROR_UC_UPDATE_MISSING_CHECKSUM = nsresult::NS_ERROR_UC_UPDATE_MISSING_CHECKSUM,
+  NS_ERROR_UC_UPDATE_SHUTDOWNING = nsresult::NS_ERROR_UC_UPDATE_SHUTDOWNING,
+  NS_ERROR_UC_UPDATE_TABLE_NOT_FOUND = nsresult::NS_ERROR_UC_UPDATE_TABLE_NOT_FOUND,
+  NS_ERROR_UC_UPDATE_BUILD_PREFIX_FAILURE = nsresult::NS_ERROR_UC_UPDATE_BUILD_PREFIX_FAILURE,
+  NS_ERROR_UC_UPDATE_FAIL_TO_WRITE_DISK = nsresult::NS_ERROR_UC_UPDATE_FAIL_TO_WRITE_DISK,
+  NS_ERROR_UC_UPDATE_PROTOCOL_PARSER_ERROR = nsresult::NS_ERROR_UC_UPDATE_PROTOCOL_PARSER_ERROR,
+  NS_ERROR_INTERNAL_ERRORRESULT_JS_EXCEPTION = nsresult::NS_ERROR_INTERNAL_ERRORRESULT_JS_EXCEPTION,
+  NS_ERROR_INTERNAL_ERRORRESULT_DOMEXCEPTION = nsresult::NS_ERROR_INTERNAL_ERRORRESULT_DOMEXCEPTION,
+  NS_ERROR_INTERNAL_ERRORRESULT_EXCEPTION_ON_JSCONTEXT = nsresult::NS_ERROR_INTERNAL_ERRORRESULT_EXCEPTION_ON_JSCONTEXT,
+  NS_ERROR_INTERNAL_ERRORRESULT_TYPEERROR = nsresult::NS_ERROR_INTERNAL_ERRORRESULT_TYPEERROR,
+  NS_ERROR_INTERNAL_ERRORRESULT_RANGEERROR = nsresult::NS_ERROR_INTERNAL_ERRORRESULT_RANGEERROR,
+  NS_ERROR_DOWNLOAD_COMPLETE = nsresult::NS_ERROR_DOWNLOAD_COMPLETE,
+  NS_ERROR_DOWNLOAD_NOT_PARTIAL = nsresult::NS_ERROR_DOWNLOAD_NOT_PARTIAL,
+  NS_ERROR_UNORM_MOREOUTPUT = nsresult::NS_ERROR_UNORM_MOREOUTPUT,
+  NS_ERROR_DOCSHELL_REQUEST_REJECTED = nsresult::NS_ERROR_DOCSHELL_REQUEST_REJECTED,
+  NS_ERROR_DOCUMENT_IS_PRINTMODE = nsresult::NS_ERROR_DOCUMENT_IS_PRINTMODE,
+  NS_SUCCESS_DONT_FIXUP = nsresult::NS_SUCCESS_DONT_FIXUP,
+  NS_SUCCESS_RESTART_APP = nsresult::NS_SUCCESS_RESTART_APP,
+  NS_SUCCESS_RESTART_APP_NOT_SAME_PROFILE = nsresult::NS_SUCCESS_RESTART_APP_NOT_SAME_PROFILE,
+  NS_SUCCESS_UNORM_NOTFOUND = nsresult::NS_SUCCESS_UNORM_NOTFOUND,
+  NS_ERROR_NOT_IN_TREE = nsresult::NS_ERROR_NOT_IN_TREE,
+  NS_OK_NO_NAME_CLAUSE_HANDLED = nsresult::NS_OK_NO_NAME_CLAUSE_HANDLED
+;
+
+#endif // ErrorList_h__