Skip to content

Commit

Permalink
v11.1.3-canary.77
Browse files Browse the repository at this point in the history
  • Loading branch information
timneutkens committed Oct 16, 2021
1 parent 7e37013 commit 701fa99
Show file tree
Hide file tree
Showing 14 changed files with 20 additions and 20 deletions.
2 changes: 1 addition & 1 deletion lerna.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,5 @@
"registry": "https://registry.npmjs.org/"
}
},
"version": "11.1.3-canary.76"
"version": "11.1.3-canary.77"
}
2 changes: 1 addition & 1 deletion packages/create-next-app/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "create-next-app",
"version": "11.1.3-canary.76",
"version": "11.1.3-canary.77",
"keywords": [
"react",
"next",
Expand Down
4 changes: 2 additions & 2 deletions packages/eslint-config-next/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "eslint-config-next",
"version": "11.1.3-canary.76",
"version": "11.1.3-canary.77",
"description": "ESLint configuration used by NextJS.",
"main": "index.js",
"license": "MIT",
Expand All @@ -9,7 +9,7 @@
"directory": "packages/eslint-config-next"
},
"dependencies": {
"@next/eslint-plugin-next": "11.1.3-canary.76",
"@next/eslint-plugin-next": "11.1.3-canary.77",
"@rushstack/eslint-patch": "^1.0.6",
"@typescript-eslint/parser": "^4.20.0",
"eslint-import-resolver-node": "^0.3.4",
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-plugin-next/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/eslint-plugin-next",
"version": "11.1.3-canary.76",
"version": "11.1.3-canary.77",
"description": "ESLint plugin for NextJS.",
"main": "lib/index.js",
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion packages/next-bundle-analyzer/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/bundle-analyzer",
"version": "11.1.3-canary.76",
"version": "11.1.3-canary.77",
"main": "index.js",
"license": "MIT",
"repository": {
Expand Down
2 changes: 1 addition & 1 deletion packages/next-codemod/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/codemod",
"version": "11.1.3-canary.76",
"version": "11.1.3-canary.77",
"license": "MIT",
"dependencies": {
"chalk": "4.1.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/next-env/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/env",
"version": "11.1.3-canary.76",
"version": "11.1.3-canary.77",
"keywords": [
"react",
"next",
Expand Down
2 changes: 1 addition & 1 deletion packages/next-mdx/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/mdx",
"version": "11.1.3-canary.76",
"version": "11.1.3-canary.77",
"main": "index.js",
"license": "MIT",
"repository": {
Expand Down
2 changes: 1 addition & 1 deletion packages/next-plugin-storybook/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/plugin-storybook",
"version": "11.1.3-canary.76",
"version": "11.1.3-canary.77",
"repository": {
"url": "vercel/next.js",
"directory": "packages/next-plugin-storybook"
Expand Down
2 changes: 1 addition & 1 deletion packages/next-polyfill-module/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/polyfill-module",
"version": "11.1.3-canary.76",
"version": "11.1.3-canary.77",
"description": "A standard library polyfill for ES Modules supporting browsers (Edge 16+, Firefox 60+, Chrome 61+, Safari 10.1+)",
"main": "dist/polyfill-module.js",
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion packages/next-polyfill-nomodule/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/polyfill-nomodule",
"version": "11.1.3-canary.76",
"version": "11.1.3-canary.77",
"description": "A polyfill for non-dead, nomodule browsers.",
"main": "dist/polyfill-nomodule.js",
"license": "MIT",
Expand Down
12 changes: 6 additions & 6 deletions packages/next/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "next",
"version": "11.1.3-canary.76",
"version": "11.1.3-canary.77",
"description": "The React Framework",
"main": "./dist/server/next.js",
"license": "MIT",
Expand Down Expand Up @@ -66,10 +66,10 @@
"dependencies": {
"@babel/runtime": "7.15.4",
"@hapi/accept": "5.0.2",
"@next/env": "11.1.3-canary.76",
"@next/polyfill-module": "11.1.3-canary.76",
"@next/react-dev-overlay": "11.1.3-canary.76",
"@next/react-refresh-utils": "11.1.3-canary.76",
"@next/env": "11.1.3-canary.77",
"@next/polyfill-module": "11.1.3-canary.77",
"@next/react-dev-overlay": "11.1.3-canary.77",
"@next/react-refresh-utils": "11.1.3-canary.77",
"@node-rs/helper": "1.2.1",
"assert": "2.0.0",
"browserify-zlib": "0.2.0",
Expand Down Expand Up @@ -152,7 +152,7 @@
"@babel/traverse": "7.15.0",
"@babel/types": "7.15.0",
"@napi-rs/cli": "1.1.0",
"@next/polyfill-nomodule": "11.1.3-canary.76",
"@next/polyfill-nomodule": "11.1.3-canary.77",
"@taskr/clear": "1.1.0",
"@taskr/esnext": "1.1.0",
"@taskr/watch": "1.1.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/react-dev-overlay/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/react-dev-overlay",
"version": "11.1.3-canary.76",
"version": "11.1.3-canary.77",
"description": "A development-only overlay for developing React applications.",
"repository": {
"url": "vercel/next.js",
Expand Down
2 changes: 1 addition & 1 deletion packages/react-refresh-utils/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/react-refresh-utils",
"version": "11.1.3-canary.76",
"version": "11.1.3-canary.77",
"description": "An experimental package providing utilities for React Refresh.",
"repository": {
"url": "vercel/next.js",
Expand Down

1 comment on commit 701fa99

@ijjk
Copy link
Member

@ijjk ijjk commented on 701fa99 Oct 16, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stats from current release

Default Build (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary v11.1.2 vercel/next.js refs/heads/canary Change
buildDuration 17.4s 15.8s -1.6s
buildDurationCached 4s 3.5s -488ms
nodeModulesSize 188 MB 199 MB ⚠️ +11 MB
Page Load Tests Overall decrease ⚠️
vercel/next.js canary v11.1.2 vercel/next.js refs/heads/canary Change
/ failed reqs 0 0
/ total time (seconds) 3.405 3.934 ⚠️ +0.53
/ avg req/sec 734.16 635.43 ⚠️ -98.73
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.962 2.047 ⚠️ +0.09
/error-in-render avg req/sec 1274.45 1221.4 ⚠️ -53.05
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary v11.1.2 vercel/next.js refs/heads/canary Change
745.HASH.js gzip 179 B 179 B
framework-HASH.js gzip 42.2 kB 42.2 kB
main-HASH.js gzip 23.3 kB 25 kB ⚠️ +1.67 kB
webpack-HASH.js gzip 1.45 kB 1.49 kB ⚠️ +35 B
558.HASH.js gzip N/A 3.02 kB N/A
Overall change 67.2 kB 71.9 kB ⚠️ +4.72 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary v11.1.2 vercel/next.js refs/heads/canary Change
polyfills-a4..dd70.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages Overall increase ⚠️
vercel/next.js canary v11.1.2 vercel/next.js refs/heads/canary Change
_app-HASH.js gzip 979 B 977 B -2 B
_error-HASH.js gzip 194 B 3.11 kB ⚠️ +2.92 kB
amp-HASH.js gzip 312 B 553 B ⚠️ +241 B
css-HASH.js gzip 329 B 328 B -1 B
dynamic-HASH.js gzip 2.67 kB 2.73 kB ⚠️ +58 B
head-HASH.js gzip 351 B 2.37 kB ⚠️ +2.02 kB
hooks-HASH.js gzip 918 B 918 B
image-HASH.js gzip 4.14 kB 5.86 kB ⚠️ +1.71 kB
index-HASH.js gzip 261 B 260 B -1 B
link-HASH.js gzip 1.66 kB 1.66 kB ⚠️ +1 B
routerDirect..HASH.js gzip 318 B 320 B ⚠️ +2 B
script-HASH.js gzip 387 B 386 B -1 B
withRouter-HASH.js gzip 320 B 319 B -1 B
bb14e60e810b..30f.css gzip 125 B 125 B
Overall change 13 kB 19.9 kB ⚠️ +6.95 kB
Client Build Manifests Overall decrease ✓
vercel/next.js canary v11.1.2 vercel/next.js refs/heads/canary Change
_buildManifest.js gzip 491 B 490 B -1 B
Overall change 491 B 490 B -1 B
Rendered Page Sizes Overall decrease ✓
vercel/next.js canary v11.1.2 vercel/next.js refs/heads/canary Change
index.html gzip 540 B 538 B -2 B
link.html gzip 551 B 551 B
withRouter.html gzip 534 B 532 B -2 B
Overall change 1.63 kB 1.62 kB -4 B

Diffs

Diff for _buildManifest.js
@@ -1,33 +1,33 @@
 self.__BUILD_MANIFEST = {
   __rewrites: { beforeFiles: [], afterFiles: [], fallback: [] },
-  "/": ["static\u002Fchunks\u002Fpages\u002Findex-952afde7a0f218c22632.js"],
+  "/": ["static\u002Fchunks\u002Fpages\u002Findex-b90032992c9b33402f59.js"],
   "/_error": [
-    "static\u002Fchunks\u002Fpages\u002F_error-aca5c6cfba3e93349d16.js"
+    "static\u002Fchunks\u002Fpages\u002F_error-5fc7609ba2d7d30ff4e6.js"
   ],
-  "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-f1231d3934d9bf52872b.js"],
+  "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-6df01f9496d5b32f1b30.js"],
   "/css": [
     "static\u002Fcss\u002F59de118426c393f58653.css",
-    "static\u002Fchunks\u002Fpages\u002Fcss-93a777c5ca0488084cce.js"
+    "static\u002Fchunks\u002Fpages\u002Fcss-e5d9641a48cea07ea0d8.js"
   ],
   "/dynamic": [
-    "static\u002Fchunks\u002Fpages\u002Fdynamic-9e2274fd3ecd928533ad.js"
+    "static\u002Fchunks\u002Fpages\u002Fdynamic-5ab15ee7c2f1d7071742.js"
   ],
-  "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-1b407c3309821b5154c2.js"],
+  "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-3438f380e58241b81e3c.js"],
   "/hooks": [
-    "static\u002Fchunks\u002Fpages\u002Fhooks-f6efb8a484d4a96e150c.js"
+    "static\u002Fchunks\u002Fpages\u002Fhooks-c1f9675770bff0c63be8.js"
   ],
   "/image": [
-    "static\u002Fchunks\u002Fpages\u002Fimage-44a80ed2baebfb52799e.js"
+    "static\u002Fchunks\u002Fpages\u002Fimage-3a3f2ee26479962d56c1.js"
   ],
-  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-f62bdaa581311495bb85.js"],
+  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-962a2a330709d57cd073.js"],
   "/routerDirect": [
-    "static\u002Fchunks\u002Fpages\u002FrouterDirect-7c1b586d4417a78806e3.js"
+    "static\u002Fchunks\u002Fpages\u002FrouterDirect-0b53270e1ceea2be8c0d.js"
   ],
   "/script": [
-    "static\u002Fchunks\u002Fpages\u002Fscript-21c58b10eb53d5b2389e.js"
+    "static\u002Fchunks\u002Fpages\u002Fscript-be8bf7491d63e05f4c4d.js"
   ],
   "/withRouter": [
-    "static\u002Fchunks\u002Fpages\u002FwithRouter-072a37cc0c889cd17738.js"
+    "static\u002Fchunks\u002Fpages\u002FwithRouter-a12483804a57bd25f921.js"
   ],
   sortedPages: [
     "\u002F",
Diff for _app-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [888],
   {
-    /***/ 3857: /***/ function(
+    /***/ 6871: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -64,11 +64,11 @@
           return _utils.NextWebVitalsMetric;
         }
       });
-      exports.default = void 0;
+      exports["default"] = void 0;
 
       var _react = _interopRequireDefault(__webpack_require__(7294));
 
-      var _utils = __webpack_require__(9664);
+      var _utils = __webpack_require__(9151);
 
       function asyncGeneratorStep(
         gen,
@@ -207,7 +207,7 @@
 
       App.origGetInitialProps = appGetInitialProps;
       App.getInitialProps = appGetInitialProps;
-      exports.default = App;
+      exports["default"] = App;
 
       /***/
     },
@@ -220,9 +220,11 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/_app",
         function() {
-          return __webpack_require__(3857);
+          return __webpack_require__(6871);
         }
       ]);
+      if (false) {
+      }
 
       /***/
     }
@@ -233,7 +235,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 179], function() {
-      return __webpack_exec__(915), __webpack_exec__(4651);
+      return __webpack_exec__(915), __webpack_exec__(7356);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for _error-HASH.js
@@ -1,6 +1,863 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
-  [820],
+  [820, 558],
   {
+    /***/ 3646: /***/ function(
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      var arrayLikeToArray = __webpack_require__(7228);
+
+      function _arrayWithoutHoles(arr) {
+        if (Array.isArray(arr)) return arrayLikeToArray(arr);
+      }
+
+      module.exports = _arrayWithoutHoles;
+      (module.exports["default"] = module.exports),
+        (module.exports.__esModule = true);
+
+      /***/
+    },
+
+    /***/ 9713: /***/ function(module) {
+      function _defineProperty(obj, key, value) {
+        if (key in obj) {
+          Object.defineProperty(obj, key, {
+            value: value,
+            enumerable: true,
+            configurable: true,
+            writable: true
+          });
+        } else {
+          obj[key] = value;
+        }
+
+        return obj;
+      }
+
+      module.exports = _defineProperty;
+      (module.exports["default"] = module.exports),
+        (module.exports.__esModule = true);
+
+      /***/
+    },
+
+    /***/ 6860: /***/ function(module) {
+      function _iterableToArray(iter) {
+        if (
+          (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null) ||
+          iter["@@iterator"] != null
+        )
+          return Array.from(iter);
+      }
+
+      module.exports = _iterableToArray;
+      (module.exports["default"] = module.exports),
+        (module.exports.__esModule = true);
+
+      /***/
+    },
+
+    /***/ 8206: /***/ function(module) {
+      function _nonIterableSpread() {
+        throw new TypeError(
+          "Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."
+        );
+      }
+
+      module.exports = _nonIterableSpread;
+      (module.exports["default"] = module.exports),
+        (module.exports.__esModule = true);
+
+      /***/
+    },
+
+    /***/ 319: /***/ function(
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      var arrayWithoutHoles = __webpack_require__(3646);
+
+      var iterableToArray = __webpack_require__(6860);
+
+      var unsupportedIterableToArray = __webpack_require__(379);
+
+      var nonIterableSpread = __webpack_require__(8206);
+
+      function _toConsumableArray(arr) {
+        return (
+          arrayWithoutHoles(arr) ||
+          iterableToArray(arr) ||
+          unsupportedIterableToArray(arr) ||
+          nonIterableSpread()
+        );
+      }
+
+      module.exports = _toConsumableArray;
+      (module.exports["default"] = module.exports),
+        (module.exports.__esModule = true);
+
+      /***/
+    },
+
+    /***/ 7558: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
+
+      var _classCallCheck = __webpack_require__(4575);
+
+      var _createClass = __webpack_require__(3913);
+
+      var _inherits = __webpack_require__(2205);
+
+      var _possibleConstructorReturn = __webpack_require__(8585);
+
+      var _getPrototypeOf = __webpack_require__(9754);
+
+      function _createSuper(Derived) {
+        var hasNativeReflectConstruct = _isNativeReflectConstruct();
+        return function _createSuperInternal() {
+          var Super = _getPrototypeOf(Derived),
+            result;
+          if (hasNativeReflectConstruct) {
+            var NewTarget = _getPrototypeOf(this).constructor;
+            result = Reflect.construct(Super, arguments, NewTarget);
+          } else {
+            result = Super.apply(this, arguments);
+          }
+          return _possibleConstructorReturn(this, result);
+        };
+      }
+
+      function _isNativeReflectConstruct() {
+        if (typeof Reflect === "undefined" || !Reflect.construct) return false;
+        if (Reflect.construct.sham) return false;
+        if (typeof Proxy === "function") return true;
+        try {
+          Boolean.prototype.valueOf.call(
+            Reflect.construct(Boolean, [], function() {})
+          );
+          return true;
+        } catch (e) {
+          return false;
+        }
+      }
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
+      exports["default"] = void 0;
+
+      var _react = _interopRequireDefault(__webpack_require__(7294));
+
+      var _head = _interopRequireDefault(__webpack_require__(7006));
+
+      function _interopRequireDefault(obj) {
+        return obj && obj.__esModule
+          ? obj
+          : {
+              default: obj
+            };
+      }
+
+      var statusCodes = {
+        400: "Bad Request",
+        404: "This page could not be found",
+        405: "Method Not Allowed",
+        500: "Internal Server Error"
+      };
+
+      function _getInitialProps(_ref) {
+        var res = _ref.res,
+          err = _ref.err;
+        var statusCode =
+          res && res.statusCode ? res.statusCode : err ? err.statusCode : 404;
+        return {
+          statusCode: statusCode
+        };
+      }
+
+      var Error = /*#__PURE__*/ (function(_react$default$Compon) {
+        _inherits(Error, _react$default$Compon);
+
+        var _super = _createSuper(Error);
+
+        function Error() {
+          _classCallCheck(this, Error);
+
+          return _super.apply(this, arguments);
+        }
+
+        _createClass(Error, [
+          {
+            key: "render",
+            value: function render() {
+              var statusCode = this.props.statusCode;
+              var title =
+                this.props.title ||
+                statusCodes[statusCode] ||
+                "An unexpected error has occurred";
+              return /*#__PURE__*/ _react["default"].createElement(
+                "div",
+                {
+                  style: styles.error
+                },
+                /*#__PURE__*/ _react["default"].createElement(
+                  _head["default"],
+                  null,
+                  /*#__PURE__*/ _react["default"].createElement(
+                    "title",
+                    null,
+                    statusCode
+                      ? "".concat(statusCode, ": ").concat(title)
+                      : "Application error: a client-side exception has occurred"
+                  )
+                ),
+                /*#__PURE__*/ _react["default"].createElement(
+                  "div",
+                  null,
+                  /*#__PURE__*/ _react["default"].createElement("style", {
+                    dangerouslySetInnerHTML: {
+                      __html: "body { margin: 0 }"
+                    }
+                  }),
+                  statusCode
+                    ? /*#__PURE__*/ _react["default"].createElement(
+                        "h1",
+                        {
+                          style: styles.h1
+                        },
+                        statusCode
+                      )
+                    : null,
+                  /*#__PURE__*/ _react["default"].createElement(
+                    "div",
+                    {
+                      style: styles.desc
+                    },
+                    /*#__PURE__*/ _react["default"].createElement(
+                      "h2",
+                      {
+                        style: styles.h2
+                      },
+                      this.props.title || statusCode
+                        ? title
+                        : /*#__PURE__*/ _react["default"].createElement(
+                            _react["default"].Fragment,
+                            null,
+                            "Application error: a client-side exception has occurred (see the browser console for more information)"
+                          ),
+                      "."
+                    )
+                  )
+                )
+              );
+            }
+          }
+        ]);
+
+        return Error;
+      })(_react["default"].Component);
+
+      Error.displayName = "ErrorPage";
+      Error.getInitialProps = _getInitialProps;
+      Error.origGetInitialProps = _getInitialProps;
+      exports["default"] = Error;
+      var styles = {
+        error: {
+          color: "#000",
+          background: "#fff",
+          fontFamily:
+            '-apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Fira Sans", Avenir, "Helvetica Neue", "Lucida Grande", sans-serif',
+          height: "100vh",
+          textAlign: "center",
+          display: "flex",
+          flexDirection: "column",
+          alignItems: "center",
+          justifyContent: "center"
+        },
+        desc: {
+          display: "inline-block",
+          textAlign: "left",
+          lineHeight: "49px",
+          height: "49px",
+          verticalAlign: "middle"
+        },
+        h1: {
+          display: "inline-block",
+          borderRight: "1px solid rgba(0, 0, 0,.3)",
+          margin: 0,
+          marginRight: "20px",
+          padding: "10px 23px 10px 0",
+          fontSize: "24px",
+          fontWeight: 500,
+          verticalAlign: "top"
+        },
+        h2: {
+          fontSize: "14px",
+          fontWeight: "normal",
+          lineHeight: "inherit",
+          margin: 0,
+          padding: 0
+        }
+      };
+
+      /***/
+    },
+
+    /***/ 2698: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
+      exports.AmpStateContext = void 0;
+
+      var _react = _interopRequireDefault(__webpack_require__(7294));
+
+      function _interopRequireDefault(obj) {
+        return obj && obj.__esModule
+          ? obj
+          : {
+              default: obj
+            };
+      }
+
+      var AmpStateContext = _react["default"].createContext({});
+
+      exports.AmpStateContext = AmpStateContext;
+
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 4783: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
+      exports.isInAmpMode = isInAmpMode;
+      exports.useAmp = useAmp;
+
+      var _react = _interopRequireDefault(__webpack_require__(7294));
+
+      var _ampContext = __webpack_require__(2698);
+
+      function _interopRequireDefault(obj) {
+        return obj && obj.__esModule
+          ? obj
+          : {
+              default: obj
+            };
+      }
+
+      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);
+      }
+
+      function useAmp() {
+        // Don't assign the context value to a variable to save bytes
+        return isInAmpMode(
+          _react["default"].useContext(_ampContext.AmpStateContext)
+        );
+      }
+
+      /***/
+    },
+
+    /***/ 7006: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
+
+      var _defineProperty = __webpack_require__(9713);
+
+      function ownKeys(object, enumerableOnly) {
+        var keys = Object.keys(object);
+        if (Object.getOwnPropertySymbols) {
+          var symbols = Object.getOwnPropertySymbols(object);
+          if (enumerableOnly) {
+            symbols = symbols.filter(function(sym) {
+              return Object.getOwnPropertyDescriptor(object, sym).enumerable;
+            });
+          }
+          keys.push.apply(keys, symbols);
+        }
+        return keys;
+      }
+
+      function _objectSpread(target) {
+        for (var i = 1; i < arguments.length; i++) {
+          var source = arguments[i] != null ? arguments[i] : {};
+          if (i % 2) {
+            ownKeys(Object(source), true).forEach(function(key) {
+              _defineProperty(target, key, source[key]);
+            });
+          } else if (Object.getOwnPropertyDescriptors) {
+            Object.defineProperties(
+              target,
+              Object.getOwnPropertyDescriptors(source)
+            );
+          } else {
+            ownKeys(Object(source)).forEach(function(key) {
+              Object.defineProperty(
+                target,
+                key,
+                Object.getOwnPropertyDescriptor(source, key)
+              );
+            });
+          }
+        }
+        return target;
+      }
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
+      exports.defaultHead = defaultHead;
+      exports["default"] = void 0;
+
+      var _react = _interopRequireWildcard(__webpack_require__(7294));
+
+      var _sideEffect = _interopRequireDefault(__webpack_require__(9263));
+
+      var _ampContext = __webpack_require__(2698);
+
+      var _headManagerContext = __webpack_require__(5203);
+
+      var _amp = __webpack_require__(4783);
+
+      function _interopRequireDefault(obj) {
+        return obj && obj.__esModule
+          ? obj
+          : {
+              default: obj
+            };
+      }
+
+      function _interopRequireWildcard(obj) {
+        if (obj && obj.__esModule) {
+          return obj;
+        } else {
+          var newObj = {};
+
+          if (obj != null) {
+            for (var key in obj) {
+              if (Object.prototype.hasOwnProperty.call(obj, key)) {
+                var desc =
+                  Object.defineProperty && Object.getOwnPropertyDescriptor
+                    ? Object.getOwnPropertyDescriptor(obj, key)
+                    : {};
+
+                if (desc.get || desc.set) {
+                  Object.defineProperty(newObj, key, desc);
+                } else {
+                  newObj[key] = obj[key];
+                }
+              }
+            }
+          }
+
+          newObj["default"] = obj;
+          return newObj;
+        }
+      }
+
+      function defaultHead() {
+        var inAmpMode =
+          arguments.length > 0 && arguments[0] !== undefined
+            ? arguments[0]
+            : false;
+        var head = [
+          /*#__PURE__*/ _react["default"].createElement("meta", {
+            charSet: "utf-8"
+          })
+        ];
+
+        if (!inAmpMode) {
+          head.push(
+            /*#__PURE__*/ _react["default"].createElement("meta", {
+              name: "viewport",
+              content: "width=device-width"
+            })
+          );
+        }
+
+        return head;
+      }
+
+      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["default"].Fragment) {
+          return list.concat(
+            _react["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) {
+          var isUnique = true;
+          var hasKey = false;
+
+          if (h.key && typeof h.key !== "number" && h.key.indexOf("$") > 0) {
+            hasKey = true;
+            var key = h.key.slice(h.key.indexOf("$") + 1);
+
+            if (keys.has(key)) {
+              isUnique = false;
+            } else {
+              keys.add(key);
+            }
+          } // eslint-disable-next-line default-case
+
+          switch (h.type) {
+            case "title":
+            case "base":
+              if (tags.has(h.type)) {
+                isUnique = false;
+              } else {
+                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)) {
+                    isUnique = false;
+                  } else {
+                    metaTypes.add(metatype);
+                  }
+                } else {
+                  var category = h.props[metatype];
+                  var categories = metaCategories[metatype] || new Set();
+
+                  if (
+                    (metatype !== "name" || !hasKey) &&
+                    categories.has(category)
+                  ) {
+                    isUnique = false;
+                  } else {
+                    categories.add(category);
+                    metaCategories[metatype] = categories;
+                  }
+                }
+              }
+
+              break;
+          }
+
+          return isUnique;
+        };
+      }
+      /**
+       *
+       * @param headElements List of multiple <Head> instances
+       */
+
+      function reduceComponents(headElements, props) {
+        return headElements
+          .reduce(function(list, headElement) {
+            var headElementChildren = _react["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;
+
+            if (true && !props.inAmpMode) {
+              if (
+                c.type === "link" &&
+                c.props["href"] && // TODO(prateekbh@): Replace this with const from `constants` when the tree shaking works.
+                [
+                  "https://fonts.googleapis.com/css",
+                  "https://use.typekit.net/"
+                ].some(function(url) {
+                  return c.props["href"].startsWith(url);
+                })
+              ) {
+                var newProps = _objectSpread({}, c.props || {});
+
+                newProps["data-href"] = newProps["href"];
+                newProps["href"] = undefined; // Add this attribute to make it easy to identify optimized tags
+
+                newProps["data-optimized-fonts"] = true;
+                return /*#__PURE__*/ _react["default"].cloneElement(
+                  c,
+                  newProps
+                );
+              }
+            }
+
+            return /*#__PURE__*/ _react["default"].cloneElement(c, {
+              key: key
+            });
+          });
+      }
+      /**
+       * 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;
+        var ampState = (0, _react).useContext(_ampContext.AmpStateContext);
+        var headManager = (0, _react).useContext(
+          _headManagerContext.HeadManagerContext
+        );
+        return /*#__PURE__*/ _react["default"].createElement(
+          _sideEffect["default"],
+          {
+            reduceComponentsToState: reduceComponents,
+            headManager: headManager,
+            inAmpMode: (0, _amp).isInAmpMode(ampState)
+          },
+          children
+        );
+      }
+
+      var _default = Head;
+      exports["default"] = _default;
+
+      /***/
+    },
+
+    /***/ 9263: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
+
+      var _toConsumableArray = __webpack_require__(319);
+
+      var _classCallCheck = __webpack_require__(4575);
+
+      var _createClass = __webpack_require__(3913);
+
+      var _assertThisInitialized = __webpack_require__(1506);
+
+      var _inherits = __webpack_require__(2205);
+
+      var _possibleConstructorReturn = __webpack_require__(8585);
+
+      var _getPrototypeOf = __webpack_require__(9754);
+
+      function _createSuper(Derived) {
+        var hasNativeReflectConstruct = _isNativeReflectConstruct();
+        return function _createSuperInternal() {
+          var Super = _getPrototypeOf(Derived),
+            result;
+          if (hasNativeReflectConstruct) {
+            var NewTarget = _getPrototypeOf(this).constructor;
+            result = Reflect.construct(Super, arguments, NewTarget);
+          } else {
+            result = Super.apply(this, arguments);
+          }
+          return _possibleConstructorReturn(this, result);
+        };
+      }
+
+      function _isNativeReflectConstruct() {
+        if (typeof Reflect === "undefined" || !Reflect.construct) return false;
+        if (Reflect.construct.sham) return false;
+        if (typeof Proxy === "function") return true;
+        try {
+          Boolean.prototype.valueOf.call(
+            Reflect.construct(Boolean, [], function() {})
+          );
+          return true;
+        } catch (e) {
+          return false;
+        }
+      }
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
+      exports["default"] = void 0;
+
+      var _react = _interopRequireWildcard(__webpack_require__(7294));
+
+      function _interopRequireWildcard(obj) {
+        if (obj && obj.__esModule) {
+          return obj;
+        } else {
+          var newObj = {};
+
+          if (obj != null) {
+            for (var key in obj) {
+              if (Object.prototype.hasOwnProperty.call(obj, key)) {
+                var desc =
+                  Object.defineProperty && Object.getOwnPropertyDescriptor
+                    ? Object.getOwnPropertyDescriptor(obj, key)
+                    : {};
+
+                if (desc.get || desc.set) {
+                  Object.defineProperty(newObj, key, desc);
+                } else {
+                  newObj[key] = obj[key];
+                }
+              }
+            }
+          }
+
+          newObj["default"] = obj;
+          return newObj;
+        }
+      }
+
+      var isServer = false;
+
+      var _class = /*#__PURE__*/ (function(_react$Component) {
+        _inherits(_class, _react$Component);
+
+        var _super = _createSuper(_class);
+
+        function _class(props) {
+          var _this;
+
+          _classCallCheck(this, _class);
+
+          _this = _super.call(this, props);
+
+          _this.emitChange = function() {
+            if (_this._hasHeadManager) {
+              _this.props.headManager.updateHead(
+                _this.props.reduceComponentsToState(
+                  _toConsumableArray(_this.props.headManager.mountedInstances),
+                  _this.props
+                )
+              );
+            }
+          };
+
+          _this._hasHeadManager =
+            _this.props.headManager && _this.props.headManager.mountedInstances;
+
+          if (isServer && _this._hasHeadManager) {
+            _this.props.headManager.mountedInstances.add(
+              _assertThisInitialized(_this)
+            );
+
+            _this.emitChange();
+          }
+
+          return _this;
+        }
+
+        _createClass(_class, [
+          {
+            key: "componentDidMount",
+            value: function componentDidMount() {
+              if (this._hasHeadManager) {
+                this.props.headManager.mountedInstances.add(this);
+              }
+
+              this.emitChange();
+            }
+          },
+          {
+            key: "componentDidUpdate",
+            value: function componentDidUpdate() {
+              this.emitChange();
+            }
+          },
+          {
+            key: "componentWillUnmount",
+            value: function componentWillUnmount() {
+              if (this._hasHeadManager) {
+                this.props.headManager.mountedInstances["delete"](this);
+              }
+
+              this.emitChange();
+            }
+          },
+          {
+            key: "render",
+            value: function render() {
+              return null;
+            }
+          }
+        ]);
+
+        return _class;
+      })(_react.Component);
+
+      exports["default"] = _class;
+
+      /***/
+    },
+
     /***/ 4977: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
@@ -9,9 +866,11 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/_error",
         function() {
-          return __webpack_require__(3359);
+          return __webpack_require__(7558);
         }
       ]);
+      if (false) {
+      }
 
       /***/
     }
Diff for amp-HASH.js
@@ -6,12 +6,94 @@
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(3237);
+      module.exports = __webpack_require__(4783);
 
       /***/
     },
 
-    /***/ 6739: /***/ function(
+    /***/ 2698: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
+      exports.AmpStateContext = void 0;
+
+      var _react = _interopRequireDefault(__webpack_require__(7294));
+
+      function _interopRequireDefault(obj) {
+        return obj && obj.__esModule
+          ? obj
+          : {
+              default: obj
+            };
+      }
+
+      var AmpStateContext = _react["default"].createContext({});
+
+      exports.AmpStateContext = AmpStateContext;
+
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 4783: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
+      exports.isInAmpMode = isInAmpMode;
+      exports.useAmp = useAmp;
+
+      var _react = _interopRequireDefault(__webpack_require__(7294));
+
+      var _ampContext = __webpack_require__(2698);
+
+      function _interopRequireDefault(obj) {
+        return obj && obj.__esModule
+          ? obj
+          : {
+              default: obj
+            };
+      }
+
+      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);
+      }
+
+      function useAmp() {
+        // Don't assign the context value to a variable to save bytes
+        return isInAmpMode(
+          _react["default"].useContext(_ampContext.AmpStateContext)
+        );
+      }
+
+      /***/
+    },
+
+    /***/ 468: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -51,9 +133,11 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/amp",
         function() {
-          return __webpack_require__(6739);
+          return __webpack_require__(468);
         }
       ]);
+      if (false) {
+      }
 
       /***/
     }
Diff for css-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [706],
   {
-    /***/ 5409: /***/ function(
+    /***/ 8600: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -9,7 +9,7 @@
       "use strict";
       __webpack_require__.r(__webpack_exports__);
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        5964
+        1785
       );
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         _css_module_css__WEBPACK_IMPORTED_MODULE_1__
@@ -40,14 +40,16 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/css",
         function() {
-          return __webpack_require__(5409);
+          return __webpack_require__(8600);
         }
       ]);
+      if (false) {
+      }
 
       /***/
     },
 
-    /***/ 5964: /***/ function(module) {
+    /***/ 1785: /***/ function(module) {
       // extracted by mini-css-extract-plugin
       module.exports = { helloWorld: "css_helloWorld__2Fhmt" };
Diff for dynamic-HASH.js
@@ -1,7 +1,30 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [739],
   {
-    /***/ 8771: /***/ function(
+    /***/ 9713: /***/ function(module) {
+      function _defineProperty(obj, key, value) {
+        if (key in obj) {
+          Object.defineProperty(obj, key, {
+            value: value,
+            enumerable: true,
+            configurable: true,
+            writable: true
+          });
+        } else {
+          obj[key] = value;
+        }
+
+        return obj;
+      }
+
+      module.exports = _defineProperty;
+      (module.exports["default"] = module.exports),
+        (module.exports.__esModule = true);
+
+      /***/
+    },
+
+    /***/ 1897: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -54,11 +77,11 @@
         value: true
       };
       __webpack_unused_export__ = noSSR;
-      exports.default = dynamic;
+      exports["default"] = dynamic;
 
       var _react = _interopRequireDefault(__webpack_require__(7294));
 
-      var _loadable = _interopRequireDefault(__webpack_require__(4860));
+      var _loadable = _interopRequireDefault(__webpack_require__(8835));
 
       function _interopRequireDefault(obj) {
         return obj && obj.__esModule
@@ -167,7 +190,7 @@
       /***/
     },
 
-    /***/ 1083: /***/ function(
+    /***/ 3358: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -199,7 +222,7 @@
       /***/
     },
 
-    /***/ 4860: /***/ function(
+    /***/ 8835: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -330,13 +353,13 @@
       Object.defineProperty(exports, "__esModule", {
         value: true
       });
-      exports.default = void 0;
+      exports["default"] = void 0;
 
       var _react = _interopRequireDefault(__webpack_require__(7294));
 
       var _useSubscription = __webpack_require__(7161);
 
-      var _loadableContext = __webpack_require__(1083);
+      var _loadableContext = __webpack_require__(3358);
 
       function _interopRequireDefault(obj) {
         return obj && obj.__esModule
@@ -543,27 +566,27 @@
                 timedOut: false
               };
               var res = this._res,
-                opts1 = this._opts;
+                opts = this._opts;
 
               if (res.loading) {
-                if (typeof opts1.delay === "number") {
-                  if (opts1.delay === 0) {
+                if (typeof opts.delay === "number") {
+                  if (opts.delay === 0) {
                     this._state.pastDelay = true;
                   } else {
                     this._delay = setTimeout(function() {
                       _this._update({
                         pastDelay: true
                       });
-                    }, opts1.delay);
+                    }, opts.delay);
                   }
                 }
 
-                if (typeof opts1.timeout === "number") {
+                if (typeof opts.timeout === "number") {
                   this._timeout = setTimeout(function() {
                     _this._update({
                       timedOut: true
                     });
-                  }, opts1.timeout);
+                  }, opts.timeout);
                 }
               }
 
@@ -631,8 +654,8 @@
         return LoadableSubscription;
       })();
 
-      function Loadable(opts1) {
-        return createLoadableComponent(load, opts1);
+      function Loadable(opts) {
+        return createLoadableComponent(load, opts);
       }
 
       function flushInitializers(initializers, ids) {
@@ -676,12 +699,12 @@
       }
 
       var _default = Loadable;
-      exports.default = _default;
+      exports["default"] = _default;
 
       /***/
     },
 
-    /***/ 6598: /***/ function(
+    /***/ 2862: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -701,16 +724,17 @@
         5893
       );
 
-      var DynamicHello = (0, next_dynamic__WEBPACK_IMPORTED_MODULE_0__.default)(
+      var DynamicHello = (0,
+      next_dynamic__WEBPACK_IMPORTED_MODULE_0__["default"])(
         function() {
           return __webpack_require__
-            .e(/* import() */ 745)
-            .then(__webpack_require__.bind(__webpack_require__, 7745));
+            .e(/* import() */ 779)
+            .then(__webpack_require__.bind(__webpack_require__, 2779));
         },
         {
           loadableGenerated: {
             webpack: function webpack() {
-              return [/*require.resolve*/ 7745];
+              return [/*require.resolve*/ 2779];
             },
             modules: ["dynamic.js -> " + "../components/hello"]
           }
@@ -752,9 +776,11 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/dynamic",
         function() {
-          return __webpack_require__(6598);
+          return __webpack_require__(2862);
         }
       ]);
+      if (false) {
+      }
 
       /***/
     },
@@ -764,7 +790,7 @@
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(8771);
+      module.exports = __webpack_require__(1897);
 
       /***/
     }
Diff for head-HASH.js
@@ -1,7 +1,656 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [645],
   {
-    /***/ 5816: /***/ function(
+    /***/ 3646: /***/ function(
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      var arrayLikeToArray = __webpack_require__(7228);
+
+      function _arrayWithoutHoles(arr) {
+        if (Array.isArray(arr)) return arrayLikeToArray(arr);
+      }
+
+      module.exports = _arrayWithoutHoles;
+      (module.exports["default"] = module.exports),
+        (module.exports.__esModule = true);
+
+      /***/
+    },
+
+    /***/ 9713: /***/ function(module) {
+      function _defineProperty(obj, key, value) {
+        if (key in obj) {
+          Object.defineProperty(obj, key, {
+            value: value,
+            enumerable: true,
+            configurable: true,
+            writable: true
+          });
+        } else {
+          obj[key] = value;
+        }
+
+        return obj;
+      }
+
+      module.exports = _defineProperty;
+      (module.exports["default"] = module.exports),
+        (module.exports.__esModule = true);
+
+      /***/
+    },
+
+    /***/ 6860: /***/ function(module) {
+      function _iterableToArray(iter) {
+        if (
+          (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null) ||
+          iter["@@iterator"] != null
+        )
+          return Array.from(iter);
+      }
+
+      module.exports = _iterableToArray;
+      (module.exports["default"] = module.exports),
+        (module.exports.__esModule = true);
+
+      /***/
+    },
+
+    /***/ 8206: /***/ function(module) {
+      function _nonIterableSpread() {
+        throw new TypeError(
+          "Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."
+        );
+      }
+
+      module.exports = _nonIterableSpread;
+      (module.exports["default"] = module.exports),
+        (module.exports.__esModule = true);
+
+      /***/
+    },
+
+    /***/ 319: /***/ function(
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      var arrayWithoutHoles = __webpack_require__(3646);
+
+      var iterableToArray = __webpack_require__(6860);
+
+      var unsupportedIterableToArray = __webpack_require__(379);
+
+      var nonIterableSpread = __webpack_require__(8206);
+
+      function _toConsumableArray(arr) {
+        return (
+          arrayWithoutHoles(arr) ||
+          iterableToArray(arr) ||
+          unsupportedIterableToArray(arr) ||
+          nonIterableSpread()
+        );
+      }
+
+      module.exports = _toConsumableArray;
+      (module.exports["default"] = module.exports),
+        (module.exports.__esModule = true);
+
+      /***/
+    },
+
+    /***/ 2698: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
+      exports.AmpStateContext = void 0;
+
+      var _react = _interopRequireDefault(__webpack_require__(7294));
+
+      function _interopRequireDefault(obj) {
+        return obj && obj.__esModule
+          ? obj
+          : {
+              default: obj
+            };
+      }
+
+      var AmpStateContext = _react["default"].createContext({});
+
+      exports.AmpStateContext = AmpStateContext;
+
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 4783: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
+      exports.isInAmpMode = isInAmpMode;
+      exports.useAmp = useAmp;
+
+      var _react = _interopRequireDefault(__webpack_require__(7294));
+
+      var _ampContext = __webpack_require__(2698);
+
+      function _interopRequireDefault(obj) {
+        return obj && obj.__esModule
+          ? obj
+          : {
+              default: obj
+            };
+      }
+
+      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);
+      }
+
+      function useAmp() {
+        // Don't assign the context value to a variable to save bytes
+        return isInAmpMode(
+          _react["default"].useContext(_ampContext.AmpStateContext)
+        );
+      }
+
+      /***/
+    },
+
+    /***/ 7006: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
+
+      var _defineProperty = __webpack_require__(9713);
+
+      function ownKeys(object, enumerableOnly) {
+        var keys = Object.keys(object);
+        if (Object.getOwnPropertySymbols) {
+          var symbols = Object.getOwnPropertySymbols(object);
+          if (enumerableOnly) {
+            symbols = symbols.filter(function(sym) {
+              return Object.getOwnPropertyDescriptor(object, sym).enumerable;
+            });
+          }
+          keys.push.apply(keys, symbols);
+        }
+        return keys;
+      }
+
+      function _objectSpread(target) {
+        for (var i = 1; i < arguments.length; i++) {
+          var source = arguments[i] != null ? arguments[i] : {};
+          if (i % 2) {
+            ownKeys(Object(source), true).forEach(function(key) {
+              _defineProperty(target, key, source[key]);
+            });
+          } else if (Object.getOwnPropertyDescriptors) {
+            Object.defineProperties(
+              target,
+              Object.getOwnPropertyDescriptors(source)
+            );
+          } else {
+            ownKeys(Object(source)).forEach(function(key) {
+              Object.defineProperty(
+                target,
+                key,
+                Object.getOwnPropertyDescriptor(source, key)
+              );
+            });
+          }
+        }
+        return target;
+      }
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
+      exports.defaultHead = defaultHead;
+      exports["default"] = void 0;
+
+      var _react = _interopRequireWildcard(__webpack_require__(7294));
+
+      var _sideEffect = _interopRequireDefault(__webpack_require__(9263));
+
+      var _ampContext = __webpack_require__(2698);
+
+      var _headManagerContext = __webpack_require__(5203);
+
+      var _amp = __webpack_require__(4783);
+
+      function _interopRequireDefault(obj) {
+        return obj && obj.__esModule
+          ? obj
+          : {
+              default: obj
+            };
+      }
+
+      function _interopRequireWildcard(obj) {
+        if (obj && obj.__esModule) {
+          return obj;
+        } else {
+          var newObj = {};
+
+          if (obj != null) {
+            for (var key in obj) {
+              if (Object.prototype.hasOwnProperty.call(obj, key)) {
+                var desc =
+                  Object.defineProperty && Object.getOwnPropertyDescriptor
+                    ? Object.getOwnPropertyDescriptor(obj, key)
+                    : {};
+
+                if (desc.get || desc.set) {
+                  Object.defineProperty(newObj, key, desc);
+                } else {
+                  newObj[key] = obj[key];
+                }
+              }
+            }
+          }
+
+          newObj["default"] = obj;
+          return newObj;
+        }
+      }
+
+      function defaultHead() {
+        var inAmpMode =
+          arguments.length > 0 && arguments[0] !== undefined
+            ? arguments[0]
+            : false;
+        var head = [
+          /*#__PURE__*/ _react["default"].createElement("meta", {
+            charSet: "utf-8"
+          })
+        ];
+
+        if (!inAmpMode) {
+          head.push(
+            /*#__PURE__*/ _react["default"].createElement("meta", {
+              name: "viewport",
+              content: "width=device-width"
+            })
+          );
+        }
+
+        return head;
+      }
+
+      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["default"].Fragment) {
+          return list.concat(
+            _react["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) {
+          var isUnique = true;
+          var hasKey = false;
+
+          if (h.key && typeof h.key !== "number" && h.key.indexOf("$") > 0) {
+            hasKey = true;
+            var key = h.key.slice(h.key.indexOf("$") + 1);
+
+            if (keys.has(key)) {
+              isUnique = false;
+            } else {
+              keys.add(key);
+            }
+          } // eslint-disable-next-line default-case
+
+          switch (h.type) {
+            case "title":
+            case "base":
+              if (tags.has(h.type)) {
+                isUnique = false;
+              } else {
+                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)) {
+                    isUnique = false;
+                  } else {
+                    metaTypes.add(metatype);
+                  }
+                } else {
+                  var category = h.props[metatype];
+                  var categories = metaCategories[metatype] || new Set();
+
+                  if (
+                    (metatype !== "name" || !hasKey) &&
+                    categories.has(category)
+                  ) {
+                    isUnique = false;
+                  } else {
+                    categories.add(category);
+                    metaCategories[metatype] = categories;
+                  }
+                }
+              }
+
+              break;
+          }
+
+          return isUnique;
+        };
+      }
+      /**
+       *
+       * @param headElements List of multiple <Head> instances
+       */
+
+      function reduceComponents(headElements, props) {
+        return headElements
+          .reduce(function(list, headElement) {
+            var headElementChildren = _react["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;
+
+            if (true && !props.inAmpMode) {
+              if (
+                c.type === "link" &&
+                c.props["href"] && // TODO(prateekbh@): Replace this with const from `constants` when the tree shaking works.
+                [
+                  "https://fonts.googleapis.com/css",
+                  "https://use.typekit.net/"
+                ].some(function(url) {
+                  return c.props["href"].startsWith(url);
+                })
+              ) {
+                var newProps = _objectSpread({}, c.props || {});
+
+                newProps["data-href"] = newProps["href"];
+                newProps["href"] = undefined; // Add this attribute to make it easy to identify optimized tags
+
+                newProps["data-optimized-fonts"] = true;
+                return /*#__PURE__*/ _react["default"].cloneElement(
+                  c,
+                  newProps
+                );
+              }
+            }
+
+            return /*#__PURE__*/ _react["default"].cloneElement(c, {
+              key: key
+            });
+          });
+      }
+      /**
+       * 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;
+        var ampState = (0, _react).useContext(_ampContext.AmpStateContext);
+        var headManager = (0, _react).useContext(
+          _headManagerContext.HeadManagerContext
+        );
+        return /*#__PURE__*/ _react["default"].createElement(
+          _sideEffect["default"],
+          {
+            reduceComponentsToState: reduceComponents,
+            headManager: headManager,
+            inAmpMode: (0, _amp).isInAmpMode(ampState)
+          },
+          children
+        );
+      }
+
+      var _default = Head;
+      exports["default"] = _default;
+
+      /***/
+    },
+
+    /***/ 9263: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
+
+      var _toConsumableArray = __webpack_require__(319);
+
+      var _classCallCheck = __webpack_require__(4575);
+
+      var _createClass = __webpack_require__(3913);
+
+      var _assertThisInitialized = __webpack_require__(1506);
+
+      var _inherits = __webpack_require__(2205);
+
+      var _possibleConstructorReturn = __webpack_require__(8585);
+
+      var _getPrototypeOf = __webpack_require__(9754);
+
+      function _createSuper(Derived) {
+        var hasNativeReflectConstruct = _isNativeReflectConstruct();
+        return function _createSuperInternal() {
+          var Super = _getPrototypeOf(Derived),
+            result;
+          if (hasNativeReflectConstruct) {
+            var NewTarget = _getPrototypeOf(this).constructor;
+            result = Reflect.construct(Super, arguments, NewTarget);
+          } else {
+            result = Super.apply(this, arguments);
+          }
+          return _possibleConstructorReturn(this, result);
+        };
+      }
+
+      function _isNativeReflectConstruct() {
+        if (typeof Reflect === "undefined" || !Reflect.construct) return false;
+        if (Reflect.construct.sham) return false;
+        if (typeof Proxy === "function") return true;
+        try {
+          Boolean.prototype.valueOf.call(
+            Reflect.construct(Boolean, [], function() {})
+          );
+          return true;
+        } catch (e) {
+          return false;
+        }
+      }
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
+      exports["default"] = void 0;
+
+      var _react = _interopRequireWildcard(__webpack_require__(7294));
+
+      function _interopRequireWildcard(obj) {
+        if (obj && obj.__esModule) {
+          return obj;
+        } else {
+          var newObj = {};
+
+          if (obj != null) {
+            for (var key in obj) {
+              if (Object.prototype.hasOwnProperty.call(obj, key)) {
+                var desc =
+                  Object.defineProperty && Object.getOwnPropertyDescriptor
+                    ? Object.getOwnPropertyDescriptor(obj, key)
+                    : {};
+
+                if (desc.get || desc.set) {
+                  Object.defineProperty(newObj, key, desc);
+                } else {
+                  newObj[key] = obj[key];
+                }
+              }
+            }
+          }
+
+          newObj["default"] = obj;
+          return newObj;
+        }
+      }
+
+      var isServer = false;
+
+      var _class = /*#__PURE__*/ (function(_react$Component) {
+        _inherits(_class, _react$Component);
+
+        var _super = _createSuper(_class);
+
+        function _class(props) {
+          var _this;
+
+          _classCallCheck(this, _class);
+
+          _this = _super.call(this, props);
+
+          _this.emitChange = function() {
+            if (_this._hasHeadManager) {
+              _this.props.headManager.updateHead(
+                _this.props.reduceComponentsToState(
+                  _toConsumableArray(_this.props.headManager.mountedInstances),
+                  _this.props
+                )
+              );
+            }
+          };
+
+          _this._hasHeadManager =
+            _this.props.headManager && _this.props.headManager.mountedInstances;
+
+          if (isServer && _this._hasHeadManager) {
+            _this.props.headManager.mountedInstances.add(
+              _assertThisInitialized(_this)
+            );
+
+            _this.emitChange();
+          }
+
+          return _this;
+        }
+
+        _createClass(_class, [
+          {
+            key: "componentDidMount",
+            value: function componentDidMount() {
+              if (this._hasHeadManager) {
+                this.props.headManager.mountedInstances.add(this);
+              }
+
+              this.emitChange();
+            }
+          },
+          {
+            key: "componentDidUpdate",
+            value: function componentDidUpdate() {
+              this.emitChange();
+            }
+          },
+          {
+            key: "componentWillUnmount",
+            value: function componentWillUnmount() {
+              if (this._hasHeadManager) {
+                this.props.headManager.mountedInstances["delete"](this);
+              }
+
+              this.emitChange();
+            }
+          },
+          {
+            key: "render",
+            value: function render() {
+              return null;
+            }
+          }
+        ]);
+
+        return _class;
+      })(_react.Component);
+
+      exports["default"] = _class;
+
+      /***/
+    },
+
+    /***/ 8488: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -29,7 +678,7 @@
             children: [
               /*#__PURE__*/ (0,
               react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(
-                next_head__WEBPACK_IMPORTED_MODULE_0__.default,
+                next_head__WEBPACK_IMPORTED_MODULE_0__["default"],
                 {
                   children: /*#__PURE__*/ (0,
                   react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("title", {
@@ -61,9 +710,11 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/head",
         function() {
-          return __webpack_require__(5816);
+          return __webpack_require__(8488);
         }
       ]);
+      if (false) {
+      }
 
       /***/
     },
@@ -73,7 +724,7 @@
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(639);
+      module.exports = __webpack_require__(7006);
 
       /***/
     }
Diff for hooks-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [757],
   {
-    /***/ 3626: /***/ function(
+    /***/ 4925: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -144,9 +144,11 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/hooks",
         function() {
-          return __webpack_require__(3626);
+          return __webpack_require__(4925);
         }
       ]);
+      if (false) {
+      }
 
       /***/
     }
Diff for image-HASH.js
@@ -1,7 +1,107 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [358],
   {
-    /***/ 9917: /***/ function(
+    /***/ 3646: /***/ function(
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      var arrayLikeToArray = __webpack_require__(7228);
+
+      function _arrayWithoutHoles(arr) {
+        if (Array.isArray(arr)) return arrayLikeToArray(arr);
+      }
+
+      module.exports = _arrayWithoutHoles;
+      (module.exports["default"] = module.exports),
+        (module.exports.__esModule = true);
+
+      /***/
+    },
+
+    /***/ 9713: /***/ function(module) {
+      function _defineProperty(obj, key, value) {
+        if (key in obj) {
+          Object.defineProperty(obj, key, {
+            value: value,
+            enumerable: true,
+            configurable: true,
+            writable: true
+          });
+        } else {
+          obj[key] = value;
+        }
+
+        return obj;
+      }
+
+      module.exports = _defineProperty;
+      (module.exports["default"] = module.exports),
+        (module.exports.__esModule = true);
+
+      /***/
+    },
+
+    /***/ 6860: /***/ function(module) {
+      function _iterableToArray(iter) {
+        if (
+          (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null) ||
+          iter["@@iterator"] != null
+        )
+          return Array.from(iter);
+      }
+
+      module.exports = _iterableToArray;
+      (module.exports["default"] = module.exports),
+        (module.exports.__esModule = true);
+
+      /***/
+    },
+
+    /***/ 8206: /***/ function(module) {
+      function _nonIterableSpread() {
+        throw new TypeError(
+          "Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."
+        );
+      }
+
+      module.exports = _nonIterableSpread;
+      (module.exports["default"] = module.exports),
+        (module.exports.__esModule = true);
+
+      /***/
+    },
+
+    /***/ 319: /***/ function(
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      var arrayWithoutHoles = __webpack_require__(3646);
+
+      var iterableToArray = __webpack_require__(6860);
+
+      var unsupportedIterableToArray = __webpack_require__(379);
+
+      var nonIterableSpread = __webpack_require__(8206);
+
+      function _toConsumableArray(arr) {
+        return (
+          arrayWithoutHoles(arr) ||
+          iterableToArray(arr) ||
+          unsupportedIterableToArray(arr) ||
+          nonIterableSpread()
+        );
+      }
+
+      module.exports = _toConsumableArray;
+      (module.exports["default"] = module.exports),
+        (module.exports.__esModule = true);
+
+      /***/
+    },
+
+    /***/ 1504: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -16,17 +116,17 @@
       __webpack_unused_export__ = {
         value: true
       };
-      exports.default = Image1;
+      exports["default"] = Image;
 
       var _react = _interopRequireDefault(__webpack_require__(7294));
 
-      var _head = _interopRequireDefault(__webpack_require__(639));
+      var _head = _interopRequireDefault(__webpack_require__(7006));
 
-      var _toBase64 = __webpack_require__(8997);
+      var _toBase64 = __webpack_require__(4186);
 
       var _imageConfig = __webpack_require__(5809);
 
-      var _useIntersection = __webpack_require__(7426);
+      var _useIntersection = __webpack_require__(3418);
 
       function _defineProperty(obj, key, value) {
         if (key in obj) {
@@ -110,6 +210,8 @@
       }
 
       var loadedImageURLs = new Set();
+      var emptyDataURL =
+        "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7";
 
       if (false) {
       }
@@ -328,7 +430,7 @@
         }
 
         var handleLoad = function handleLoad() {
-          if (!img.src.startsWith("data:")) {
+          if (img.src !== emptyDataURL) {
             var p = "decode" in img ? img.decode() : Promise.resolve();
             p["catch"](function() {}).then(function() {
               if (placeholder === "blur") {
@@ -367,7 +469,7 @@
         }
       }
 
-      function Image1(_param) {
+      function Image(_param) {
         var src = _param.src,
           sizes = _param.sizes,
           _param$unoptimized = _param.unoptimized,
@@ -591,8 +693,7 @@
         }
 
         var imgAttributes = {
-          src:
-            "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",
+          src: emptyDataURL,
           srcSet: undefined,
           sizes: undefined
         };
@@ -680,6 +781,7 @@
                   "data-nimg": layout,
                   style: imgStyle,
                   className: className,
+                  // @ts-ignore - TODO: upgrade to `@types/react@17`
                   loading: loading || "lazy"
                 }
               )
@@ -794,7 +896,7 @@
       /***/
     },
 
-    /***/ 7426: /***/ function(
+    /***/ 3418: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -810,7 +912,7 @@
 
       var _react = __webpack_require__(7294);
 
-      var _requestIdleCallback = __webpack_require__(3447);
+      var _requestIdleCallback = __webpack_require__(5807);
 
       var hasIntersectionObserver = typeof IntersectionObserver !== "undefined";
 
@@ -923,7 +1025,556 @@
       /***/
     },
 
-    /***/ 8997: /***/ function(__unused_webpack_module, exports) {
+    /***/ 2698: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
+      exports.AmpStateContext = void 0;
+
+      var _react = _interopRequireDefault(__webpack_require__(7294));
+
+      function _interopRequireDefault(obj) {
+        return obj && obj.__esModule
+          ? obj
+          : {
+              default: obj
+            };
+      }
+
+      var AmpStateContext = _react["default"].createContext({});
+
+      exports.AmpStateContext = AmpStateContext;
+
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 4783: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
+      exports.isInAmpMode = isInAmpMode;
+      exports.useAmp = useAmp;
+
+      var _react = _interopRequireDefault(__webpack_require__(7294));
+
+      var _ampContext = __webpack_require__(2698);
+
+      function _interopRequireDefault(obj) {
+        return obj && obj.__esModule
+          ? obj
+          : {
+              default: obj
+            };
+      }
+
+      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);
+      }
+
+      function useAmp() {
+        // Don't assign the context value to a variable to save bytes
+        return isInAmpMode(
+          _react["default"].useContext(_ampContext.AmpStateContext)
+        );
+      }
+
+      /***/
+    },
+
+    /***/ 7006: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
+
+      var _defineProperty = __webpack_require__(9713);
+
+      function ownKeys(object, enumerableOnly) {
+        var keys = Object.keys(object);
+        if (Object.getOwnPropertySymbols) {
+          var symbols = Object.getOwnPropertySymbols(object);
+          if (enumerableOnly) {
+            symbols = symbols.filter(function(sym) {
+              return Object.getOwnPropertyDescriptor(object, sym).enumerable;
+            });
+          }
+          keys.push.apply(keys, symbols);
+        }
+        return keys;
+      }
+
+      function _objectSpread(target) {
+        for (var i = 1; i < arguments.length; i++) {
+          var source = arguments[i] != null ? arguments[i] : {};
+          if (i % 2) {
+            ownKeys(Object(source), true).forEach(function(key) {
+              _defineProperty(target, key, source[key]);
+            });
+          } else if (Object.getOwnPropertyDescriptors) {
+            Object.defineProperties(
+              target,
+              Object.getOwnPropertyDescriptors(source)
+            );
+          } else {
+            ownKeys(Object(source)).forEach(function(key) {
+              Object.defineProperty(
+                target,
+                key,
+                Object.getOwnPropertyDescriptor(source, key)
+              );
+            });
+          }
+        }
+        return target;
+      }
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
+      exports.defaultHead = defaultHead;
+      exports["default"] = void 0;
+
+      var _react = _interopRequireWildcard(__webpack_require__(7294));
+
+      var _sideEffect = _interopRequireDefault(__webpack_require__(9263));
+
+      var _ampContext = __webpack_require__(2698);
+
+      var _headManagerContext = __webpack_require__(5203);
+
+      var _amp = __webpack_require__(4783);
+
+      function _interopRequireDefault(obj) {
+        return obj && obj.__esModule
+          ? obj
+          : {
+              default: obj
+            };
+      }
+
+      function _interopRequireWildcard(obj) {
+        if (obj && obj.__esModule) {
+          return obj;
+        } else {
+          var newObj = {};
+
+          if (obj != null) {
+            for (var key in obj) {
+              if (Object.prototype.hasOwnProperty.call(obj, key)) {
+                var desc =
+                  Object.defineProperty && Object.getOwnPropertyDescriptor
+                    ? Object.getOwnPropertyDescriptor(obj, key)
+                    : {};
+
+                if (desc.get || desc.set) {
+                  Object.defineProperty(newObj, key, desc);
+                } else {
+                  newObj[key] = obj[key];
+                }
+              }
+            }
+          }
+
+          newObj["default"] = obj;
+          return newObj;
+        }
+      }
+
+      function defaultHead() {
+        var inAmpMode =
+          arguments.length > 0 && arguments[0] !== undefined
+            ? arguments[0]
+            : false;
+        var head = [
+          /*#__PURE__*/ _react["default"].createElement("meta", {
+            charSet: "utf-8"
+          })
+        ];
+
+        if (!inAmpMode) {
+          head.push(
+            /*#__PURE__*/ _react["default"].createElement("meta", {
+              name: "viewport",
+              content: "width=device-width"
+            })
+          );
+        }
+
+        return head;
+      }
+
+      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["default"].Fragment) {
+          return list.concat(
+            _react["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) {
+          var isUnique = true;
+          var hasKey = false;
+
+          if (h.key && typeof h.key !== "number" && h.key.indexOf("$") > 0) {
+            hasKey = true;
+            var key = h.key.slice(h.key.indexOf("$") + 1);
+
+            if (keys.has(key)) {
+              isUnique = false;
+            } else {
+              keys.add(key);
+            }
+          } // eslint-disable-next-line default-case
+
+          switch (h.type) {
+            case "title":
+            case "base":
+              if (tags.has(h.type)) {
+                isUnique = false;
+              } else {
+                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)) {
+                    isUnique = false;
+                  } else {
+                    metaTypes.add(metatype);
+                  }
+                } else {
+                  var category = h.props[metatype];
+                  var categories = metaCategories[metatype] || new Set();
+
+                  if (
+                    (metatype !== "name" || !hasKey) &&
+                    categories.has(category)
+                  ) {
+                    isUnique = false;
+                  } else {
+                    categories.add(category);
+                    metaCategories[metatype] = categories;
+                  }
+                }
+              }
+
+              break;
+          }
+
+          return isUnique;
+        };
+      }
+      /**
+       *
+       * @param headElements List of multiple <Head> instances
+       */
+
+      function reduceComponents(headElements, props) {
+        return headElements
+          .reduce(function(list, headElement) {
+            var headElementChildren = _react["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;
+
+            if (true && !props.inAmpMode) {
+              if (
+                c.type === "link" &&
+                c.props["href"] && // TODO(prateekbh@): Replace this with const from `constants` when the tree shaking works.
+                [
+                  "https://fonts.googleapis.com/css",
+                  "https://use.typekit.net/"
+                ].some(function(url) {
+                  return c.props["href"].startsWith(url);
+                })
+              ) {
+                var newProps = _objectSpread({}, c.props || {});
+
+                newProps["data-href"] = newProps["href"];
+                newProps["href"] = undefined; // Add this attribute to make it easy to identify optimized tags
+
+                newProps["data-optimized-fonts"] = true;
+                return /*#__PURE__*/ _react["default"].cloneElement(
+                  c,
+                  newProps
+                );
+              }
+            }
+
+            return /*#__PURE__*/ _react["default"].cloneElement(c, {
+              key: key
+            });
+          });
+      }
+      /**
+       * 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;
+        var ampState = (0, _react).useContext(_ampContext.AmpStateContext);
+        var headManager = (0, _react).useContext(
+          _headManagerContext.HeadManagerContext
+        );
+        return /*#__PURE__*/ _react["default"].createElement(
+          _sideEffect["default"],
+          {
+            reduceComponentsToState: reduceComponents,
+            headManager: headManager,
+            inAmpMode: (0, _amp).isInAmpMode(ampState)
+          },
+          children
+        );
+      }
+
+      var _default = Head;
+      exports["default"] = _default;
+
+      /***/
+    },
+
+    /***/ 9263: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
+
+      var _toConsumableArray = __webpack_require__(319);
+
+      var _classCallCheck = __webpack_require__(4575);
+
+      var _createClass = __webpack_require__(3913);
+
+      var _assertThisInitialized = __webpack_require__(1506);
+
+      var _inherits = __webpack_require__(2205);
+
+      var _possibleConstructorReturn = __webpack_require__(8585);
+
+      var _getPrototypeOf = __webpack_require__(9754);
+
+      function _createSuper(Derived) {
+        var hasNativeReflectConstruct = _isNativeReflectConstruct();
+        return function _createSuperInternal() {
+          var Super = _getPrototypeOf(Derived),
+            result;
+          if (hasNativeReflectConstruct) {
+            var NewTarget = _getPrototypeOf(this).constructor;
+            result = Reflect.construct(Super, arguments, NewTarget);
+          } else {
+            result = Super.apply(this, arguments);
+          }
+          return _possibleConstructorReturn(this, result);
+        };
+      }
+
+      function _isNativeReflectConstruct() {
+        if (typeof Reflect === "undefined" || !Reflect.construct) return false;
+        if (Reflect.construct.sham) return false;
+        if (typeof Proxy === "function") return true;
+        try {
+          Boolean.prototype.valueOf.call(
+            Reflect.construct(Boolean, [], function() {})
+          );
+          return true;
+        } catch (e) {
+          return false;
+        }
+      }
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
+      exports["default"] = void 0;
+
+      var _react = _interopRequireWildcard(__webpack_require__(7294));
+
+      function _interopRequireWildcard(obj) {
+        if (obj && obj.__esModule) {
+          return obj;
+        } else {
+          var newObj = {};
+
+          if (obj != null) {
+            for (var key in obj) {
+              if (Object.prototype.hasOwnProperty.call(obj, key)) {
+                var desc =
+                  Object.defineProperty && Object.getOwnPropertyDescriptor
+                    ? Object.getOwnPropertyDescriptor(obj, key)
+                    : {};
+
+                if (desc.get || desc.set) {
+                  Object.defineProperty(newObj, key, desc);
+                } else {
+                  newObj[key] = obj[key];
+                }
+              }
+            }
+          }
+
+          newObj["default"] = obj;
+          return newObj;
+        }
+      }
+
+      var isServer = false;
+
+      var _class = /*#__PURE__*/ (function(_react$Component) {
+        _inherits(_class, _react$Component);
+
+        var _super = _createSuper(_class);
+
+        function _class(props) {
+          var _this;
+
+          _classCallCheck(this, _class);
+
+          _this = _super.call(this, props);
+
+          _this.emitChange = function() {
+            if (_this._hasHeadManager) {
+              _this.props.headManager.updateHead(
+                _this.props.reduceComponentsToState(
+                  _toConsumableArray(_this.props.headManager.mountedInstances),
+                  _this.props
+                )
+              );
+            }
+          };
+
+          _this._hasHeadManager =
+            _this.props.headManager && _this.props.headManager.mountedInstances;
+
+          if (isServer && _this._hasHeadManager) {
+            _this.props.headManager.mountedInstances.add(
+              _assertThisInitialized(_this)
+            );
+
+            _this.emitChange();
+          }
+
+          return _this;
+        }
+
+        _createClass(_class, [
+          {
+            key: "componentDidMount",
+            value: function componentDidMount() {
+              if (this._hasHeadManager) {
+                this.props.headManager.mountedInstances.add(this);
+              }
+
+              this.emitChange();
+            }
+          },
+          {
+            key: "componentDidUpdate",
+            value: function componentDidUpdate() {
+              this.emitChange();
+            }
+          },
+          {
+            key: "componentWillUnmount",
+            value: function componentWillUnmount() {
+              if (this._hasHeadManager) {
+                this.props.headManager.mountedInstances["delete"](this);
+              }
+
+              this.emitChange();
+            }
+          },
+          {
+            key: "render",
+            value: function render() {
+              return null;
+            }
+          }
+        ]);
+
+        return _class;
+      })(_react.Component);
+
+      exports["default"] = _class;
+
+      /***/
+    },
+
+    /***/ 4186: /***/ function(__unused_webpack_module, exports) {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -941,7 +1592,7 @@
       /***/
     },
 
-    /***/ 9900: /***/ function(
+    /***/ 3369: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -968,7 +1619,7 @@
         height: 1347,
         width: 1626,
         blurDataURL:
-          "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAQAAACfUMTVAAAAP0lEQVR42jXIQQqDUBTF0Lf/rdZZB9W2/0REDNwbyATxaJSuCZlafn3tDmHq49Vm87ZkpKPd8n9CF+7XFOImJ8SebtyxyeM6AAAAAElFTkSuQmCC"
+          "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAAAAAAQMlOCAAAAMElEQVR42hXJOQ4AIBDDwPz/q9BRcG6MMpUlCweWCSPqnrWxmK33Ucjeq16CyHKYD8vhNzo5Br4tAAAAAElFTkSuQmCC"
       };
       // EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
       var jsx_runtime = __webpack_require__(5893); // CONCATENATED MODULE: ./pages/image.js
@@ -978,7 +1629,7 @@
             /*#__PURE__*/ (0, jsx_runtime.jsx)("h1", {
               children: "next/image example"
             }),
-            /*#__PURE__*/ (0, jsx_runtime.jsx)(next_image.default, {
+            /*#__PURE__*/ (0, jsx_runtime.jsx)(next_image["default"], {
               src: nextjs,
               placeholder: "blur"
             })
@@ -1001,9 +1652,11 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/image",
         function() {
-          return __webpack_require__(9900);
+          return __webpack_require__(3369);
         }
       ]);
+      if (false) {
+      }
 
       /***/
     },
@@ -1030,7 +1683,8 @@
         loader: "default",
         domains: [],
         disableStaticImages: false,
-        minimumCacheTTL: 60
+        minimumCacheTTL: 60,
+        formats: ["image/avif", "image/webp"]
       };
       exports.imageConfigDefault = imageConfigDefault;
 
@@ -1044,7 +1698,7 @@
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(9917);
+      module.exports = __webpack_require__(1504);
 
       /***/
     }
Diff for index-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [405],
   {
-    /***/ 6124: /***/ function(
+    /***/ 1539: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -33,9 +33,11 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/",
         function() {
-          return __webpack_require__(6124);
+          return __webpack_require__(1539);
         }
       ]);
+      if (false) {
+      }
 
       /***/
     }
Diff for link-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [644],
   {
-    /***/ 2167: /***/ function(
+    /***/ 7772: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -14,15 +14,15 @@
       __webpack_unused_export__ = {
         value: true
       };
-      exports.default = void 0;
+      exports["default"] = void 0;
 
       var _react = _interopRequireDefault(__webpack_require__(7294));
 
-      var _router = __webpack_require__(1063);
+      var _router = __webpack_require__(948);
 
-      var _router1 = __webpack_require__(4651);
+      var _router1 = __webpack_require__(7356);
 
-      var _useIntersection = __webpack_require__(7426);
+      var _useIntersection = __webpack_require__(3418);
 
       function _interopRequireDefault(obj) {
         return obj && obj.__esModule
@@ -263,12 +263,12 @@
       }
 
       var _default = Link;
-      exports.default = _default;
+      exports["default"] = _default;
 
       /***/
     },
 
-    /***/ 7426: /***/ function(
+    /***/ 3418: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -284,7 +284,7 @@
 
       var _react = __webpack_require__(7294);
 
-      var _requestIdleCallback = __webpack_require__(3447);
+      var _requestIdleCallback = __webpack_require__(5807);
 
       var hasIntersectionObserver = typeof IntersectionObserver !== "undefined";
 
@@ -397,7 +397,7 @@
       /***/
     },
 
-    /***/ 647: /***/ function(
+    /***/ 9094: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -427,7 +427,7 @@
             }),
             /*#__PURE__*/ (0,
             react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(
-              next_link__WEBPACK_IMPORTED_MODULE_0__.default,
+              next_link__WEBPACK_IMPORTED_MODULE_0__["default"],
               {
                 href: "/",
                 children: "Go to /"
@@ -452,9 +452,11 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/link",
         function() {
-          return __webpack_require__(647);
+          return __webpack_require__(9094);
         }
       ]);
+      if (false) {
+      }
 
       /***/
     },
@@ -464,7 +466,7 @@
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(2167);
+      module.exports = __webpack_require__(7772);
 
       /***/
     }
Diff for routerDirect-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [58],
   {
-    /***/ 2163: /***/ function(
+    /***/ 5426: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -46,9 +46,11 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/routerDirect",
         function() {
-          return __webpack_require__(2163);
+          return __webpack_require__(5426);
         }
       ]);
+      if (false) {
+      }
 
       /***/
     },
@@ -58,7 +60,7 @@
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(4651);
+      module.exports = __webpack_require__(7356);
 
       /***/
     }
Diff for script-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [797],
   {
-    /***/ 1568: /***/ function(
+    /***/ 8529: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -33,7 +33,7 @@
               }),
               /*#__PURE__*/ (0,
               react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(
-                next_script__WEBPACK_IMPORTED_MODULE_0__.default,
+                next_script__WEBPACK_IMPORTED_MODULE_0__["default"],
                 {
                   dangerouslySetInnerHTML: {
                     __html: 'console.log("hello")'
@@ -60,9 +60,11 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/script",
         function() {
-          return __webpack_require__(1568);
+          return __webpack_require__(8529);
         }
       ]);
+      if (false) {
+      }
 
       /***/
     },
@@ -72,7 +74,7 @@
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(7926);
+      module.exports = __webpack_require__(9700);
 
       /***/
     }
Diff for withRouter-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [807],
   {
-    /***/ 6222: /***/ function(
+    /***/ 200: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -44,9 +44,11 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/withRouter",
         function() {
-          return __webpack_require__(6222);
+          return __webpack_require__(200);
         }
       ]);
+      if (false) {
+      }
 
       /***/
     },
@@ -56,7 +58,7 @@
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(4651);
+      module.exports = __webpack_require__(7356);
 
       /***/
     }
Diff for 558.HASH.js
@@ -0,0 +1,861 @@
+(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
+  [558],
+  {
+    /***/ 3646: /***/ function(
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      var arrayLikeToArray = __webpack_require__(7228);
+
+      function _arrayWithoutHoles(arr) {
+        if (Array.isArray(arr)) return arrayLikeToArray(arr);
+      }
+
+      module.exports = _arrayWithoutHoles;
+      (module.exports["default"] = module.exports),
+        (module.exports.__esModule = true);
+
+      /***/
+    },
+
+    /***/ 9713: /***/ function(module) {
+      function _defineProperty(obj, key, value) {
+        if (key in obj) {
+          Object.defineProperty(obj, key, {
+            value: value,
+            enumerable: true,
+            configurable: true,
+            writable: true
+          });
+        } else {
+          obj[key] = value;
+        }
+
+        return obj;
+      }
+
+      module.exports = _defineProperty;
+      (module.exports["default"] = module.exports),
+        (module.exports.__esModule = true);
+
+      /***/
+    },
+
+    /***/ 6860: /***/ function(module) {
+      function _iterableToArray(iter) {
+        if (
+          (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null) ||
+          iter["@@iterator"] != null
+        )
+          return Array.from(iter);
+      }
+
+      module.exports = _iterableToArray;
+      (module.exports["default"] = module.exports),
+        (module.exports.__esModule = true);
+
+      /***/
+    },
+
+    /***/ 8206: /***/ function(module) {
+      function _nonIterableSpread() {
+        throw new TypeError(
+          "Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."
+        );
+      }
+
+      module.exports = _nonIterableSpread;
+      (module.exports["default"] = module.exports),
+        (module.exports.__esModule = true);
+
+      /***/
+    },
+
+    /***/ 319: /***/ function(
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      var arrayWithoutHoles = __webpack_require__(3646);
+
+      var iterableToArray = __webpack_require__(6860);
+
+      var unsupportedIterableToArray = __webpack_require__(379);
+
+      var nonIterableSpread = __webpack_require__(8206);
+
+      function _toConsumableArray(arr) {
+        return (
+          arrayWithoutHoles(arr) ||
+          iterableToArray(arr) ||
+          unsupportedIterableToArray(arr) ||
+          nonIterableSpread()
+        );
+      }
+
+      module.exports = _toConsumableArray;
+      (module.exports["default"] = module.exports),
+        (module.exports.__esModule = true);
+
+      /***/
+    },
+
+    /***/ 7558: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
+
+      var _classCallCheck = __webpack_require__(4575);
+
+      var _createClass = __webpack_require__(3913);
+
+      var _inherits = __webpack_require__(2205);
+
+      var _possibleConstructorReturn = __webpack_require__(8585);
+
+      var _getPrototypeOf = __webpack_require__(9754);
+
+      function _createSuper(Derived) {
+        var hasNativeReflectConstruct = _isNativeReflectConstruct();
+        return function _createSuperInternal() {
+          var Super = _getPrototypeOf(Derived),
+            result;
+          if (hasNativeReflectConstruct) {
+            var NewTarget = _getPrototypeOf(this).constructor;
+            result = Reflect.construct(Super, arguments, NewTarget);
+          } else {
+            result = Super.apply(this, arguments);
+          }
+          return _possibleConstructorReturn(this, result);
+        };
+      }
+
+      function _isNativeReflectConstruct() {
+        if (typeof Reflect === "undefined" || !Reflect.construct) return false;
+        if (Reflect.construct.sham) return false;
+        if (typeof Proxy === "function") return true;
+        try {
+          Boolean.prototype.valueOf.call(
+            Reflect.construct(Boolean, [], function() {})
+          );
+          return true;
+        } catch (e) {
+          return false;
+        }
+      }
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
+      exports["default"] = void 0;
+
+      var _react = _interopRequireDefault(__webpack_require__(7294));
+
+      var _head = _interopRequireDefault(__webpack_require__(7006));
+
+      function _interopRequireDefault(obj) {
+        return obj && obj.__esModule
+          ? obj
+          : {
+              default: obj
+            };
+      }
+
+      var statusCodes = {
+        400: "Bad Request",
+        404: "This page could not be found",
+        405: "Method Not Allowed",
+        500: "Internal Server Error"
+      };
+
+      function _getInitialProps(_ref) {
+        var res = _ref.res,
+          err = _ref.err;
+        var statusCode =
+          res && res.statusCode ? res.statusCode : err ? err.statusCode : 404;
+        return {
+          statusCode: statusCode
+        };
+      }
+
+      var Error = /*#__PURE__*/ (function(_react$default$Compon) {
+        _inherits(Error, _react$default$Compon);
+
+        var _super = _createSuper(Error);
+
+        function Error() {
+          _classCallCheck(this, Error);
+
+          return _super.apply(this, arguments);
+        }
+
+        _createClass(Error, [
+          {
+            key: "render",
+            value: function render() {
+              var statusCode = this.props.statusCode;
+              var title =
+                this.props.title ||
+                statusCodes[statusCode] ||
+                "An unexpected error has occurred";
+              return /*#__PURE__*/ _react["default"].createElement(
+                "div",
+                {
+                  style: styles.error
+                },
+                /*#__PURE__*/ _react["default"].createElement(
+                  _head["default"],
+                  null,
+                  /*#__PURE__*/ _react["default"].createElement(
+                    "title",
+                    null,
+                    statusCode
+                      ? "".concat(statusCode, ": ").concat(title)
+                      : "Application error: a client-side exception has occurred"
+                  )
+                ),
+                /*#__PURE__*/ _react["default"].createElement(
+                  "div",
+                  null,
+                  /*#__PURE__*/ _react["default"].createElement("style", {
+                    dangerouslySetInnerHTML: {
+                      __html: "body { margin: 0 }"
+                    }
+                  }),
+                  statusCode
+                    ? /*#__PURE__*/ _react["default"].createElement(
+                        "h1",
+                        {
+                          style: styles.h1
+                        },
+                        statusCode
+                      )
+                    : null,
+                  /*#__PURE__*/ _react["default"].createElement(
+                    "div",
+                    {
+                      style: styles.desc
+                    },
+                    /*#__PURE__*/ _react["default"].createElement(
+                      "h2",
+                      {
+                        style: styles.h2
+                      },
+                      this.props.title || statusCode
+                        ? title
+                        : /*#__PURE__*/ _react["default"].createElement(
+                            _react["default"].Fragment,
+                            null,
+                            "Application error: a client-side exception has occurred (see the browser console for more information)"
+                          ),
+                      "."
+                    )
+                  )
+                )
+              );
+            }
+          }
+        ]);
+
+        return Error;
+      })(_react["default"].Component);
+
+      Error.displayName = "ErrorPage";
+      Error.getInitialProps = _getInitialProps;
+      Error.origGetInitialProps = _getInitialProps;
+      exports["default"] = Error;
+      var styles = {
+        error: {
+          color: "#000",
+          background: "#fff",
+          fontFamily:
+            '-apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Fira Sans", Avenir, "Helvetica Neue", "Lucida Grande", sans-serif',
+          height: "100vh",
+          textAlign: "center",
+          display: "flex",
+          flexDirection: "column",
+          alignItems: "center",
+          justifyContent: "center"
+        },
+        desc: {
+          display: "inline-block",
+          textAlign: "left",
+          lineHeight: "49px",
+          height: "49px",
+          verticalAlign: "middle"
+        },
+        h1: {
+          display: "inline-block",
+          borderRight: "1px solid rgba(0, 0, 0,.3)",
+          margin: 0,
+          marginRight: "20px",
+          padding: "10px 23px 10px 0",
+          fontSize: "24px",
+          fontWeight: 500,
+          verticalAlign: "top"
+        },
+        h2: {
+          fontSize: "14px",
+          fontWeight: "normal",
+          lineHeight: "inherit",
+          margin: 0,
+          padding: 0
+        }
+      };
+
+      /***/
+    },
+
+    /***/ 2698: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
+      exports.AmpStateContext = void 0;
+
+      var _react = _interopRequireDefault(__webpack_require__(7294));
+
+      function _interopRequireDefault(obj) {
+        return obj && obj.__esModule
+          ? obj
+          : {
+              default: obj
+            };
+      }
+
+      var AmpStateContext = _react["default"].createContext({});
+
+      exports.AmpStateContext = AmpStateContext;
+
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 4783: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
+      exports.isInAmpMode = isInAmpMode;
+      exports.useAmp = useAmp;
+
+      var _react = _interopRequireDefault(__webpack_require__(7294));
+
+      var _ampContext = __webpack_require__(2698);
+
+      function _interopRequireDefault(obj) {
+        return obj && obj.__esModule
+          ? obj
+          : {
+              default: obj
+            };
+      }
+
+      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);
+      }
+
+      function useAmp() {
+        // Don't assign the context value to a variable to save bytes
+        return isInAmpMode(
+          _react["default"].useContext(_ampContext.AmpStateContext)
+        );
+      }
+
+      /***/
+    },
+
+    /***/ 7006: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
+
+      var _defineProperty = __webpack_require__(9713);
+
+      function ownKeys(object, enumerableOnly) {
+        var keys = Object.keys(object);
+        if (Object.getOwnPropertySymbols) {
+          var symbols = Object.getOwnPropertySymbols(object);
+          if (enumerableOnly) {
+            symbols = symbols.filter(function(sym) {
+              return Object.getOwnPropertyDescriptor(object, sym).enumerable;
+            });
+          }
+          keys.push.apply(keys, symbols);
+        }
+        return keys;
+      }
+
+      function _objectSpread(target) {
+        for (var i = 1; i < arguments.length; i++) {
+          var source = arguments[i] != null ? arguments[i] : {};
+          if (i % 2) {
+            ownKeys(Object(source), true).forEach(function(key) {
+              _defineProperty(target, key, source[key]);
+            });
+          } else if (Object.getOwnPropertyDescriptors) {
+            Object.defineProperties(
+              target,
+              Object.getOwnPropertyDescriptors(source)
+            );
+          } else {
+            ownKeys(Object(source)).forEach(function(key) {
+              Object.defineProperty(
+                target,
+                key,
+                Object.getOwnPropertyDescriptor(source, key)
+              );
+            });
+          }
+        }
+        return target;
+      }
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
+      exports.defaultHead = defaultHead;
+      exports["default"] = void 0;
+
+      var _react = _interopRequireWildcard(__webpack_require__(7294));
+
+      var _sideEffect = _interopRequireDefault(__webpack_require__(9263));
+
+      var _ampContext = __webpack_require__(2698);
+
+      var _headManagerContext = __webpack_require__(5203);
+
+      var _amp = __webpack_require__(4783);
+
+      function _interopRequireDefault(obj) {
+        return obj && obj.__esModule
+          ? obj
+          : {
+              default: obj
+            };
+      }
+
+      function _interopRequireWildcard(obj) {
+        if (obj && obj.__esModule) {
+          return obj;
+        } else {
+          var newObj = {};
+
+          if (obj != null) {
+            for (var key in obj) {
+              if (Object.prototype.hasOwnProperty.call(obj, key)) {
+                var desc =
+                  Object.defineProperty && Object.getOwnPropertyDescriptor
+                    ? Object.getOwnPropertyDescriptor(obj, key)
+                    : {};
+
+                if (desc.get || desc.set) {
+                  Object.defineProperty(newObj, key, desc);
+                } else {
+                  newObj[key] = obj[key];
+                }
+              }
+            }
+          }
+
+          newObj["default"] = obj;
+          return newObj;
+        }
+      }
+
+      function defaultHead() {
+        var inAmpMode =
+          arguments.length > 0 && arguments[0] !== undefined
+            ? arguments[0]
+            : false;
+        var head = [
+          /*#__PURE__*/ _react["default"].createElement("meta", {
+            charSet: "utf-8"
+          })
+        ];
+
+        if (!inAmpMode) {
+          head.push(
+            /*#__PURE__*/ _react["default"].createElement("meta", {
+              name: "viewport",
+              content: "width=device-width"
+            })
+          );
+        }
+
+        return head;
+      }
+
+      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["default"].Fragment) {
+          return list.concat(
+            _react["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) {
+          var isUnique = true;
+          var hasKey = false;
+
+          if (h.key && typeof h.key !== "number" && h.key.indexOf("$") > 0) {
+            hasKey = true;
+            var key = h.key.slice(h.key.indexOf("$") + 1);
+
+            if (keys.has(key)) {
+              isUnique = false;
+            } else {
+              keys.add(key);
+            }
+          } // eslint-disable-next-line default-case
+
+          switch (h.type) {
+            case "title":
+            case "base":
+              if (tags.has(h.type)) {
+                isUnique = false;
+              } else {
+                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)) {
+                    isUnique = false;
+                  } else {
+                    metaTypes.add(metatype);
+                  }
+                } else {
+                  var category = h.props[metatype];
+                  var categories = metaCategories[metatype] || new Set();
+
+                  if (
+                    (metatype !== "name" || !hasKey) &&
+                    categories.has(category)
+                  ) {
+                    isUnique = false;
+                  } else {
+                    categories.add(category);
+                    metaCategories[metatype] = categories;
+                  }
+                }
+              }
+
+              break;
+          }
+
+          return isUnique;
+        };
+      }
+      /**
+       *
+       * @param headElements List of multiple <Head> instances
+       */
+
+      function reduceComponents(headElements, props) {
+        return headElements
+          .reduce(function(list, headElement) {
+            var headElementChildren = _react["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;
+
+            if (true && !props.inAmpMode) {
+              if (
+                c.type === "link" &&
+                c.props["href"] && // TODO(prateekbh@): Replace this with const from `constants` when the tree shaking works.
+                [
+                  "https://fonts.googleapis.com/css",
+                  "https://use.typekit.net/"
+                ].some(function(url) {
+                  return c.props["href"].startsWith(url);
+                })
+              ) {
+                var newProps = _objectSpread({}, c.props || {});
+
+                newProps["data-href"] = newProps["href"];
+                newProps["href"] = undefined; // Add this attribute to make it easy to identify optimized tags
+
+                newProps["data-optimized-fonts"] = true;
+                return /*#__PURE__*/ _react["default"].cloneElement(
+                  c,
+                  newProps
+                );
+              }
+            }
+
+            return /*#__PURE__*/ _react["default"].cloneElement(c, {
+              key: key
+            });
+          });
+      }
+      /**
+       * 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;
+        var ampState = (0, _react).useContext(_ampContext.AmpStateContext);
+        var headManager = (0, _react).useContext(
+          _headManagerContext.HeadManagerContext
+        );
+        return /*#__PURE__*/ _react["default"].createElement(
+          _sideEffect["default"],
+          {
+            reduceComponentsToState: reduceComponents,
+            headManager: headManager,
+            inAmpMode: (0, _amp).isInAmpMode(ampState)
+          },
+          children
+        );
+      }
+
+      var _default = Head;
+      exports["default"] = _default;
+
+      /***/
+    },
+
+    /***/ 9263: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
+
+      var _toConsumableArray = __webpack_require__(319);
+
+      var _classCallCheck = __webpack_require__(4575);
+
+      var _createClass = __webpack_require__(3913);
+
+      var _assertThisInitialized = __webpack_require__(1506);
+
+      var _inherits = __webpack_require__(2205);
+
+      var _possibleConstructorReturn = __webpack_require__(8585);
+
+      var _getPrototypeOf = __webpack_require__(9754);
+
+      function _createSuper(Derived) {
+        var hasNativeReflectConstruct = _isNativeReflectConstruct();
+        return function _createSuperInternal() {
+          var Super = _getPrototypeOf(Derived),
+            result;
+          if (hasNativeReflectConstruct) {
+            var NewTarget = _getPrototypeOf(this).constructor;
+            result = Reflect.construct(Super, arguments, NewTarget);
+          } else {
+            result = Super.apply(this, arguments);
+          }
+          return _possibleConstructorReturn(this, result);
+        };
+      }
+
+      function _isNativeReflectConstruct() {
+        if (typeof Reflect === "undefined" || !Reflect.construct) return false;
+        if (Reflect.construct.sham) return false;
+        if (typeof Proxy === "function") return true;
+        try {
+          Boolean.prototype.valueOf.call(
+            Reflect.construct(Boolean, [], function() {})
+          );
+          return true;
+        } catch (e) {
+          return false;
+        }
+      }
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
+      exports["default"] = void 0;
+
+      var _react = _interopRequireWildcard(__webpack_require__(7294));
+
+      function _interopRequireWildcard(obj) {
+        if (obj && obj.__esModule) {
+          return obj;
+        } else {
+          var newObj = {};
+
+          if (obj != null) {
+            for (var key in obj) {
+              if (Object.prototype.hasOwnProperty.call(obj, key)) {
+                var desc =
+                  Object.defineProperty && Object.getOwnPropertyDescriptor
+                    ? Object.getOwnPropertyDescriptor(obj, key)
+                    : {};
+
+                if (desc.get || desc.set) {
+                  Object.defineProperty(newObj, key, desc);
+                } else {
+                  newObj[key] = obj[key];
+                }
+              }
+            }
+          }
+
+          newObj["default"] = obj;
+          return newObj;
+        }
+      }
+
+      var isServer = false;
+
+      var _class = /*#__PURE__*/ (function(_react$Component) {
+        _inherits(_class, _react$Component);
+
+        var _super = _createSuper(_class);
+
+        function _class(props) {
+          var _this;
+
+          _classCallCheck(this, _class);
+
+          _this = _super.call(this, props);
+
+          _this.emitChange = function() {
+            if (_this._hasHeadManager) {
+              _this.props.headManager.updateHead(
+                _this.props.reduceComponentsToState(
+                  _toConsumableArray(_this.props.headManager.mountedInstances),
+                  _this.props
+                )
+              );
+            }
+          };
+
+          _this._hasHeadManager =
+            _this.props.headManager && _this.props.headManager.mountedInstances;
+
+          if (isServer && _this._hasHeadManager) {
+            _this.props.headManager.mountedInstances.add(
+              _assertThisInitialized(_this)
+            );
+
+            _this.emitChange();
+          }
+
+          return _this;
+        }
+
+        _createClass(_class, [
+          {
+            key: "componentDidMount",
+            value: function componentDidMount() {
+              if (this._hasHeadManager) {
+                this.props.headManager.mountedInstances.add(this);
+              }
+
+              this.emitChange();
+            }
+          },
+          {
+            key: "componentDidUpdate",
+            value: function componentDidUpdate() {
+              this.emitChange();
+            }
+          },
+          {
+            key: "componentWillUnmount",
+            value: function componentWillUnmount() {
+              if (this._hasHeadManager) {
+                this.props.headManager.mountedInstances["delete"](this);
+              }
+
+              this.emitChange();
+            }
+          },
+          {
+            key: "render",
+            value: function render() {
+              return null;
+            }
+          }
+        ]);
+
+        return _class;
+      })(_react.Component);
+
+      exports["default"] = _class;
+
+      /***/
+    }
+  }
+]);
Diff for 745.HASH.js
@@ -1,8 +1,8 @@
 "use strict";
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
-  [745],
+  [779],
   {
-    /***/ 7745: /***/ function(
+    /***/ 2779: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
Diff for main-HASH.js

Diff too large to display

Diff for webpack-HASH.js
@@ -159,7 +159,13 @@
     /******/ __webpack_require__.u = function(chunkId) {
       /******/ // return url for filenames based on template
       /******/ return (
-        "static/chunks/" + chunkId + "." + "284331703de33c30eb1c" + ".js"
+        "static/chunks/" +
+        chunkId +
+        "." +
+        { "558": "c3bc867dfcf89fd2de88", "779": "e727cb744a4dade430a8" }[
+          chunkId
+        ] +
+        ".js"
       );
       /******/
     };
Diff for index.html
@@ -11,7 +11,7 @@
       src="/_next/static/chunks/polyfills-a40ef1678bae11e696dba45124eadd70.js"
     ></script>
     <script
-      src="/_next/static/chunks/webpack-e3a4ea5707671df28cf0.js"
+      src="/_next/static/chunks/webpack-06da33959e4d0607ff32.js"
       defer=""
     ></script>
     <script
@@ -19,15 +19,15 @@
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-979148a80eee4d680da1.js"
+      src="/_next/static/chunks/main-920e9015a0e7af76b213.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-49ca463e4e9f4c42f3ec.js"
+      src="/_next/static/chunks/pages/_app-dd3eb358511b177e9505.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/index-952afde7a0f218c22632.js"
+      src="/_next/static/chunks/pages/index-b90032992c9b33402f59.js"
       defer=""
     ></script>
     <script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>
Diff for link.html
@@ -11,7 +11,7 @@
       src="/_next/static/chunks/polyfills-a40ef1678bae11e696dba45124eadd70.js"
     ></script>
     <script
-      src="/_next/static/chunks/webpack-e3a4ea5707671df28cf0.js"
+      src="/_next/static/chunks/webpack-06da33959e4d0607ff32.js"
       defer=""
     ></script>
     <script
@@ -19,15 +19,15 @@
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-979148a80eee4d680da1.js"
+      src="/_next/static/chunks/main-920e9015a0e7af76b213.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-49ca463e4e9f4c42f3ec.js"
+      src="/_next/static/chunks/pages/_app-dd3eb358511b177e9505.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/link-f62bdaa581311495bb85.js"
+      src="/_next/static/chunks/pages/link-962a2a330709d57cd073.js"
       defer=""
     ></script>
     <script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>
Diff for withRouter.html
@@ -11,7 +11,7 @@
       src="/_next/static/chunks/polyfills-a40ef1678bae11e696dba45124eadd70.js"
     ></script>
     <script
-      src="/_next/static/chunks/webpack-e3a4ea5707671df28cf0.js"
+      src="/_next/static/chunks/webpack-06da33959e4d0607ff32.js"
       defer=""
     ></script>
     <script
@@ -19,15 +19,15 @@
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-979148a80eee4d680da1.js"
+      src="/_next/static/chunks/main-920e9015a0e7af76b213.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-49ca463e4e9f4c42f3ec.js"
+      src="/_next/static/chunks/pages/_app-dd3eb358511b177e9505.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/withRouter-072a37cc0c889cd17738.js"
+      src="/_next/static/chunks/pages/withRouter-a12483804a57bd25f921.js"
       defer=""
     ></script>
     <script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>

Default Build with SWC (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary v11.1.2 vercel/next.js refs/heads/canary Change
buildDuration 10.5s 10.9s ⚠️ +457ms
buildDurationCached 3.6s 3.3s -316ms
nodeModulesSize 188 MB 199 MB ⚠️ +11 MB
Page Load Tests Overall decrease ⚠️
vercel/next.js canary v11.1.2 vercel/next.js refs/heads/canary Change
/ failed reqs 0 0
/ total time (seconds) 3.004 3.579 ⚠️ +0.58
/ avg req/sec 832.1 698.51 ⚠️ -133.59
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.896 1.865 -0.03
/error-in-render avg req/sec 1318.81 1340.38 +21.57
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary v11.1.2 vercel/next.js refs/heads/canary Change
264.HASH.js gzip 180 B 179 B -1 B
675-HASH.js gzip 10.8 kB 10.8 kB ⚠️ +13 B
framework-HASH.js gzip 42.2 kB 42.2 kB
main-HASH.js gzip 23.1 kB 26.7 kB ⚠️ +3.65 kB
webpack-HASH.js gzip 1.51 kB 1.52 kB ⚠️ +2 B
Overall change 77.8 kB 81.4 kB ⚠️ +3.67 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary v11.1.2 vercel/next.js refs/heads/canary Change
polyfills-a4..dd70.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages Overall decrease ✓
vercel/next.js canary v11.1.2 vercel/next.js refs/heads/canary Change
_app-HASH.js gzip 1.22 kB 1.23 kB ⚠️ +12 B
_error-HASH.js gzip 193 B 195 B ⚠️ +2 B
amp-HASH.js gzip 312 B 312 B
css-HASH.js gzip 328 B 328 B
dynamic-HASH.js gzip 2.4 kB 2.44 kB ⚠️ +40 B
head-HASH.js gzip 363 B 351 B -12 B
hooks-HASH.js gzip 635 B 633 B -2 B
image-HASH.js gzip 590 B 558 B -32 B
index-HASH.js gzip 277 B 263 B -14 B
link-HASH.js gzip 1.89 kB 1.88 kB -8 B
routerDirect..HASH.js gzip 334 B 320 B -14 B
script-HASH.js gzip 397 B 385 B -12 B
withRouter-HASH.js gzip 333 B 319 B -14 B
bb14e60e810b..30f.css gzip 125 B 125 B
Overall change 9.39 kB 9.34 kB -54 B
Client Build Manifests Overall decrease ✓
vercel/next.js canary v11.1.2 vercel/next.js refs/heads/canary Change
_buildManifest.js gzip 514 B 513 B -1 B
Overall change 514 B 513 B -1 B
Rendered Page Sizes Overall increase ⚠️
vercel/next.js canary v11.1.2 vercel/next.js refs/heads/canary Change
index.html gzip 539 B 538 B -1 B
link.html gzip 550 B 552 B ⚠️ +2 B
withRouter.html gzip 531 B 531 B
Overall change 1.62 kB 1.62 kB ⚠️ +1 B

Diffs

Diff for _buildManifest.js
@@ -1,34 +1,34 @@
 self.__BUILD_MANIFEST = {
   __rewrites: { beforeFiles: [], afterFiles: [], fallback: [] },
-  "/": ["static\u002Fchunks\u002Fpages\u002Findex-538949a10a36e498111f.js"],
+  "/": ["static\u002Fchunks\u002Fpages\u002Findex-62b6d914325f07931441.js"],
   "/_error": [
-    "static\u002Fchunks\u002Fpages\u002F_error-972535c3242034b1042a.js"
+    "static\u002Fchunks\u002Fpages\u002F_error-5465a03ec8001cf52192.js"
   ],
-  "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-a539c821b06da8751c00.js"],
+  "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-76b1d1cad2fa670990e7.js"],
   "/css": [
     "static\u002Fcss\u002F59de118426c393f58653.css",
-    "static\u002Fchunks\u002Fpages\u002Fcss-c69b8371e1f908f5d42c.js"
+    "static\u002Fchunks\u002Fpages\u002Fcss-971c9d7976475fd8ecd9.js"
   ],
   "/dynamic": [
-    "static\u002Fchunks\u002Fpages\u002Fdynamic-af499357612c07e6fe62.js"
+    "static\u002Fchunks\u002Fpages\u002Fdynamic-d9d56e14336c2d5493ff.js"
   ],
-  "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-397143160741680a7175.js"],
+  "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-ac328e77dde10022dc84.js"],
   "/hooks": [
-    "static\u002Fchunks\u002Fpages\u002Fhooks-b3fb1366b8a9b3bc4a94.js"
+    "static\u002Fchunks\u002Fpages\u002Fhooks-7fa8f6299881aeef4d92.js"
   ],
   "/image": [
-    "static\u002Fchunks\u002F675-8bbaa7edc3ffef6d5cc5.js",
-    "static\u002Fchunks\u002Fpages\u002Fimage-dbe931d645834f2126eb.js"
+    "static\u002Fchunks\u002F675-9c6edfe56b83ffcb92d8.js",
+    "static\u002Fchunks\u002Fpages\u002Fimage-24dfc0766459a85ca885.js"
   ],
-  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-fa2dfaa49cd97d4cd82d.js"],
+  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-d5bdd3af9bbbd881abda.js"],
   "/routerDirect": [
-    "static\u002Fchunks\u002Fpages\u002FrouterDirect-a5c2f491b0df021aac25.js"
+    "static\u002Fchunks\u002Fpages\u002FrouterDirect-0c3a69578ed98df5d7be.js"
   ],
   "/script": [
-    "static\u002Fchunks\u002Fpages\u002Fscript-77845d52f9ddf967e85b.js"
+    "static\u002Fchunks\u002Fpages\u002Fscript-11366980389598d0fd29.js"
   ],
   "/withRouter": [
-    "static\u002Fchunks\u002Fpages\u002FwithRouter-7f69cf963aab937061e0.js"
+    "static\u002Fchunks\u002Fpages\u002FwithRouter-7faf010ab7dedd43f8cc.js"
   ],
   sortedPages: [
     "\u002F",
Diff for _app-HASH.js
@@ -9,20 +9,25 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/_app",
         function() {
-          return __webpack_require__(7592);
+          return __webpack_require__(4596);
         }
       ]);
+      if (false) {
+      }
 
       /***/
     },
 
-    /***/ 7592: /***/ function(
+    /***/ 4596: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
     ) {
       "use strict";
 
+      var _regeneratorRuntime = _interopRequireDefault1(
+        __webpack_require__(5666)
+      );
       function _assertThisInitialized(self) {
         if (self === void 0) {
           throw new ReferenceError(
@@ -73,6 +78,13 @@
         });
         if (superClass) _setPrototypeOf(subClass, superClass);
       }
+      function _interopRequireDefault1(obj) {
+        return obj && obj.__esModule
+          ? obj
+          : {
+              default: obj
+            };
+      }
       function _possibleConstructorReturn(self, call) {
         if (
           call &&
@@ -98,8 +110,6 @@
           ? "symbol"
           : typeof obj;
       };
-      var regeneratorRuntime = __webpack_require__(5666);
-      var _marked = regeneratorRuntime.mark(_appGetInitialProps);
       Object.defineProperty(exports, "__esModule", {
         value: true
       });
@@ -115,9 +125,9 @@
           return _utils.NextWebVitalsMetric;
         }
       });
-      exports.default = void 0;
-      var _react = _interopRequireDefault(__webpack_require__(7294));
-      var _utils = __webpack_require__(359);
+      exports["default"] = void 0;
+      var _react = _interopRequireDefault2(__webpack_require__(7294));
+      var _utils = __webpack_require__(4758);
       function asyncGeneratorStep(
         gen,
         resolve,
@@ -172,7 +182,7 @@
           });
         };
       }
-      function _interopRequireDefault(obj) {
+      function _interopRequireDefault2(obj) {
         return obj && obj.__esModule
           ? obj
           : {
@@ -184,11 +194,11 @@
          * `App` component is used for initialize of pages. It allows for overwriting and full control of the `page` initialization.
          * This allows for keeping state between navigation, custom error handling, injecting additional data.
          */ _asyncToGenerator(
-          regeneratorRuntime.mark(function _callee(param) {
+          _regeneratorRuntime.default.mark(function _callee(param) {
             var Component = param.Component,
               ctx = param.ctx;
             var pageProps;
-            return regeneratorRuntime.wrap(function _callee$(_ctx) {
+            return _regeneratorRuntime.default.wrap(function _callee$(_ctx) {
               while (1)
                 switch ((_ctx.prev = _ctx.next)) {
                   case 0:
@@ -238,7 +248,7 @@
       })(_react.default.Component);
       App.origGetInitialProps = appGetInitialProps;
       App.getInitialProps = appGetInitialProps;
-      exports.default = App; //# sourceMappingURL=_app.js.map
+      exports["default"] = App; //# sourceMappingURL=_app.js.map
 
       /***/
     }
@@ -249,7 +259,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 179], function() {
-      return __webpack_exec__(915), __webpack_exec__(2508);
+      return __webpack_exec__(915), __webpack_exec__(557);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for _error-HASH.js
@@ -9,9 +9,11 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/_error",
         function() {
-          return __webpack_require__(1107);
+          return __webpack_require__(5509);
         }
       ]);
+      if (false) {
+      }
 
       /***/
     }
Diff for amp-HASH.js
@@ -6,7 +6,7 @@
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(2234);
+      module.exports = __webpack_require__(6446);
 
       /***/
     },
@@ -19,14 +19,16 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/amp",
         function() {
-          return __webpack_require__(6579);
+          return __webpack_require__(7659);
         }
       ]);
+      if (false) {
+      }
 
       /***/
     },
 
-    /***/ 6579: /***/ function(
+    /***/ 7659: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
Diff for css-HASH.js
@@ -9,14 +9,16 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/css",
         function() {
-          return __webpack_require__(4516);
+          return __webpack_require__(9436);
         }
       ]);
+      if (false) {
+      }
 
       /***/
     },
 
-    /***/ 4516: /***/ function(
+    /***/ 9436: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -27,7 +29,7 @@
         5893
       );
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        5964
+        1785
       );
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         _css_module_css__WEBPACK_IMPORTED_MODULE_1__
@@ -46,7 +48,7 @@
       /***/
     },
 
-    /***/ 5964: /***/ function(module) {
+    /***/ 1785: /***/ function(module) {
       // extracted by mini-css-extract-plugin
       module.exports = { helloWorld: "css_helloWorld__2Fhmt" };
Diff for dynamic-HASH.js
@@ -9,14 +9,16 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/dynamic",
         function() {
-          return __webpack_require__(2169);
+          return __webpack_require__(7202);
         }
       ]);
+      if (false) {
+      }
 
       /***/
     },
 
-    /***/ 3601: /***/ function(
+    /***/ 1215: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -69,9 +71,9 @@
         value: true
       };
       __webpack_unused_export__ = noSSR;
-      exports.default = dynamic;
+      exports["default"] = dynamic;
       var _react = _interopRequireDefault(__webpack_require__(7294));
-      var _loadable = _interopRequireDefault(__webpack_require__(3376));
+      var _loadable = _interopRequireDefault(__webpack_require__(7213));
       function _interopRequireDefault(obj) {
         return obj && obj.__esModule
           ? obj
@@ -166,7 +168,7 @@
       /***/
     },
 
-    /***/ 2930: /***/ function(
+    /***/ 3197: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -193,7 +195,7 @@
       /***/
     },
 
-    /***/ 3376: /***/ function(
+    /***/ 7213: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -252,10 +254,10 @@
       Object.defineProperty(exports, "__esModule", {
         value: true
       });
-      exports.default = void 0;
+      exports["default"] = void 0;
       var _react = _interopRequireDefault(__webpack_require__(7294));
       var _useSubscription = __webpack_require__(7161);
-      var _loadableContext = __webpack_require__(2930);
+      var _loadableContext = __webpack_require__(3197);
       function _interopRequireDefault(obj) {
         return obj && obj.__esModule
           ? obj
@@ -439,6 +441,8 @@
           {
             key: "retry",
             value: function retry() {
+              var _this = this,
+                _this1 = this;
               this._clearTimeouts();
               this._res = this._loadFn(this._opts.loader);
               this._state = {
@@ -447,46 +451,38 @@
               };
               var ref = this,
                 res = ref._res,
-                opts1 = ref._opts;
+                opts = ref._opts;
               if (res.loading) {
-                if (typeof opts1.delay === "number") {
-                  if (opts1.delay === 0) {
+                if (typeof opts.delay === "number") {
+                  if (opts.delay === 0) {
                     this._state.pastDelay = true;
                   } else {
-                    this._delay = setTimeout(
-                      function() {
-                        this._update({
-                          pastDelay: true
-                        });
-                      }.bind(this),
-                      opts1.delay
-                    );
+                    var _this2 = this;
+                    this._delay = setTimeout(function() {
+                      _this2._update({
+                        pastDelay: true
+                      });
+                    }, opts.delay);
                   }
                 }
-                if (typeof opts1.timeout === "number") {
-                  this._timeout = setTimeout(
-                    function() {
-                      this._update({
-                        timedOut: true
-                      });
-                    }.bind(this),
-                    opts1.timeout
-                  );
+                if (typeof opts.timeout === "number") {
+                  var _this2 = this;
+                  this._timeout = setTimeout(function() {
+                    _this2._update({
+                      timedOut: true
+                    });
+                  }, opts.timeout);
                 }
               }
               this._res.promise
-                .then(
-                  function() {
-                    this._update({});
-                    this._clearTimeouts();
-                  }.bind(this)
-                )
-                .catch(
-                  function(_err) {
-                    this._update({});
-                    this._clearTimeouts();
-                  }.bind(this)
-                );
+                .then(function() {
+                  _this._update({});
+                  _this._clearTimeouts();
+                })
+                .catch(function(_err) {
+                  _this1._update({});
+                  _this1._clearTimeouts();
+                });
               this._update({});
             }
           },
@@ -524,17 +520,18 @@
           {
             key: "subscribe",
             value: function subscribe(callback) {
+              var _this = this;
               this._callbacks.add(callback);
               return function() {
-                this._callbacks.delete(callback);
-              }.bind(this);
+                _this._callbacks.delete(callback);
+              };
             }
           }
         ]);
         return LoadableSubscription;
       })();
-      function Loadable(opts1) {
-        return createLoadableComponent(load, opts1);
+      function Loadable(opts) {
+        return createLoadableComponent(load, opts);
       }
       function flushInitializers(initializers, ids) {
         var promises = [];
@@ -568,12 +565,12 @@
         window.__NEXT_PRELOADREADY = Loadable.preloadReady;
       }
       var _default = Loadable;
-      exports.default = _default; //# sourceMappingURL=loadable.js.map
+      exports["default"] = _default; //# sourceMappingURL=loadable.js.map
 
       /***/
     },
 
-    /***/ 2169: /***/ function(
+    /***/ 7202: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -581,8 +578,8 @@
       "use strict";
       __webpack_require__.r(__webpack_exports__);
       /* harmony export */ __webpack_require__.d(__webpack_exports__, {
-        /* harmony export */ getServerSideProps: function() {
-          return /* binding */ getServerSideProps;
+        /* harmony export */ __N_SSP: function() {
+          return /* binding */ __N_SSP;
         }
         /* harmony export */
       });
@@ -593,11 +590,20 @@
         5152
       );
 
-      var DynamicHello = (0, next_dynamic__WEBPACK_IMPORTED_MODULE_1__.default)(
+      var DynamicHello = (0,
+      next_dynamic__WEBPACK_IMPORTED_MODULE_1__["default"])(
         function() {
           return __webpack_require__
-            .e(/* import() */ 264)
-            .then(__webpack_require__.bind(__webpack_require__, 5264));
+            .e(/* import() */ 770)
+            .then(__webpack_require__.bind(__webpack_require__, 5770));
+        },
+        {
+          loadableGenerated: {
+            webpack: function() {
+              return [/*require.resolve*/ 5770];
+            },
+            modules: ["dynamic.js -> " + "../components/hello"]
+          }
         }
       );
       var Page = function() {
@@ -619,13 +625,7 @@
           }
         );
       };
-      // we add getServerSideProps to prevent static optimization
-      // to allow us to compare server-side changes
-      var getServerSideProps = function() {
-        return {
-          props: {}
-        };
-      };
+      var __N_SSP = true;
       /* harmony default export */ __webpack_exports__["default"] = Page;
 
       /***/
@@ -636,7 +636,7 @@
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(3601);
+      module.exports = __webpack_require__(1215);
 
       /***/
     }
Diff for head-HASH.js
@@ -9,14 +9,16 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/head",
         function() {
-          return __webpack_require__(8326);
+          return __webpack_require__(223);
         }
       ]);
+      if (false) {
+      }
 
       /***/
     },
 
-    /***/ 8326: /***/ function(
+    /***/ 223: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -24,8 +26,8 @@
       "use strict";
       __webpack_require__.r(__webpack_exports__);
       /* harmony export */ __webpack_require__.d(__webpack_exports__, {
-        /* harmony export */ getServerSideProps: function() {
-          return /* binding */ getServerSideProps;
+        /* harmony export */ __N_SSP: function() {
+          return /* binding */ __N_SSP;
         }
         /* harmony export */
       });
@@ -44,7 +46,7 @@
             children: [
               /*#__PURE__*/ (0,
               react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
-                next_head__WEBPACK_IMPORTED_MODULE_1__.default,
+                next_head__WEBPACK_IMPORTED_MODULE_1__["default"],
                 {
                   children: /*#__PURE__*/ (0,
                   react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("title", {
@@ -60,13 +62,7 @@
           }
         );
       };
-      // we add getServerSideProps to prevent static optimization
-      // to allow us to compare server-side changes
-      var getServerSideProps = function() {
-        return {
-          props: {}
-        };
-      };
+      var __N_SSP = true;
       /* harmony default export */ __webpack_exports__["default"] = Page;
 
       /***/
@@ -77,7 +73,7 @@
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(1152);
+      module.exports = __webpack_require__(1495);
 
       /***/
     }
Diff for hooks-HASH.js
@@ -9,14 +9,16 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/hooks",
         function() {
-          return __webpack_require__(3099);
+          return __webpack_require__(522);
         }
       ]);
+      if (false) {
+      }
 
       /***/
     },
 
-    /***/ 3099: /***/ function(
+    /***/ 522: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
Diff for image-HASH.js
@@ -9,14 +9,16 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/image",
         function() {
-          return __webpack_require__(9643);
+          return __webpack_require__(1532);
         }
       ]);
+      if (false) {
+      }
 
       /***/
     },
 
-    /***/ 9643: /***/ function(
+    /***/ 1532: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -27,11 +29,11 @@
 
       // EXPORTS
       __webpack_require__.d(__webpack_exports__, {
+        __N_SSP: function() {
+          return /* binding */ __N_SSP;
+        },
         default: function() {
           return /* binding */ pages_image;
-        },
-        getServerSideProps: function() {
-          return /* binding */ getServerSideProps;
         }
       });
 
@@ -45,7 +47,7 @@
         height: 1347,
         width: 1626,
         blurDataURL:
-          "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAQAAACfUMTVAAAAP0lEQVR42jXIQQqDUBTF0Lf/rdZZB9W2/0REDNwbyATxaJSuCZlafn3tDmHq49Vm87ZkpKPd8n9CF+7XFOImJ8SebtyxyeM6AAAAAElFTkSuQmCC"
+          "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAAAAAAQMlOCAAAAMElEQVR42hXJOQ4AIBDDwPz/q9BRcG6MMpUlCweWCSPqnrWxmK33Ucjeq16CyHKYD8vhNzo5Br4tAAAAAElFTkSuQmCC"
       }; // CONCATENATED MODULE: ./pages/image.js
       function ImagePage(props) {
         return /*#__PURE__*/ (0, jsx_runtime.jsxs)(jsx_runtime.Fragment, {
@@ -53,20 +55,14 @@
             /*#__PURE__*/ (0, jsx_runtime.jsx)("h1", {
               children: "next/image example"
             }),
-            /*#__PURE__*/ (0, jsx_runtime.jsx)(next_image.default, {
+            /*#__PURE__*/ (0, jsx_runtime.jsx)(next_image["default"], {
               src: nextjs,
               placeholder: "blur"
             })
           ]
         });
       }
-      // we add getServerSideProps to prevent static optimization
-      // to allow us to compare server-side changes
-      var getServerSideProps = function() {
-        return {
-          props: {}
-        };
-      };
+      var __N_SSP = true;
       /* harmony default export */ var pages_image = ImagePage;
 
       /***/
Diff for index-HASH.js
@@ -9,14 +9,16 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/",
         function() {
-          return __webpack_require__(5516);
+          return __webpack_require__(5006);
         }
       ]);
+      if (false) {
+      }
 
       /***/
     },
 
-    /***/ 5516: /***/ function(
+    /***/ 5006: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -24,21 +26,15 @@
       "use strict";
       __webpack_require__.r(__webpack_exports__);
       /* harmony export */ __webpack_require__.d(__webpack_exports__, {
-        /* harmony export */ getServerSideProps: function() {
-          return /* binding */ getServerSideProps;
+        /* harmony export */ __N_SSP: function() {
+          return /* binding */ __N_SSP;
         }
         /* harmony export */
       });
       var Page = function() {
         return "Hello world 👋";
       };
-      // we add getServerSideProps to prevent static optimization
-      // to allow us to compare server-side changes
-      var getServerSideProps = function() {
-        return {
-          props: {}
-        };
-      };
+      var __N_SSP = true;
       /* harmony default export */ __webpack_exports__["default"] = Page;
 
       /***/
Diff for link-HASH.js
@@ -9,14 +9,16 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/link",
         function() {
-          return __webpack_require__(2070);
+          return __webpack_require__(1437);
         }
       ]);
+      if (false) {
+      }
 
       /***/
     },
 
-    /***/ 666: /***/ function(
+    /***/ 7231: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -75,11 +77,11 @@
       __webpack_unused_export__ = {
         value: true
       };
-      exports.default = void 0;
+      exports["default"] = void 0;
       var _react = _interopRequireDefault(__webpack_require__(7294));
-      var _router = __webpack_require__(4306);
-      var _router1 = __webpack_require__(2508);
-      var _useIntersection = __webpack_require__(7520);
+      var _router = __webpack_require__(6542);
+      var _router1 = __webpack_require__(557);
+      var _useIntersection = __webpack_require__(9007);
       function _interopRequireDefault(obj) {
         return obj && obj.__esModule
           ? obj
@@ -162,12 +164,12 @@
         var router = (0, _router1).useRouter();
         var ref = _react.default.useMemo(
             function() {
-              var ref1 = _slicedToArray(
+              var ref = _slicedToArray(
                   (0, _router).resolveHref(router, props.href, true),
                   2
                 ),
-                resolvedHref = ref1[0],
-                resolvedAs = ref1[1];
+                resolvedHref = ref[0],
+                resolvedAs = ref[1];
               return {
                 href: resolvedHref,
                 as: props.as
@@ -296,12 +298,12 @@
         return /*#__PURE__*/ _react.default.cloneElement(child, childProps);
       }
       var _default = Link;
-      exports.default = _default; //# sourceMappingURL=link.js.map
+      exports["default"] = _default; //# sourceMappingURL=link.js.map
 
       /***/
     },
 
-    /***/ 7520: /***/ function(
+    /***/ 9007: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -354,7 +356,7 @@
       });
       exports.useIntersection = useIntersection;
       var _react = __webpack_require__(7294);
-      var _requestIdleCallback = __webpack_require__(5961);
+      var _requestIdleCallback = __webpack_require__(8607);
       var hasIntersectionObserver = typeof IntersectionObserver !== "undefined";
       function useIntersection(param) {
         var rootMargin = param.rootMargin,
@@ -453,7 +455,7 @@
       /***/
     },
 
-    /***/ 2070: /***/ function(
+    /***/ 1437: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -461,8 +463,8 @@
       "use strict";
       __webpack_require__.r(__webpack_exports__);
       /* harmony export */ __webpack_require__.d(__webpack_exports__, {
-        /* harmony export */ getServerSideProps: function() {
-          return /* binding */ getServerSideProps;
+        /* harmony export */ __N_SSP: function() {
+          return /* binding */ __N_SSP;
         }
         /* harmony export */
       });
@@ -483,7 +485,7 @@
             }),
             /*#__PURE__*/ (0,
             react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
-              next_link__WEBPACK_IMPORTED_MODULE_1__.default,
+              next_link__WEBPACK_IMPORTED_MODULE_1__["default"],
               {
                 href: "/",
                 children: "Go to /"
@@ -492,13 +494,7 @@
           ]
         });
       }
-      // we add getServerSideProps to prevent static optimization
-      // to allow us to compare server-side changes
-      var getServerSideProps = function() {
-        return {
-          props: {}
-        };
-      };
+      var __N_SSP = true;
       /* harmony default export */ __webpack_exports__["default"] = aLink;
 
       /***/
@@ -509,7 +505,7 @@
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(666);
+      module.exports = __webpack_require__(7231);
 
       /***/
     }
Diff for routerDirect-HASH.js
@@ -9,14 +9,16 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/routerDirect",
         function() {
-          return __webpack_require__(4289);
+          return __webpack_require__(3791);
         }
       ]);
+      if (false) {
+      }
 
       /***/
     },
 
-    /***/ 4289: /***/ function(
+    /***/ 3791: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -24,8 +26,8 @@
       "use strict";
       __webpack_require__.r(__webpack_exports__);
       /* harmony export */ __webpack_require__.d(__webpack_exports__, {
-        /* harmony export */ getServerSideProps: function() {
-          return /* binding */ getServerSideProps;
+        /* harmony export */ __N_SSP: function() {
+          return /* binding */ __N_SSP;
         }
         /* harmony export */
       });
@@ -44,13 +46,7 @@
           children: "I import the router directly"
         });
       }
-      // we add getServerSideProps to prevent static optimization
-      // to allow us to compare server-side changes
-      var getServerSideProps = function() {
-        return {
-          props: {}
-        };
-      };
+      var __N_SSP = true;
       /* harmony default export */ __webpack_exports__[
         "default"
       ] = routerDirect;
@@ -63,7 +59,7 @@
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(2508);
+      module.exports = __webpack_require__(557);
 
       /***/
     }
Diff for script-HASH.js
@@ -9,14 +9,16 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/script",
         function() {
-          return __webpack_require__(9122);
+          return __webpack_require__(3172);
         }
       ]);
+      if (false) {
+      }
 
       /***/
     },
 
-    /***/ 9122: /***/ function(
+    /***/ 3172: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -24,8 +26,8 @@
       "use strict";
       __webpack_require__.r(__webpack_exports__);
       /* harmony export */ __webpack_require__.d(__webpack_exports__, {
-        /* harmony export */ getServerSideProps: function() {
-          return /* binding */ getServerSideProps;
+        /* harmony export */ __N_SSP: function() {
+          return /* binding */ __N_SSP;
         }
         /* harmony export */
       });
@@ -48,7 +50,7 @@
               }),
               /*#__PURE__*/ (0,
               react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
-                next_script__WEBPACK_IMPORTED_MODULE_1__.default,
+                next_script__WEBPACK_IMPORTED_MODULE_1__["default"],
                 {
                   dangerouslySetInnerHTML: {
                     __html: 'console.log("hello")'
@@ -59,13 +61,7 @@
           }
         );
       };
-      // we add getServerSideProps to prevent static optimization
-      // to allow us to compare server-side changes
-      var getServerSideProps = function() {
-        return {
-          props: {}
-        };
-      };
+      var __N_SSP = true;
       /* harmony default export */ __webpack_exports__["default"] = Page;
 
       /***/
@@ -76,7 +72,7 @@
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(8767);
+      module.exports = __webpack_require__(5864);
 
       /***/
     }
Diff for withRouter-HASH.js
@@ -9,14 +9,16 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/withRouter",
         function() {
-          return __webpack_require__(3135);
+          return __webpack_require__(3650);
         }
       ]);
+      if (false) {
+      }
 
       /***/
     },
 
-    /***/ 3135: /***/ function(
+    /***/ 3650: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -24,8 +26,8 @@
       "use strict";
       __webpack_require__.r(__webpack_exports__);
       /* harmony export */ __webpack_require__.d(__webpack_exports__, {
-        /* harmony export */ getServerSideProps: function() {
-          return /* binding */ getServerSideProps;
+        /* harmony export */ __N_SSP: function() {
+          return /* binding */ __N_SSP;
         }
         /* harmony export */
       });
@@ -42,13 +44,7 @@
           children: "I use withRouter"
         });
       }
-      // we add getServerSideProps to prevent static optimization
-      // to allow us to compare server-side changes
-      var getServerSideProps = function() {
-        return {
-          props: {}
-        };
-      };
+      var __N_SSP = true;
       /* harmony default export */ __webpack_exports__["default"] = (0,
       next_router__WEBPACK_IMPORTED_MODULE_1__.withRouter)(useWithRouter);
 
@@ -60,7 +56,7 @@
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(2508);
+      module.exports = __webpack_require__(557);
 
       /***/
     }
Diff for 264.HASH.js
@@ -1,8 +1,8 @@
 "use strict";
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
-  [264],
+  [770],
   {
-    /***/ 5264: /***/ function(
+    /***/ 5770: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
Diff for 675-HASH.js
@@ -2297,7 +2297,7 @@
       /***/
     },
 
-    /***/ 9688: /***/ function(
+    /***/ 2307: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -2371,16 +2371,15 @@
           _nonIterableSpread()
         );
       }
-      var _Math;
       __webpack_unused_export__ = {
         value: true
       };
-      exports.default = Image1;
+      exports["default"] = Image;
       var _react = _interopRequireDefault(__webpack_require__(7294));
-      var _head = _interopRequireDefault(__webpack_require__(1152));
-      var _toBase64 = __webpack_require__(831);
+      var _head = _interopRequireDefault(__webpack_require__(1495));
+      var _toBase64 = __webpack_require__(7356);
       var _imageConfig = __webpack_require__(5809);
-      var _useIntersection = __webpack_require__(7520);
+      var _useIntersection = __webpack_require__(9007);
       function _defineProperty(obj, key, value) {
         if (key in obj) {
           Object.defineProperty(obj, key, {
@@ -2452,6 +2451,8 @@
         return target;
       }
       var loadedImageURLs = new Set();
+      var emptyDataURL =
+        "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7";
       if (typeof window === "undefined") {
         __webpack_require__.g.__NEXT_IMAGE_IMPORTED = true;
       }
@@ -2513,6 +2514,7 @@
             percentSizes.push(parseInt(match[2]));
           }
           if (percentSizes.length) {
+            var _Math;
             var smallestRatio =
               (_Math = Math).min.apply(
                 _Math,
@@ -2645,7 +2647,7 @@
           return;
         }
         var handleLoad = function() {
-          if (!img.src.startsWith("data:")) {
+          if (img.src !== emptyDataURL) {
             var p = "decode" in img ? img.decode() : Promise.resolve();
             p.catch(function() {}).then(function() {
               if (placeholder === "blur") {
@@ -2665,7 +2667,7 @@
                 });
               }
               if (false) {
-                var parent, ref1;
+                var parent, ref;
               }
             });
           }
@@ -2679,7 +2681,7 @@
           img.onload = handleLoad;
         }
       }
-      function Image1(_param) {
+      function Image(_param) {
         var src = _param.src,
           sizes = _param.sizes,
           _unoptimized = _param.unoptimized,
@@ -2768,15 +2770,15 @@
         if (false) {
           var rand, VALID_BLUR_EXT;
         }
-        var ref2 = _slicedToArray(
+        var ref1 = _slicedToArray(
             (0, _useIntersection).useIntersection({
               rootMargin: lazyBoundary,
               disabled: !isLazy
             }),
             2
           ),
-          setRef = ref2[0],
-          isIntersected = ref2[1];
+          setRef = ref1[0],
+          isIntersected = ref1[1];
         var isVisible = !isLazy || isIntersected;
         var wrapperStyle;
         var sizerStyle;
@@ -2884,8 +2886,7 @@
           }
         }
         var imgAttributes = {
-          src:
-            "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",
+          src: emptyDataURL,
           srcSet: undefined,
           sizes: undefined
         };
@@ -2971,6 +2972,7 @@
                   "data-nimg": layout,
                   style: imgStyle,
                   className: className,
+                  // @ts-ignore - TODO: upgrade to `@types/react@17`
                   loading: loading || "lazy"
                 }
               )
@@ -3072,7 +3074,7 @@
       /***/
     },
 
-    /***/ 7520: /***/ function(
+    /***/ 9007: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -3125,7 +3127,7 @@
       });
       exports.useIntersection = useIntersection;
       var _react = __webpack_require__(7294);
-      var _requestIdleCallback = __webpack_require__(5961);
+      var _requestIdleCallback = __webpack_require__(8607);
       var hasIntersectionObserver = typeof IntersectionObserver !== "undefined";
       function useIntersection(param) {
         var rootMargin = param.rootMargin,
@@ -3224,7 +3226,7 @@
       /***/
     },
 
-    /***/ 831: /***/ function(
+    /***/ 7356: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -3271,7 +3273,8 @@
         loader: "default",
         domains: [],
         disableStaticImages: false,
-        minimumCacheTTL: 60
+        minimumCacheTTL: 60,
+        formats: ["image/avif", "image/webp"]
       };
       exports.imageConfigDefault = imageConfigDefault;
 
@@ -3285,7 +3288,7 @@
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(9688);
+      module.exports = __webpack_require__(2307);
 
       /***/
     }
Diff for main-HASH.js

Diff too large to display

Diff for webpack-HASH.js
@@ -159,7 +159,7 @@
     /******/ __webpack_require__.u = function(chunkId) {
       /******/ // return url for filenames based on template
       /******/ return (
-        "static/chunks/" + chunkId + "." + "0f9e22e8940a4d0f0d7d" + ".js"
+        "static/chunks/" + chunkId + "." + "83ca00a7a6efe8017794" + ".js"
       );
       /******/
     };
Diff for index.html
@@ -11,7 +11,7 @@
       src="/_next/static/chunks/polyfills-a40ef1678bae11e696dba45124eadd70.js"
     ></script>
     <script
-      src="/_next/static/chunks/webpack-fe2ec775b647d13e0eb3.js"
+      src="/_next/static/chunks/webpack-92094c6fd88801e0b19f.js"
       defer=""
     ></script>
     <script
@@ -19,15 +19,15 @@
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-670eb9111d054ca63c40.js"
+      src="/_next/static/chunks/main-713cb13be9509b193f99.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-e74ea377668f6405e73c.js"
+      src="/_next/static/chunks/pages/_app-109074558afb747dbe12.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/index-538949a10a36e498111f.js"
+      src="/_next/static/chunks/pages/index-62b6d914325f07931441.js"
       defer=""
     ></script>
     <script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>
Diff for link.html
@@ -11,7 +11,7 @@
       src="/_next/static/chunks/polyfills-a40ef1678bae11e696dba45124eadd70.js"
     ></script>
     <script
-      src="/_next/static/chunks/webpack-fe2ec775b647d13e0eb3.js"
+      src="/_next/static/chunks/webpack-92094c6fd88801e0b19f.js"
       defer=""
     ></script>
     <script
@@ -19,15 +19,15 @@
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-670eb9111d054ca63c40.js"
+      src="/_next/static/chunks/main-713cb13be9509b193f99.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-e74ea377668f6405e73c.js"
+      src="/_next/static/chunks/pages/_app-109074558afb747dbe12.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/link-fa2dfaa49cd97d4cd82d.js"
+      src="/_next/static/chunks/pages/link-d5bdd3af9bbbd881abda.js"
       defer=""
     ></script>
     <script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>
Diff for withRouter.html
@@ -11,7 +11,7 @@
       src="/_next/static/chunks/polyfills-a40ef1678bae11e696dba45124eadd70.js"
     ></script>
     <script
-      src="/_next/static/chunks/webpack-fe2ec775b647d13e0eb3.js"
+      src="/_next/static/chunks/webpack-92094c6fd88801e0b19f.js"
       defer=""
     ></script>
     <script
@@ -19,15 +19,15 @@
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-670eb9111d054ca63c40.js"
+      src="/_next/static/chunks/main-713cb13be9509b193f99.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-e74ea377668f6405e73c.js"
+      src="/_next/static/chunks/pages/_app-109074558afb747dbe12.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/withRouter-7f69cf963aab937061e0.js"
+      src="/_next/static/chunks/pages/withRouter-7faf010ab7dedd43f8cc.js"
       defer=""
     ></script>
     <script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>

Please sign in to comment.