# Stats from current release

Default Server Mode (Increase detected ⚠)

General Overall increase ⚠

|  | zeit/next.js canary | zeit/next.js refs/tags/v9.0.6-canary.7 | Change |
| - | - | - | - |
| buildDuration | 14.6s | 16.1s | ⚠ +1.5s |
| nodeModulesSize | 41.5 MB | 42 MB | ⚠ +446 kB |

Client Bundles (main, webpack, commons) Overall increase ⚠

|  | zeit/next.js canary | zeit/next.js refs/tags/v9.0.6-canary.7 | Change |
| - | - | - | - |
| main-HASH.js | 18.1 kB | 18.2 kB | ⚠ +58 B |
| main-HASH.js gzip | 6.64 kB | 6.65 kB | ⚠ +6 B |
| webpack-HASH.js | 1.53 kB | 1.53 kB | ✓ |
| webpack-HASH.js gzip | 746 B | 746 B | ✓ |
| 3gA8Op0wh1Cq..f91025da7.js | 43 kB | N/A | N/A |
| 3gA8Op0wh1Cq..5da7.js gzip | 15.4 kB | N/A | N/A |
| framework.5b..dbaff70d3.js | 125 kB | 125 kB | ✓ |
| framework.5b..70d3.js gzip | 39.4 kB | 39.4 kB | ✓ |
| SVLdzYjnGF5m..2b8407376.js | 21.9 kB | N/A | N/A |
| SVLdzYjnGF5m..7376.js gzip | 7.81 kB | N/A | N/A |
| 4952ddcd88e7..2b8407376.js | N/A | 21.9 kB | N/A |
| 4952ddcd88e7..7376.js gzip | N/A | 7.81 kB | N/A |
| de003c3a9d30..3fa59b1f5.js | N/A | 43.1 kB | N/A |
| de003c3a9d30..b1f5.js gzip | N/A | 15.5 kB | N/A |
| Overall change | 210 kB | 210 kB | ⚠ +58 B |

Client Bundles (main, webpack, commons) Modern Overall increase ⚠

|  | zeit/next.js canary | zeit/next.js refs/tags/v9.0.6-canary.7 | Change |
| - | - | - | - |
| main-HASH.module.js | 16.5 kB | 16.5 kB | ⚠ +46 B |
| main-HASH.module.js gzip | 6.37 kB | 6.39 kB | ⚠ +18 B |
| webpack-HASH.module.js | 1.53 kB | 1.53 kB | ✓ |
| webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
| 3gA8Op0wh1Cq..ed.module.js | 45.4 kB | N/A | N/A |
| 3gA8Op0wh1Cq..dule.js gzip | 16.4 kB | N/A | N/A |
| framework.5b..d3.module.js | 125 kB | 125 kB | ✓ |
| framework.5b..dule.js gzip | 39.4 kB | 39.4 kB | ✓ |
| de003c3a9d30..4b.module.js | N/A | 45.5 kB | N/A |
| de003c3a9d30..dule.js gzip | N/A | 16.5 kB | N/A |
| Overall change | 189 kB | 189 kB | ⚠ +46 B |

Client Pages Overall decrease ✓

|  | zeit/next.js canary | zeit/next.js refs/tags/v9.0.6-canary.7 | Change |
| - | - | - | - |
| _app.js | 1.83 kB | 1.81 kB | -25 B |
| _app.js gzip | 884 B | 873 B | -11 B |
| _error.js | 12.1 kB | 12 kB | -69 B |
| _error.js gzip | 4.76 kB | 4.73 kB | -27 B |
| hooks.js | 12.7 kB | 12.7 kB | -25 B |
| hooks.js gzip | 4.81 kB | 4.79 kB | -16 B |
| index.js | 343 B | 318 B | -25 B |
| index.js gzip | 237 B | 222 B | -15 B |
| link.js | 8.14 kB | 8.14 kB | ⚠ +5 B |
| link.js gzip | 3.49 kB | 3.5 kB | ⚠ +5 B |
| routerDirect.js | 433 B | 408 B | -25 B |
| routerDirect.js gzip | 296 B | 281 B | -15 B |
| withRouter.js | 444 B | 419 B | -25 B |
| withRouter.js gzip | 294 B | 280 B | -14 B |
| Overall change | 36 kB | 35.8 kB | -189 B |

Client Pages Modern Overall decrease ✓

|  | zeit/next.js canary | zeit/next.js refs/tags/v9.0.6-canary.7 | Change |
| - | - | - | - |
| _app.module.js | 1.73 kB | 1.7 kB | -25 B |
| _app.module.js gzip | 840 B | 832 B | -8 B |
| _error.module.js | 23.3 kB | 23.3 kB | -69 B |
| _error.module.js gzip | 8.62 kB | 8.59 kB | -31 B |
| hooks.module.js | 1.55 kB | 1.52 kB | -25 B |
| hooks.module.js gzip | 804 B | 793 B | -11 B |
| index.module.js | 319 B | 294 B | -25 B |
| index.module.js gzip | 238 B | 223 B | -15 B |
| link.module.js | 8.52 kB | 8.53 kB | ⚠ +5 B |
| link.module.js gzip | 3.68 kB | 3.68 kB | ⚠ +5 B |
| routerDirect.module.js | 419 B | 394 B | -25 B |
| routerDirect..dule.js gzip | 294 B | 281 B | -13 B |
| withRouter.module.js | 429 B | 404 B | -25 B |
| withRouter.m..dule.js gzip | 293 B | 278 B | -15 B |
| Overall change | 36.3 kB | 36.1 kB | -189 B |

Client Build Manifests

|  | zeit/next.js canary | zeit/next.js refs/tags/v9.0.6-canary.7 | Change |
| - | - | - | - |
| _buildManifest.js | 81 B | 81 B | ✓ |
| _buildManifest.js gzip | 61 B | 61 B | ✓ |
| _buildManifest.module.js | 81 B | 81 B | ✓ |
| _buildManife..dule.js gzip | 61 B | 61 B | ✓ |
| Overall change | 162 B | 162 B | ✓ |

Rendered Page Sizes Overall increase ⚠

|  | zeit/next.js canary | zeit/next.js refs/tags/v9.0.6-canary.7 | Change |
| - | - | - | - |
| index.html | 3.57 kB | 3.62 kB | ⚠ +49 B |
| index.html gzip | 943 B | 947 B | ⚠ +4 B |
| link.html | 3.61 kB | 3.66 kB | ⚠ +49 B |
| link.html gzip | 951 B | 953 B | ⚠ +2 B |
| withRouter.html | 3.62 kB | 3.67 kB | ⚠ +49 B |
| withRouter.html gzip | 939 B | 942 B | ⚠ +3 B |
| Overall change | 10.8 kB | 10.9 kB | ⚠ +147 B |

#### Diffs

Diff for main-HASH.js

```diff
@@ -9,6 +9,62 @@ __webpack_require__("cHUd")('Map');

 /***/ }),

+/***/ "0IRE":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var _Map = __webpack_require__("LX0d");
+
+var _classCallCheck = __webpack_require__("/HRN");
+
+var _createClass = __webpack_require__("WaGi");
+
+var _Object$defineProperty = __webpack_require__("hfKm");
+
+_Object$defineProperty(exports, "__esModule", {
+  value: true
+});
+
+var DataManager =
+/*#__PURE__*/
+function () {
+  function DataManager(data) {
+    _classCallCheck(this, DataManager);
+
+    this.data = new _Map(data);
+  }
+
+  _createClass(DataManager, [{
+    key: "getData",
+    value: function getData() {
+      return this.data;
+    }
+  }, {
+    key: "get",
+    value: function get(key) {
+      return this.data.get(key);
+    }
+  }, {
+    key: "set",
+    value: function set(key, value) {
+      this.data.set(key, value);
+    }
+  }, {
+    key: "overwrite",
+    value: function overwrite(data) {
+      this.data = new _Map(data);
+    }
+  }]);
+
+  return DataManager;
+}();
+
+exports.DataManager = DataManager;
+
+/***/ }),
+
 /***/ "8iia":
 /***/ (function(module, exports, __webpack_require__) {

@@ -208,33 +264,7 @@ function reactElementToDOM(_ref) {

 /***/ }),

-/***/ "HohS":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var runtimeConfig;
-
-exports["default"] = function () {
-  return runtimeConfig;
-};
-
-function setConfig(configValue) {
-  runtimeConfig = configValue;
-}
-
-exports.setConfig = setConfig;
-
-/***/ }),
-
-/***/ "IClC":
+/***/ "FYa8":
 /***/ (function(module, exports, __webpack_require__) {

 "use strict";
@@ -305,25 +335,25 @@ var _headManager = _interopRequireDefault(__webpack_require__("DqTX"));

 var _router = __webpack_require__("nOHt");

-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));

-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");

 var _pageLoader = _interopRequireDefault(__webpack_require__("zmvN"));

-var envConfig = _interopRequireWildcard(__webpack_require__("PBx+"));
+var envConfig = _interopRequireWildcard(__webpack_require__("yLiY"));

-var _headManagerContext = __webpack_require__("IClC");
+var _headManagerContext = __webpack_require__("FYa8");

-var _dataManagerContext = __webpack_require__("qS9g");
+var _dataManagerContext = __webpack_require__("qArv");

-var _routerContext = __webpack_require__("9EOK");
+var _routerContext = __webpack_require__("qOIg");

-var _dataManager = __webpack_require__("cuFY");
+var _dataManager = __webpack_require__("0IRE");

 var _querystring = __webpack_require__("s4NR");

-var _isDynamic = __webpack_require__("kcOw");
+var _isDynamic = __webpack_require__("/jkW");
 /* global location */
 // Polyfill Promise globally
 // This is needed because Webpack's dynamic loading(common chunks) code
@@ -338,7 +368,7 @@ if (!window.Promise) {

 var data = JSON.parse(document.getElementById('__NEXT_DATA__').textContent);
 window.__NEXT_DATA__ = data;
-var version = "9.0.5";
+var version = "9.0.6-canary.7";
 exports.version = version;
 var props = data.props,
     err = data.err,
@@ -742,7 +772,10 @@ function markRenderComplete() {
 }

 function clearMarks() {
-  performance.clearMarks();
+  ;
+  ['beforeRender', 'afterHydrate', 'afterRender', 'routeChange'].forEach(function (mark) {
+    return performance.clearMarks(mark);
+  });
   /*
   * TODO: uncomment the following line when we have a way to
   * expose this to user code.
@@ -867,14 +900,6 @@ module.exports = __webpack_require__("UDep");

 /***/ }),

-/***/ "PBx+":
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__("HohS")
-
-
-/***/ }),
-
 /***/ "RRc/":
 /***/ (function(module, exports, __webpack_require__) {

@@ -1174,62 +1199,6 @@ module.exports = function (COLLECTION) {

 /***/ }),

-/***/ "cuFY":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _Map = __webpack_require__("LX0d");
-
-var _classCallCheck = __webpack_require__("/HRN");
-
-var _createClass = __webpack_require__("WaGi");
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var DataManager =
-/*#__PURE__*/
-function () {
-  function DataManager(data) {
-    _classCallCheck(this, DataManager);
-
-    this.data = new _Map(data);
-  }
-
-  _createClass(DataManager, [{
-    key: "getData",
-    value: function getData() {
-      return this.data;
-    }
-  }, {
-    key: "get",
-    value: function get(key) {
-      return this.data.get(key);
-    }
-  }, {
-    key: "set",
-    value: function set(key, value) {
-      this.data.set(key, value);
-    }
-  }, {
-    key: "overwrite",
-    value: function overwrite(data) {
-      this.data = new _Map(data);
-    }
-  }]);
-
-  return DataManager;
-}();
-
-exports.DataManager = DataManager;
-
-/***/ }),
-
 /***/ "dVTT":
 /***/ (function(module, exports, __webpack_require__) {

@@ -1278,7 +1247,7 @@ module.exports = function (it, TYPE) {

 /***/ }),

-/***/ "qS9g":
+/***/ "qArv":
 /***/ (function(module, exports, __webpack_require__) {

 "use strict";
@@ -1386,6 +1355,32 @@ module.exports = function (original, length) {

 /***/ }),

+/***/ "yLiY":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var _Object$defineProperty = __webpack_require__("hfKm");
+
+_Object$defineProperty(exports, "__esModule", {
+  value: true
+});
+
+var runtimeConfig;
+
+exports["default"] = function () {
+  return runtimeConfig;
+};
+
+function setConfig(configValue) {
+  runtimeConfig = configValue;
+}
+
+exports.setConfig = setConfig;
+
+/***/ }),
+
 /***/ "zmvN":
 /***/ (function(module, exports, __webpack_require__) {

@@ -1407,7 +1402,7 @@ var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("+oT+"));

 var _promise = _interopRequireDefault(__webpack_require__("eVuF"));

-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 /* global document, window */

@@ -1425,7 +1420,7 @@ function preloadScript(url) {
   var link = document.createElement('link');
   link.rel = 'preload';
   link.crossOrigin = "anonymous";
-  link.href = url;
+  link.href = encodeURI(url);
   link.as = 'script';
   document.head.appendChild(link);
 }
@@ -1576,7 +1571,7 @@ function () {
       }

       script.crossOrigin = "anonymous";
-      script.src = url;
+      script.src = encodeURI(url);

       script.onerror = function () {
         var error = new Error("Error loading script " + url);
@@ -1597,19 +1592,14 @@ function () {

       var register = function register() {
         try {
-          var _regFn = regFn(),
-              error = _regFn.error,
-              page = _regFn.page;
-
-          _this5.pageCache[route] = {
-            error: error,
-            page: page
+          var mod = regFn();
+          var pageData = {
+            page: mod["default"] || mod,
+            mod: mod
           };
+          _this5.pageCache[route] = pageData;

-          _this5.pageRegisterEvents.emit(route, {
-            error: error,
-            page: page
-          });
+          _this5.pageRegisterEvents.emit(route, pageData);
         } catch (error) {
           _this5.pageCache[route] = {
             error: error
```

Diff for main-HASH.module.js

```diff
@@ -54,6 +54,47 @@ __webpack_require__("cHUd")('Map');

 /***/ }),

+/***/ "0IRE":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var _Map = __webpack_require__("LX0d");
+
+var _Object$defineProperty = __webpack_require__("hfKm");
+
+_Object$defineProperty(exports, "__esModule", {
+  value: true
+});
+
+class DataManager {
+  constructor(data) {
+    this.data = new _Map(data);
+  }
+
+  getData() {
+    return this.data;
+  }
+
+  get(key) {
+    return this.data.get(key);
+  }
+
+  set(key, value) {
+    this.data.set(key, value);
+  }
+
+  overwrite(data) {
+    this.data = new _Map(data);
+  }
+
+}
+
+exports.DataManager = DataManager;
+
+/***/ }),
+
 /***/ "6/1s":
 /***/ (function(module, exports, __webpack_require__) {

@@ -296,33 +337,7 @@ function reactElementToDOM(_ref) {

 /***/ }),

-/***/ "HohS":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-let runtimeConfig;
-
-exports.default = () => {
-  return runtimeConfig;
-};
-
-function setConfig(configValue) {
-  runtimeConfig = configValue;
-}
-
-exports.setConfig = setConfig;
-
-/***/ }),
-
-/***/ "IClC":
+/***/ "FYa8":
 /***/ (function(module, exports, __webpack_require__) {

 "use strict";
@@ -377,25 +392,25 @@ var _headManager = _interopRequireDefault(__webpack_require__("DqTX"));

 var _router = __webpack_require__("nOHt");

-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));

-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");

 var _pageLoader = _interopRequireDefault(__webpack_require__("zmvN"));

-var envConfig = _interopRequireWildcard(__webpack_require__("PBx+"));
+var envConfig = _interopRequireWildcard(__webpack_require__("yLiY"));

-var _headManagerContext = __webpack_require__("IClC");
+var _headManagerContext = __webpack_require__("FYa8");

-var _dataManagerContext = __webpack_require__("qS9g");
+var _dataManagerContext = __webpack_require__("qArv");

-var _routerContext = __webpack_require__("9EOK");
+var _routerContext = __webpack_require__("qOIg");

-var _dataManager = __webpack_require__("cuFY");
+var _dataManager = __webpack_require__("0IRE");

 var _querystring = __webpack_require__("s4NR");

-var _isDynamic = __webpack_require__("kcOw");
+var _isDynamic = __webpack_require__("/jkW");
 /* global location */
 // Polyfill Promise globally
 // This is needed because Webpack's dynamic loading(common chunks) code
@@ -410,7 +425,7 @@ if (!window.Promise) {

 const data = JSON.parse(document.getElementById('__NEXT_DATA__').textContent);
 window.__NEXT_DATA__ = data;
-const version = "9.0.5";
+const version = "9.0.6-canary.7";
 exports.version = version;
 const {
   props,
@@ -684,7 +699,8 @@ function markRenderComplete() {
 }

 function clearMarks() {
-  performance.clearMarks();
+  ;
+  ['beforeRender', 'afterHydrate', 'afterRender', 'routeChange'].forEach(mark => performance.clearMarks(mark));
   /*
   * TODO: uncomment the following line when we have a way to
   * expose this to user code.
@@ -791,14 +807,6 @@ module.exports = __webpack_require__("UDep");

 /***/ }),

-/***/ "PBx+":
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__("HohS")
-
-
-/***/ }),
-
 /***/ "RRc/":
 /***/ (function(module, exports, __webpack_require__) {

@@ -1098,47 +1106,6 @@ module.exports = function (COLLECTION) {

 /***/ }),

-/***/ "cuFY":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _Map = __webpack_require__("LX0d");
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-class DataManager {
-  constructor(data) {
-    this.data = new _Map(data);
-  }
-
-  getData() {
-    return this.data;
-  }
-
-  get(key) {
-    return this.data.get(key);
-  }
-
-  set(key, value) {
-    this.data.set(key, value);
-  }
-
-  overwrite(data) {
-    this.data = new _Map(data);
-  }
-
-}
-
-exports.DataManager = DataManager;
-
-/***/ }),
-
 /***/ "dVTT":
 /***/ (function(module, exports, __webpack_require__) {

@@ -1199,7 +1166,7 @@ module.exports = function (it, TYPE) {

 /***/ }),

-/***/ "qS9g":
+/***/ "qArv":
 /***/ (function(module, exports, __webpack_require__) {

 "use strict";
@@ -1305,6 +1272,32 @@ module.exports = function (original, length) {

 /***/ }),

+/***/ "yLiY":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var _Object$defineProperty = __webpack_require__("hfKm");
+
+_Object$defineProperty(exports, "__esModule", {
+  value: true
+});
+
+let runtimeConfig;
+
+exports.default = () => {
+  return runtimeConfig;
+};
+
+function setConfig(configValue) {
+  runtimeConfig = configValue;
+}
+
+exports.setConfig = setConfig;
+
+/***/ }),
+
 /***/ "zmvN":
 /***/ (function(module, exports, __webpack_require__) {

@@ -1320,7 +1313,7 @@ var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("+oT+"));

 var _promise = _interopRequireDefault(__webpack_require__("eVuF"));

-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 /* global document, window */

@@ -1338,7 +1331,7 @@ function preloadScript(url) {
   const link = document.createElement('link');
   link.rel = 'preload';
   link.crossOrigin = "anonymous";
-  link.href = url;
+  link.href = encodeURI(url);
   link.as = 'script';
   document.head.appendChild(link);
 }
@@ -1456,7 +1449,7 @@ class PageLoader {
     }

     script.crossOrigin = "anonymous";
-    script.src = url;
+    script.src = encodeURI(url);

     script.onerror = () => {
       const error = new Error("Error loading script " + url);
@@ -1473,18 +1466,13 @@ class PageLoader {
   registerPage(route, regFn) {
     const register = () => {
       try {
-        const {
-          error,
-          page
-        } = regFn();
-        this.pageCache[route] = {
-          error,
-          page
+        const mod = regFn();
+        const pageData = {
+          page: mod.default || mod,
+          mod
         };
-        this.pageRegisterEvents.emit(route, {
-          error,
-          page
-        });
+        this.pageCache[route] = pageData;
+        this.pageRegisterEvents.emit(route, pageData);
       } catch (error) {
         this.pageCache[route] = {
           error
```

Diff for _app.js

```diff
@@ -33,7 +33,7 @@ var _react = _interopRequireDefault(__webpack_require__("q1tI"));

 var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));

-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");

 exports.AppInitialProps = _utils.AppInitialProps;

@@ -192,9 +192,9 @@ function createUrl(router) {

     (window.__NEXT_P=window.__NEXT_P||[]).push(["/_app", function() {
-      var page = __webpack_require__("B5Ud")
+      var mod = __webpack_require__("B5Ud")
       if(false) {}
-      return { page: page.default || page }
+      return mod
     }]);
```

Diff for _error.js

```diff
@@ -15,6 +15,51 @@ module.exports = __webpack_require__("WEpk").Set;

 /***/ }),

+/***/ "/0+H":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var _Object$defineProperty = __webpack_require__("hfKm");
+
+var __importDefault = this && this.__importDefault || function (mod) {
+  return mod && mod.__esModule ? mod : {
+    "default": mod
+  };
+};
+
+_Object$defineProperty(exports, "__esModule", {
+  value: true
+});
+
+var react_1 = __importDefault(__webpack_require__("q1tI"));
+
+var amp_context_1 = __webpack_require__("lwAK");
+
+function isInAmpMode() {
+  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
+      _ref$ampFirst = _ref.ampFirst,
+      ampFirst = _ref$ampFirst === void 0 ? false : _ref$ampFirst,
+      _ref$hybrid = _ref.hybrid,
+      hybrid = _ref$hybrid === void 0 ? false : _ref$hybrid,
+      _ref$hasQuery = _ref.hasQuery,
+      hasQuery = _ref$hasQuery === void 0 ? false : _ref$hasQuery;
+
+  return ampFirst || hybrid && hasQuery;
+}
+
+exports.isInAmpMode = isInAmpMode;
+
+function useAmp() {
+  // Don't assign the context value to a variable to save bytes
+  return isInAmpMode(react_1["default"].useContext(amp_context_1.AmpStateContext));
+}
+
+exports.useAmp = useAmp;
+
+/***/ }),
+
 /***/ "/a9y":
 /***/ (function(module, exports, __webpack_require__) {

@@ -38,7 +83,7 @@ exports["default"] = void 0;

 var _react = _interopRequireDefault(__webpack_require__("q1tI"));

-var _head = _interopRequireDefault(__webpack_require__("PgRs"));
+var _head = _interopRequireDefault(__webpack_require__("8Kt/"));

 var statusCodes = {
   400: 'Bad Request',
@@ -142,9 +187,9 @@ var styles = {

     (window.__NEXT_P=window.__NEXT_P||[]).push(["/_error", function() {
-      var page = __webpack_require__("/a9y")
+      var mod = __webpack_require__("/a9y")
       if(false) {}
-      return { page: page.default || page }
+      return mod
     }]);

@@ -171,137 +216,164 @@ module.exports = _nonIterableSpread;

 /***/ }),

-/***/ "3JuP":
+/***/ "8Kt/":
 /***/ (function(module, exports, __webpack_require__) {

 "use strict";

+var _Set = __webpack_require__("ttDY");
+
 var _Object$defineProperty = __webpack_require__("hfKm");

-var __importStar = this && this.__importStar || function (mod) {
-  if (mod && mod.__esModule) return mod;
-  var result = {};
-  if (mod != null) for (var k in mod) {
-    if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-  }
-  result["default"] = mod;
-  return result;
+var __importDefault = this && this.__importDefault || function (mod) {
+  return mod && mod.__esModule ? mod : {
+    "default": mod
+  };
 };

 _Object$defineProperty(exports, "__esModule", {
   value: true
 });

-var React = __importStar(__webpack_require__("q1tI"));
-
-exports.AmpStateContext = React.createContext({});
-
-/***/ }),
-
-/***/ "4hZ1":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
+var react_1 = __importDefault(__webpack_require__("q1tI"));

-var _classCallCheck = __webpack_require__("/HRN");
+var side_effect_1 = __importDefault(__webpack_require__("Xuae"));

-var _possibleConstructorReturn = __webpack_require__("ZDA2");
+var amp_context_1 = __webpack_require__("lwAK");

-var _getPrototypeOf = __webpack_require__("/+P4");
+var head_manager_context_1 = __webpack_require__("FYa8");

-var _assertThisInitialized = __webpack_require__("K47E");
+var amp_1 = __webpack_require__("/0+H");

-var _createClass = __webpack_require__("WaGi");
+function defaultHead() {
+  var inAmpMode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
+  var head = [react_1["default"].createElement("meta", {
+    key: "charSet",
+    charSet: "utf-8"
+  })];

-var _inherits = __webpack_require__("N9n2");
+  if (!inAmpMode) {
+    head.push(react_1["default"].createElement("meta", {
+      key: "viewport",
+      name: "viewport",
+      content: "width=device-width,minimum-scale=1,initial-scale=1"
+    }));
+  }

-var _toConsumableArray = __webpack_require__("TbGu");
+  return head;
+}

-var _Set = __webpack_require__("ttDY");
+exports.defaultHead = defaultHead;

-var _Object$defineProperty = __webpack_require__("hfKm");
+function onlyReactElement(list, child) {
+  // React children can be "string" or "number" in this case we ignore them for backwards compat
+  if (typeof child === 'string' || typeof child === 'number') {
+    return list;
+  } // Adds support for React.Fragment

-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});

-var react_1 = __webpack_require__("q1tI");
+  if (child.type === react_1["default"].Fragment) {
+    return list.concat(react_1["default"].Children.toArray(child.props.children).reduce(function (fragmentList, fragmentChild) {
+      if (typeof fragmentChild === 'string' || typeof fragmentChild === 'number') {
+        return fragmentList;
+      }

-var isServer = false;
+      return fragmentList.concat(fragmentChild);
+    }, []));
+  }

-exports["default"] = function () {
-  var mountedInstances = new _Set();
-  var state;
+  return list.concat(child);
+}

-  function emitChange(component) {
-    state = component.props.reduceComponentsToState(_toConsumableArray(mountedInstances), component.props);
+var METATYPES = ['name', 'httpEquiv', 'charSet', 'itemProp'];
+/*
+ returns a function for filtering head child elements
+ which shouldn't be duplicated, like <title/>
+ Also adds support for deduplicated `key` properties
+*/

-    if (component.props.handleStateChange) {
-      component.props.handleStateChange(state);
+function unique() {
+  var keys = new _Set();
+  var tags = new _Set();
+  var metaTypes = new _Set();
+  var metaCategories = {};
+  return function (h) {
+    if (h.key && typeof h.key !== 'number' && h.key.indexOf('.$') === 0) {
+      if (keys.has(h.key)) return false;
+      keys.add(h.key);
+      return true;
     }
-  }

-  return (
-    /*#__PURE__*/
-    function (_react_1$Component) {
-      _inherits(_class, _react_1$Component);
+    switch (h.type) {
+      case 'title':
+      case 'base':
+        if (tags.has(h.type)) return false;
+        tags.add(h.type);
+        break;

-      _createClass(_class, null, [{
-        key: "rewind",
-        // Used when server rendering
-        value: function rewind() {
-          var recordedState = state;
-          state = undefined;
-          mountedInstances.clear();
-          return recordedState;
+      case 'meta':
+        for (var i = 0, len = METATYPES.length; i < len; i++) {
+          var metatype = METATYPES[i];
+          if (!h.props.hasOwnProperty(metatype)) continue;
+
+          if (metatype === 'charSet') {
+            if (metaTypes.has(metatype)) return false;
+            metaTypes.add(metatype);
+          } else {
+            var category = h.props[metatype];
+            var categories = metaCategories[metatype] || new _Set();
+            if (categories.has(category)) return false;
+            categories.add(category);
+            metaCategories[metatype] = categories;
+          }
         }
-      }]);

-      function _class(props) {
-        var _this;
+        break;
+    }

-        _classCallCheck(this, _class);
+    return true;
+  };
+}
+/**
+ *
+ * @param headElement List of multiple <Head> instances
+ */

-        _this = _possibleConstructorReturn(this, _getPrototypeOf(_class).call(this, props));

-        if (isServer) {
-          mountedInstances.add(_assertThisInitialized(_this));
-          emitChange(_assertThisInitialized(_this));
-        }
+function reduceComponents(headElements, props) {
+  return headElements.reduce(function (list, headElement) {
+    var headElementChildren = react_1["default"].Children.toArray(headElement.props.children);
+    return list.concat(headElementChildren);
+  }, []).reduce(onlyReactElement, []).reverse().concat(defaultHead(props.inAmpMode)).filter(unique()).reverse().map(function (c, i) {
+    var key = c.key || i;
+    return react_1["default"].cloneElement(c, {
+      key: key
+    });
+  });
+}

-        return _this;
-      }
+var Effect = side_effect_1["default"]();
+/**
+ * This component injects elements to `<head>` of your page.
+ * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.
+ */

-      _createClass(_class, [{
-        key: "componentDidMount",
-        value: function componentDidMount() {
-          mountedInstances.add(this);
-          emitChange(this);
-        }
-      }, {
-        key: "componentDidUpdate",
-        value: function componentDidUpdate() {
-          emitChange(this);
-        }
-      }, {
-        key: "componentWillUnmount",
-        value: function componentWillUnmount() {
-          mountedInstances["delete"](this);
-          emitChange(this);
-        }
-      }, {
-        key: "render",
-        value: function render() {
-          return null;
-        }
-      }]);
+function Head(_ref) {
+  var children = _ref.children;
+  return react_1["default"].createElement(amp_context_1.AmpStateContext.Consumer, null, function (ampState) {
+    return react_1["default"].createElement(head_manager_context_1.HeadManagerContext.Consumer, null, function (updateHead) {
+      return react_1["default"].createElement(Effect, {
+        reduceComponentsToState: reduceComponents,
+        handleStateChange: updateHead,
+        inAmpMode: amp_1.isInAmpMode(ampState)
+      }, children);
+    });
+  });
+}

-      return _class;
-    }(react_1.Component)
-  );
-};
+Head.rewind = Effect.rewind;
+exports["default"] = Head;

 /***/ }),

@@ -366,7 +438,7 @@ module.exports = function (original) {

 /***/ }),

-/***/ "IClC":
+/***/ "FYa8":
 /***/ (function(module, exports, __webpack_require__) {

 "use strict";
@@ -425,14 +497,6 @@ module.exports = _iterableToArray;

 /***/ }),

-/***/ "PgRs":
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__("m/Pd")
-
-
-/***/ }),
-
 /***/ "RRc/":
 /***/ (function(module, exports, __webpack_require__) {

@@ -731,48 +795,109 @@ module.exports = {

 /***/ }),

-/***/ "Wziy":
+/***/ "Xuae":
 /***/ (function(module, exports, __webpack_require__) {

 "use strict";

-var _Object$defineProperty = __webpack_require__("hfKm");
+var _classCallCheck = __webpack_require__("/HRN");

-var __importDefault = this && this.__importDefault || function (mod) {
-  return mod && mod.__esModule ? mod : {
-    "default": mod
-  };
-};
+var _possibleConstructorReturn = __webpack_require__("ZDA2");
+
+var _getPrototypeOf = __webpack_require__("/+P4");
+
+var _assertThisInitialized = __webpack_require__("K47E");
+
+var _createClass = __webpack_require__("WaGi");
+
+var _inherits = __webpack_require__("N9n2");
+
+var _toConsumableArray = __webpack_require__("TbGu");
+
+var _Set = __webpack_require__("ttDY");
+
+var _Object$defineProperty = __webpack_require__("hfKm");

 _Object$defineProperty(exports, "__esModule", {
   value: true
 });

-var react_1 = __importDefault(__webpack_require__("q1tI"));
+var react_1 = __webpack_require__("q1tI");

-var amp_context_1 = __webpack_require__("3JuP");
+var isServer = false;

-function isInAmpMode() {
-  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
-      _ref$ampFirst = _ref.ampFirst,
-      ampFirst = _ref$ampFirst === void 0 ? false : _ref$ampFirst,
-      _ref$hybrid = _ref.hybrid,
-      hybrid = _ref$hybrid === void 0 ? false : _ref$hybrid,
-      _ref$hasQuery = _ref.hasQuery,
-      hasQuery = _ref$hasQuery === void 0 ? false : _ref$hasQuery;
+exports["default"] = function () {
+  var mountedInstances = new _Set();
+  var state;

-  return ampFirst || hybrid && hasQuery;
-}
+  function emitChange(component) {
+    state = component.props.reduceComponentsToState(_toConsumableArray(mountedInstances), component.props);

-exports.isInAmpMode = isInAmpMode;
+    if (component.props.handleStateChange) {
+      component.props.handleStateChange(state);
+    }
+  }

-function useAmp() {
-  // Don't assign the context value to a variable to save bytes
-  return isInAmpMode(react_1["default"].useContext(amp_context_1.AmpStateContext));
-}
+  return (
+    /*#__PURE__*/
+    function (_react_1$Component) {
+      _inherits(_class, _react_1$Component);

-exports.useAmp = useAmp;
+      _createClass(_class, null, [{
+        key: "rewind",
+        // Used when server rendering
+        value: function rewind() {
+          var recordedState = state;
+          state = undefined;
+          mountedInstances.clear();
+          return recordedState;
+        }
+      }]);
+
+      function _class(props) {
+        var _this;
+
+        _classCallCheck(this, _class);
+
+        _this = _possibleConstructorReturn(this, _getPrototypeOf(_class).call(this, props));
+
+        if (isServer) {
+          mountedInstances.add(_assertThisInitialized(_this));
+          emitChange(_assertThisInitialized(_this));
+        }
+
+        return _this;
+      }
+
+      _createClass(_class, [{
+        key: "componentDidMount",
+        value: function componentDidMount() {
+          mountedInstances.add(this);
+          emitChange(this);
+        }
+      }, {
+        key: "componentDidUpdate",
+        value: function componentDidUpdate() {
+          emitChange(this);
+        }
+      }, {
+        key: "componentWillUnmount",
+        value: function componentWillUnmount() {
+          mountedInstances["delete"](this);
+          emitChange(this);
+        }
+      }, {
+        key: "render",
+        value: function render() {
+          return null;
+        }
+      }]);
+
+      return _class;
+    }(react_1.Component)
+  );
+};

 /***/ }),

@@ -886,164 +1011,31 @@ module.exports = __webpack_require__("WEpk").isIterable = function (it) {

 /***/ }),

-/***/ "m/Pd":
+/***/ "lwAK":
 /***/ (function(module, exports, __webpack_require__) {

 "use strict";

-var _Set = __webpack_require__("ttDY");
-
 var _Object$defineProperty = __webpack_require__("hfKm");

-var __importDefault = this && this.__importDefault || function (mod) {
-  return mod && mod.__esModule ? mod : {
-    "default": mod
-  };
+var __importStar = this && this.__importStar || function (mod) {
+  if (mod && mod.__esModule) return mod;
+  var result = {};
+  if (mod != null) for (var k in mod) {
+    if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+  }
+  result["default"] = mod;
+  return result;
 };

 _Object$defineProperty(exports, "__esModule", {
   value: true
 });

-var react_1 = __importDefault(__webpack_require__("q1tI"));
-
-var side_effect_1 = __importDefault(__webpack_require__("4hZ1"));
-
-var amp_context_1 = __webpack_require__("3JuP");
-
-var head_manager_context_1 = __webpack_require__("IClC");
-
-var amp_1 = __webpack_require__("Wziy");
-
-function defaultHead() {
-  var inAmpMode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-  var head = [react_1["default"].createElement("meta", {
-    key: "charSet",
-    charSet: "utf-8"
-  })];
-
-  if (!inAmpMode) {
-    head.push(react_1["default"].createElement("meta", {
-      key: "viewport",
-      name: "viewport",
-      content: "width=device-width,minimum-scale=1,initial-scale=1"
-    }));
-  }
-
-  return head;
-}
-
-exports.defaultHead = defaultHead;
-
-function onlyReactElement(list, child) {
-  // React children can be "string" or "number" in this case we ignore them for backwards compat
-  if (typeof child === 'string' || typeof child === 'number') {
-    return list;
-  } // Adds support for React.Fragment
-
-
-  if (child.type === react_1["default"].Fragment) {
-    return list.concat(react_1["default"].Children.toArray(child.props.children).reduce(function (fragmentList, fragmentChild) {
-      if (typeof fragmentChild === 'string' || typeof fragmentChild === 'number') {
-        return fragmentList;
-      }
-
-      return fragmentList.concat(fragmentChild);
-    }, []));
-  }
-
-  return list.concat(child);
-}
-
-var METATYPES = ['name', 'httpEquiv', 'charSet', 'itemProp'];
-/*
- returns a function for filtering head child elements
- which shouldn't be duplicated, like <title/>
- Also adds support for deduplicated `key` properties
-*/
-
-function unique() {
-  var keys = new _Set();
-  var tags = new _Set();
-  var metaTypes = new _Set();
-  var metaCategories = {};
-  return function (h) {
-    if (h.key && typeof h.key !== 'number' && h.key.indexOf('.$') === 0) {
-      if (keys.has(h.key)) return false;
-      keys.add(h.key);
-      return true;
-    }
-
-    switch (h.type) {
-      case 'title':
-      case 'base':
-        if (tags.has(h.type)) return false;
-        tags.add(h.type);
-        break;
-
-      case 'meta':
-        for (var i = 0, len = METATYPES.length; i < len; i++) {
-          var metatype = METATYPES[i];
-          if (!h.props.hasOwnProperty(metatype)) continue;
-
-          if (metatype === 'charSet') {
-            if (metaTypes.has(metatype)) return false;
-            metaTypes.add(metatype);
-          } else {
-            var category = h.props[metatype];
-            var categories = metaCategories[metatype] || new _Set();
-            if (categories.has(category)) return false;
-            categories.add(category);
-            metaCategories[metatype] = categories;
-          }
-        }
-
-        break;
-    }
-
-    return true;
-  };
-}
-/**
- *
- * @param headElement List of multiple <Head> instances
- */
-
-
-function reduceComponents(headElements, props) {
-  return headElements.reduce(function (list, headElement) {
-    var headElementChildren = react_1["default"].Children.toArray(headElement.props.children);
-    return list.concat(headElementChildren);
-  }, []).reduce(onlyReactElement, []).reverse().concat(defaultHead(props.inAmpMode)).filter(unique()).reverse().map(function (c, i) {
-    var key = c.key || i;
-    return react_1["default"].cloneElement(c, {
-      key: key
-    });
-  });
-}
-
-var Effect = side_effect_1["default"]();
-/**
- * This component injects elements to `<head>` of your page.
- * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.
- */
-
-function Head(_ref) {
-  var children = _ref.children;
-  return react_1["default"].createElement(amp_context_1.AmpStateContext.Consumer, null, function (ampState) {
-    return react_1["default"].createElement(head_manager_context_1.HeadManagerContext.Consumer, null, function (updateHead) {
-      return react_1["default"].createElement(Effect, {
-        reduceComponentsToState: reduceComponents,
-        handleStateChange: updateHead,
-        inAmpMode: amp_1.isInAmpMode(ampState)
-      }, children);
-    });
-  });
-}
+var React = __importStar(__webpack_require__("q1tI"));

-Head.rewind = Effect.rewind;
-exports["default"] = Head;
+exports.AmpStateContext = React.createContext({});

 /***/ }),
```

Diff for hooks.js

```diff
@@ -994,9 +994,9 @@ module.exports = __webpack_require__("jmDH") ? Object.defineProperties : functio

     (window.__NEXT_P=window.__NEXT_P||[]).push(["/hooks", function() {
-      var page = __webpack_require__("+MDD")
+      var mod = __webpack_require__("+MDD")
       if(false) {}
-      return { page: page.default || page }
+      return mod
     }]);
```

Diff for index.js

```diff
@@ -22,9 +22,9 @@ Page.getInitialProps = function () {

     (window.__NEXT_P=window.__NEXT_P||[]).push(["/", function() {
-      var page = __webpack_require__("RNiq")
+      var mod = __webpack_require__("RNiq")
       if(false) {}
-      return { page: page.default || page }
+      return mod
     }]);
```

Diff for link.js

```diff
@@ -167,9 +167,9 @@ module.exports = function (TYPE, $create) {

     (window.__NEXT_P=window.__NEXT_P||[]).push(["/link", function() {
-      var page = __webpack_require__("ObF3")
+      var mod = __webpack_require__("ObF3")
       if(false) {}
-      return { page: page.default || page }
+      return mod
     }]);

@@ -435,9 +435,9 @@ var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));

 var _router = _interopRequireDefault(__webpack_require__("nOHt"));

-var _rewriteUrlForExport = __webpack_require__("KA3u");
+var _rewriteUrlForExport = __webpack_require__("P5f7");

-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 /* global __NEXT_DATA__ */

@@ -512,7 +512,12 @@ var listenToIntersections = function listenToIntersections(el, cb) {
   observer.observe(el);
   listeners.set(el, cb);
   return function () {
-    observer.unobserve(el);
+    try {
+      observer.unobserve(el);
+    } catch (err) {
+      console.error(err);
+    }
+
     listeners["delete"](el);
   };
 };
```

Diff for routerDirect.js

```diff
@@ -5,9 +5,9 @@

     (window.__NEXT_P=window.__NEXT_P||[]).push(["/routerDirect", function() {
-      var page = __webpack_require__("jSAA")
+      var mod = __webpack_require__("jSAA")
       if(false) {}
-      return { page: page.default || page }
+      return mod
     }]);
```

Diff for withRouter.js

```diff
@@ -30,9 +30,9 @@ useWithRouter.getInitialProps = function () {

     (window.__NEXT_P=window.__NEXT_P||[]).push(["/withRouter", function() {
-      var page = __webpack_require__("0Hlz")
+      var mod = __webpack_require__("0Hlz")
       if(false) {}
-      return { page: page.default || page }
+      return mod
     }]);
```

Diff for _app.module.js

```diff
@@ -66,7 +66,7 @@ var _react = _interopRequireDefault(__webpack_require__("q1tI"));

 var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));

-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");

 exports.AppInitialProps = _utils.AppInitialProps;

@@ -197,9 +197,9 @@ function createUrl(router) {

     (window.__NEXT_P=window.__NEXT_P||[]).push(["/_app", function() {
-      var page = __webpack_require__("B5Ud")
+      var mod = __webpack_require__("B5Ud")
       if(false) {}
-      return { page: page.default || page }
+      return mod
     }]);
```

Diff for _error.module.js

```diff
@@ -15,6 +15,48 @@ module.exports = __webpack_require__("WEpk").Set;

 /***/ }),

+/***/ "/0+H":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var _Object$defineProperty = __webpack_require__("hfKm");
+
+var __importDefault = this && this.__importDefault || function (mod) {
+  return mod && mod.__esModule ? mod : {
+    "default": mod
+  };
+};
+
+_Object$defineProperty(exports, "__esModule", {
+  value: true
+});
+
+const react_1 = __importDefault(__webpack_require__("q1tI"));
+
+const amp_context_1 = __webpack_require__("lwAK");
+
+function isInAmpMode() {
+  let {
+    ampFirst = false,
+    hybrid = false,
+    hasQuery = false
+  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
+  return ampFirst || hybrid && hasQuery;
+}
+
+exports.isInAmpMode = isInAmpMode;
+
+function useAmp() {
+  // Don't assign the context value to a variable to save bytes
+  return isInAmpMode(react_1.default.useContext(amp_context_1.AmpStateContext));
+}
+
+exports.useAmp = useAmp;
+
+/***/ }),
+
 /***/ "/a9y":
 /***/ (function(module, exports, __webpack_require__) {

@@ -28,7 +70,7 @@ exports.default = void 0;

 var _react = _interopRequireDefault(__webpack_require__("q1tI"));

-var _head = _interopRequireDefault(__webpack_require__("PgRs"));
+var _head = _interopRequireDefault(__webpack_require__("8Kt/"));

 const statusCodes = {
   400: 'Bad Request',
@@ -121,9 +163,9 @@ const styles = {

     (window.__NEXT_P=window.__NEXT_P||[]).push(["/_error", function() {
-      var page = __webpack_require__("/a9y")
+      var mod = __webpack_require__("/a9y")
       if(false) {}
-      return { page: page.default || page }
+      return mod
     }]);

@@ -198,103 +240,6 @@ exports.f = __webpack_require__("jmDH") ? Object.defineProperty : function defin

 /***/ }),

-/***/ "3JuP":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-var __importStar = this && this.__importStar || function (mod) {
-  if (mod && mod.__esModule) return mod;
-  var result = {};
-  if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-  result["default"] = mod;
-  return result;
-};
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-const React = __importStar(__webpack_require__("q1tI"));
-
-exports.AmpStateContext = React.createContext({});
-
-/***/ }),
-
-/***/ "4hZ1":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _Set = __webpack_require__("ttDY");
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-const react_1 = __webpack_require__("q1tI");
-
-const isServer = false;
-
-exports.default = () => {
-  const mountedInstances = new _Set();
-  let state;
-
-  function emitChange(component) {
-    state = component.props.reduceComponentsToState([...mountedInstances], component.props);
-
-    if (component.props.handleStateChange) {
-      component.props.handleStateChange(state);
-    }
-  }
-
-  return class extends react_1.Component {
-    // Used when server rendering
-    static rewind() {
-      const recordedState = state;
-      state = undefined;
-      mountedInstances.clear();
-      return recordedState;
-    }
-
-    constructor(props) {
-      super(props);
-
-      if (isServer) {
-        mountedInstances.add(this);
-        emitChange(this);
-      }
-    }
-
-    componentDidMount() {
-      mountedInstances.add(this);
-      emitChange(this);
-    }
-
-    componentDidUpdate() {
-      emitChange(this);
-    }
-
-    componentWillUnmount() {
-      mountedInstances.delete(this);
-      emitChange(this);
-    }
-
-    render() {
-      return null;
-    }
-
-  };
-};
-
-/***/ }),
-
 /***/ "5K7Z":
 /***/ (function(module, exports, __webpack_require__) {

@@ -404,6 +349,165 @@ var meta = module.exports = {

 /***/ }),

+/***/ "8Kt/":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var _Set = __webpack_require__("ttDY");
+
+var _Object$defineProperty = __webpack_require__("hfKm");
+
+var __importDefault = this && this.__importDefault || function (mod) {
+  return mod && mod.__esModule ? mod : {
+    "default": mod
+  };
+};
+
+_Object$defineProperty(exports, "__esModule", {
+  value: true
+});
+
+const react_1 = __importDefault(__webpack_require__("q1tI"));
+
+const side_effect_1 = __importDefault(__webpack_require__("Xuae"));
+
+const amp_context_1 = __webpack_require__("lwAK");
+
+const head_manager_context_1 = __webpack_require__("FYa8");
+
+const amp_1 = __webpack_require__("/0+H");
+
+function defaultHead() {
+  let inAmpMode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
+  const head = [react_1.default.createElement("meta", {
+    key: "charSet",
+    charSet: "utf-8"
+  })];
+
+  if (!inAmpMode) {
+    head.push(react_1.default.createElement("meta", {
+      key: "viewport",
+      name: "viewport",
+      content: "width=device-width,minimum-scale=1,initial-scale=1"
+    }));
+  }
+
+  return head;
+}
+
+exports.defaultHead = defaultHead;
+
+function onlyReactElement(list, child) {
+  // React children can be "string" or "number" in this case we ignore them for backwards compat
+  if (typeof child === 'string' || typeof child === 'number') {
+    return list;
+  } // Adds support for React.Fragment
+
+
+  if (child.type === react_1.default.Fragment) {
+    return list.concat(react_1.default.Children.toArray(child.props.children).reduce((fragmentList, fragmentChild) => {
+      if (typeof fragmentChild === 'string' || typeof fragmentChild === 'number') {
+        return fragmentList;
+      }
+
+      return fragmentList.concat(fragmentChild);
+    }, []));
+  }
+
+  return list.concat(child);
+}
+
+const METATYPES = ['name', 'httpEquiv', 'charSet', 'itemProp'];
+/*
+ returns a function for filtering head child elements
+ which shouldn't be duplicated, like <title/>
+ Also adds support for deduplicated `key` properties
+*/
+
+function unique() {
+  const keys = new _Set();
+  const tags = new _Set();
+  const metaTypes = new _Set();
+  const metaCategories = {};
+  return h => {
+    if (h.key && typeof h.key !== 'number' && h.key.indexOf('.$') === 0) {
+      if (keys.has(h.key)) return false;
+      keys.add(h.key);
+      return true;
+    }
+
+    switch (h.type) {
+      case 'title':
+      case 'base':
+        if (tags.has(h.type)) return false;
+        tags.add(h.type);
+        break;
+
+      case 'meta':
+        for (let i = 0, len = METATYPES.length; i < len; i++) {
+          const metatype = METATYPES[i];
+          if (!h.props.hasOwnProperty(metatype)) continue;
+
+          if (metatype === 'charSet') {
+            if (metaTypes.has(metatype)) return false;
+            metaTypes.add(metatype);
+          } else {
+            const category = h.props[metatype];
+            const categories = metaCategories[metatype] || new _Set();
+            if (categories.has(category)) return false;
+            categories.add(category);
+            metaCategories[metatype] = categories;
+          }
+        }
+
+        break;
+    }
+
+    return true;
+  };
+}
+/**
+ *
+ * @param headElement List of multiple <Head> instances
+ */
+
+
+function reduceComponents(headElements, props) {
+  return headElements.reduce((list, headElement) => {
+    const headElementChildren = react_1.default.Children.toArray(headElement.props.children);
+    return list.concat(headElementChildren);
+  }, []).reduce(onlyReactElement, []).reverse().concat(defaultHead(props.inAmpMode)).filter(unique()).reverse().map((c, i) => {
+    const key = c.key || i;
+    return react_1.default.cloneElement(c, {
+      key
+    });
+  });
+}
+
+const Effect = side_effect_1.default();
+/**
+ * This component injects elements to `<head>` of your page.
+ * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.
+ */
+
+function Head(_ref) {
+  let {
+    children
+  } = _ref;
+  return react_1.default.createElement(amp_context_1.AmpStateContext.Consumer, null, ampState => react_1.default.createElement(head_manager_context_1.HeadManagerContext.Consumer, null, updateHead => react_1.default.createElement(Effect, {
+    reduceComponentsToState: reduceComponents,
+    handleStateChange: updateHead,
+    inAmpMode: amp_1.isInAmpMode(ampState)
+  }, children)));
+}
+
+Head.rewind = Effect.rewind;
+exports.default = Head;
+
+/***/ }),
+
 /***/ "8iia":
 /***/ (function(module, exports, __webpack_require__) {

@@ -512,6 +616,32 @@ module.exports = function (it, Constructor, name, forbiddenField) {

 /***/ }),

+/***/ "FYa8":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var _Object$defineProperty = __webpack_require__("hfKm");
+
+var __importStar = this && this.__importStar || function (mod) {
+  if (mod && mod.__esModule) return mod;
+  var result = {};
+  if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+  result["default"] = mod;
+  return result;
+};
+
+_Object$defineProperty(exports, "__esModule", {
+  value: true
+});
+
+const React = __importStar(__webpack_require__("q1tI"));
+
+exports.HeadManagerContext = React.createContext(null);
+
+/***/ }),
+
 /***/ "FlQf":
 /***/ (function(module, exports, __webpack_require__) {

@@ -581,32 +711,6 @@ module.exports = function (it) {

 /***/ }),

-/***/ "IClC":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-var __importStar = this && this.__importStar || function (mod) {
-  if (mod && mod.__esModule) return mod;
-  var result = {};
-  if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-  result["default"] = mod;
-  return result;
-};
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-const React = __importStar(__webpack_require__("q1tI"));
-
-exports.HeadManagerContext = React.createContext(null);
-
-/***/ }),
-
 /***/ "JB68":
 /***/ (function(module, exports, __webpack_require__) {

@@ -911,14 +1015,6 @@ module.exports = function (it) {

 /***/ }),

-/***/ "PgRs":
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__("m/Pd")
-
-
-/***/ }),
-
 /***/ "QMMT":
 /***/ (function(module, exports, __webpack_require__) {

@@ -1340,59 +1436,88 @@ module.exports = {

 /***/ }),

-/***/ "Wziy":
+/***/ "XJU/":
+/***/ (function(module, exports, __webpack_require__) {
+
+var hide = __webpack_require__("NegM");
+module.exports = function (target, src, safe) {
+  for (var key in src) {
+    if (safe && target[key]) target[key] = src[key];
+    else hide(target, key, src[key]);
+  } return target;
+};
+
+
+/***/ }),
+
+/***/ "Xuae":
 /***/ (function(module, exports, __webpack_require__) {

 "use strict";

-var _Object$defineProperty = __webpack_require__("hfKm");
+var _Set = __webpack_require__("ttDY");

-var __importDefault = this && this.__importDefault || function (mod) {
-  return mod && mod.__esModule ? mod : {
-    "default": mod
-  };
-};
+var _Object$defineProperty = __webpack_require__("hfKm");

 _Object$defineProperty(exports, "__esModule", {
   value: true
 });

-const react_1 = __importDefault(__webpack_require__("q1tI"));
+const react_1 = __webpack_require__("q1tI");

-const amp_context_1 = __webpack_require__("3JuP");
+const isServer = false;

-function isInAmpMode() {
-  let {
-    ampFirst = false,
-    hybrid = false,
-    hasQuery = false
-  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
-  return ampFirst || hybrid && hasQuery;
-}
+exports.default = () => {
+  const mountedInstances = new _Set();
+  let state;

-exports.isInAmpMode = isInAmpMode;
+  function emitChange(component) {
+    state = component.props.reduceComponentsToState([...mountedInstances], component.props);

-function useAmp() {
-  // Don't assign the context value to a variable to save bytes
-  return isInAmpMode(react_1.default.useContext(amp_context_1.AmpStateContext));
-}
+    if (component.props.handleStateChange) {
+      component.props.handleStateChange(state);
+    }
+  }

-exports.useAmp = useAmp;
+  return class extends react_1.Component {
+    // Used when server rendering
+    static rewind() {
+      const recordedState = state;
+      state = undefined;
+      mountedInstances.clear();
+      return recordedState;
+    }

-/***/ }),
+    constructor(props) {
+      super(props);

-/***/ "XJU/":
-/***/ (function(module, exports, __webpack_require__) {
+      if (isServer) {
+        mountedInstances.add(this);
+        emitChange(this);
+      }
+    }

-var hide = __webpack_require__("NegM");
-module.exports = function (target, src, safe) {
-  for (var key in src) {
-    if (safe && target[key]) target[key] = src[key];
-    else hide(target, key, src[key]);
-  } return target;
-};
+    componentDidMount() {
+      mountedInstances.add(this);
+      emitChange(this);
+    }
+
+    componentDidUpdate() {
+      emitChange(this);
+    }
+
+    componentWillUnmount() {
+      mountedInstances.delete(this);
+      emitChange(this);
+    }

+    render() {
+      return null;
+    }
+
+  };
+};

 /***/ }),

@@ -1729,162 +1854,29 @@ module.exports = __webpack_require__("NegM");

 /***/ }),

-/***/ "m/Pd":
+/***/ "lwAK":
 /***/ (function(module, exports, __webpack_require__) {

 "use strict";

-var _Set = __webpack_require__("ttDY");
-
 var _Object$defineProperty = __webpack_require__("hfKm");

-var __importDefault = this && this.__importDefault || function (mod) {
-  return mod && mod.__esModule ? mod : {
-    "default": mod
-  };
+var __importStar = this && this.__importStar || function (mod) {
+  if (mod && mod.__esModule) return mod;
+  var result = {};
+  if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+  result["default"] = mod;
+  return result;
 };

 _Object$defineProperty(exports, "__esModule", {
   value: true
 });

-const react_1 = __importDefault(__webpack_require__("q1tI"));
-
-const side_effect_1 = __importDefault(__webpack_require__("4hZ1"));
-
-const amp_context_1 = __webpack_require__("3JuP");
-
-const head_manager_context_1 = __webpack_require__("IClC");
-
-const amp_1 = __webpack_require__("Wziy");
-
-function defaultHead() {
-  let inAmpMode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-  const head = [react_1.default.createElement("meta", {
-    key: "charSet",
-    charSet: "utf-8"
-  })];
-
-  if (!inAmpMode) {
-    head.push(react_1.default.createElement("meta", {
-      key: "viewport",
-      name: "viewport",
-      content: "width=device-width,minimum-scale=1,initial-scale=1"
-    }));
-  }
-
-  return head;
-}
-
-exports.defaultHead = defaultHead;
-
-function onlyReactElement(list, child) {
-  // React children can be "string" or "number" in this case we ignore them for backwards compat
-  if (typeof child === 'string' || typeof child === 'number') {
-    return list;
-  } // Adds support for React.Fragment
-
-
-  if (child.type === react_1.default.Fragment) {
-    return list.concat(react_1.default.Children.toArray(child.props.children).reduce((fragmentList, fragmentChild) => {
-      if (typeof fragmentChild === 'string' || typeof fragmentChild === 'number') {
-        return fragmentList;
-      }
-
-      return fragmentList.concat(fragmentChild);
-    }, []));
-  }
-
-  return list.concat(child);
-}
-
-const METATYPES = ['name', 'httpEquiv', 'charSet', 'itemProp'];
-/*
- returns a function for filtering head child elements
- which shouldn't be duplicated, like <title/>
- Also adds support for deduplicated `key` properties
-*/
-
-function unique() {
-  const keys = new _Set();
-  const tags = new _Set();
-  const metaTypes = new _Set();
-  const metaCategories = {};
-  return h => {
-    if (h.key && typeof h.key !== 'number' && h.key.indexOf('.$') === 0) {
-      if (keys.has(h.key)) return false;
-      keys.add(h.key);
-      return true;
-    }
-
-    switch (h.type) {
-      case 'title':
-      case 'base':
-        if (tags.has(h.type)) return false;
-        tags.add(h.type);
-        break;
-
-      case 'meta':
-        for (let i = 0, len = METATYPES.length; i < len; i++) {
-          const metatype = METATYPES[i];
-          if (!h.props.hasOwnProperty(metatype)) continue;
-
-          if (metatype === 'charSet') {
-            if (metaTypes.has(metatype)) return false;
-            metaTypes.add(metatype);
-          } else {
-            const category = h.props[metatype];
-            const categories = metaCategories[metatype] || new _Set();
-            if (categories.has(category)) return false;
-            categories.add(category);
-            metaCategories[metatype] = categories;
-          }
-        }
-
-        break;
-    }
-
-    return true;
-  };
-}
-/**
- *
- * @param headElement List of multiple <Head> instances
- */
-
-
-function reduceComponents(headElements, props) {
-  return headElements.reduce((list, headElement) => {
-    const headElementChildren = react_1.default.Children.toArray(headElement.props.children);
-    return list.concat(headElementChildren);
-  }, []).reduce(onlyReactElement, []).reverse().concat(defaultHead(props.inAmpMode)).filter(unique()).reverse().map((c, i) => {
-    const key = c.key || i;
-    return react_1.default.cloneElement(c, {
-      key
-    });
-  });
-}
-
-const Effect = side_effect_1.default();
-/**
- * This component injects elements to `<head>` of your page.
- * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.
- */
-
-function Head(_ref) {
-  let {
-    children
-  } = _ref;
-  return react_1.default.createElement(amp_context_1.AmpStateContext.Consumer, null, ampState => react_1.default.createElement(head_manager_context_1.HeadManagerContext.Consumer, null, updateHead => react_1.default.createElement(Effect, {
-    reduceComponentsToState: reduceComponents,
-    handleStateChange: updateHead,
-    inAmpMode: amp_1.isInAmpMode(ampState)
-  }, children)));
-}
+const React = __importStar(__webpack_require__("q1tI"));

-Head.rewind = Effect.rewind;
-exports.default = Head;
+exports.AmpStateContext = React.createContext({});

 /***/ }),
```

Diff for hooks.module.js

```diff
@@ -133,9 +133,9 @@ module.exports = shouldUseNative() ? Object.assign : function (target, source) {

     (window.__NEXT_P=window.__NEXT_P||[]).push(["/hooks", function() {
-      var page = __webpack_require__("+MDD")
+      var mod = __webpack_require__("+MDD")
       if(false) {}
-      return { page: page.default || page }
+      return mod
     }]);
```

Diff for index.module.js

```diff
@@ -18,9 +18,9 @@ Page.getInitialProps = () => ({});

     (window.__NEXT_P=window.__NEXT_P||[]).push(["/", function() {
-      var page = __webpack_require__("RNiq")
+      var mod = __webpack_require__("RNiq")
       if(false) {}
-      return { page: page.default || page }
+      return mod
     }]);
```

Diff for link.module.js

```diff
@@ -225,9 +225,9 @@ module.exports = function (TYPE, $create) {

     (window.__NEXT_P=window.__NEXT_P||[]).push(["/link", function() {
-      var page = __webpack_require__("ObF3")
+      var mod = __webpack_require__("ObF3")
       if(false) {}
-      return { page: page.default || page }
+      return mod
     }]);

@@ -483,9 +483,9 @@ var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));

 var _router = _interopRequireDefault(__webpack_require__("nOHt"));

-var _rewriteUrlForExport = __webpack_require__("KA3u");
+var _rewriteUrlForExport = __webpack_require__("P5f7");

-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 /* global __NEXT_DATA__ */

@@ -560,7 +560,12 @@ const listenToIntersections = (el, cb) => {
   observer.observe(el);
   listeners.set(el, cb);
   return () => {
-    observer.unobserve(el);
+    try {
+      observer.unobserve(el);
+    } catch (err) {
+      console.error(err);
+    }
+
     listeners.delete(el);
   };
 };
```

Diff for routerDirect.module.js

```diff
@@ -5,9 +5,9 @@

     (window.__NEXT_P=window.__NEXT_P||[]).push(["/routerDirect", function() {
-      var page = __webpack_require__("jSAA")
+      var mod = __webpack_require__("jSAA")
       if(false) {}
-      return { page: page.default || page }
+      return mod
     }]);
```

Diff for withRouter.module.js

```diff
@@ -28,9 +28,9 @@ useWithRouter.getInitialProps = () => ({});

     (window.__NEXT_P=window.__NEXT_P||[]).push(["/withRouter", function() {
-      var page = __webpack_require__("0Hlz")
+      var mod = __webpack_require__("0Hlz")
       if(false) {}
-      return { page: page.default || page }
+      return mod
     }]);
```

Diff for index.html

```diff
@@ -12,11 +12,11 @@
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-9c0b8b62a2fb27af35b2.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-ccba344da67b06a6527d.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/3gA8Op0wh1CqAJhwpZJvmxirMfQ=.72ab6ea1ebeafbd8c735.module.js"
+        <link rel="preload" href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.b5ebf6f8ef4730ac0f13.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/BUILD_ID/_buildManifest.module.js"
         as="script" crossorigin="anonymous" />
@@ -43,19 +43,19 @@
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-97617d800ec2b207a20a.js"
+        <script src="/_next/static/runtime/main-643d108d1fc47f0c1cf9.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-9c0b8b62a2fb27af35b2.module.js"
+        <script src="/_next/static/runtime/main-ccba344da67b06a6527d.module.js"
         async="" crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.js"
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/SVLdzYjnGF5myc9A4thIt+JFXQ=.155621535702fe040780.js"
+        <script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.155621535702fe040780.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/3gA8Op0wh1CqAJhwpZJvmxirMfQ=.8fdf0fc98410dae9bfd2.js"
+        <script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.01cc4f1e34fde13f4eb9.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/3gA8Op0wh1CqAJhwpZJvmxirMfQ=.72ab6ea1ebeafbd8c735.module.js"
+        <script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.b5ebf6f8ef4730ac0f13.module.js"
         async="" crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/BUILD_ID/_buildManifest.js" async=""
         crossorigin="anonymous" nomodule=""></script>
```

Diff for link.html

```diff
@@ -14,9 +14,9 @@
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/3gA8Op0wh1CqAJhwpZJvmxirMfQ=.72ab6ea1ebeafbd8c735.module.js"
+        <link rel="preload" href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.b5ebf6f8ef4730ac0f13.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-9c0b8b62a2fb27af35b2.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-ccba344da67b06a6527d.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/BUILD_ID/_buildManifest.module.js"
         as="script" crossorigin="anonymous" />
@@ -50,15 +50,15 @@
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/SVLdzYjnGF5myc9A4thIt+JFXQ=.155621535702fe040780.js"
+        <script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.155621535702fe040780.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/3gA8Op0wh1CqAJhwpZJvmxirMfQ=.8fdf0fc98410dae9bfd2.js"
+        <script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.01cc4f1e34fde13f4eb9.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/3gA8Op0wh1CqAJhwpZJvmxirMfQ=.72ab6ea1ebeafbd8c735.module.js"
+        <script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.b5ebf6f8ef4730ac0f13.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-97617d800ec2b207a20a.js"
+        <script src="/_next/static/runtime/main-643d108d1fc47f0c1cf9.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-9c0b8b62a2fb27af35b2.module.js"
+        <script src="/_next/static/runtime/main-ccba344da67b06a6527d.module.js"
         async="" crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/BUILD_ID/_buildManifest.js" async=""
         crossorigin="anonymous" nomodule=""></script>
```

Diff for withRouter.html

```diff
@@ -14,9 +14,9 @@
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/3gA8Op0wh1CqAJhwpZJvmxirMfQ=.72ab6ea1ebeafbd8c735.module.js"
+        <link rel="preload" href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.b5ebf6f8ef4730ac0f13.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-9c0b8b62a2fb27af35b2.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-ccba344da67b06a6527d.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/BUILD_ID/_buildManifest.module.js"
         as="script" crossorigin="anonymous" />
@@ -48,15 +48,15 @@
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/SVLdzYjnGF5myc9A4thIt+JFXQ=.155621535702fe040780.js"
+        <script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.155621535702fe040780.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/3gA8Op0wh1CqAJhwpZJvmxirMfQ=.8fdf0fc98410dae9bfd2.js"
+        <script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.01cc4f1e34fde13f4eb9.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/3gA8Op0wh1CqAJhwpZJvmxirMfQ=.72ab6ea1ebeafbd8c735.module.js"
+        <script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.b5ebf6f8ef4730ac0f13.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-97617d800ec2b207a20a.js"
+        <script src="/_next/static/runtime/main-643d108d1fc47f0c1cf9.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-9c0b8b62a2fb27af35b2.module.js"
+        <script src="/_next/static/runtime/main-ccba344da67b06a6527d.module.js"
         async="" crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/BUILD_ID/_buildManifest.js" async=""
         crossorigin="anonymous" nomodule=""></script>
```

Serverless Mode (Increase detected ⚠)

General Overall increase ⚠

|  | zeit/next.js canary | zeit/next.js refs/tags/v9.0.6-canary.7 | Change |
| - | - | - | - |
| buildDuration | 15.8s | 15.8s | ⚠ +40ms |
| nodeModulesSize | 41.5 MB | 42 MB | ⚠ +446 kB |

Client Bundles (main, webpack, commons) Overall increase ⚠

|  | zeit/next.js canary | zeit/next.js refs/tags/v9.0.6-canary.7 | Change |
| - | - | - | - |
| main-HASH.js | 18.1 kB | 18.2 kB | ⚠ +58 B |
| main-HASH.js gzip | 6.64 kB | 6.65 kB | ⚠ +6 B |
| webpack-HASH.js | 1.53 kB | 1.53 kB | ✓ |
| webpack-HASH.js gzip | 746 B | 746 B | ✓ |
| 3gA8Op0wh1Cq..f91025da7.js | 43 kB | N/A | N/A |
| 3gA8Op0wh1Cq..5da7.js gzip | 15.4 kB | N/A | N/A |
| framework.5b..dbaff70d3.js | 125 kB | 125 kB | ✓ |
| framework.5b..70d3.js gzip | 39.4 kB | 39.4 kB | ✓ |
| SVLdzYjnGF5m..2b8407376.js | 21.9 kB | N/A | N/A |
| SVLdzYjnGF5m..7376.js gzip | 7.81 kB | N/A | N/A |
| 4952ddcd88e7..2b8407376.js | N/A | 21.9 kB | N/A |
| 4952ddcd88e7..7376.js gzip | N/A | 7.81 kB | N/A |
| de003c3a9d30..3fa59b1f5.js | N/A | 43.1 kB | N/A |
| de003c3a9d30..b1f5.js gzip | N/A | 15.5 kB | N/A |
| Overall change | 210 kB | 210 kB | ⚠ +58 B |

Client Bundles (main, webpack, commons) Modern Overall increase ⚠

|  | zeit/next.js canary | zeit/next.js refs/tags/v9.0.6-canary.7 | Change |
| - | - | - | - |
| main-HASH.module.js | 16.5 kB | 16.5 kB | ⚠ +46 B |
| main-HASH.module.js gzip | 6.37 kB | 6.39 kB | ⚠ +18 B |
| webpack-HASH.module.js | 1.53 kB | 1.53 kB | ✓ |
| webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
| 3gA8Op0wh1Cq..ed.module.js | 45.4 kB | N/A | N/A |
| 3gA8Op0wh1Cq..dule.js gzip | 16.4 kB | N/A | N/A |
| framework.5b..d3.module.js | 125 kB | 125 kB | ✓ |
| framework.5b..dule.js gzip | 39.4 kB | 39.4 kB | ✓ |
| de003c3a9d30..4b.module.js | N/A | 45.5 kB | N/A |
| de003c3a9d30..dule.js gzip | N/A | 16.5 kB | N/A |
| Overall change | 189 kB | 189 kB | ⚠ +46 B |

Client Pages Overall decrease ✓

|  | zeit/next.js canary | zeit/next.js refs/tags/v9.0.6-canary.7 | Change |
| - | - | - | - |
| _app.js | 1.83 kB | 1.81 kB | -25 B |
| _app.js gzip | 884 B | 873 B | -11 B |
| _error.js | 12.1 kB | 12 kB | -69 B |
| _error.js gzip | 4.76 kB | 4.73 kB | -27 B |
| hooks.js | 12.7 kB | 12.7 kB | -25 B |
| hooks.js gzip | 4.81 kB | 4.79 kB | -16 B |
| index.js | 343 B | 318 B | -25 B |
| index.js gzip | 237 B | 222 B | -15 B |
| link.js | 8.14 kB | 8.14 kB | ⚠ +5 B |
| link.js gzip | 3.49 kB | 3.5 kB | ⚠ +5 B |
| routerDirect.js | 433 B | 408 B | -25 B |
| routerDirect.js gzip | 296 B | 281 B | -15 B |
| withRouter.js | 444 B | 419 B | -25 B |
| withRouter.js gzip | 294 B | 280 B | -14 B |
| Overall change | 36 kB | 35.8 kB | -189 B |

Client Pages Modern Overall decrease ✓

|  | zeit/next.js canary | zeit/next.js refs/tags/v9.0.6-canary.7 | Change |
| - | - | - | - |
| _app.module.js | 1.73 kB | 1.7 kB | -25 B |
| _app.module.js gzip | 840 B | 832 B | -8 B |
| _error.module.js | 23.3 kB | 23.3 kB | -69 B |
| _error.module.js gzip | 8.62 kB | 8.59 kB | -31 B |
| hooks.module.js | 1.55 kB | 1.52 kB | -25 B |
| hooks.module.js gzip | 804 B | 793 B | -11 B |
| index.module.js | 319 B | 294 B | -25 B |
| index.module.js gzip | 238 B | 223 B | -15 B |
| link.module.js | 8.52 kB | 8.53 kB | ⚠ +5 B |
| link.module.js gzip | 3.68 kB | 3.68 kB | ⚠ +5 B |
| routerDirect.module.js | 419 B | 394 B | -25 B |
| routerDirect..dule.js gzip | 294 B | 281 B | -13 B |
| withRouter.module.js | 429 B | 404 B | -25 B |
| withRouter.m..dule.js gzip | 293 B | 278 B | -15 B |
| Overall change | 36.3 kB | 36.1 kB | -189 B |

Client Build Manifests

|  | zeit/next.js canary | zeit/next.js refs/tags/v9.0.6-canary.7 | Change |
| - | - | - | - |
| _buildManifest.js | 81 B | 81 B | ✓ |
| _buildManifest.js gzip | 61 B | 61 B | ✓ |
| _buildManifest.module.js | 81 B | 81 B | ✓ |
| _buildManife..dule.js gzip | 61 B | 61 B | ✓ |
| Overall change | 162 B | 162 B | ✓ |

Serverless bundles Overall increase ⚠

|  | zeit/next.js canary | zeit/next.js refs/tags/v9.0.6-canary.7 | Change |
| - | - | - | - |
| _error.js | 247 kB | 248 kB | ⚠ +557 B |
| _error.js gzip | 66.4 kB | 66.3 kB | -116 B |
| hooks.html | 3.68 kB | 3.75 kB | ⚠ +67 B |
| hooks.html gzip | 969 B | 979 B | ⚠ +10 B |
| index.js | 248 kB | 248 kB | ⚠ +517 B |
| index.js gzip | 66.5 kB | 66.6 kB | ⚠ +71 B |
| link.js | 255 kB | 256 kB | ⚠ +582 B |
| link.js gzip | 68.8 kB | 68.6 kB | -191 B |
| routerDirect.js | 248 kB | 249 kB | ⚠ +517 B |
| routerDirect.js gzip | 66.6 kB | 66.6 kB | ⚠ +17 B |
| withRouter.js | 248 kB | 249 kB | ⚠ +517 B |
| withRouter.js gzip | 66.6 kB | 66.7 kB | ⚠ +113 B |
| Overall change | 1.25 MB | 1.25 MB | ⚠ +2.76 kB |


![Screenshot_20190917-225748](https://user-images.githubusercontent.com/3524740/65064729-a783be80-d99e-11e9-874d-fedc5074c72d.jpg)
Idk y this got picked successfully but it is already included in the branch, was removed in force push. Yus we ain't compiling it yet.


CAROS AMIGOS : O BLOCKCHAIN ESTA  AO SERVICO DO CRYPTO LAB BRAUSER ,,,todavia , EU PRETENDO QUE OS MEUS GANHOS SSEJAM TRANSFERIDOS NA MOEADA DE CRIPTOGRAFIS , PARA O NEXO BANKING , E COM A CONTA EM MEU NOME , JOSE SAMPAIO, C/ MORADA NA AV.FRANCISCO SA CARNEIRO , 120-1º.ESQ. 5070-013 ALIJO - VILA REAL .


1 Задание
2  Задание
3 Задание
4 Задание


лучше сделать отдельную функцию bool checkBallsColiision() которая говорит столкнулись ли 2 шара заданных размеров с такими то координатами или нет.
Делать радиус шара отрицательным - эт костыль) Намного лучше и логичнее - сделать для шара свойство isVisible и в зависимости от него вызывать drawBall в соответствующем месте или нет


Bruh thats lit


это лучше определить в функцию которая относится к логике игры - проверяет закончилась ли игра или нет и закончилась ли успешно


TeamCity Bvcms / Build [Build 2134](https://builds.tpsdb.com/viewLog.html?buildId=8567&buildTypeId=Bvcms_Build) is now running


TeamCity Bvcms / Build [Build 2133](https://builds.tpsdb.com/viewLog.html?buildId=8566&buildTypeId=Bvcms_Build) outcome was **SUCCESS**
Summary: Tests passed: 97 Build time: 00:20:54


@waratuman this commit breaks Knopi, getting this in knopi console:

```[bf86ed11f0c4404096fab13ea53bca28]   Rendering sessions/show.jbuilder
[bf86ed11f0c4404096fab13ea53bca28]   Rendered /usr/local/lib/ruby/gems/2.6.0/bundler/gems/standardapi-366d62bf6a07/lib/standard_api/views/application/_record.json.jbuilder (Duration: 2.3ms | Allocations: 1851)
[bf86ed11f0c4404096fab13ea53bca28]   Rendered sessions/_session.jbuilder (Duration: 3.1ms | Allocations: 2292)
[bf86ed11f0c4404096fab13ea53bca28]   Rendered sessions/show.jbuilder (Duration: 3.8ms | Allocations: 2700)
Completed 500 Internal Server Error in 88ms (ActiveRecord: 9.3ms | Allocations: 29491)

ActionView::Template::Error (undefined method `model_name' for nil:NilClass):
    4:   json.set! name, value
    5: end
    6:
    7: includes.each do |inc, subinc|
    8:   next if ["limit", "offset", "order", "when", "where"].include?(inc)
    9:
   10:   case association = record.class.reflect_on_association(inc)

app/views/sessions/_session.jbuilder:6
app/views/sessions/_session.jbuilder:5
app/views/sessions/show.jbuilder:1
app/controllers/sessions_controller.rb:28:in `current'
app/controllers/application_controller.rb:236:in `block in set_context'
app/controllers/application_controller.rb:235:in `set_context'```


Successfully aliased the URL <https://basistov-ag-8bqre9ajt.now.sh> to the following aliases:

* https://basistov-ag.now.sh
* https://basistov.ru
* https://www.basistov.ru
* https://basistov.su
* https://www.basistov.su
* https://basistov-ag.extracat.now.sh
* https://basistov-ag-git-master.extracat.now.sh


1. каждый вызов Detail.values() создает копию массива, у тебя в цикле на каждой итерации 2 раза идет запрос
2. new Random() то же самое, достаточно синглтона на все приложение


Successfully aliased the URL <https://nextjs-json-api-route-9txc52xbr.now.sh> to the following aliases:

* https://nextjs-json-api-route.now.sh
* https://nextjs-json-api-route.developerayo.now.sh
* https://nextjs-json-api-route-git-master.developerayo.now.sh


Successfully aliased the URL <https://aremycolorsaccessible-oir6mwycn.now.sh> to the following aliases:

* https://aremycoloursaccessible.com
* https://aremycolorsaccessible.com
* https://www.aremycolorsaccessible.com
* https://www.aremycoloursaccessible.com
* https://aremycolorsaccessible.sitaggart.now.sh
* https://aremycolorsaccessible-git-master.sitaggart.now.sh


The following doc(s) have been deployed to the [sitemap](https://sitemap-static-docs.pantheonsite.io/docs) Multidev environment:
- [gatsby/gatsby-config.js](https://github.com/pantheon-systems/documentation/commit/8c46c77c9182e3f8f408afcfeb9fbb24f0867488/gatsby/gatsby-config.js)
- [gatsby/package.json](https://github.com/pantheon-systems/documentation/commit/8c46c77c9182e3f8f408afcfeb9fbb24f0867488/gatsby/package.json)
- [gatsby/src/pages/index.js](https://github.com/pantheon-systems/documentation/commit/81b242089119aa705a2d450b1076ca4ab024179e/gatsby/src/pages/index.js)


Glup! Vou fazer sim... Aluno que não le o exercício direito...
Na realidade ainda não retomei a lista...

De: "Emerson Mello" <notifications@github.com>
Para: "ifsc-classroom/lista-01-eraldoss" <lista-01-eraldoss@noreply.github.com>
Cc: "eraldoss" <eraldo@ifsc.edu.br>, "Mention" <mention@noreply.github.com>
Enviadas: Terça-feira, 17 de setembro de 2019 10:15:50
Assunto: Re: [ifsc-classroom/lista-01-eraldoss] "Exercício 02 concluído - v2" (88b5c15)

Olá @eraldoss ,

Aqui eu havia solicitado que as disciplinas fossem colocadas como listas na numeradas. Você colocou como título 2 😂

Que tal corrigir esse documento? 😉

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub , or mute the thread .


Just as heads up, this is showing for MC (not calling it PG anymore :-P )
![image](https://user-images.githubusercontent.com/9310914/65065358-47fec200-d950-11e9-90b2-708d5f34cf3a.png)


не выводят на консоль ошибки таким образом, либо пробрасывают, либо логируют, либо пиши уж стек трейс


не совсем понятна логика, почему я должен ждать после получения детали


mhitm.c edits were code cleanup when poking around in there - unrelated to invent.c


те же замечания, что и в конструкторе


private


<details>

<summary>Submitting the task to Taskcluster failed. Details</summary>

Schema Validation Failed!
Rejecting Schema: https://schemas.taskcluster.net/queue/v1/create-task-request.json#
Errors:
  * data.metadata.owner should match format "email"

---

* method:     createTask
* errorCode:  InputValidationError
* statusCode: 400
* time:       2019-09-17T17:38:44.918Z

</details>


<details>

<summary>Submitting the task to Taskcluster failed. Details</summary>

Schema Validation Failed!
Rejecting Schema: https://schemas.taskcluster.net/queue/v1/create-task-request.json#
Errors:
  * data.metadata.owner should match format "email"

---

* method:     createTask
* errorCode:  InputValidationError
* statusCode: 400
* time:       2019-09-17T17:38:45.536Z

</details>


<details>

<summary>Submitting the task to Taskcluster failed. Details</summary>

Schema Validation Failed!
Rejecting Schema: https://schemas.taskcluster.net/queue/v1/create-task-request.json#
Errors:
  * data.metadata.owner should match format "email"

---

* method:     createTask
* errorCode:  InputValidationError
* statusCode: 400
* time:       2019-09-17T17:38:46.070Z

</details>


Successfully aliased the URL <https://website-3ilhyjqvs.now.sh> to the following aliases:

* https://keplersj.com
* https://website.keplersj.now.sh
* https://website-git-master.keplersj.now.sh


вообще нет смысла в такое проверке, он и так спит у тебя на каждой итерации и там упадет исключение, если его кто-то прервет


слишком много магический цифр


TeamCity Bvcms / Build [Build 2134](https://builds.tpsdb.com/viewLog.html?buildId=8567&buildTypeId=Bvcms_Build) outcome was **FAILURE**
Summary: Compilation error: CmsWeb\CMSWeb.csproj (new) Build time: 00:03:58


Issue6939 (dareumnam) - x86_64-Linux-Ubuntu-18.04-gcc-7.4-IntegrationCoverage-Debug: OK (673 of 673 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-warnings-yellow.png) ![Test Badge](http://img.shields.io/badge/tests%20passed-100.0%25-green.png) ![Coverage Badge](http://img.shields.io/badge/coverage%20status-68.43%25-green.png)


почему 1001? Слишком долго спит, тут не проверишь многопоточку и проблему за общие ресурсы. Более того, должен спать ровно до начала ночи. А здесь даже близко он не так делает


то же самое с ошибками


Successfully aliased the URL <https://bullet-train-homepage-8gj7lrg0g.now.sh> to the following aliases:

* https://bullet-train-homepage.solid-state-group.now.sh
* https://bullet-train-homepage-git-master.solid-state-group.now.sh


Hi! This is the friendly automated conda-forge-webservice.

I updated the Github team because of this commit.

- @nobreconfrade was added to conda-forge. Welcome to conda-forge!
  Go to https://github.com/orgs/conda-forge/invitation see your invitation.

- @nicoddemus, @lincrosenbach were added to this feedstock maintenance team.

You should get push access to this feedstock and CI services.

Feel free to join the community [chat room](https://gitter.im/conda-forge/conda-forge.github.io).

NOTE: Please make sure to not push to the repository directly.
      Use branches in your fork for any changes and send a PR.
      More details [here](https://conda-forge.org/docs/maintainer/updating_pkgs.html#forking-and-pull-requests)


должен ровно 100 ночей собирать, а не за временем следить, это не верно


Successfully aliased the URL <https://bullet-train-homepage-51znk4qkz.now.sh> to the following aliases:

* https://bullet-train-homepage.solid-state-group.now.sh
* https://bullet-train-homepage-git-master.solid-state-group.now.sh


1. почему по одной детали собираю потом опять отпускаю монитор объекта? Так он может вечно собирать детали не дождавшись второго захода. Поэтому нужно использовать синхронизацию на уровне блока, а не метода
2. опять магические числа 4
3. по заданию он рандомное кол-во собирает, а не строго 4


Successfully aliased the URL <https://nextjs-bgzhdvcg9.now.sh> to the following aliases:

* https://trilino.com
* https://test.trilino.com
* https://nextjs.jovansutic.now.sh
* https://nextjs-git-master.jovansutic.now.sh


слишком большой метод, упрощай или разбивай на отдельные методы


список очередей? Странно чет


Successfully aliased the URL <https://kistauri-j8xaikkl7.now.sh> to the following aliases:

* https://davidkistauri.ru
* https://kistauri.dtroode.now.sh
* https://kistauri-git-master.dtroode.now.sh


You should use `false`


плохое название переменной из одной буквы, давай хорошие названия


очень большая вложенность, так нельзя писать


почему не foreach?


очень сложно написана простая логика


TeamCity Bvcms / Build [Build 2135](https://builds.tpsdb.com/viewLog.html?buildId=8570&buildTypeId=Bvcms_Build) is now running


почему опущены дженерики? Нельзя опускать


## New strings
- `GUILD_SETTINGS_AUDIT_LOG_GUILD_PREFERRED_LOCALE_CHANGE: "Set the preferred locale to **!!{newValue}!!**"`
- `GIFT_CODE_CANNOT_ACCEPT_BODY_IOS: "Sorry, you cannot accept your own gift on iOS."`


не за чем делать отступ в первой строчке метода


а где статистика по тому, кто победил? Надо же было дождаться окончания соревнования и потом вывести статистику


Accepts positive and negative values, 0x0 hex format and octal


This was it !! Thankx !


Successfully aliased the URL <https://demodapp01-dlttrs04m.now.sh> to the following aliases:

* https://demodapp01.devcmontgomery.now.sh
* https://demodapp01-git-master.devcmontgomery.now.sh


<details>

<summary>Submitting the task to Taskcluster failed. Details</summary>

Schema Validation Failed!
Rejecting Schema: https://schemas.taskcluster.net/queue/v1/create-task-request.json#
Errors:
  * data.metadata.owner should match format "email"

---

* method:     createTask
* errorCode:  InputValidationError
* statusCode: 400
* time:       2019-09-17T17:48:54.565Z

</details>


OK. More details of functional requirements must be explained in next Project Requirements Document.


cache-psy (energy-plus) - x86_64-Linux-Ubuntu-18.04-gcc-7.4-UnitTestsCoverage-Debug: OK (1217 of 1217 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.png) ![Test Badge](http://img.shields.io/badge/tests%20passed-100.0%25-green.png) ![Coverage Badge](http://img.shields.io/badge/coverage%20status-43.14%25-green.png)


External Interface Requirements : UI


<details>

<summary>Submitting the task to Taskcluster failed. Details</summary>

Schema Validation Failed!
Rejecting Schema: https://schemas.taskcluster.net/queue/v1/create-task-request.json#
Errors:
  * data.metadata.owner should match format "email"

---

* method:     createTask
* errorCode:  InputValidationError
* statusCode: 400
* time:       2019-09-17T17:49:54.040Z

</details>


### Pull Request preview:

https://postwoman-3dd454f91ba716da06ca2fba8d85294c88c6c95a.surge.sh

### Tests (e2e)
#### Results

| Decription    | Results                     |
| :-------------- | ------------------------: |
| Test duration   | 25283   |
| Total tests     | 11      |
| Failed          | 0     |
| Passed          | 11     |
| Pending         | 0    |
| Skipped         | 0    |

#### Spec

| Spec | Tests | Passing | Failing | Pending | Skipped |
| :--- | ----: | ------: | ------: | ------: | ------: |
| 0_starter.js | 1 | 1 | 0 | 0 | 0 |
| url_queries.js | 10 | 10 | 0 | 0 | 0 |

#### Complete log
https://travis-ci.com/yubathom/postwoman/builds/586174513

>Run locally: __npm run dev:e2e__

>Create and edit tests at: __/tests/e2e/integrations/__


Successfully aliased the URL <https://website-7wvtw8p75.now.sh> to the following aliases:

* https://keplersj.com
* https://website.keplersj.now.sh
* https://website-git-master.keplersj.now.sh


Closes Issue #1


@JuliaRegistrator `register()`


Replying from aerc


Registration pull request created: [JuliaRegistries/General/3603](https://github.com/JuliaRegistries/General/pull/3603)

After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.

This will be done automatically if [Julia TagBot](https://github.com/apps/julia-tagbot) is installed, or can be done manually through the github interface, or via:
```
git tag -a v1.1.0 -m "<description of version>" c06933f29bae2fc15ac7f3deb58da6d0fdaacf66
git push origin v1.1.0
```


Successfully aliased the URL <https://phase-ten-scorer-nextjs-i1dy9er37.now.sh> to the following aliases:

* https://phase-ten-scorer-nextjs.barrymay.now.sh
* https://phase-ten-scorer-nextjs-git-master.barrymay.now.sh


Still I should handle such a case now I know it exists (sending NG's and Acking old way)


change


Use `assertThrows(IOException.class, () -> methodUnderTest)` instead of relying on the `expected` property


@JuliaPOMDPRegistrator register()


That does fix it.  Why do we use these bleeding edge libraries?

```
............................................________
....................................,.-'"...................``~.,
.............................,.-"..................................."-.,
.........................,/...............................................":,
.....................,?......................................................,
.................../...........................................................,}
................./......................................................,:`^`..}
.............../...................................................,:"........./
..............?.....__.........................................:`.........../
............./__.(....."~-,_..............................,:`........../
.........../(_...."~,_........"~,_....................,:`........_/
..........{.._$;_......"=,_......."-,_.......,.-~-,},.~";/....}
...........((.....*~_......."=-._......";,,./`..../"............../
...,,,___.`~,......"~.,....................`.....}............../
............(....`=-,,.......`........................(......;_,,-"
............/.`~,......`-...................................../
.............`~.*-,.....................................|,./.....,__
,,_..........}.>-._...................................|..............`=~-,
.....`=~-,__......`,.................................
...................`=~-,,.,...............................
................................`:,,...........................`..............__
.....................................`=-,...................,%`>--==``
........................................_..........._,-%.......`
...................................,
```


Este comentario lo inserto desde Git


Successfully aliased the URL <https://lris-xn3lijrpq.now.sh> to the following aliases:

* https://lris.now.sh
* https://lris.retronbv.now.sh
* https://lris-git-master.retronbv.now.sh


@JuliaRegistrator register


Registration pull request created: [JuliaRegistries/General/3604](https://github.com/JuliaRegistries/General/pull/3604)

After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.

This will be done automatically if [Julia TagBot](https://github.com/apps/julia-tagbot) is installed, or can be done manually through the github interface, or via:
```
git tag -a v0.2.1 -m "<description of version>" 747400aa129eddcdaf169cd522f82f59a469f89b
git push origin v0.2.1
```


j'ai de l'indentation qui a sauté!!


Added Two Lines of Code


Successfully aliased the URL <https://lris-icsl64ls2.now.sh> to the following aliases:

* https://lris.now.sh
* https://lris.retronbv.now.sh
* https://lris-git-master.retronbv.now.sh


We can remove small radius variable it's not used anymore and instead button radius from upstream


Successfully aliased the URL <https://jsconf-87py8pr51.now.sh> to the following aliases:

* https://jsconf.stiwarasprilla.now.sh
* https://jsconf-git-master.stiwarasprilla.now.sh


Successfully aliased the URL <https://bullet-train-homepage-v366degrs.now.sh> to the following aliases:

* https://bullet-train-homepage.solid-state-group.now.sh
* https://bullet-train-homepage-git-master.solid-state-group.now.sh


Successfully aliased the URL <https://lris-amdtbk6xe.now.sh> to the following aliases:

* https://lris.now.sh
* https://lris.retronbv.now.sh
* https://lris-git-master.retronbv.now.sh


Successfully aliased the URL <https://portfolio-a986pdvg9.now.sh> to the following aliases:

* https://elliotmcintyre.com
* https://portfolio.ell10t.now.sh
* https://portfolio-git-master.ell10t.now.sh


### Pull Request preview:

https://postwoman-50720af3ea00ab01aa905fb0b9a6c1b0881bfb90.surge.sh

### Tests (e2e)
#### Results

| Decription    | Results                     |
| :-------------- | ------------------------: |
| Test duration   | 60525   |
| Total tests     | 11      |
| Failed          | 0     |
| Passed          | 11     |
| Pending         | 0    |
| Skipped         | 0    |

#### Spec

| Spec | Tests | Passing | Failing | Pending | Skipped |
| :--- | ----: | ------: | ------: | ------: | ------: |
| 0_starter.js | 1 | 1 | 0 | 0 | 0 |
| url_queries.js | 10 | 10 | 0 | 0 | 0 |

#### Complete log
https://travis-ci.com/yubathom/postwoman/builds/586179124 (click at __$ ./testsdeploy.sh__)

>Run locally: __npm run dev:e2e__

>Create and edit tests at: __/tests/e2e/integrations/__


Successfully aliased the URL <https://wwww-9led9y8mr.now.sh> to the following aliases:

* https://wwww.dev
* https://wwww.nanocloudx.now.sh
* https://wwww-git-master.nanocloudx.now.sh


Closes #5


For documentation purposes:
- Trailers cause crashes due to game logic in CVehicle::PreRender
- Trains can not be towed, they can only link to other trains
- Boat, Bike and BMX cause issues with the camera


hi 😂


It will not work for multiple `write` calls, I think that this should work, but we need to have unit test for this logic:
```
if (buffer.available() >= cache.position()){
```


Created multidev environment [dgreat#pr-449](https://dashboard.pantheon.io/sites/41cad7fe-472d-43a9-a470-d391b9622376#pr-449).

[![Visit Site](https://raw.githubusercontent.com/pantheon-systems/ci-drops-8/0.1.0/data/img/visit-site-36.png)](https://pr-449-dgreat.pantheonsite.io/)


Successfully aliased the URL <https://ovladnipravopiscz-ntgirihncf.now.sh> to the following alias:

* https://ovladnipravopis.cz


cg  ghchf cg


Successfully aliased the URL <https://personal-website-2-cuq0p5rbz.now.sh> to the following aliases:

* https://prestonr.xyz
* https://personal-website-2.rackofski.now.sh
* https://personal-website-2-git-master.rackofski.now.sh


xyyucxrtxtgx


fhcfhcfh


@doegox  .. this is one strange problem.   When sending NG and device responds with OLD,   Colin got a zero-length,  aka timeout? Only got the first 10 bytes.  Never got the last 534bytes.


@JuliaRegistrator register


Error while trying to register: "Project file should contain name, uuid and version"


TeamCity Bvcms / Build [Build 2135](https://builds.tpsdb.com/viewLog.html?buildId=8570&buildTypeId=Bvcms_Build) outcome was **SUCCESS**
Summary: Tests passed: 94 Build time: 00:20:11


TeamCity Bvcms / Build [Build 2136](https://builds.tpsdb.com/viewLog.html?buildId=8571&buildTypeId=Bvcms_Build) is now running


TeamCity Bvcms / Build [Build 2137](https://builds.tpsdb.com/viewLog.html?buildId=8572&buildTypeId=Bvcms_Build) is now running


TeamCity Bvcms / Build [Build 2136](https://builds.tpsdb.com/viewLog.html?buildId=8571&buildTypeId=Bvcms_Build) outcome was **UNKNOWN**
Summary: Canceled (Error while applying patch; cannot find commit a10cdef9a121b6de1ba6291f4cb68c61563f77bf in the https://bvcms-teamcity@github.com/bvcms/bvcms repository, possible reason: refs/pull/603/merge branch was updated and the commit selected for the... Build time: 00:00:07


yeah cmd and reply are completely decorrelated, we've still quite a lot of them to be converted, and the current situation is that we bulk-converted the "easy" ones. So all combinations are possible.


Where is function in_range() defined?


I am rewriting your RTL_map.c program to learn how it works.  I see you have some TODO items in the program.

I have never worked on GitHub, but have been programming for about 52 years.  So the programming is fairly simple. But I do not know how to "fork" something.  Though I downloaded your project rtl_map using GitHub Desktop.

I do not know about "commit", but I see something in the Desktop that seems to allow that.  I do not know how to post a file to the project.  I will see about that.

I don't particularly care for C, but have used it.  I have Visual Studio 2013 Professional on Windows 7 64bit Professional.  I would rather use a different C compiler, command line oriented to match the needs of most users.

I have not run this yet.  I have two RTL_SDR Blog V3, one AirSpy Discovery that won't work with anything, one Noelec.com E4000, and two generic RTL_SDR clones.  I also have a range of usb sound cards, a PicoScope, and a Behringer UMC404HD that all can be used as amplified ADCs.  The Behringer is a "audio interface" that supports 4 independent channels at 24 bit, 192 ksps.  I am working in mainly microHertz to megaHertz signals. And plan to monitor signals from 1 MHz to about 80 GHz, depending on how quickly I find downconverters.  All of them are for SDR (amplified ADCs) processing of signals.

I do not know how to send messages.  I looked for some way, but no luck so far.  I do not know if this is a public comment.

What do you need donations for?

My biggest need right now is to improve the storage and use of the data from these devices. The generations of visualizations is fine, but I am going to need a global network of devices all using the same format and conventions and algorithms, forwarding or storing the data for years. The superconducting gravimeter and seismometer networks keep data for decades.  And the magnetometer and related global arrays are going in that direction.

I want to use time-of-flight, time-of-arrival, direction-of-arrival and similar algorithms.  That means my requirement is three axis, high sampling rate devices. They need to be sampling in the Gsps region, though I have found useful applications down to 1 sps.  My goal is to have a global network of such gravimeters. But the noise in the gravimeters at the low frequencies is compounded with a large number of electromagnetic signal sources.  I am just getting a sense of what is happening with the human radio signals. I can identify and remove most of that in what I am looking for.  But I also recognize there are many people who would like to do more.  So I am going to try to clean up and improve some of the software in common use.  I am focused on calibration of the devices, the sources, and related noise - gravitational time dilation, solar system gravity, solar, ionospheric, Schumann, cosmic ray, meteor and quite a few more.

GravityNote.Org
https://hackaday.io/projects/hacker/398618
https://www.youtube.com/channel/UCaJ3voMzj3wP30oY_VTC9Yw

Richard Collins, The InternetFoundation


cache-psy (energy-plus) - x86_64-Linux-Ubuntu-18.04-cppcheck: OK (0 of 0 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.png)