{"version":3,"file":"app-227e928237db1afb23f7.js","mappings":"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","sources":["webpack://acp-website/./node_modules/browser-lang/dist/index.js","webpack://acp-website/./node_modules/clsx/dist/clsx.m.js","webpack://acp-website/./node_modules/gatsby-page-utils/dist/apply-trailing-slash-option.js","webpack://acp-website/./node_modules/gatsby-react-router-scroll/index.js","webpack://acp-website/./node_modules/gatsby-react-router-scroll/scroll-handler.js","webpack://acp-website/./node_modules/gatsby-react-router-scroll/session-storage.js","webpack://acp-website/./node_modules/gatsby-react-router-scroll/use-scroll-restoration.js","webpack://acp-website/./node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js","webpack://acp-website/./node_modules/gatsby/dist/internal-plugins/partytown/utils/get-forwards.js","webpack://acp-website/./node_modules/gatsby/dist/internal-plugins/partytown/utils/inject-partytown-snippet.js","webpack://acp-website/./.cache/_this_is_virtual_fs_path_/$virtual/async-requires.js","webpack://acp-website/./.cache/api-runner-browser-plugins.js","webpack://acp-website/./.cache/api-runner-browser.js","webpack://acp-website/./.cache/create-content-digest-browser-shim.js","webpack://acp-website/./.cache/emitter.js","webpack://acp-website/./node_modules/mitt/dist/mitt.es.js","webpack://acp-website/./.cache/normalize-page-path.js","webpack://acp-website/./.cache/find-path.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://acp-website/./.cache/slice/server-slice-renderer.js","webpack://acp-website/./.cache/slice/server-slice.js","webpack://acp-website/./.cache/slice/inline-slice.js","webpack://acp-website/./.cache/slice.js","webpack://acp-website/./.cache/gatsby-browser-entry.js","webpack://acp-website/./.cache/prefetch.js","webpack://acp-website/./.cache/loader.js","webpack://acp-website/./.cache/head/components/fire-callback-in-effect.js","webpack://acp-website/./.cache/head/constants.js","webpack://acp-website/./.cache/head/utils.js","webpack://acp-website/./.cache/head/head-export-handler-for-browser.js","webpack://acp-website/./.cache/page-renderer.js","webpack://acp-website/./.cache/route-announcer-props.js","webpack://acp-website/./.cache/navigation.js","webpack://acp-website/./node_modules/shallow-compare/es/index.js","webpack://acp-website/./.cache/ensure-resources.js","webpack://acp-website/./.cache/production-app.js","webpack://acp-website/./.cache/public-page-renderer-prod.js","webpack://acp-website/./.cache/public-page-renderer.js","webpack://acp-website/./.cache/react-dom-utils.js","webpack://acp-website/./.cache/redirect-utils.js","webpack://acp-website/./.cache/register-service-worker.js","webpack://acp-website/./.cache/slice/context.js","webpack://acp-website/./.cache/static-query.js","webpack://acp-website/./.cache/context-utils.js","webpack://acp-website/./.cache/strip-prefix.js","webpack://acp-website/./node_modules/gatsby-plugin-google-gtag/gatsby-browser.js","webpack://acp-website/./node_modules/gatsby-plugin-google-tagmanager/gatsby-browser.js","webpack://acp-website/./image-utils.ts","webpack://acp-website/./components/hooks.ts","webpack://acp-website/./components/layout-wrapper.tsx","webpack://acp-website/./components/picture.tsx","webpack://acp-website/./components/placeholder.tsx","webpack://acp-website/./components/main-image.tsx","webpack://acp-website/./components/gatsby-image.server.tsx","webpack://acp-website/./components/gatsby-image.browser.tsx","webpack://acp-website/./components/static-image.server.tsx","webpack://acp-website/./components/static-image.tsx","webpack://acp-website/./node_modules/gatsby-plugin-image/node_modules/camelcase/index.js","webpack://acp-website/./node_modules/gatsby-plugin-manifest/gatsby-browser.js","webpack://acp-website/./node_modules/gatsby-plugin-manifest/get-manifest-pathname.js","webpack://acp-website/./node_modules/gatsby-plugin-react-i18next/dist/Link.js","webpack://acp-website/./node_modules/gatsby-plugin-react-i18next/dist/i18nextContext.js","webpack://acp-website/./node_modules/gatsby-plugin-react-i18next/dist/index.js","webpack://acp-website/./node_modules/gatsby-plugin-react-i18next/dist/plugin/wrapPageElement.js","webpack://acp-website/./node_modules/gatsby-plugin-react-i18next/dist/types.js","webpack://acp-website/./node_modules/gatsby-plugin-react-i18next/dist/useI18next.js","webpack://acp-website/./node_modules/gatsby-plugin-react-i18next/gatsby-browser.js","webpack://acp-website/./node_modules/gatsby-plugin-react-i18next/index.js","webpack://acp-website/./src/context/index.tsx","webpack://acp-website/./node_modules/react-feather/dist/icons/chevron-down.js","webpack://acp-website/./src/components/ProductMenuDropDown.tsx","webpack://acp-website/./src/images/general/ACPLogo.webp","webpack://acp-website/./src/components/Navbar.tsx","webpack://acp-website/./src/components/Footer.tsx","webpack://acp-website/./src/components/Layout.tsx","webpack://acp-website/./gatsby-browser.tsx","webpack://acp-website/./src/utils/apiRequest.ts","webpack://acp-website/./src/api/index.ts","webpack://acp-website/./src/api/auth.ts","webpack://acp-website/./src/context/AuthContext.tsx","webpack://acp-website/./src/utils/auth.ts","webpack://acp-website/./src/utils/cookies.ts","webpack://acp-website/./src/images/products/Sentiment-Analysis.webp","webpack://acp-website/./src/images/products/Word-Tokenization.webp","webpack://acp-website/./src/images/products/Speech-To-Text.webp","webpack://acp-website/./src/images/products/Machine-Translation.webp","webpack://acp-website/./src/images/products/OCR.webp","webpack://acp-website/./src/images/products/OCR-Card.webp","webpack://acp-website/./src/images/products/OCR-Passport.webp","webpack://acp-website/./src/images/products/OCR-Receipt.webp","webpack://acp-website/./src/images/products/OCR-License-Plate.webp","webpack://acp-website/./src/images/products/Speech-Segmentation.webp","webpack://acp-website/./src/images/products/TSR.webp","webpack://acp-website/./src/images/products/Text-Classification.webp","webpack://acp-website/./src/images/products/Vocalog-Logo.webp","webpack://acp-website/./src/images/products/Somsi.webp","webpack://acp-website/./src/utils/static.ts","webpack://acp-website/./src/images/products/Vocalog-Gradient.webp","webpack://acp-website/./src/utils/urls.ts","webpack://acp-website/./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack://acp-website/./node_modules/i18next/dist/cjs/i18next.js","webpack://acp-website/./node_modules/invariant/browser.js","webpack://acp-website/./node_modules/outdent/lib-module/index.js","webpack://acp-website/./node_modules/react-is/cjs/react-is.production.min.js","webpack://acp-website/./node_modules/react-is/index.js","webpack://acp-website/./node_modules/react-server-dom-webpack/cjs/react-server-dom-webpack.production.min.js","webpack://acp-website/./node_modules/react-server-dom-webpack/index.js","webpack://acp-website/./node_modules/smoothscroll-polyfill/dist/smoothscroll.js","webpack://acp-website/./src/icons/DotsVertical.svg","webpack://acp-website/./src/icons/Facebook.svg","webpack://acp-website/./src/icons/LinkedIn.svg","webpack://acp-website/./src/icons/Menu.svg","webpack://acp-website/./src/icons/Twitter.svg","webpack://acp-website/./src/icons/User.svg","webpack://acp-website/./src/icons/XClose.svg","webpack://acp-website/./src/icons/Youtube.svg","webpack://acp-website/./node_modules/void-elements/index.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/createClass.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/extends.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/inherits.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/toArray.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/typeof.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://acp-website/./node_modules/@builder.io/partytown/integration/index.cjs","webpack://acp-website/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://acp-website/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://acp-website/./node_modules/@gatsbyjs/reach-router/dist/index.modern.mjs","webpack://acp-website/./node_modules/@loadable/component/dist/loadable.esm.mjs","webpack://acp-website/./node_modules/axios/lib/helpers/bind.js","webpack://acp-website/./node_modules/axios/lib/utils.js","webpack://acp-website/./node_modules/axios/lib/core/AxiosError.js","webpack://acp-website/./node_modules/axios/lib/helpers/toFormData.js","webpack://acp-website/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://acp-website/./node_modules/axios/lib/helpers/buildURL.js","webpack://acp-website/./node_modules/axios/lib/core/InterceptorManager.js","webpack://acp-website/./node_modules/axios/lib/defaults/transitional.js","webpack://acp-website/./node_modules/axios/lib/platform/browser/index.js","webpack://acp-website/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://acp-website/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://acp-website/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://acp-website/./node_modules/axios/lib/platform/common/utils.js","webpack://acp-website/./node_modules/axios/lib/platform/index.js","webpack://acp-website/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://acp-website/./node_modules/axios/lib/defaults/index.js","webpack://acp-website/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://acp-website/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://acp-website/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://acp-website/./node_modules/axios/lib/core/transformData.js","webpack://acp-website/./node_modules/axios/lib/cancel/isCancel.js","webpack://acp-website/./node_modules/axios/lib/cancel/CanceledError.js","webpack://acp-website/./node_modules/axios/lib/helpers/cookies.js","webpack://acp-website/./node_modules/axios/lib/core/buildFullPath.js","webpack://acp-website/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://acp-website/./node_modules/axios/lib/helpers/combineURLs.js","webpack://acp-website/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://acp-website/./node_modules/axios/lib/helpers/speedometer.js","webpack://acp-website/./node_modules/axios/lib/adapters/xhr.js","webpack://acp-website/./node_modules/axios/lib/adapters/adapters.js","webpack://acp-website/./node_modules/axios/lib/helpers/null.js","webpack://acp-website/./node_modules/axios/lib/core/settle.js","webpack://acp-website/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://acp-website/./node_modules/axios/lib/core/dispatchRequest.js","webpack://acp-website/./node_modules/axios/lib/core/mergeConfig.js","webpack://acp-website/./node_modules/axios/lib/env/data.js","webpack://acp-website/./node_modules/axios/lib/helpers/validator.js","webpack://acp-website/./node_modules/axios/lib/core/Axios.js","webpack://acp-website/./node_modules/axios/lib/cancel/CancelToken.js","webpack://acp-website/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://acp-website/./node_modules/axios/lib/axios.js","webpack://acp-website/./node_modules/axios/lib/helpers/spread.js","webpack://acp-website/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://acp-website/./node_modules/gatsby-link/dist/index.modern.mjs","webpack://acp-website/./node_modules/gatsby-script/dist/index.modern.mjs","webpack://acp-website/./node_modules/js-cookie/dist/js.cookie.mjs","webpack://acp-website/./node_modules/html-parse-stringify/dist/html-parse-stringify.module.js","webpack://acp-website/./node_modules/react-i18next/dist/es/utils.js","webpack://acp-website/./node_modules/react-i18next/dist/es/unescape.js","webpack://acp-website/./node_modules/react-i18next/dist/es/defaults.js","webpack://acp-website/./node_modules/react-i18next/dist/es/i18nInstance.js","webpack://acp-website/./node_modules/react-i18next/dist/es/TransWithoutContext.js","webpack://acp-website/./node_modules/react-i18next/dist/es/initReactI18next.js","webpack://acp-website/./node_modules/react-i18next/dist/es/context.js","webpack://acp-website/./node_modules/react-i18next/dist/es/Trans.js","webpack://acp-website/./node_modules/react-i18next/dist/es/useTranslation.js","webpack://acp-website/./node_modules/react-i18next/dist/es/withTranslation.js","webpack://acp-website/./node_modules/react-i18next/dist/es/Translation.js","webpack://acp-website/./node_modules/react-i18next/dist/es/I18nextProvider.js","webpack://acp-website/./node_modules/react-i18next/dist/es/useSSR.js","webpack://acp-website/./node_modules/react-i18next/dist/es/withSSR.js","webpack://acp-website/./node_modules/react-i18next/dist/es/index.js"],"sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nfunction startsWith(string, target, position) {\n var length = string.length;\n position = position == null ? 0 : position;\n\n if (position < 0) {\n position = 0;\n } else if (position > length) {\n position = length;\n }\n\n target = \"\".concat(target);\n return string.slice(position, position + target.length) == target;\n}\n\nfunction getBrowserLang() {\n if (typeof window === \"undefined\") {\n return null;\n }\n\n var lang = window.navigator.languages && window.navigator.languages[0] || window.navigator.language || window.navigator.browserLanguage || window.navigator.userLanguage || window.navigator.systemLanguage || null;\n return lang;\n}\n\nfunction normalizeCode(code) {\n return code.toLowerCase().replace(/-/, \"_\");\n}\n\nfunction getPreferredLanguage(options) {\n if (!options) {\n return getBrowserLang();\n }\n\n var languages = options.languages,\n fallback = options.fallback;\n\n if (!options.languages) {\n return fallback;\n } // some browsers report language as en-US instead of en_US\n\n\n var browserLanguage = normalizeCode(getBrowserLang());\n\n if (!browserLanguage) {\n return fallback;\n }\n\n var match = languages.filter(function (lang) {\n return normalizeCode(lang) === browserLanguage;\n });\n\n if (match.length > 0) {\n return match[0] || fallback;\n } // en == en_US\n\n\n var matchCodeOnly = languages.filter(function (lang) {\n return startsWith(browserLanguage, lang) || startsWith(lang, browserLanguage);\n });\n return matchCodeOnly[0] || fallback;\n}\n\nvar _default = getPreferredLanguage;\nexports.default = _default;","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e))for(t=0;t {\n for (const suffix of suffixes) {\n if (input.endsWith(suffix)) return true;\n }\n return false;\n};\nconst suffixes = [`.html`, `.json`, `.js`, `.map`, `.txt`, `.xml`, `.pdf`];\nconst applyTrailingSlashOption = (input, option = `always`) => {\n if (input === `/`) return input;\n const hasTrailingSlash = input.endsWith(`/`);\n if (endsWithSuffixes(suffixes, input)) {\n return input;\n }\n if (option === `always`) {\n return hasTrailingSlash ? input : `${input}/`;\n }\n if (option === `never`) {\n return hasTrailingSlash ? input.slice(0, -1) : input;\n }\n return input;\n};\nexports.applyTrailingSlashOption = applyTrailingSlashOption;","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = exports.ScrollContext = void 0;\nvar _scrollHandler = require(\"./scroll-handler\");\nexports.ScrollContext = _scrollHandler.ScrollHandler;\nvar _useScrollRestoration = require(\"./use-scroll-restoration\");\nexports.useScrollRestoration = _useScrollRestoration.useScrollRestoration;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.ScrollHandler = exports.ScrollContext = void 0;\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _sessionStorage = require(\"./session-storage\");\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nvar ScrollContext = /*#__PURE__*/React.createContext(new _sessionStorage.SessionStorage());\nexports.ScrollContext = ScrollContext;\nScrollContext.displayName = \"GatsbyScrollContext\";\nvar ScrollHandler = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(ScrollHandler, _React$Component);\n function ScrollHandler() {\n var _this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this._stateStorage = new _sessionStorage.SessionStorage();\n _this._isTicking = false;\n _this._latestKnownScrollY = 0;\n _this.scrollListener = function () {\n _this._latestKnownScrollY = window.scrollY;\n if (!_this._isTicking) {\n _this._isTicking = true;\n requestAnimationFrame(_this._saveScroll.bind((0, _assertThisInitialized2.default)(_this)));\n }\n };\n _this.windowScroll = function (position, prevProps) {\n if (_this.shouldUpdateScroll(prevProps, _this.props)) {\n window.scrollTo(0, position);\n }\n };\n _this.scrollToHash = function (hash, prevProps) {\n var node = document.getElementById(hash.substring(1));\n if (node && _this.shouldUpdateScroll(prevProps, _this.props)) {\n node.scrollIntoView();\n }\n };\n _this.shouldUpdateScroll = function (prevRouterProps, routerProps) {\n var shouldUpdateScroll = _this.props.shouldUpdateScroll;\n if (!shouldUpdateScroll) {\n return true;\n }\n\n // Hack to allow accessing this._stateStorage.\n return shouldUpdateScroll.call((0, _assertThisInitialized2.default)(_this), prevRouterProps, routerProps);\n };\n return _this;\n }\n var _proto = ScrollHandler.prototype;\n _proto._saveScroll = function _saveScroll() {\n var key = this.props.location.key || null;\n if (key) {\n this._stateStorage.save(this.props.location, key, this._latestKnownScrollY);\n }\n this._isTicking = false;\n };\n _proto.componentDidMount = function componentDidMount() {\n window.addEventListener(\"scroll\", this.scrollListener);\n var scrollPosition;\n var _this$props$location = this.props.location,\n key = _this$props$location.key,\n hash = _this$props$location.hash;\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n /** If a hash is present in the browser url as the component mounts (i.e. the user is navigating\n * from an external website) then scroll to the hash instead of any previously stored scroll\n * position. */\n if (hash) {\n this.scrollToHash(decodeURI(hash), undefined);\n } else if (scrollPosition) {\n this.windowScroll(scrollPosition, undefined);\n }\n };\n _proto.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener(\"scroll\", this.scrollListener);\n };\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this$props$location2 = this.props.location,\n hash = _this$props$location2.hash,\n key = _this$props$location2.key;\n var scrollPosition;\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n /** There are two pieces of state: the browser url and\n * history state which keeps track of scroll position\n * Native behaviour prescribes that we ought to restore scroll position\n * when a user navigates back in their browser (this is the `POP` action)\n * Currently, reach router has a bug that prevents this at https://github.com/reach/router/issues/228\n * So we _always_ stick to the url as a source of truth — if the url\n * contains a hash, we scroll to it\n */\n\n if (hash) {\n this.scrollToHash(decodeURI(hash), prevProps);\n } else {\n this.windowScroll(scrollPosition, prevProps);\n }\n };\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(ScrollContext.Provider, {\n value: this._stateStorage\n }, this.props.children);\n };\n return ScrollHandler;\n}(React.Component);\nexports.ScrollHandler = ScrollHandler;\nScrollHandler.propTypes = {\n shouldUpdateScroll: _propTypes.default.func,\n children: _propTypes.default.element.isRequired,\n location: _propTypes.default.object.isRequired\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.SessionStorage = void 0;\nvar STATE_KEY_PREFIX = \"@@scroll|\";\nvar GATSBY_ROUTER_SCROLL_STATE = \"___GATSBY_REACT_ROUTER_SCROLL\";\nvar SessionStorage = /*#__PURE__*/function () {\n function SessionStorage() {}\n var _proto = SessionStorage.prototype;\n _proto.read = function read(location, key) {\n var stateKey = this.getStateKey(location, key);\n try {\n var value = window.sessionStorage.getItem(stateKey);\n return value ? JSON.parse(value) : 0;\n } catch (e) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to access sessionStorage; sessionStorage is not available.\");\n }\n if (window && window[GATSBY_ROUTER_SCROLL_STATE] && window[GATSBY_ROUTER_SCROLL_STATE][stateKey]) {\n return window[GATSBY_ROUTER_SCROLL_STATE][stateKey];\n }\n return 0;\n }\n };\n _proto.save = function save(location, key, value) {\n var stateKey = this.getStateKey(location, key);\n var storedValue = JSON.stringify(value);\n try {\n window.sessionStorage.setItem(stateKey, storedValue);\n } catch (e) {\n if (window && window[GATSBY_ROUTER_SCROLL_STATE]) {\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n } else {\n window[GATSBY_ROUTER_SCROLL_STATE] = {};\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n }\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to save state in sessionStorage; sessionStorage is not available.\");\n }\n }\n };\n _proto.getStateKey = function getStateKey(location, key) {\n var stateKeyBase = \"\" + STATE_KEY_PREFIX + location.pathname;\n return key === null || typeof key === \"undefined\" ? stateKeyBase : stateKeyBase + \"|\" + key;\n };\n return SessionStorage;\n}();\nexports.SessionStorage = SessionStorage;","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = useScrollRestoration;\nvar _scrollHandler = require(\"./scroll-handler\");\nvar _react = require(\"react\");\nvar _reachRouter = require(\"@gatsbyjs/reach-router\");\nfunction useScrollRestoration(identifier) {\n var location = (0, _reachRouter.useLocation)();\n var state = (0, _react.useContext)(_scrollHandler.ScrollContext);\n var ref = (0, _react.useRef)(null);\n (0, _react.useLayoutEffect)(function () {\n if (ref.current) {\n var position = state.read(location, identifier);\n ref.current.scrollTo(0, position || 0);\n }\n }, [location.key]);\n return {\n ref: ref,\n onScroll: function onScroll() {\n if (ref.current) {\n state.save(location, identifier, ref.current.scrollTop);\n }\n }\n };\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.onInitialClientRender = void 0;\nvar _gatsbyScript = require(\"gatsby-script\");\nvar _injectPartytownSnippet = require(\"./utils/inject-partytown-snippet\");\n// Makes sure off-main-thread scripts are loaded in `gatsby develop`\nconst onInitialClientRender = () => {\n if (process.env.NODE_ENV !== `development`) {\n return;\n }\n (0, _injectPartytownSnippet.injectPartytownSnippet)(_gatsbyScript.collectedScriptsByPage.get(window.location.pathname));\n\n // Clear scripts after we've used them to avoid leaky behavior\n _gatsbyScript.collectedScriptsByPage.delete(window.location.pathname);\n};\n\n// Client-side navigation (CSR, e.g. Gatsby Link navigations) are broken upstream in Partytown.\n// We need an official API from Partytown for handling re-configuration and on-demand script loading.\n// Until then, `off-main-thread` scripts load only on server-side navigation (SSR).\n// See https://github.com/BuilderIO/partytown/issues/74 for more details.\nexports.onInitialClientRender = onInitialClientRender;\n//# sourceMappingURL=gatsby-browser.js.map","\"use strict\";\n\nexports.__esModule = true;\nexports.getForwards = getForwards;\nfunction getForwards(collectedScripts) {\n return collectedScripts === null || collectedScripts === void 0 ? void 0 : collectedScripts.flatMap(script => (script === null || script === void 0 ? void 0 : script.forward) || []);\n}\n//# sourceMappingURL=get-forwards.js.map","\"use strict\";\n\nexports.__esModule = true;\nexports.injectPartytownSnippet = injectPartytownSnippet;\nvar _integration = require(\"@builder.io/partytown/integration\");\nvar _getForwards = require(\"./get-forwards\");\n// Adapted from https://github.com/BuilderIO/partytown/blob/main/src/react/snippet.tsx to only include CSR logic\nfunction injectPartytownSnippet(collectedScripts) {\n if (!collectedScripts.length) {\n return;\n }\n const existingSnippet = document.querySelector(`script[data-partytown]`);\n const existingSandbox = document.querySelector(`iframe[src*=\"~partytown/partytown-sandbox-sw\"]`);\n if (existingSnippet) {\n existingSnippet.remove();\n }\n if (existingSandbox) {\n existingSandbox.remove();\n }\n const forwards = (0, _getForwards.getForwards)(collectedScripts);\n const snippet = document.createElement(`script`);\n snippet.dataset.partytown = ``;\n snippet.innerHTML = (0, _integration.partytownSnippet)({\n forward: forwards\n });\n document.head.appendChild(snippet);\n}\n//# sourceMappingURL=inject-partytown-snippet.js.map","exports.components = {\n \"component---src-pages-404-tsx\": () => import(\"./../../../src/pages/404.tsx\" /* webpackChunkName: \"component---src-pages-404-tsx\" */),\n \"component---src-pages-cookie-policy-tsx\": () => import(\"./../../../src/pages/cookie-policy.tsx\" /* webpackChunkName: \"component---src-pages-cookie-policy-tsx\" */),\n \"component---src-pages-index-tsx\": () => import(\"./../../../src/pages/index.tsx\" /* webpackChunkName: \"component---src-pages-index-tsx\" */),\n \"component---src-pages-pricing-tsx\": () => import(\"./../../../src/pages/pricing.tsx\" /* webpackChunkName: \"component---src-pages-pricing-tsx\" */),\n \"component---src-pages-privacy-notice-tsx\": () => import(\"./../../../src/pages/privacy-notice.tsx\" /* webpackChunkName: \"component---src-pages-privacy-notice-tsx\" */),\n \"component---src-pages-product-machine-translation-tsx\": () => import(\"./../../../src/pages/product/machine-translation.tsx\" /* webpackChunkName: \"component---src-pages-product-machine-translation-tsx\" */),\n \"component---src-pages-product-ocr-general-document-tsx\": () => import(\"./../../../src/pages/product/ocr-general-document.tsx\" /* webpackChunkName: \"component---src-pages-product-ocr-general-document-tsx\" */),\n \"component---src-pages-product-ocr-license-plate-tsx\": () => import(\"./../../../src/pages/product/ocr-license-plate.tsx\" /* webpackChunkName: \"component---src-pages-product-ocr-license-plate-tsx\" */),\n \"component---src-pages-product-ocr-passport-tsx\": () => import(\"./../../../src/pages/product/ocr-passport.tsx\" /* webpackChunkName: \"component---src-pages-product-ocr-passport-tsx\" */),\n \"component---src-pages-product-ocr-receipt-tsx\": () => import(\"./../../../src/pages/product/ocr-receipt.tsx\" /* webpackChunkName: \"component---src-pages-product-ocr-receipt-tsx\" */),\n \"component---src-pages-product-ocr-thai-id-card-tsx\": () => import(\"./../../../src/pages/product/ocr-thai-id-card.tsx\" /* webpackChunkName: \"component---src-pages-product-ocr-thai-id-card-tsx\" */),\n \"component---src-pages-product-sentiment-analysis-tsx\": () => import(\"./../../../src/pages/product/sentiment-analysis.tsx\" /* webpackChunkName: \"component---src-pages-product-sentiment-analysis-tsx\" */),\n \"component---src-pages-product-speech-segmentation-tsx\": () => import(\"./../../../src/pages/product/speech-segmentation.tsx\" /* webpackChunkName: \"component---src-pages-product-speech-segmentation-tsx\" */),\n \"component---src-pages-product-speech-to-text-tsx\": () => import(\"./../../../src/pages/product/speech-to-text.tsx\" /* webpackChunkName: \"component---src-pages-product-speech-to-text-tsx\" */),\n \"component---src-pages-product-text-classification-tsx\": () => import(\"./../../../src/pages/product/text-classification.tsx\" /* webpackChunkName: \"component---src-pages-product-text-classification-tsx\" */),\n \"component---src-pages-product-time-series-forecasting-tsx\": () => import(\"./../../../src/pages/product/time-series-forecasting.tsx\" /* webpackChunkName: \"component---src-pages-product-time-series-forecasting-tsx\" */),\n \"component---src-pages-product-word-tokenization-tsx\": () => import(\"./../../../src/pages/product/word-tokenization.tsx\" /* webpackChunkName: \"component---src-pages-product-word-tokenization-tsx\" */),\n \"component---src-pages-terms-of-use-tsx\": () => import(\"./../../../src/pages/terms-of-use.tsx\" /* webpackChunkName: \"component---src-pages-terms-of-use-tsx\" */)\n}\n\n","module.exports = [{\n plugin: require('../node_modules/gatsby-plugin-google-gtag/gatsby-browser.js'),\n options: {\"plugins\":[],\"trackingIds\":[\"G-ZXT1T8CVS0\"],\"pluginConfig\":{\"head\":true,\"respectDNT\":false,\"exclude\":[],\"origin\":\"https://www.googletagmanager.com\",\"delayOnRouteUpdate\":0},\"gtagConfig\":{}},\n },{\n plugin: require('../node_modules/gatsby-plugin-google-tagmanager/gatsby-browser.js'),\n options: {\"plugins\":[],\"id\":\"GTM-PSPT9SC8\",\"includeInDevelopment\":false,\"defaultDataLayer\":null,\"routeChangeEventName\":\"gatsby-route-change\",\"enableWebVitalsTracking\":false,\"selfHostedOrigin\":\"https://www.googletagmanager.com\",\"selfHostedPath\":\"gtm.js\"},\n },{\n plugin: require('../node_modules/gatsby-plugin-manifest/gatsby-browser.js'),\n options: {\"plugins\":[],\"name\":\"VISAI AI\",\"short_name\":\"VISAI\",\"start_url\":\"/\",\"background_color\":\"#3F13A6\",\"theme_color\":\"#3F13A6\",\"display\":\"standalone\",\"icon\":\"src/images/general/ACPIcon.png\",\"legacy\":true,\"theme_color_in_head\":true,\"cache_busting_mode\":\"query\",\"crossOrigin\":\"anonymous\",\"include_favicon\":true,\"cacheDigest\":\"ba1f75a605c809a7916d37767f93535b\"},\n },{\n plugin: require('../node_modules/gatsby-plugin-react-i18next/gatsby-browser.js'),\n options: {\"plugins\":[],\"localeJsonSourceName\":\"locale\",\"languages\":[\"en\",\"th\"],\"defaultLanguage\":\"en\",\"redirect\":false,\"trailingSlash\":\"never\",\"i18nextOptions\":{\"interpolation\":{\"escapeValue\":false},\"nsSeparator\":false}},\n },{\n plugin: require('../gatsby-browser.tsx'),\n options: {\"plugins\":[]},\n },{\n plugin: require('../node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js'),\n options: {\"plugins\":[]},\n }]\n","const plugins = require(`./api-runner-browser-plugins`)\nconst { getResourceURLsForPathname, loadPage, loadPageSync } =\n require(`./loader`).publicLoader\n\nexports.apiRunner = (api, args = {}, defaultReturn, argTransform) => {\n // Hooks for gatsby-cypress's API handler\n if (process.env.CYPRESS_SUPPORT) {\n if (window.___apiHandler) {\n window.___apiHandler(api)\n } else if (window.___resolvedAPIs) {\n window.___resolvedAPIs.push(api)\n } else {\n window.___resolvedAPIs = [api]\n }\n }\n\n let results = plugins.map(plugin => {\n if (!plugin.plugin[api]) {\n return undefined\n }\n\n args.getResourceURLsForPathname = getResourceURLsForPathname\n args.loadPage = loadPage\n args.loadPageSync = loadPageSync\n\n const result = plugin.plugin[api](args, plugin.options)\n if (result && argTransform) {\n args = argTransform({ args, result, plugin })\n }\n return result\n })\n\n // Filter out undefined results.\n results = results.filter(result => typeof result !== `undefined`)\n\n if (results.length > 0) {\n return results\n } else if (defaultReturn) {\n return [defaultReturn]\n } else {\n return []\n }\n}\n\nexports.apiRunnerAsync = (api, args, defaultReturn) =>\n plugins.reduce(\n (previous, next) =>\n next.plugin[api]\n ? previous.then(() => next.plugin[api](args, next.options))\n : previous,\n Promise.resolve()\n )\n","exports.createContentDigest = () => ``\n","import mitt from \"mitt\"\n\nconst emitter = mitt()\nexport default emitter\n","// \n// An event handler can take an optional event argument\n// and should not return a value\n \n \n\n// An array of all currently registered event handlers for a type\n \n \n// A map of event types and their corresponding event handlers.\n \n \n \n \n\n/** Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nfunction mitt(all ) {\n\tall = all || Object.create(null);\n\n\treturn {\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to listen for, or `\"*\"` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton: function on(type , handler ) {\n\t\t\t(all[type] || (all[type] = [])).push(handler);\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to unregister `handler` from, or `\"*\"`\n\t\t * @param {Function} handler Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff: function off(type , handler ) {\n\t\t\tif (all[type]) {\n\t\t\t\tall[type].splice(all[type].indexOf(handler) >>> 0, 1);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `\"*\"` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * @param {String} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberOf mitt\n\t\t */\n\t\temit: function emit(type , evt ) {\n\t\t\t(all[type] || []).slice().map(function (handler) { handler(evt); });\n\t\t\t(all['*'] || []).slice().map(function (handler) { handler(type, evt); });\n\t\t}\n\t};\n}\n\nexport default mitt;\n//# sourceMappingURL=mitt.es.js.map\n","export default pathAndSearch => {\n if (pathAndSearch === undefined) {\n return pathAndSearch\n }\n let [path, search = ``] = pathAndSearch.split(`?`)\n if (search) {\n search = `?` + search\n }\n\n if (path === `/`) {\n return `/` + search\n }\n if (path.charAt(path.length - 1) === `/`) {\n return path.slice(0, -1) + search\n }\n return path + search\n}\n","import { pick } from \"@gatsbyjs/reach-router\"\nimport stripPrefix from \"./strip-prefix\"\nimport normalizePagePath from \"./normalize-page-path\"\nimport { maybeGetBrowserRedirect } from \"./redirect-utils.js\"\n\nconst pathCache = new Map()\nlet matchPaths = []\n\nconst trimPathname = rawPathname => {\n let newRawPathname = rawPathname\n const queryIndex = rawPathname.indexOf(`?`)\n\n if (queryIndex !== -1) {\n const [path, qs] = rawPathname.split(`?`)\n newRawPathname = `${path}?${encodeURIComponent(qs)}`\n }\n\n const pathname = decodeURIComponent(newRawPathname)\n\n // Remove the pathPrefix from the pathname.\n const trimmedPathname = stripPrefix(\n pathname,\n decodeURIComponent(__BASE_PATH__)\n )\n // Remove any hashfragment\n .split(`#`)[0]\n\n return trimmedPathname\n}\n\nfunction absolutify(path) {\n // If it's already absolute, return as-is\n if (\n path.startsWith(`/`) ||\n path.startsWith(`https://`) ||\n path.startsWith(`http://`)\n ) {\n return path\n }\n // Calculate path relative to current location, adding a trailing slash to\n // match behavior of @reach/router\n return new URL(\n path,\n window.location.href + (window.location.href.endsWith(`/`) ? `` : `/`)\n ).pathname\n}\n\n/**\n * Set list of matchPaths\n *\n * @param {Array<{path: string, matchPath: string}>} value collection of matchPaths\n */\nexport const setMatchPaths = value => {\n matchPaths = value\n}\n\n/**\n * Return a matchpath url\n * if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n * `/foo?bar=far` => `/page1`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string|null}\n */\nexport const findMatchPath = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return normalizePagePath(path.route.originalPath)\n }\n\n return null\n}\n\n/**\n * Return a matchpath params from reach/router rules\n * if `match-paths.json` contains `{ \":bar/*foo\" }`, and the path is /baz/zaz/zoo\n * then it returns\n * { bar: baz, foo: zaz/zoo }\n *\n * @param {string} rawPathname A raw pathname\n * @return {object}\n */\nexport const grabMatchParams = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return path.params\n }\n\n return {}\n}\n\n// Given a raw URL path, returns the cleaned version of it (trim off\n// `#` and query params), or if it matches an entry in\n// `match-paths.json`, its matched path is returned\n//\n// E.g. `/foo?bar=far` => `/foo`\n//\n// Or if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n// `/foo?bar=far` => `/page1`\nexport const findPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n if (pathCache.has(trimmedPathname)) {\n return pathCache.get(trimmedPathname)\n }\n\n const redirect = maybeGetBrowserRedirect(rawPathname)\n if (redirect) {\n return findPath(redirect.toPath)\n }\n\n let foundPath = findMatchPath(trimmedPathname)\n\n if (!foundPath) {\n foundPath = cleanPath(rawPathname)\n }\n\n pathCache.set(trimmedPathname, foundPath)\n\n return foundPath\n}\n\n/**\n * Clean a url and converts /index.html => /\n * E.g. `/foo?bar=far` => `/foo`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string}\n */\nexport const cleanPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n\n let foundPath = trimmedPathname\n if (foundPath === `/index.html`) {\n foundPath = `/`\n }\n\n foundPath = normalizePagePath(foundPath)\n\n return foundPath\n}\n","export default function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}","import React from \"react\"\n\nexport const ServerSliceRenderer = ({ sliceId, children }) => {\n const contents = [\n React.createElement(`slice-start`, {\n id: `${sliceId}-1`,\n }),\n React.createElement(`slice-end`, {\n id: `${sliceId}-1`,\n }),\n ]\n\n if (children) {\n // if children exist, we split the slice into a before and after piece\n // see renderSlices in render-html\n contents.push(children)\n contents.push(\n React.createElement(`slice-start`, {\n id: `${sliceId}-2`,\n }),\n React.createElement(`slice-end`, {\n id: `${sliceId}-2`,\n })\n )\n }\n\n return contents\n}\n","import React, { useContext } from \"react\"\nimport { createContentDigest } from \"gatsby-core-utils/create-content-digest\"\nimport { SlicesMapContext, SlicesPropsContext } from \"./context\"\nimport { ServerSliceRenderer } from \"./server-slice-renderer\"\n\nconst getSliceId = (sliceName, sliceProps) => {\n if (!Object.keys(sliceProps).length) {\n return sliceName\n }\n\n const propsString = createContentDigest(sliceProps)\n return `${sliceName}-${propsString}`\n}\n\nexport const ServerSlice = ({\n sliceName,\n allowEmpty,\n children,\n ...sliceProps\n}) => {\n const slicesMap = useContext(SlicesMapContext)\n const slicesProps = useContext(SlicesPropsContext)\n const concreteSliceName = slicesMap[sliceName]\n\n if (!concreteSliceName) {\n if (allowEmpty) {\n return null\n } else {\n throw new Error(\n `Slice \"${concreteSliceName}\" for \"${sliceName}\" slot not found`\n )\n }\n }\n\n const sliceId = getSliceId(concreteSliceName, sliceProps)\n\n // set props on context object for static-entry to return\n let sliceUsage = slicesProps[sliceId]\n if (!sliceUsage) {\n slicesProps[sliceId] = sliceUsage = {\n props: sliceProps,\n sliceName: concreteSliceName,\n hasChildren: !!children,\n }\n } else {\n if (children) {\n sliceUsage.hasChildren = true\n }\n }\n\n return {children}\n}\n","import React, { useContext } from \"react\"\nimport { SlicesMapContext, SlicesResultsContext } from \"./context\"\n\nexport const InlineSlice = ({\n sliceName,\n allowEmpty,\n children,\n ...sliceProps\n}) => {\n const slicesMap = useContext(SlicesMapContext)\n const slicesResultsMap = useContext(SlicesResultsContext)\n const concreteSliceName = slicesMap[sliceName]\n const slice = slicesResultsMap.get(concreteSliceName)\n\n if (!slice) {\n if (allowEmpty) {\n return null\n } else {\n throw new Error(\n `Slice \"${concreteSliceName}\" for \"${sliceName}\" slot not found`\n )\n }\n }\n\n return (\n \n {children}\n \n )\n}\n","\"use client\"\n\nimport React, { useContext } from \"react\"\nimport { ServerSlice } from \"./slice/server-slice\"\nimport { InlineSlice } from \"./slice/inline-slice\"\nimport { SlicesContext } from \"./slice/context\"\n\nexport function Slice(props) {\n if (process.env.GATSBY_SLICES) {\n // we use sliceName internally, so remap alias to sliceName\n const internalProps = {\n ...props,\n sliceName: props.alias,\n }\n delete internalProps.alias\n delete internalProps.__renderedByLocation\n\n const slicesContext = useContext(SlicesContext)\n\n // validate props\n const propErrors = validateSliceProps(props)\n if (Object.keys(propErrors).length) {\n throw new SlicePropsError(\n slicesContext.renderEnvironment === `browser`,\n internalProps.sliceName,\n propErrors,\n props.__renderedByLocation\n )\n }\n\n if (slicesContext.renderEnvironment === `server`) {\n return \n } else if (slicesContext.renderEnvironment === `browser`) {\n // in the browser, we'll just render the component as is\n return \n } else if (\n slicesContext.renderEnvironment === `engines` ||\n slicesContext.renderEnvironment === `dev-ssr`\n ) {\n // if we're in SSR, we'll just render the component as is\n return \n } else if (slicesContext.renderEnvironment === `slices`) {\n // we are not yet supporting nested slices\n\n let additionalContextMessage = ``\n\n // just in case generating additional contextual information fails, we still want the base message to show\n // and not show another cryptic error message\n try {\n additionalContextMessage = `\\n\\nSlice component \"${slicesContext.sliceRoot.name}\" (${slicesContext.sliceRoot.componentPath}) tried to render `\n } catch {\n // don't need to handle it, we will just skip the additional context message if we fail to generate it\n }\n\n throw new Error(\n `Nested slices are not supported.${additionalContextMessage}\\n\\nSee https://gatsbyjs.com/docs/reference/built-in-components/gatsby-slice#nested-slices`\n )\n } else {\n throw new Error(\n `Slice context \"${slicesContext.renderEnvironment}\" is not supported.`\n )\n }\n } else {\n throw new Error(`Slices are disabled.`)\n }\n}\n\nclass SlicePropsError extends Error {\n constructor(inBrowser, sliceName, propErrors, renderedByLocation) {\n const errors = Object.entries(propErrors)\n .map(\n ([key, value]) =>\n `not serializable \"${value}\" type passed to \"${key}\" prop`\n )\n .join(`, `)\n\n const name = `SlicePropsError`\n let stack = ``\n let message = ``\n\n if (inBrowser) {\n // They're just (kinda) kidding, I promise... You can still work here <3\n // https://www.gatsbyjs.com/careers/\n const fullStack =\n React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactDebugCurrentFrame.getCurrentStack()\n\n // remove the first line of the stack trace\n const stackLines = fullStack.trim().split(`\\n`).slice(1)\n stackLines[0] = stackLines[0].trim()\n stack = `\\n` + stackLines.join(`\\n`)\n\n message = `Slice \"${sliceName}\" was passed props that are not serializable (${errors}).`\n } else {\n // we can't really grab any extra info outside of the browser, so just print what we can\n message = `${name}: Slice \"${sliceName}\" was passed props that are not serializable (${errors}).`\n const stackLines = new Error().stack.trim().split(`\\n`).slice(2)\n stack = `${message}\\n${stackLines.join(`\\n`)}`\n }\n\n super(message)\n this.name = name\n if (stack) {\n this.stack = stack\n } else {\n Error.captureStackTrace(this, SlicePropsError)\n }\n\n if (renderedByLocation) {\n this.forcedLocation = { ...renderedByLocation, functionName: `Slice` }\n }\n }\n}\n\nconst validateSliceProps = (\n props,\n errors = {},\n seenObjects = [],\n path = null\n) => {\n // recursively validate all props\n for (const [name, value] of Object.entries(props)) {\n if (\n value === undefined ||\n value === null ||\n (!path && name === `children`)\n ) {\n continue\n }\n\n const propPath = path ? `${path}.${name}` : name\n\n if (typeof value === `function`) {\n errors[propPath] = typeof value\n } else if (typeof value === `object` && seenObjects.indexOf(value) <= 0) {\n seenObjects.push(value)\n validateSliceProps(value, errors, seenObjects, propPath)\n }\n }\n\n return errors\n}\n","import loader from \"./loader\"\n\nconst prefetchPathname = loader.enqueue\n\nfunction graphql() {\n throw new Error(\n `It appears like Gatsby is misconfigured. Gatsby related \\`graphql\\` calls ` +\n `are supposed to only be evaluated at compile time, and then compiled away. ` +\n `Unfortunately, something went wrong and the query was left in the compiled code.\\n\\n` +\n `Unless your site has a complex or custom babel/Gatsby configuration this is likely a bug in Gatsby.`\n )\n}\n\nexport { default as PageRenderer } from \"./public-page-renderer\"\nexport { useScrollRestoration } from \"gatsby-react-router-scroll\"\nexport {\n Link,\n withPrefix,\n withAssetPrefix,\n navigate,\n parsePath,\n} from \"gatsby-link\"\n\nexport { graphql, prefetchPathname }\nexport { StaticQuery, StaticQueryContext, useStaticQuery } from \"./static-query\"\nexport { Slice } from \"./slice\"\nexport * from \"gatsby-script\"\n","const support = function (feature) {\n if (typeof document === `undefined`) {\n return false\n }\n const fakeLink = document.createElement(`link`)\n try {\n if (fakeLink.relList && typeof fakeLink.relList.supports === `function`) {\n return fakeLink.relList.supports(feature)\n }\n } catch (err) {\n return false\n }\n return false\n}\n\nconst linkPrefetchStrategy = function (url, options) {\n return new Promise((resolve, reject) => {\n if (typeof document === `undefined`) {\n reject()\n return\n }\n\n const link = document.createElement(`link`)\n link.setAttribute(`rel`, `prefetch`)\n link.setAttribute(`href`, url)\n\n Object.keys(options).forEach(key => {\n link.setAttribute(key, options[key])\n })\n\n link.onload = resolve\n link.onerror = reject\n\n const parentElement =\n document.getElementsByTagName(`head`)[0] ||\n document.getElementsByName(`script`)[0].parentNode\n parentElement.appendChild(link)\n })\n}\n\nconst xhrPrefetchStrategy = function (url) {\n return new Promise((resolve, reject) => {\n const req = new XMLHttpRequest()\n req.open(`GET`, url, true)\n\n req.onload = () => {\n if (req.status === 200) {\n resolve()\n } else {\n reject()\n }\n }\n\n req.send(null)\n })\n}\n\nconst supportedPrefetchStrategy = support(`prefetch`)\n ? linkPrefetchStrategy\n : xhrPrefetchStrategy\n\nconst preFetched = {}\n\nconst prefetch = function (url, options) {\n return new Promise(resolve => {\n if (preFetched[url]) {\n resolve()\n return\n }\n\n supportedPrefetchStrategy(url, options)\n .then(() => {\n resolve()\n preFetched[url] = true\n })\n .catch(() => {}) // 404s are logged to the console anyway\n })\n}\n\nexport default prefetch\n","import { createFromReadableStream } from \"react-server-dom-webpack\"\nimport prefetchHelper from \"./prefetch\"\nimport emitter from \"./emitter\"\nimport { setMatchPaths, findPath, findMatchPath } from \"./find-path\"\n\n/**\n * Available resource loading statuses\n */\nexport const PageResourceStatus = {\n /**\n * At least one of critical resources failed to load\n */\n Error: `error`,\n /**\n * Resources loaded successfully\n */\n Success: `success`,\n}\n\nconst preferDefault = m => (m && m.default) || m\n\nconst stripSurroundingSlashes = s => {\n s = s[0] === `/` ? s.slice(1) : s\n s = s.endsWith(`/`) ? s.slice(0, -1) : s\n return s\n}\n\nconst createPageDataUrl = rawPath => {\n const [path, maybeSearch] = rawPath.split(`?`)\n const fixedPath = path === `/` ? `index` : stripSurroundingSlashes(path)\n return `${__PATH_PREFIX__}/page-data/${fixedPath}/page-data.json${\n maybeSearch ? `?${maybeSearch}` : ``\n }`\n}\n\n/**\n * Utility to check the path that goes into doFetch for e.g. potential malicious intentions.\n * It checks for \"//\" because with this you could do a fetch request to a different domain.\n */\nconst shouldAbortFetch = rawPath => rawPath.startsWith(`//`)\n\nfunction doFetch(url, method = `GET`) {\n return new Promise(resolve => {\n const req = new XMLHttpRequest()\n req.open(method, url, true)\n req.onreadystatechange = () => {\n if (req.readyState == 4) {\n resolve(req)\n }\n }\n req.send(null)\n })\n}\n\nconst doesConnectionSupportPrefetch = () => {\n if (\n `connection` in navigator &&\n typeof navigator.connection !== `undefined`\n ) {\n if ((navigator.connection.effectiveType || ``).includes(`2g`)) {\n return false\n }\n if (navigator.connection.saveData) {\n return false\n }\n }\n return true\n}\n\n// Regex that matches common search crawlers\nconst BOT_REGEX = /bot|crawler|spider|crawling/i\n\nconst toPageResources = (pageData, component = null, head) => {\n const page = {\n componentChunkName: pageData.componentChunkName,\n path: pageData.path,\n webpackCompilationHash: pageData.webpackCompilationHash,\n matchPath: pageData.matchPath,\n staticQueryHashes: pageData.staticQueryHashes,\n getServerDataError: pageData.getServerDataError,\n slicesMap: pageData.slicesMap ?? {},\n }\n\n return {\n component,\n head,\n json: pageData.result,\n page,\n }\n}\n\nfunction waitForResponse(response) {\n return new Promise(resolve => {\n try {\n const result = response.readRoot()\n resolve(result)\n } catch (err) {\n if (\n Object.hasOwnProperty.call(err, `_response`) &&\n Object.hasOwnProperty.call(err, `_status`)\n ) {\n setTimeout(() => {\n waitForResponse(response).then(resolve)\n }, 200)\n } else {\n throw err\n }\n }\n })\n}\n\nexport class BaseLoader {\n constructor(loadComponent, matchPaths) {\n // Map of pagePath -> Page. Where Page is an object with: {\n // status: PageResourceStatus.Success || PageResourceStatus.Error,\n // payload: PageResources, // undefined if PageResourceStatus.Error\n // }\n // PageResources is {\n // component,\n // json: pageData.result,\n // page: {\n // componentChunkName,\n // path,\n // webpackCompilationHash,\n // staticQueryHashes\n // },\n // staticQueryResults\n // }\n this.pageDb = new Map()\n this.inFlightDb = new Map()\n this.staticQueryDb = {}\n this.pageDataDb = new Map()\n this.partialHydrationDb = new Map()\n this.slicesDataDb = new Map()\n this.sliceInflightDb = new Map()\n this.slicesDb = new Map()\n this.isPrefetchQueueRunning = false\n this.prefetchQueued = []\n this.prefetchTriggered = new Set()\n this.prefetchCompleted = new Set()\n this.loadComponent = loadComponent\n setMatchPaths(matchPaths)\n }\n\n inFlightNetworkRequests = new Map()\n\n memoizedGet(url) {\n let inFlightPromise = this.inFlightNetworkRequests.get(url)\n\n if (!inFlightPromise) {\n inFlightPromise = doFetch(url, `GET`)\n this.inFlightNetworkRequests.set(url, inFlightPromise)\n }\n\n // Prefer duplication with then + catch over .finally to prevent problems in ie11 + firefox\n return inFlightPromise\n .then(response => {\n this.inFlightNetworkRequests.delete(url)\n return response\n })\n .catch(err => {\n this.inFlightNetworkRequests.delete(url)\n throw err\n })\n }\n\n setApiRunner(apiRunner) {\n this.apiRunner = apiRunner\n this.prefetchDisabled = apiRunner(`disableCorePrefetching`).some(a => a)\n }\n\n fetchPageDataJson(loadObj) {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath)\n return this.memoizedGet(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.path === undefined) {\n throw new Error(`not a valid pageData response`)\n }\n\n const maybeSearch = pagePath.split(`?`)[1]\n if (maybeSearch && !jsonPayload.path.includes(maybeSearch)) {\n jsonPayload.path += `?${maybeSearch}`\n }\n\n return Object.assign(loadObj, {\n status: PageResourceStatus.Success,\n payload: jsonPayload,\n })\n } catch (err) {\n // continue regardless of error\n }\n }\n\n // Handle 404\n if (status === 404 || status === 200) {\n // If the request was for a 404/500 page and it doesn't exist, we're done\n if (pagePath === `/404.html` || pagePath === `/500.html`) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Need some code here to cache the 404 request. In case\n // multiple loadPageDataJsons result in 404s\n return this.fetchPageDataJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, {\n pagePath: `/500.html`,\n internalServerError: true,\n })\n )\n }\n\n // Handle everything else, including status === 0, and 503s. Should retry\n if (retries < 3) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, { retries: retries + 1 })\n )\n }\n\n // Retried 3 times already, result is an error.\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n })\n }\n\n fetchPartialHydrationJson(loadObj) {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath).replace(`.json`, `-rsc.json`)\n return this.memoizedGet(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Success,\n payload: responseText,\n })\n } catch (err) {\n // continue regardless of error\n }\n }\n\n // Handle 404\n if (status === 404 || status === 200) {\n // If the request was for a 404/500 page and it doesn't exist, we're done\n if (pagePath === `/404.html` || pagePath === `/500.html`) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Need some code here to cache the 404 request. In case\n // multiple loadPageDataJsons result in 404s\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, {\n pagePath: `/500.html`,\n internalServerError: true,\n })\n )\n }\n\n // Handle everything else, including status === 0, and 503s. Should retry\n if (retries < 3) {\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, { retries: retries + 1 })\n )\n }\n\n // Retried 3 times already, result is an error.\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n })\n }\n\n loadPageDataJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDataDb.has(pagePath)) {\n const pageData = this.pageDataDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !pageData.stale) {\n return Promise.resolve(pageData)\n }\n }\n\n return this.fetchPageDataJson({ pagePath }).then(pageData => {\n this.pageDataDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n loadPartialHydrationJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.partialHydrationDb.has(pagePath)) {\n const pageData = this.partialHydrationDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !pageData.stale) {\n return Promise.resolve(pageData)\n }\n }\n\n return this.fetchPartialHydrationJson({ pagePath }).then(pageData => {\n this.partialHydrationDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n loadSliceDataJson(sliceName) {\n if (this.slicesDataDb.has(sliceName)) {\n const jsonPayload = this.slicesDataDb.get(sliceName)\n return Promise.resolve({ sliceName, jsonPayload })\n }\n\n const url = `${__PATH_PREFIX__}/slice-data/${sliceName}.json`\n return doFetch(url, `GET`).then(res => {\n const jsonPayload = JSON.parse(res.responseText)\n\n this.slicesDataDb.set(sliceName, jsonPayload)\n return { sliceName, jsonPayload }\n })\n }\n\n findMatchPath(rawPath) {\n return findMatchPath(rawPath)\n }\n\n // TODO check all uses of this and whether they use undefined for page resources not exist\n loadPage(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const page = this.pageDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !page.payload.stale) {\n if (page.error) {\n return Promise.resolve({\n error: page.error,\n status: page.status,\n })\n }\n\n return Promise.resolve(page.payload)\n }\n }\n\n if (this.inFlightDb.has(pagePath)) {\n return this.inFlightDb.get(pagePath)\n }\n\n const loadDataPromises = [\n this.loadAppData(),\n this.loadPageDataJson(pagePath),\n ]\n\n if (global.hasPartialHydration) {\n loadDataPromises.push(this.loadPartialHydrationJson(pagePath))\n }\n\n const inFlightPromise = Promise.all(loadDataPromises).then(allData => {\n const [appDataResponse, pageDataResponse, rscDataResponse] = allData\n\n if (\n pageDataResponse.status === PageResourceStatus.Error ||\n rscDataResponse?.status === PageResourceStatus.Error\n ) {\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n let pageData = pageDataResponse.payload\n\n const {\n componentChunkName,\n staticQueryHashes: pageStaticQueryHashes = [],\n slicesMap = {},\n } = pageData\n\n const finalResult = {}\n\n const dedupedSliceNames = Array.from(new Set(Object.values(slicesMap)))\n\n const loadSlice = slice => {\n if (this.slicesDb.has(slice.name)) {\n return this.slicesDb.get(slice.name)\n } else if (this.sliceInflightDb.has(slice.name)) {\n return this.sliceInflightDb.get(slice.name)\n }\n\n const inFlight = this.loadComponent(slice.componentChunkName).then(\n component => {\n return {\n component: preferDefault(component),\n sliceContext: slice.result.sliceContext,\n data: slice.result.data,\n }\n }\n )\n\n this.sliceInflightDb.set(slice.name, inFlight)\n inFlight.then(results => {\n this.slicesDb.set(slice.name, results)\n this.sliceInflightDb.delete(slice.name)\n })\n\n return inFlight\n }\n\n return Promise.all(\n dedupedSliceNames.map(sliceName => this.loadSliceDataJson(sliceName))\n ).then(slicesData => {\n const slices = []\n const dedupedStaticQueryHashes = [...pageStaticQueryHashes]\n\n for (const { jsonPayload, sliceName } of Object.values(slicesData)) {\n slices.push({ name: sliceName, ...jsonPayload })\n for (const staticQueryHash of jsonPayload.staticQueryHashes) {\n if (!dedupedStaticQueryHashes.includes(staticQueryHash)) {\n dedupedStaticQueryHashes.push(staticQueryHash)\n }\n }\n }\n\n const loadChunkPromises = [\n Promise.all(slices.map(loadSlice)),\n this.loadComponent(componentChunkName, `head`),\n ]\n\n if (!global.hasPartialHydration) {\n loadChunkPromises.push(this.loadComponent(componentChunkName))\n }\n\n // In develop we have separate chunks for template and Head components\n // to enable HMR (fast refresh requires single exports).\n // In production we have shared chunk with both exports. Double loadComponent here\n // will be deduped by webpack runtime resulting in single request and single module\n // being loaded for both `component` and `head`.\n // get list of components to get\n const componentChunkPromises = Promise.all(loadChunkPromises).then(\n components => {\n const [sliceComponents, headComponent, pageComponent] = components\n\n finalResult.createdAt = new Date()\n\n for (const sliceComponent of sliceComponents) {\n if (!sliceComponent || sliceComponent instanceof Error) {\n finalResult.status = PageResourceStatus.Error\n finalResult.error = sliceComponent\n }\n }\n\n if (\n !global.hasPartialHydration &&\n (!pageComponent || pageComponent instanceof Error)\n ) {\n finalResult.status = PageResourceStatus.Error\n finalResult.error = pageComponent\n }\n\n let pageResources\n\n if (finalResult.status !== PageResourceStatus.Error) {\n finalResult.status = PageResourceStatus.Success\n if (\n pageDataResponse.notFound === true ||\n rscDataResponse?.notFound === true\n ) {\n finalResult.notFound = true\n }\n pageData = Object.assign(pageData, {\n webpackCompilationHash: appDataResponse\n ? appDataResponse.webpackCompilationHash\n : ``,\n })\n\n if (typeof rscDataResponse?.payload === `string`) {\n pageResources = toPageResources(pageData, null, headComponent)\n\n pageResources.partialHydration = rscDataResponse.payload\n\n const readableStream = new ReadableStream({\n start(controller) {\n const te = new TextEncoder()\n controller.enqueue(te.encode(rscDataResponse.payload))\n },\n pull(controller) {\n // close on next read when queue is empty\n controller.close()\n },\n cancel() {},\n })\n\n return waitForResponse(\n createFromReadableStream(readableStream)\n ).then(result => {\n pageResources.partialHydration = result\n\n return pageResources\n })\n } else {\n pageResources = toPageResources(\n pageData,\n pageComponent,\n headComponent\n )\n }\n }\n\n // undefined if final result is an error\n return pageResources\n }\n )\n\n // get list of static queries to get\n const staticQueryBatchPromise = Promise.all(\n dedupedStaticQueryHashes.map(staticQueryHash => {\n // Check for cache in case this static query result has already been loaded\n if (this.staticQueryDb[staticQueryHash]) {\n const jsonPayload = this.staticQueryDb[staticQueryHash]\n return { staticQueryHash, jsonPayload }\n }\n\n return this.memoizedGet(\n `${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json`\n )\n .then(req => {\n const jsonPayload = JSON.parse(req.responseText)\n return { staticQueryHash, jsonPayload }\n })\n .catch(() => {\n throw new Error(\n `We couldn't load \"${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json\"`\n )\n })\n })\n ).then(staticQueryResults => {\n const staticQueryResultsMap = {}\n\n staticQueryResults.forEach(({ staticQueryHash, jsonPayload }) => {\n staticQueryResultsMap[staticQueryHash] = jsonPayload\n this.staticQueryDb[staticQueryHash] = jsonPayload\n })\n\n return staticQueryResultsMap\n })\n\n return (\n Promise.all([componentChunkPromises, staticQueryBatchPromise])\n .then(([pageResources, staticQueryResults]) => {\n let payload\n if (pageResources) {\n payload = { ...pageResources, staticQueryResults }\n finalResult.payload = payload\n emitter.emit(`onPostLoadPageResources`, {\n page: payload,\n pageResources: payload,\n })\n }\n\n this.pageDb.set(pagePath, finalResult)\n\n if (finalResult.error) {\n return {\n error: finalResult.error,\n status: finalResult.status,\n }\n }\n\n return payload\n })\n // when static-query fail to load we throw a better error\n .catch(err => {\n return {\n error: err,\n status: PageResourceStatus.Error,\n }\n })\n )\n })\n })\n\n inFlightPromise\n .then(() => {\n this.inFlightDb.delete(pagePath)\n })\n .catch(error => {\n this.inFlightDb.delete(pagePath)\n throw error\n })\n\n this.inFlightDb.set(pagePath, inFlightPromise)\n\n return inFlightPromise\n }\n\n // returns undefined if the page does not exists in cache\n loadPageSync(rawPath, options = {}) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const pageData = this.pageDb.get(pagePath)\n\n if (pageData.payload) {\n return pageData.payload\n }\n\n if (options?.withErrorDetails) {\n return {\n error: pageData.error,\n status: pageData.status,\n }\n }\n }\n return undefined\n }\n\n shouldPrefetch(pagePath) {\n // Skip prefetching if we know user is on slow or constrained connection\n if (!doesConnectionSupportPrefetch()) {\n return false\n }\n\n // Don't prefetch if this is a crawler bot\n if (navigator.userAgent && BOT_REGEX.test(navigator.userAgent)) {\n return false\n }\n\n // Check if the page exists.\n if (this.pageDb.has(pagePath)) {\n return false\n }\n\n return true\n }\n\n prefetch(pagePath) {\n if (!this.shouldPrefetch(pagePath)) {\n return {\n then: resolve => resolve(false),\n abort: () => {},\n }\n }\n if (this.prefetchTriggered.has(pagePath)) {\n return {\n then: resolve => resolve(true),\n abort: () => {},\n }\n }\n\n const defer = {\n resolve: null,\n reject: null,\n promise: null,\n }\n defer.promise = new Promise((resolve, reject) => {\n defer.resolve = resolve\n defer.reject = reject\n })\n this.prefetchQueued.push([pagePath, defer])\n const abortC = new AbortController()\n abortC.signal.addEventListener(`abort`, () => {\n const index = this.prefetchQueued.findIndex(([p]) => p === pagePath)\n // remove from the queue\n if (index !== -1) {\n this.prefetchQueued.splice(index, 1)\n }\n })\n\n if (!this.isPrefetchQueueRunning) {\n this.isPrefetchQueueRunning = true\n setTimeout(() => {\n this._processNextPrefetchBatch()\n }, 3000)\n }\n\n return {\n then: (resolve, reject) => defer.promise.then(resolve, reject),\n abort: abortC.abort.bind(abortC),\n }\n }\n\n _processNextPrefetchBatch() {\n const idleCallback = window.requestIdleCallback || (cb => setTimeout(cb, 0))\n\n idleCallback(() => {\n const toPrefetch = this.prefetchQueued.splice(0, 4)\n const prefetches = Promise.all(\n toPrefetch.map(([pagePath, dPromise]) => {\n // Tell plugins with custom prefetching logic that they should start\n // prefetching this path.\n if (!this.prefetchTriggered.has(pagePath)) {\n this.apiRunner(`onPrefetchPathname`, { pathname: pagePath })\n this.prefetchTriggered.add(pagePath)\n }\n\n // If a plugin has disabled core prefetching, stop now.\n if (this.prefetchDisabled) {\n return dPromise.resolve(false)\n }\n\n return this.doPrefetch(findPath(pagePath)).then(() => {\n if (!this.prefetchCompleted.has(pagePath)) {\n this.apiRunner(`onPostPrefetchPathname`, { pathname: pagePath })\n this.prefetchCompleted.add(pagePath)\n }\n\n dPromise.resolve(true)\n })\n })\n )\n\n if (this.prefetchQueued.length) {\n prefetches.then(() => {\n setTimeout(() => {\n this._processNextPrefetchBatch()\n }, 3000)\n })\n } else {\n this.isPrefetchQueueRunning = false\n }\n })\n }\n\n doPrefetch(pagePath) {\n const pageDataUrl = createPageDataUrl(pagePath)\n\n if (global.hasPartialHydration) {\n return Promise.all([\n prefetchHelper(pageDataUrl, {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPageDataJson(pagePath)\n ),\n prefetchHelper(pageDataUrl.replace(`.json`, `-rsc.json`), {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPartialHydrationJson(pagePath)\n ),\n ])\n } else {\n return prefetchHelper(pageDataUrl, {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPageDataJson(pagePath)\n )\n }\n }\n\n hovering(rawPath) {\n this.loadPage(rawPath)\n }\n\n getResourceURLsForPathname(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDataDb.get(pagePath)\n if (page) {\n const pageResources = toPageResources(page.payload)\n\n return [\n ...createComponentUrls(pageResources.page.componentChunkName),\n createPageDataUrl(pagePath),\n ]\n } else {\n return null\n }\n }\n\n isPageNotFound(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDb.get(pagePath)\n return !page || page.notFound\n }\n\n loadAppData(retries = 0) {\n return this.memoizedGet(`${__PATH_PREFIX__}/page-data/app-data.json`).then(\n req => {\n const { status, responseText } = req\n\n let appData\n\n if (status !== 200 && retries < 3) {\n // Retry 3 times incase of non-200 responses\n return this.loadAppData(retries + 1)\n }\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.webpackCompilationHash === undefined) {\n throw new Error(`not a valid app-data response`)\n }\n\n appData = jsonPayload\n } catch (err) {\n // continue regardless of error\n }\n }\n\n return appData\n }\n )\n }\n}\n\nconst createComponentUrls = componentChunkName =>\n (window.___chunkMapping[componentChunkName] || []).map(\n chunk => __PATH_PREFIX__ + chunk\n )\n\nexport class ProdLoader extends BaseLoader {\n constructor(asyncRequires, matchPaths, pageData) {\n const loadComponent = (chunkName, exportType = `components`) => {\n if (!global.hasPartialHydration) {\n exportType = `components`\n }\n\n if (!asyncRequires[exportType][chunkName]) {\n throw new Error(\n `We couldn't find the correct component chunk with the name \"${chunkName}\"`\n )\n }\n\n return (\n asyncRequires[exportType][chunkName]()\n // loader will handle the case when component is error\n .catch(err => err)\n )\n }\n\n super(loadComponent, matchPaths)\n\n if (pageData) {\n this.pageDataDb.set(findPath(pageData.path), {\n pagePath: pageData.path,\n payload: pageData,\n status: `success`,\n })\n }\n }\n\n doPrefetch(pagePath) {\n return super.doPrefetch(pagePath).then(result => {\n if (result.status !== PageResourceStatus.Success) {\n return Promise.resolve()\n }\n const pageData = result.payload\n const chunkName = pageData.componentChunkName\n const componentUrls = createComponentUrls(chunkName)\n return Promise.all(componentUrls.map(prefetchHelper)).then(() => pageData)\n })\n }\n\n loadPageDataJson(rawPath) {\n return super.loadPageDataJson(rawPath).then(data => {\n if (data.notFound) {\n if (shouldAbortFetch(rawPath)) {\n return data\n }\n // check if html file exist using HEAD request:\n // if it does we should navigate to it instead of showing 404\n return doFetch(rawPath, `HEAD`).then(req => {\n if (req.status === 200) {\n // page (.html file) actually exist (or we asked for 404 )\n // returning page resources status as errored to trigger\n // regular browser navigation to given page\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n // if HEAD request wasn't 200, return notFound result\n // and show 404 page\n return data\n })\n }\n return data\n })\n }\n\n loadPartialHydrationJson(rawPath) {\n return super.loadPartialHydrationJson(rawPath).then(data => {\n if (data.notFound) {\n if (shouldAbortFetch(rawPath)) {\n return data\n }\n // check if html file exist using HEAD request:\n // if it does we should navigate to it instead of showing 404\n return doFetch(rawPath, `HEAD`).then(req => {\n if (req.status === 200) {\n // page (.html file) actually exist (or we asked for 404 )\n // returning page resources status as errored to trigger\n // regular browser navigation to given page\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n // if HEAD request wasn't 200, return notFound result\n // and show 404 page\n return data\n })\n }\n return data\n })\n }\n}\n\nlet instance\n\nexport const setLoader = _loader => {\n instance = _loader\n}\n\nexport const publicLoader = {\n enqueue: rawPath => instance.prefetch(rawPath),\n\n // Real methods\n getResourceURLsForPathname: rawPath =>\n instance.getResourceURLsForPathname(rawPath),\n loadPage: rawPath => instance.loadPage(rawPath),\n // TODO add deprecation to v4 so people use withErrorDetails and then we can remove in v5 and change default behaviour\n loadPageSync: (rawPath, options = {}) =>\n instance.loadPageSync(rawPath, options),\n prefetch: rawPath => instance.prefetch(rawPath),\n isPageNotFound: rawPath => instance.isPageNotFound(rawPath),\n hovering: rawPath => instance.hovering(rawPath),\n loadAppData: () => instance.loadAppData(),\n}\n\nexport default publicLoader\n\nexport function getStaticQueryResults() {\n if (instance) {\n return instance.staticQueryDb\n } else {\n return {}\n }\n}\n\nexport function getSliceResults() {\n if (instance) {\n return instance.slicesDb\n } else {\n return {}\n }\n}\n","import { useEffect } from \"react\"\n\n/*\n * Calls callback in an effect and renders children\n */\nexport function FireCallbackInEffect({ children, callback }) {\n useEffect(() => {\n callback()\n })\n\n return children\n}\n","export const VALID_NODE_NAMES = [\n `link`,\n `meta`,\n `style`,\n `title`,\n `base`,\n `noscript`,\n `script`,\n `html`,\n `body`,\n]\n","import { VALID_NODE_NAMES } from \"./constants\"\n\n/**\n * Filter the props coming from a page down to just the ones that are relevant for head.\n * This e.g. filters out properties that are undefined during SSR.\n */\nexport function filterHeadProps(input) {\n return {\n location: {\n pathname: input.location.pathname,\n },\n params: input.params,\n data: input.data || {},\n serverData: input.serverData,\n pageContext: input.pageContext,\n }\n}\n\n/**\n * Throw error if Head export is not a valid function\n */\nexport function headExportValidator(head) {\n if (typeof head !== `function`)\n throw new Error(\n `Expected \"Head\" export to be a function got \"${typeof head}\".`\n )\n}\n\n/**\n * Warn once for same messsage\n */\nlet warnOnce = _ => {}\nif (process.env.NODE_ENV !== `production`) {\n const warnings = new Set()\n warnOnce = msg => {\n if (!warnings.has(msg)) {\n console.warn(msg)\n }\n warnings.add(msg)\n }\n}\n\n/**\n * Warn for invalid tags in Head which may have been directly added or introduced by `wrapRootElement`\n * @param {string} tagName\n */\nexport function warnForInvalidTag(tagName) {\n if (process.env.NODE_ENV !== `production`) {\n const warning = createWarningForInvalidTag(tagName)\n warnOnce(warning)\n }\n}\n\nfunction createWarningForInvalidTag(tagName) {\n return `<${tagName}> is not a valid head element. Please use one of the following: ${VALID_NODE_NAMES.join(\n `, `\n )}.\\n\\nAlso make sure that wrapRootElement in gatsby-ssr/gatsby-browser doesn't contain UI elements: https://gatsby.dev/invalid-head-elements`\n}\n\n/**\n * When a `nonce` is present on an element, browsers such as Chrome and Firefox strip it out of the\n * actual HTML attributes for security reasons *when the element is added to the document*. Thus,\n * given two equivalent elements that have nonces, `Element,isEqualNode()` will return false if one\n * of those elements gets added to the document. Although the `element.nonce` property will be the\n * same for both elements, the one that was added to the document will return an empty string for\n * its nonce HTML attribute value.\n *\n * This custom `isEqualNode()` function therefore removes the nonce value from the `newTag` before\n * comparing it to `oldTag`, restoring it afterwards.\n *\n * For more information, see:\n * https://bugs.chromium.org/p/chromium/issues/detail?id=1211471#c12\n */\nexport function isEqualNode(oldTag, newTag) {\n if (oldTag instanceof HTMLElement && newTag instanceof HTMLElement) {\n const nonce = newTag.getAttribute(`nonce`)\n // Only strip the nonce if `oldTag` has had it stripped. An element's nonce attribute will not\n // be stripped if there is no content security policy response header that includes a nonce.\n if (nonce && !oldTag.getAttribute(`nonce`)) {\n const cloneTag = newTag.cloneNode(true)\n cloneTag.setAttribute(`nonce`, ``)\n cloneTag.nonce = nonce\n return nonce === oldTag.nonce && oldTag.isEqualNode(cloneTag)\n }\n }\n\n return oldTag.isEqualNode(newTag)\n}\n\nexport function diffNodes({ oldNodes, newNodes, onStale, onNew }) {\n for (const existingHeadElement of oldNodes) {\n const indexInNewNodes = newNodes.findIndex(e =>\n isEqualNode(e, existingHeadElement)\n )\n\n if (indexInNewNodes === -1) {\n onStale(existingHeadElement)\n } else {\n // this node is re-created as-is, so we keep old node, and remove it from list of new nodes (as we handled it already here)\n newNodes.splice(indexInNewNodes, 1)\n }\n }\n\n // remaing new nodes didn't have matching old node, so need to be added\n for (const newNode of newNodes) {\n onNew(newNode)\n }\n}\n\nexport function getValidHeadNodesAndAttributes(\n rootNode,\n htmlAndBodyAttributes = {\n html: {},\n body: {},\n }\n) {\n const seenIds = new Map()\n const validHeadNodes = []\n\n // Filter out non-element nodes before looping since we don't care about them\n for (const node of rootNode.childNodes) {\n const nodeName = node.nodeName.toLowerCase()\n const id = node.attributes?.id?.value\n\n if (!isElementType(node)) continue\n\n if (isValidNodeName(nodeName)) {\n // and tags are treated differently, in that we don't render them, we only extract the attributes and apply them separetely\n if (nodeName === `html` || nodeName === `body`) {\n for (const attribute of node.attributes) {\n const isStyleAttribute = attribute.name === `style`\n\n // Merge attributes for same nodeName from previous loop iteration\n htmlAndBodyAttributes[nodeName] = {\n ...htmlAndBodyAttributes[nodeName],\n }\n\n if (!isStyleAttribute) {\n htmlAndBodyAttributes[nodeName][attribute.name] = attribute.value\n }\n\n // If there is already a style attribute, we need to merge them as otherwise the last one will \"win\"\n if (isStyleAttribute) {\n htmlAndBodyAttributes[nodeName].style = `${\n htmlAndBodyAttributes[nodeName]?.style\n ? htmlAndBodyAttributes[nodeName].style\n : ``\n }${attribute.value} `\n }\n }\n } else {\n let clonedNode = node.cloneNode(true)\n clonedNode.setAttribute(`data-gatsby-head`, true)\n\n // // This is hack to make script tags work\n if (clonedNode.nodeName.toLowerCase() === `script`) {\n clonedNode = massageScript(clonedNode)\n }\n // Duplicate ids are not allowed in the head, so we need to dedupe them\n if (id) {\n if (!seenIds.has(id)) {\n validHeadNodes.push(clonedNode)\n seenIds.set(id, validHeadNodes.length - 1)\n } else {\n const indexOfPreviouslyInsertedNode = seenIds.get(id)\n validHeadNodes[\n indexOfPreviouslyInsertedNode\n ].parentNode?.removeChild(\n validHeadNodes[indexOfPreviouslyInsertedNode]\n )\n validHeadNodes[indexOfPreviouslyInsertedNode] = clonedNode\n }\n } else {\n validHeadNodes.push(clonedNode)\n }\n }\n } else {\n warnForInvalidTag(nodeName)\n }\n\n if (node.childNodes.length) {\n validHeadNodes.push(\n ...getValidHeadNodesAndAttributes(node, htmlAndBodyAttributes)\n .validHeadNodes\n )\n }\n }\n\n return { validHeadNodes, htmlAndBodyAttributes }\n}\n\nfunction massageScript(node) {\n const script = document.createElement(`script`)\n for (const attr of node.attributes) {\n script.setAttribute(attr.name, attr.value)\n }\n script.innerHTML = node.innerHTML\n\n return script\n}\n\nexport function isValidNodeName(nodeName) {\n return VALID_NODE_NAMES.includes(nodeName)\n}\n/*\n * For Head, we only care about element nodes(type = 1), so this util is used to skip over non-element nodes\n * For Node type, see https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\n */\nexport function isElementType(node) {\n return node.nodeType === 1\n}\n\n/**\n * Removes all the head elements that were added by `Head`\n */\nexport function removePrevHeadElements() {\n const prevHeadNodes = document.querySelectorAll(`[data-gatsby-head]`)\n for (const node of prevHeadNodes) {\n node.parentNode.removeChild(node)\n }\n}\n\nexport function applyHtmlAndBodyAttributes(htmlAndBodyAttributes) {\n if (!htmlAndBodyAttributes) return\n\n const { html, body } = htmlAndBodyAttributes\n\n const htmlElement = document.querySelector(`html`)\n if (htmlElement) {\n Object.entries(html).forEach(([attributeName, attributeValue]) => {\n htmlElement.setAttribute(attributeName, attributeValue)\n })\n }\n\n const bodyElement = document.querySelector(`body`)\n if (bodyElement) {\n Object.entries(body).forEach(([attributeName, attributeValue]) => {\n bodyElement.setAttribute(attributeName, attributeValue)\n })\n }\n}\n\nexport function removeHtmlAndBodyAttributes(htmlAndBodyattributeList) {\n if (!htmlAndBodyattributeList) return\n\n const { html, body } = htmlAndBodyattributeList\n\n if (html) {\n const htmlElement = document.querySelector(`html`)\n html.forEach(attributeName => {\n if (htmlElement) {\n htmlElement.removeAttribute(attributeName)\n }\n })\n }\n\n if (body) {\n const bodyElement = document.querySelector(`body`)\n body.forEach(attributeName => {\n if (bodyElement) {\n bodyElement.removeAttribute(attributeName)\n }\n })\n }\n}\n","import React from \"react\"\nimport { useEffect } from \"react\"\nimport { StaticQueryContext } from \"gatsby\"\nimport { LocationProvider } from \"@gatsbyjs/reach-router\"\nimport { reactDOMUtils } from \"../react-dom-utils\"\nimport { FireCallbackInEffect } from \"./components/fire-callback-in-effect\"\nimport {\n headExportValidator,\n filterHeadProps,\n diffNodes,\n getValidHeadNodesAndAttributes,\n removePrevHeadElements,\n applyHtmlAndBodyAttributes,\n removeHtmlAndBodyAttributes,\n} from \"./utils\"\nimport { apiRunner } from \"../api-runner-browser\"\n\nconst hiddenRoot = document.createElement(`div`)\nconst keysOfHtmlAndBodyAttributes = {\n html: [],\n body: [],\n}\n\nconst onHeadRendered = () => {\n const { validHeadNodes, htmlAndBodyAttributes } =\n getValidHeadNodesAndAttributes(hiddenRoot)\n\n keysOfHtmlAndBodyAttributes.html = Object.keys(htmlAndBodyAttributes.html)\n keysOfHtmlAndBodyAttributes.body = Object.keys(htmlAndBodyAttributes.body)\n\n applyHtmlAndBodyAttributes(htmlAndBodyAttributes)\n\n /**\n * The rest of the code block below is a diffing mechanism to ensure that\n * the head elements aren't duplicted on every re-render.\n */\n const existingHeadElements = document.querySelectorAll(`[data-gatsby-head]`)\n\n if (existingHeadElements.length === 0) {\n document.head.append(...validHeadNodes)\n return\n }\n\n const newHeadNodes = []\n diffNodes({\n oldNodes: existingHeadElements,\n newNodes: validHeadNodes,\n onStale: node => node.parentNode.removeChild(node),\n onNew: node => newHeadNodes.push(node),\n })\n\n document.head.append(...newHeadNodes)\n}\n\nif (process.env.BUILD_STAGE === `develop`) {\n // sigh ... and elements are not valid descedents of
(our hidden element)\n // react-dom in dev mode will warn about this. There doesn't seem to be a way to render arbitrary\n // user Head without hitting this issue (our hidden element could be just \"new Document()\", but\n // this can only have 1 child, and we don't control what is being rendered so that's not an option)\n // instead we continue to render to
, and just silence warnings for and elements\n // https://github.com/facebook/react/blob/e2424f33b3ad727321fc12e75c5e94838e84c2b5/packages/react-dom-bindings/src/client/validateDOMNesting.js#L498-L520\n const originalConsoleError = console.error.bind(console)\n console.error = (...args) => {\n if (\n Array.isArray(args) &&\n args.length >= 2 &&\n args[0]?.includes?.(`validateDOMNesting(...): %s cannot appear as`) &&\n (args[1] === `` || args[1] === ``)\n ) {\n return undefined\n }\n return originalConsoleError(...args)\n }\n\n /* We set up observer to be able to regenerate after react-refresh\n updates our hidden element.\n */\n const observer = new MutationObserver(onHeadRendered)\n observer.observe(hiddenRoot, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true,\n })\n}\n\nexport function headHandlerForBrowser({\n pageComponent,\n staticQueryResults,\n pageComponentProps,\n}) {\n useEffect(() => {\n if (pageComponent?.Head) {\n headExportValidator(pageComponent.Head)\n\n const { render } = reactDOMUtils()\n\n const HeadElement = (\n \n )\n\n const WrapHeadElement = apiRunner(\n `wrapRootElement`,\n { element: HeadElement },\n HeadElement,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\n\n render(\n // just a hack to call the callback after react has done first render\n // Note: In dev, we call onHeadRendered twice( in FireCallbackInEffect and after mutualution observer dectects initail render into hiddenRoot) this is for hot reloading\n // In Prod we only call onHeadRendered in FireCallbackInEffect to render to head\n \n \n {WrapHeadElement}\n \n ,\n hiddenRoot\n )\n }\n\n return () => {\n removePrevHeadElements()\n removeHtmlAndBodyAttributes(keysOfHtmlAndBodyAttributes)\n }\n })\n}\n","import React, { Suspense, createElement } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport { grabMatchParams } from \"./find-path\"\nimport { headHandlerForBrowser } from \"./head/head-export-handler-for-browser\"\n\n// Renders page\nfunction PageRenderer(props) {\n const pageComponentProps = {\n ...props,\n params: {\n ...grabMatchParams(props.location.pathname),\n ...props.pageResources.json.pageContext.__params,\n },\n }\n\n const preferDefault = m => (m && m.default) || m\n\n let pageElement\n if (props.pageResources.partialHydration) {\n pageElement = props.pageResources.partialHydration\n } else {\n pageElement = createElement(preferDefault(props.pageResources.component), {\n ...pageComponentProps,\n key: props.path || props.pageResources.page.path,\n })\n }\n\n const pageComponent = props.pageResources.head\n\n headHandlerForBrowser({\n pageComponent,\n staticQueryResults: props.pageResources.staticQueryResults,\n pageComponentProps,\n })\n\n const wrappedPage = apiRunner(\n `wrapPageElement`,\n {\n element: pageElement,\n props: pageComponentProps,\n },\n pageElement,\n ({ result }) => {\n return { element: result, props: pageComponentProps }\n }\n ).pop()\n\n return wrappedPage\n}\n\nPageRenderer.propTypes = {\n location: PropTypes.object.isRequired,\n pageResources: PropTypes.object.isRequired,\n data: PropTypes.object,\n pageContext: PropTypes.object.isRequired,\n}\n\nexport default PageRenderer\n","// This is extracted to separate module because it's shared\n// between browser and SSR code\nexport const RouteAnnouncerProps = {\n id: `gatsby-announcer`,\n style: {\n position: `absolute`,\n top: 0,\n width: 1,\n height: 1,\n padding: 0,\n overflow: `hidden`,\n clip: `rect(0, 0, 0, 0)`,\n whiteSpace: `nowrap`,\n border: 0,\n },\n \"aria-live\": `assertive`,\n \"aria-atomic\": `true`,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport { maybeGetBrowserRedirect } from \"./redirect-utils.js\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport emitter from \"./emitter\"\nimport { RouteAnnouncerProps } from \"./route-announcer-props\"\nimport {\n navigate as reachNavigate,\n globalHistory,\n} from \"@gatsbyjs/reach-router\"\nimport { parsePath } from \"gatsby-link\"\n\nfunction maybeRedirect(pathname) {\n const redirect = maybeGetBrowserRedirect(pathname)\n const { hash, search } = window.location\n\n if (redirect != null) {\n window.___replace(redirect.toPath + search + hash)\n return true\n } else {\n return false\n }\n}\n\n// Catch unhandled chunk loading errors and force a restart of the app.\nlet nextRoute = ``\n\nwindow.addEventListener(`unhandledrejection`, event => {\n if (/loading chunk \\d* failed./i.test(event.reason)) {\n if (nextRoute) {\n window.location.pathname = nextRoute\n }\n }\n})\n\nconst onPreRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n nextRoute = location.pathname\n apiRunner(`onPreRouteUpdate`, { location, prevLocation })\n }\n}\n\nconst onRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n apiRunner(`onRouteUpdate`, { location, prevLocation })\n if (\n process.env.GATSBY_QUERY_ON_DEMAND &&\n process.env.GATSBY_QUERY_ON_DEMAND_LOADING_INDICATOR === `true`\n ) {\n emitter.emit(`onRouteUpdate`, { location, prevLocation })\n }\n }\n}\n\nconst navigate = (to, options = {}) => {\n // Support forward/backward navigation with numbers\n // navigate(-2) (jumps back 2 history steps)\n // navigate(2) (jumps forward 2 history steps)\n if (typeof to === `number`) {\n globalHistory.navigate(to)\n return\n }\n\n const { pathname, search, hash } = parsePath(to)\n const redirect = maybeGetBrowserRedirect(pathname)\n\n // If we're redirecting, just replace the passed in pathname\n // to the one we want to redirect to.\n if (redirect) {\n to = redirect.toPath + search + hash\n }\n\n // If we had a service worker update, no matter the path, reload window and\n // reset the pathname whitelist\n if (window.___swUpdated) {\n window.location = pathname + search + hash\n return\n }\n\n // Start a timer to wait for a second before transitioning and showing a\n // loader in case resources aren't around yet.\n const timeoutId = setTimeout(() => {\n emitter.emit(`onDelayedLoadPageResources`, { pathname })\n apiRunner(`onRouteUpdateDelayed`, {\n location: window.location,\n })\n }, 1000)\n\n loader.loadPage(pathname + search).then(pageResources => {\n // If no page resources, then refresh the page\n // Do this, rather than simply `window.location.reload()`, so that\n // pressing the back/forward buttons work - otherwise when pressing\n // back, the browser will just change the URL and expect JS to handle\n // the change, which won't always work since it might not be a Gatsby\n // page.\n if (!pageResources || pageResources.status === PageResourceStatus.Error) {\n window.history.replaceState({}, ``, location.href)\n window.location = pathname\n clearTimeout(timeoutId)\n return\n }\n\n // If the loaded page has a different compilation hash to the\n // window, then a rebuild has occurred on the server. Reload.\n if (process.env.NODE_ENV === `production` && pageResources) {\n if (\n pageResources.page.webpackCompilationHash !==\n window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n window.location = pathname + search + hash\n }\n }\n reachNavigate(to, options)\n clearTimeout(timeoutId)\n })\n}\n\nfunction shouldUpdateScroll(prevRouterProps, { location }) {\n const { pathname, hash } = location\n const results = apiRunner(`shouldUpdateScroll`, {\n prevRouterProps,\n // `pathname` for backwards compatibility\n pathname,\n routerProps: { location },\n getSavedScrollPosition: args => [\n 0,\n // FIXME this is actually a big code smell, we should fix this\n // eslint-disable-next-line @babel/no-invalid-this\n this._stateStorage.read(args, args.key),\n ],\n })\n if (results.length > 0) {\n // Use the latest registered shouldUpdateScroll result, this allows users to override plugin's configuration\n // @see https://github.com/gatsbyjs/gatsby/issues/12038\n return results[results.length - 1]\n }\n\n if (prevRouterProps) {\n const {\n location: { pathname: oldPathname },\n } = prevRouterProps\n if (oldPathname === pathname) {\n // Scroll to element if it exists, if it doesn't, or no hash is provided,\n // scroll to top.\n return hash ? decodeURI(hash.slice(1)) : [0, 0]\n }\n }\n return true\n}\n\nfunction init() {\n // The \"scroll-behavior\" package expects the \"action\" to be on the location\n // object so let's copy it over.\n globalHistory.listen(args => {\n args.location.action = args.action\n })\n\n window.___push = to => navigate(to, { replace: false })\n window.___replace = to => navigate(to, { replace: true })\n window.___navigate = (to, options) => navigate(to, options)\n}\n\nclass RouteAnnouncer extends React.Component {\n constructor(props) {\n super(props)\n this.announcementRef = React.createRef()\n }\n\n componentDidUpdate(prevProps, nextProps) {\n requestAnimationFrame(() => {\n let pageName = `new page at ${this.props.location.pathname}`\n if (document.title) {\n pageName = document.title\n }\n const pageHeadings = document.querySelectorAll(`#gatsby-focus-wrapper h1`)\n if (pageHeadings && pageHeadings.length) {\n pageName = pageHeadings[0].textContent\n }\n const newAnnouncement = `Navigated to ${pageName}`\n if (this.announcementRef.current) {\n const oldAnnouncement = this.announcementRef.current.innerText\n if (oldAnnouncement !== newAnnouncement) {\n this.announcementRef.current.innerText = newAnnouncement\n }\n }\n })\n }\n\n render() {\n return
\n }\n}\n\nconst compareLocationProps = (prevLocation, nextLocation) => {\n if (prevLocation.href !== nextLocation.href) {\n return true\n }\n\n if (prevLocation?.state?.key !== nextLocation?.state?.key) {\n return true\n }\n\n return false\n}\n\n// Fire on(Pre)RouteUpdate APIs\nclass RouteUpdates extends React.Component {\n constructor(props) {\n super(props)\n onPreRouteUpdate(props.location, null)\n }\n\n componentDidMount() {\n onRouteUpdate(this.props.location, null)\n }\n\n shouldComponentUpdate(nextProps) {\n if (compareLocationProps(this.props.location, nextProps.location)) {\n onPreRouteUpdate(nextProps.location, this.props.location)\n return true\n }\n return false\n }\n\n componentDidUpdate(prevProps) {\n if (compareLocationProps(prevProps.location, this.props.location)) {\n onRouteUpdate(this.props.location, prevProps.location)\n }\n }\n\n render() {\n return (\n \n {this.props.children}\n \n \n )\n }\n}\n\nRouteUpdates.propTypes = {\n location: PropTypes.object.isRequired,\n}\n\nexport { init, shouldUpdateScroll, RouteUpdates, maybeGetBrowserRedirect }\n","// Pulled from react-compat\n// https://github.com/developit/preact-compat/blob/7c5de00e7c85e2ffd011bf3af02899b63f699d3a/src/index.js#L349\nfunction shallowDiffers(a, b) {\n for (var i in a) {\n if (!(i in b)) return true;\n }for (var _i in b) {\n if (a[_i] !== b[_i]) return true;\n }return false;\n}\n\nexport default (function (instance, nextProps, nextState) {\n return shallowDiffers(instance.props, nextProps) || shallowDiffers(instance.state, nextState);\n});","import React from \"react\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport shallowCompare from \"shallow-compare\"\n\nclass EnsureResources extends React.Component {\n constructor(props) {\n super()\n const { location, pageResources } = props\n this.state = {\n location: { ...location },\n pageResources:\n pageResources ||\n loader.loadPageSync(location.pathname + location.search, {\n withErrorDetails: true,\n }),\n }\n }\n\n static getDerivedStateFromProps({ location }, prevState) {\n if (prevState.location.href !== location.href) {\n const pageResources = loader.loadPageSync(\n location.pathname + location.search,\n {\n withErrorDetails: true,\n }\n )\n\n return {\n pageResources,\n location: { ...location },\n }\n }\n\n return {\n location: { ...location },\n }\n }\n\n loadResources(rawPath) {\n loader.loadPage(rawPath).then(pageResources => {\n if (pageResources && pageResources.status !== PageResourceStatus.Error) {\n this.setState({\n location: { ...window.location },\n pageResources,\n })\n } else {\n window.history.replaceState({}, ``, location.href)\n window.location = rawPath\n }\n })\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n // Always return false if we're missing resources.\n if (!nextState.pageResources) {\n this.loadResources(\n nextProps.location.pathname + nextProps.location.search\n )\n return false\n }\n\n if (\n process.env.BUILD_STAGE === `develop` &&\n nextState.pageResources.stale\n ) {\n this.loadResources(\n nextProps.location.pathname + nextProps.location.search\n )\n return false\n }\n\n // Check if the component or json have changed.\n if (this.state.pageResources !== nextState.pageResources) {\n return true\n }\n if (\n this.state.pageResources.component !== nextState.pageResources.component\n ) {\n return true\n }\n\n if (this.state.pageResources.json !== nextState.pageResources.json) {\n return true\n }\n // Check if location has changed on a page using internal routing\n // via matchPath configuration.\n if (\n this.state.location.key !== nextState.location.key &&\n nextState.pageResources.page &&\n (nextState.pageResources.page.matchPath ||\n nextState.pageResources.page.path)\n ) {\n return true\n }\n return shallowCompare(this, nextProps, nextState)\n }\n\n render() {\n if (\n process.env.NODE_ENV !== `production` &&\n (!this.state.pageResources ||\n this.state.pageResources.status === PageResourceStatus.Error)\n ) {\n const message = `EnsureResources was not able to find resources for path: \"${this.props.location.pathname}\"\nThis typically means that an issue occurred building components for that path.\nRun \\`gatsby clean\\` to remove any cached elements.`\n if (this.state.pageResources?.error) {\n console.error(message)\n throw this.state.pageResources.error\n }\n\n throw new Error(message)\n }\n\n return this.props.children(this.state)\n }\n}\n\nexport default EnsureResources\n","import { apiRunner, apiRunnerAsync } from \"./api-runner-browser\"\nimport React from \"react\"\nimport { Router, navigate, Location, BaseContext } from \"@gatsbyjs/reach-router\"\nimport { ScrollContext } from \"gatsby-react-router-scroll\"\nimport { StaticQueryContext } from \"./static-query\"\nimport {\n SlicesMapContext,\n SlicesContext,\n SlicesResultsContext,\n} from \"./slice/context\"\nimport {\n shouldUpdateScroll,\n init as navigationInit,\n RouteUpdates,\n} from \"./navigation\"\nimport emitter from \"./emitter\"\nimport PageRenderer from \"./page-renderer\"\nimport asyncRequires from \"$virtual/async-requires\"\nimport {\n setLoader,\n ProdLoader,\n publicLoader,\n PageResourceStatus,\n getStaticQueryResults,\n getSliceResults,\n} from \"./loader\"\nimport EnsureResources from \"./ensure-resources\"\nimport stripPrefix from \"./strip-prefix\"\n\n// Generated during bootstrap\nimport matchPaths from \"$virtual/match-paths.json\"\nimport { reactDOMUtils } from \"./react-dom-utils\"\n\nconst loader = new ProdLoader(asyncRequires, matchPaths, window.pageData)\nsetLoader(loader)\nloader.setApiRunner(apiRunner)\n\nconst { render, hydrate } = reactDOMUtils()\n\nwindow.asyncRequires = asyncRequires\nwindow.___emitter = emitter\nwindow.___loader = publicLoader\n\nnavigationInit()\n\nconst reloadStorageKey = `gatsby-reload-compilation-hash-match`\n\napiRunnerAsync(`onClientEntry`).then(() => {\n // Let plugins register a service worker. The plugin just needs\n // to return true.\n if (apiRunner(`registerServiceWorker`).filter(Boolean).length > 0) {\n require(`./register-service-worker`)\n }\n\n // In gatsby v2 if Router is used in page using matchPaths\n // paths need to contain full path.\n // For example:\n // - page have `/app/*` matchPath\n // - inside template user needs to use `/app/xyz` as path\n // Resetting `basepath`/`baseuri` keeps current behaviour\n // to not introduce breaking change.\n // Remove this in v3\n const RouteHandler = props => (\n \n \n \n )\n\n const DataContext = React.createContext({})\n\n const slicesContext = {\n renderEnvironment: `browser`,\n }\n\n class GatsbyRoot extends React.Component {\n render() {\n const { children } = this.props\n return (\n \n {({ location }) => (\n \n {({ pageResources, location }) => {\n const staticQueryResults = getStaticQueryResults()\n const sliceResults = getSliceResults()\n\n return (\n \n \n \n \n \n {children}\n \n \n \n \n \n )\n }}\n \n )}\n \n )\n }\n }\n\n class LocationHandler extends React.Component {\n render() {\n return (\n \n {({ pageResources, location }) => (\n \n \n \n \n \n \n \n )}\n \n )\n }\n }\n\n const { pagePath, location: browserLoc } = window\n\n // Explicitly call navigate if the canonical path (window.pagePath)\n // is different to the browser path (window.location.pathname). SSR\n // page paths might include search params, while SSG and DSG won't.\n // If page path include search params we also compare query params.\n // But only if NONE of the following conditions hold:\n //\n // - The url matches a client side route (page.matchPath)\n // - it's a 404 page\n // - it's the offline plugin shell (/offline-plugin-app-shell-fallback/)\n if (\n pagePath &&\n __BASE_PATH__ + pagePath !==\n browserLoc.pathname + (pagePath.includes(`?`) ? browserLoc.search : ``) &&\n !(\n loader.findMatchPath(stripPrefix(browserLoc.pathname, __BASE_PATH__)) ||\n pagePath.match(/^\\/(404|500)(\\/?|.html)$/) ||\n pagePath.match(/^\\/offline-plugin-app-shell-fallback\\/?$/)\n )\n ) {\n navigate(\n __BASE_PATH__ +\n pagePath +\n (!pagePath.includes(`?`) ? browserLoc.search : ``) +\n browserLoc.hash,\n {\n replace: true,\n }\n )\n }\n\n // It's possible that sessionStorage can throw an exception if access is not granted, see https://github.com/gatsbyjs/gatsby/issues/34512\n const getSessionStorage = () => {\n try {\n return sessionStorage\n } catch {\n return null\n }\n }\n\n publicLoader.loadPage(browserLoc.pathname + browserLoc.search).then(page => {\n const sessionStorage = getSessionStorage()\n\n if (\n page?.page?.webpackCompilationHash &&\n page.page.webpackCompilationHash !== window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n // We have not matching html + js (inlined `window.___webpackCompilationHash`)\n // with our data (coming from `app-data.json` file). This can cause issues such as\n // errors trying to load static queries (as list of static queries is inside `page-data`\n // which might not match to currently loaded `.js` scripts).\n // We are making attempt to reload if hashes don't match, but we also have to handle case\n // when reload doesn't fix it (possibly broken deploy) so we don't end up in infinite reload loop\n if (sessionStorage) {\n const isReloaded = sessionStorage.getItem(reloadStorageKey) === `1`\n\n if (!isReloaded) {\n sessionStorage.setItem(reloadStorageKey, `1`)\n window.location.reload(true)\n return\n }\n }\n }\n\n if (sessionStorage) {\n sessionStorage.removeItem(reloadStorageKey)\n }\n\n if (!page || page.status === PageResourceStatus.Error) {\n const message = `page resources for ${browserLoc.pathname} not found. Not rendering React`\n\n // if the chunk throws an error we want to capture the real error\n // This should help with https://github.com/gatsbyjs/gatsby/issues/19618\n if (page && page.error) {\n console.error(message)\n throw page.error\n }\n\n throw new Error(message)\n }\n\n const SiteRoot = apiRunner(\n `wrapRootElement`,\n { element: },\n ,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\n\n const App = function App() {\n const onClientEntryRanRef = React.useRef(false)\n\n React.useEffect(() => {\n if (!onClientEntryRanRef.current) {\n onClientEntryRanRef.current = true\n if (performance.mark) {\n performance.mark(`onInitialClientRender`)\n }\n\n apiRunner(`onInitialClientRender`)\n }\n }, [])\n\n return {SiteRoot}\n }\n\n const focusEl = document.getElementById(`gatsby-focus-wrapper`)\n\n // Client only pages have any empty body so we just do a normal\n // render to avoid React complaining about hydration mis-matches.\n let defaultRenderer = render\n if (focusEl && focusEl.children.length) {\n defaultRenderer = hydrate\n }\n\n const renderer = apiRunner(\n `replaceHydrateFunction`,\n undefined,\n defaultRenderer\n )[0]\n\n function runRender() {\n const rootElement =\n typeof window !== `undefined`\n ? document.getElementById(`___gatsby`)\n : null\n\n renderer(, rootElement)\n }\n\n // https://github.com/madrobby/zepto/blob/b5ed8d607f67724788ec9ff492be297f64d47dfc/src/zepto.js#L439-L450\n // TODO remove IE 10 support\n const doc = document\n if (\n doc.readyState === `complete` ||\n (doc.readyState !== `loading` && !doc.documentElement.doScroll)\n ) {\n setTimeout(function () {\n runRender()\n }, 0)\n } else {\n const handler = function () {\n doc.removeEventListener(`DOMContentLoaded`, handler, false)\n window.removeEventListener(`load`, handler, false)\n\n runRender()\n }\n\n doc.addEventListener(`DOMContentLoaded`, handler, false)\n window.addEventListener(`load`, handler, false)\n }\n\n return\n })\n})\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport loader from \"./loader\"\nimport InternalPageRenderer from \"./page-renderer\"\n\nconst ProdPageRenderer = ({ location }) => {\n const pageResources = loader.loadPageSync(location.pathname)\n if (!pageResources) {\n return null\n }\n return React.createElement(InternalPageRenderer, {\n location,\n pageResources,\n ...pageResources.json,\n })\n}\n\nProdPageRenderer.propTypes = {\n location: PropTypes.shape({\n pathname: PropTypes.string.isRequired,\n }).isRequired,\n}\n\nexport default ProdPageRenderer\n","const preferDefault = m => (m && m.default) || m\n\nif (process.env.BUILD_STAGE === `develop`) {\n module.exports = preferDefault(require(`./public-page-renderer-dev`))\n} else if (process.env.BUILD_STAGE === `build-javascript`) {\n module.exports = preferDefault(require(`./public-page-renderer-prod`))\n} else {\n module.exports = () => null\n}\n","const map = new WeakMap()\n\nexport function reactDOMUtils() {\n const reactDomClient = require(`react-dom/client`)\n\n const render = (Component, el) => {\n let root = map.get(el)\n if (!root) {\n map.set(el, (root = reactDomClient.createRoot(el)))\n }\n root.render(Component)\n }\n\n const hydrate = (Component, el) => reactDomClient.hydrateRoot(el, Component)\n\n return { render, hydrate }\n}\n","import redirects from \"./redirects.json\"\n\n// Convert to a map for faster lookup in maybeRedirect()\n\nconst redirectMap = new Map()\nconst redirectIgnoreCaseMap = new Map()\n\nredirects.forEach(redirect => {\n if (redirect.ignoreCase) {\n redirectIgnoreCaseMap.set(redirect.fromPath, redirect)\n } else {\n redirectMap.set(redirect.fromPath, redirect)\n }\n})\n\nexport function maybeGetBrowserRedirect(pathname) {\n let redirect = redirectMap.get(pathname)\n if (!redirect) {\n redirect = redirectIgnoreCaseMap.get(pathname.toLowerCase())\n }\n return redirect\n}\n","import { apiRunner } from \"./api-runner-browser\"\n\nif (\n window.location.protocol !== `https:` &&\n window.location.hostname !== `localhost`\n) {\n console.error(\n `Service workers can only be used over HTTPS, or on localhost for development`\n )\n} else if (`serviceWorker` in navigator) {\n navigator.serviceWorker\n .register(`${__BASE_PATH__}/sw.js`)\n .then(function (reg) {\n reg.addEventListener(`updatefound`, () => {\n apiRunner(`onServiceWorkerUpdateFound`, { serviceWorker: reg })\n // The updatefound event implies that reg.installing is set; see\n // https://w3c.github.io/ServiceWorker/#service-worker-registration-updatefound-event\n const installingWorker = reg.installing\n console.log(`installingWorker`, installingWorker)\n installingWorker.addEventListener(`statechange`, () => {\n switch (installingWorker.state) {\n case `installed`:\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and the fresh content will\n // have been added to the cache.\n\n // We set a flag so Gatsby Link knows to refresh the page on next navigation attempt\n window.___swUpdated = true\n // We call the onServiceWorkerUpdateReady API so users can show update prompts.\n apiRunner(`onServiceWorkerUpdateReady`, { serviceWorker: reg })\n\n // If resources failed for the current page, reload.\n if (window.___failedResources) {\n console.log(`resources failed, SW updated - reloading`)\n window.location.reload()\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a \"Content is cached for offline use.\" message.\n console.log(`Content is now available offline!`)\n\n // Post to service worker that install is complete.\n // Delay to allow time for the event listener to be added --\n // otherwise fetch is called too soon and resources aren't cached.\n apiRunner(`onServiceWorkerInstalled`, { serviceWorker: reg })\n }\n break\n\n case `redundant`:\n console.error(`The installing service worker became redundant.`)\n apiRunner(`onServiceWorkerRedundant`, { serviceWorker: reg })\n break\n\n case `activated`:\n apiRunner(`onServiceWorkerActive`, { serviceWorker: reg })\n break\n }\n })\n })\n })\n .catch(function (e) {\n console.error(`Error during service worker registration:`, e)\n })\n}\n","import React from \"react\"\n\nconst SlicesResultsContext = React.createContext({})\nconst SlicesContext = React.createContext({})\nconst SlicesMapContext = React.createContext({})\nconst SlicesPropsContext = React.createContext({})\n\nexport {\n SlicesResultsContext,\n SlicesContext,\n SlicesMapContext,\n SlicesPropsContext,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { createServerOrClientContext } from \"./context-utils\"\n\nconst StaticQueryContext = createServerOrClientContext(`StaticQuery`, {})\n\nfunction StaticQueryDataRenderer({ staticQueryData, data, query, render }) {\n const finalData = data\n ? data.data\n : staticQueryData[query] && staticQueryData[query].data\n\n return (\n \n {finalData && render(finalData)}\n {!finalData &&
Loading (StaticQuery)
}\n
\n )\n}\n\nlet warnedAboutStaticQuery = false\n\n// TODO(v6): Remove completely\nconst StaticQuery = props => {\n const { data, query, render, children } = props\n\n if (process.env.NODE_ENV === `development` && !warnedAboutStaticQuery) {\n console.warn(\n `The component is deprecated and will be removed in Gatsby v6. Use useStaticQuery instead. Refer to the migration guide for more information: https://gatsby.dev/migrating-4-to-5/#staticquery--is-deprecated`\n )\n warnedAboutStaticQuery = true\n }\n\n return (\n \n {staticQueryData => (\n \n )}\n \n )\n}\n\nStaticQuery.propTypes = {\n data: PropTypes.object,\n query: PropTypes.string.isRequired,\n render: PropTypes.func,\n children: PropTypes.func,\n}\n\nconst useStaticQuery = query => {\n if (\n typeof React.useContext !== `function` &&\n process.env.NODE_ENV === `development`\n ) {\n // TODO(v5): Remove since we require React >= 18\n throw new Error(\n `You're likely using a version of React that doesn't support Hooks\\n` +\n `Please update React and ReactDOM to 16.8.0 or later to use the useStaticQuery hook.`\n )\n }\n\n const context = React.useContext(StaticQueryContext)\n\n // query is a stringified number like `3303882` when wrapped with graphql, If a user forgets\n // to wrap the query in a grqphql, then casting it to a Number results in `NaN` allowing us to\n // catch the misuse of the API and give proper direction\n if (isNaN(Number(query))) {\n throw new Error(`useStaticQuery was called with a string but expects to be called using \\`graphql\\`. Try this:\n\nimport { useStaticQuery, graphql } from 'gatsby';\n\nuseStaticQuery(graphql\\`${query}\\`);\n`)\n }\n\n if (context[query]?.data) {\n return context[query].data\n } else {\n throw new Error(\n `The result of this StaticQuery could not be fetched.\\n\\n` +\n `This is likely a bug in Gatsby and if refreshing the page does not fix it, ` +\n `please open an issue in https://github.com/gatsbyjs/gatsby/issues`\n )\n }\n}\n\nexport { StaticQuery, StaticQueryContext, useStaticQuery }\n","import React from \"react\"\n\n// Ensure serverContext is not created more than once as React will throw when creating it more than once\n// https://github.com/facebook/react/blob/dd2d6522754f52c70d02c51db25eb7cbd5d1c8eb/packages/react/src/ReactServerContext.js#L101\nconst createServerContext = (name, defaultValue = null) => {\n /* eslint-disable no-undef */\n if (!globalThis.__SERVER_CONTEXT) {\n globalThis.__SERVER_CONTEXT = {}\n }\n\n if (!globalThis.__SERVER_CONTEXT[name]) {\n globalThis.__SERVER_CONTEXT[name] = React.createServerContext(\n name,\n defaultValue\n )\n }\n\n return globalThis.__SERVER_CONTEXT[name]\n}\n\nfunction createServerOrClientContext(name, defaultValue) {\n if (React.createServerContext) {\n return createServerContext(name, defaultValue)\n }\n\n return React.createContext(defaultValue)\n}\n\nexport { createServerOrClientContext }\n","/**\n * Remove a prefix from a string. Return the input string if the given prefix\n * isn't found.\n */\n\nexport default function stripPrefix(str, prefix = ``) {\n if (!prefix) {\n return str\n }\n\n if (str === prefix) {\n return `/`\n }\n\n if (str.startsWith(`${prefix}/`)) {\n return str.slice(prefix.length)\n }\n\n return str\n}\n","\"use strict\";\n\nexports.onRouteUpdate = function (_ref, pluginOptions) {\n var location = _ref.location;\n if (pluginOptions === void 0) {\n pluginOptions = {};\n }\n if (process.env.NODE_ENV !== \"production\" || typeof gtag !== \"function\") {\n return null;\n }\n var pluginConfig = pluginOptions.pluginConfig || {};\n var pathIsExcluded = location && typeof window.excludeGtagPaths !== \"undefined\" && window.excludeGtagPaths.some(function (rx) {\n return rx.test(location.pathname);\n });\n if (pathIsExcluded) return null;\n\n // wrap inside a timeout to make sure react-helmet is done with its changes (https://github.com/gatsbyjs/gatsby/issues/11592)\n var sendPageView = function sendPageView() {\n var pagePath = location ? location.pathname + location.search + location.hash : undefined;\n window.gtag(\"event\", \"page_view\", {\n page_path: pagePath\n });\n };\n var _pluginConfig$delayOn = pluginConfig.delayOnRouteUpdate,\n delayOnRouteUpdate = _pluginConfig$delayOn === void 0 ? 0 : _pluginConfig$delayOn;\n if (\"requestAnimationFrame\" in window) {\n requestAnimationFrame(function () {\n requestAnimationFrame(function () {\n return setTimeout(sendPageView, delayOnRouteUpdate);\n });\n });\n } else {\n // Delay by 32ms to simulate 2 requestOnAnimationFrame calls\n setTimeout(sendPageView, 32 + delayOnRouteUpdate);\n }\n return null;\n};","const listOfMetricsSend = new Set();\nfunction debounce(fn, timeout) {\n let timer = null;\n return function (...args) {\n if (timer) {\n clearTimeout(timer);\n }\n timer = setTimeout(fn, timeout, ...args);\n };\n}\nfunction sendWebVitals(dataLayerName = `dataLayer`) {\n const win = window;\n function sendData(data) {\n if (listOfMetricsSend.has(data.name)) {\n return;\n }\n listOfMetricsSend.add(data.name);\n sendToGTM(data, win[dataLayerName]);\n }\n return import(`web-vitals/base`).then(({\n getLCP,\n getFID,\n getCLS\n }) => {\n const debouncedCLS = debounce(sendData, 3000);\n // we don't need to debounce FID - we send it when it happens\n const debouncedFID = sendData;\n // LCP can occur multiple times so we debounce it\n const debouncedLCP = debounce(sendData, 3000);\n\n // With the true flag, we measure all previous occurences too, in case we start listening to late.\n getCLS(debouncedCLS, true);\n getFID(debouncedFID, true);\n getLCP(debouncedLCP, true);\n });\n}\nfunction sendToGTM({\n name,\n value,\n id\n}, dataLayer) {\n dataLayer.push({\n event: `core-web-vitals`,\n webVitalsMeasurement: {\n name: name,\n // The `id` value will be unique to the current page load. When sending\n // multiple values from the same page (e.g. for CLS), Google Analytics can\n // compute a total by grouping on this ID (note: requires `eventLabel` to\n // be a dimension in your report).\n id,\n // Google Analytics metrics must be integers, so the value is rounded.\n // For CLS the value is first multiplied by 1000 for greater precision\n // (note: increase the multiplier for greater precision if needed).\n value: Math.round(name === `CLS` ? value * 1000 : value)\n }\n });\n}\nexport function onRouteUpdate(_, pluginOptions) {\n if (process.env.NODE_ENV === `production` || pluginOptions.includeInDevelopment) {\n // wrap inside a timeout to ensure the title has properly been changed\n setTimeout(() => {\n const data = pluginOptions.dataLayerName ? window[pluginOptions.dataLayerName] : window.dataLayer;\n const eventName = pluginOptions.routeChangeEventName ? pluginOptions.routeChangeEventName : `gatsby-route-change`;\n data.push({\n event: eventName\n });\n }, 50);\n }\n}\nexport function onInitialClientRender(_, pluginOptions) {\n // we only load the polyfill in production so we can't enable it in development\n if (process.env.NODE_ENV === `production` && pluginOptions.enableWebVitalsTracking) {\n sendWebVitals(pluginOptions.dataLayerName);\n }\n}","import camelCase from \"camelcase\"\nimport type { IGatsbyImageData } from \"./index\"\n\nconst DEFAULT_PIXEL_DENSITIES = [0.25, 0.5, 1, 2]\nexport const DEFAULT_BREAKPOINTS = [750, 1080, 1366, 1920]\nexport const EVERY_BREAKPOINT = [\n 320, 654, 768, 1024, 1366, 1600, 1920, 2048, 2560, 3440, 3840, 4096,\n]\nconst DEFAULT_FLUID_WIDTH = 800\nconst DEFAULT_FIXED_WIDTH = 800\nconst DEFAULT_ASPECT_RATIO = 4 / 3\n\nexport type Fit = \"cover\" | \"fill\" | \"inside\" | \"outside\" | \"contain\"\n\nexport type Layout = \"fixed\" | \"fullWidth\" | \"constrained\"\nexport type ImageFormat = \"jpg\" | \"png\" | \"webp\" | \"avif\" | \"auto\" | \"\"\n\n/**\n * The minimal required reporter, as we don't want to import it from gatsby-cli\n */\nexport interface IReporter {\n warn(message: string): void\n}\n\nexport interface ISharpGatsbyImageArgs {\n layout?: Layout\n formats?: Array\n placeholder?: \"tracedSVG\" | \"dominantColor\" | \"blurred\" | \"none\"\n tracedSVGOptions?: Record\n width?: number\n height?: number\n aspectRatio?: number\n sizes?: string\n quality?: number\n transformOptions?: {\n fit?: Fit\n cropFocus?: number | string\n duotone?: {\n highlight: string\n shadow: string\n opacity?: number\n }\n grayscale?: boolean\n rotate?: number\n trim?: number\n }\n jpgOptions?: Record\n pngOptions?: Record\n webpOptions?: Record\n avifOptions?: Record\n blurredOptions?: { width?: number; toFormat?: ImageFormat }\n breakpoints?: Array\n outputPixelDensities?: Array\n backgroundColor?: string\n}\n\nexport interface IImageSizeArgs {\n width?: number\n height?: number\n layout?: Layout\n filename: string\n outputPixelDensities?: Array\n breakpoints?: Array\n fit?: Fit\n reporter?: IReporter\n sourceMetadata: { width: number; height: number }\n}\n\nexport interface IImageSizes {\n sizes: Array\n presentationWidth: number\n presentationHeight: number\n aspectRatio: number\n unscaledWidth: number\n}\n\nexport interface IImage {\n src: string\n width: number\n height: number\n format: ImageFormat\n}\n\nexport interface IGatsbyImageHelperArgs {\n pluginName: string\n generateImageSource: (\n filename: string,\n width: number,\n height: number,\n format: ImageFormat,\n fit?: Fit,\n options?: Record\n ) => IImage\n layout?: Layout\n formats?: Array\n filename: string\n placeholderURL?: string\n width?: number\n height?: number\n sizes?: string\n reporter?: IReporter\n sourceMetadata?: { width: number; height: number; format: ImageFormat }\n fit?: Fit\n options?: Record\n breakpoints?: Array\n backgroundColor?: string\n aspectRatio?: number\n}\n\nconst warn = (message: string): void => console.warn(message)\n\nconst sortNumeric = (a: number, b: number): number => a - b\n\nexport const getSizes = (width: number, layout: Layout): string | undefined => {\n switch (layout) {\n // If screen is wider than the max size, image width is the max size,\n // otherwise it's the width of the screen\n case `constrained`:\n return `(min-width: ${width}px) ${width}px, 100vw`\n\n // Image is always the same width, whatever the size of the screen\n case `fixed`:\n return `${width}px`\n\n // Image is always the width of the screen\n case `fullWidth`:\n return `100vw`\n\n default:\n return undefined\n }\n}\n\nexport const getSrcSet = (images: Array): string =>\n images.map(image => `${image.src} ${image.width}w`).join(`,\\n`)\n\nexport function formatFromFilename(filename: string): ImageFormat | undefined {\n const dot = filename.lastIndexOf(`.`)\n if (dot !== -1) {\n const ext = filename.slice(dot + 1)\n if (ext === `jpeg`) {\n return `jpg`\n }\n if (ext.length === 3 || ext.length === 4) {\n return ext as ImageFormat\n }\n }\n return undefined\n}\n\nexport function setDefaultDimensions(\n args: IGatsbyImageHelperArgs\n): IGatsbyImageHelperArgs {\n let {\n layout = `constrained`,\n width,\n height,\n sourceMetadata,\n breakpoints,\n aspectRatio,\n formats = [`auto`, `webp`],\n } = args\n formats = formats.map(format => format.toLowerCase() as ImageFormat)\n layout = camelCase(layout) as Layout\n\n if (width && height) {\n return { ...args, formats, layout, aspectRatio: width / height }\n }\n if (sourceMetadata.width && sourceMetadata.height && !aspectRatio) {\n aspectRatio = sourceMetadata.width / sourceMetadata.height\n }\n\n if (layout === `fullWidth`) {\n width = width || sourceMetadata.width || breakpoints[breakpoints.length - 1]\n height = height || Math.round(width / (aspectRatio || DEFAULT_ASPECT_RATIO))\n } else {\n if (!width) {\n if (height && aspectRatio) {\n width = height * aspectRatio\n } else if (sourceMetadata.width) {\n width = sourceMetadata.width\n } else if (height) {\n width = Math.round(height / DEFAULT_ASPECT_RATIO)\n } else {\n width = DEFAULT_FIXED_WIDTH\n }\n }\n\n if (aspectRatio && !height) {\n height = Math.round(width / aspectRatio)\n } else if (!aspectRatio) {\n aspectRatio = width / height\n }\n }\n return { ...args, width, height, aspectRatio, layout, formats }\n}\n\n/**\n * Use this for getting an image for the blurred placeholder. This ensures the\n * aspect ratio and crop match the main image\n */\nexport function getLowResolutionImageURL(\n args: IGatsbyImageHelperArgs,\n width = 20\n): string {\n args = setDefaultDimensions(args)\n const { generateImageSource, filename, aspectRatio } = args\n return generateImageSource(\n filename,\n width,\n Math.round(width / aspectRatio),\n args.sourceMetadata.format || `jpg`,\n args.fit,\n args.options\n )?.src\n}\n\nexport function generateImageData(\n args: IGatsbyImageHelperArgs\n): IGatsbyImageData {\n args = setDefaultDimensions(args)\n\n let {\n pluginName,\n sourceMetadata,\n generateImageSource,\n layout,\n fit,\n options,\n width,\n height,\n filename,\n reporter = { warn },\n backgroundColor,\n placeholderURL,\n } = args\n\n if (!pluginName) {\n reporter.warn(\n `[gatsby-plugin-image] \"generateImageData\" was not passed a plugin name`\n )\n }\n\n if (typeof generateImageSource !== `function`) {\n throw new Error(`generateImageSource must be a function`)\n }\n\n if (!sourceMetadata || (!sourceMetadata.width && !sourceMetadata.height)) {\n // No metadata means we let the CDN handle max size etc, aspect ratio etc\n sourceMetadata = {\n width,\n height,\n format: sourceMetadata?.format || formatFromFilename(filename) || `auto`,\n }\n } else if (!sourceMetadata.format) {\n sourceMetadata.format = formatFromFilename(filename)\n }\n\n const formats = new Set(args.formats)\n\n if (formats.size === 0 || formats.has(`auto`) || formats.has(``)) {\n formats.delete(`auto`)\n formats.delete(``)\n formats.add(sourceMetadata.format)\n }\n\n if (formats.has(`jpg`) && formats.has(`png`)) {\n reporter.warn(\n `[${pluginName}] Specifying both 'jpg' and 'png' formats is not supported. Using 'auto' instead`\n )\n if (sourceMetadata.format === `jpg`) {\n formats.delete(`png`)\n } else {\n formats.delete(`jpg`)\n }\n }\n\n const imageSizes = calculateImageSizes({ ...args, sourceMetadata })\n\n const result: IGatsbyImageData[\"images\"] = {\n sources: [],\n }\n\n let sizes = args.sizes\n if (!sizes) {\n sizes = getSizes(imageSizes.presentationWidth, layout)\n }\n\n formats.forEach(format => {\n const images = imageSizes.sizes\n .map(size => {\n const imageSrc = generateImageSource(\n filename,\n size,\n Math.round(size / imageSizes.aspectRatio),\n format,\n fit,\n options\n )\n if (\n !imageSrc?.width ||\n !imageSrc.height ||\n !imageSrc.src ||\n !imageSrc.format\n ) {\n reporter.warn(\n `[${pluginName}] The resolver for image ${filename} returned an invalid value.`\n )\n return undefined\n }\n return imageSrc\n })\n .filter(Boolean)\n\n if (format === `jpg` || format === `png` || format === `auto`) {\n const unscaled =\n images.find(img => img.width === imageSizes.unscaledWidth) || images[0]\n\n if (unscaled) {\n result.fallback = {\n src: unscaled.src,\n srcSet: getSrcSet(images),\n sizes,\n }\n }\n } else {\n result.sources?.push({\n srcSet: getSrcSet(images),\n sizes,\n type: `image/${format}`,\n })\n }\n })\n\n const imageProps: Partial = {\n images: result,\n layout,\n backgroundColor,\n }\n\n if (placeholderURL) {\n imageProps.placeholder = { fallback: placeholderURL }\n }\n\n switch (layout) {\n case `fixed`:\n imageProps.width = imageSizes.presentationWidth\n imageProps.height = imageSizes.presentationHeight\n break\n\n case `fullWidth`:\n imageProps.width = 1\n imageProps.height = 1 / imageSizes.aspectRatio\n break\n\n case `constrained`:\n imageProps.width = args.width || imageSizes.presentationWidth || 1\n imageProps.height = (imageProps.width || 1) / imageSizes.aspectRatio\n }\n\n return imageProps as IGatsbyImageData\n}\n\nconst dedupeAndSortDensities = (values: Array): Array =>\n Array.from(new Set([1, ...values])).sort(sortNumeric)\n\nexport function calculateImageSizes(args: IImageSizeArgs): IImageSizes {\n const {\n width,\n height,\n filename,\n layout = `constrained`,\n sourceMetadata: imgDimensions,\n reporter = { warn },\n breakpoints = DEFAULT_BREAKPOINTS,\n } = args\n\n // check that all dimensions provided are positive\n const userDimensions = { width, height }\n const erroneousUserDimensions = Object.entries(userDimensions).filter(\n ([_, size]) => typeof size === `number` && size < 1\n )\n if (erroneousUserDimensions.length) {\n throw new Error(\n `Specified dimensions for images must be positive numbers (> 0). Problem dimensions you have are ${erroneousUserDimensions\n .map(dim => dim.join(`: `))\n .join(`, `)}`\n )\n }\n\n if (layout === `fixed`) {\n return fixedImageSizes(args)\n } else if (layout === `constrained`) {\n return responsiveImageSizes(args)\n } else if (layout === `fullWidth`) {\n return responsiveImageSizes({ breakpoints, ...args })\n } else {\n reporter.warn(\n `No valid layout was provided for the image at ${filename}. Valid image layouts are fixed, fullWidth, and constrained. Found ${layout}`\n )\n return {\n sizes: [imgDimensions.width],\n presentationWidth: imgDimensions.width,\n presentationHeight: imgDimensions.height,\n aspectRatio: imgDimensions.width / imgDimensions.height,\n unscaledWidth: imgDimensions.width,\n }\n }\n}\nexport function fixedImageSizes({\n filename,\n sourceMetadata: imgDimensions,\n width,\n height,\n fit = `cover`,\n outputPixelDensities = DEFAULT_PIXEL_DENSITIES,\n reporter = { warn },\n}: IImageSizeArgs): IImageSizes {\n let aspectRatio = imgDimensions.width / imgDimensions.height\n // Sort, dedupe and ensure there's a 1\n const densities = dedupeAndSortDensities(outputPixelDensities)\n\n // If both are provided then we need to check the fit\n if (width && height) {\n const calculated = getDimensionsAndAspectRatio(imgDimensions, {\n width,\n height,\n fit,\n })\n width = calculated.width\n height = calculated.height\n aspectRatio = calculated.aspectRatio\n }\n\n if (!width) {\n if (!height) {\n width = DEFAULT_FIXED_WIDTH\n } else {\n width = Math.round(height * aspectRatio)\n }\n } else if (!height) {\n height = Math.round(width / aspectRatio)\n }\n\n const originalWidth = width // will use this for presentationWidth, don't want to lose it\n const isTopSizeOverriden =\n imgDimensions.width < width || imgDimensions.height < (height as number)\n\n // If the image is smaller than requested, warn the user that it's being processed as such\n // print out this message with the necessary information before we overwrite it for sizing\n if (isTopSizeOverriden) {\n const fixedDimension = imgDimensions.width < width ? `width` : `height`\n reporter.warn(`\nThe requested ${fixedDimension} \"${\n fixedDimension === `width` ? width : height\n }px\" for the image ${filename} was larger than the actual image ${fixedDimension} of ${\n imgDimensions[fixedDimension]\n }px. If possible, replace the current image with a larger one.`)\n\n if (fixedDimension === `width`) {\n width = imgDimensions.width\n height = Math.round(width / aspectRatio)\n } else {\n height = imgDimensions.height\n width = height * aspectRatio\n }\n }\n\n const sizes = densities\n .filter(size => size >= 1) // remove smaller densities because fixed images don't need them\n .map(density => Math.round(density * (width as number)))\n .filter(size => size <= imgDimensions.width)\n\n return {\n sizes,\n aspectRatio,\n presentationWidth: originalWidth,\n presentationHeight: Math.round(originalWidth / aspectRatio),\n unscaledWidth: width,\n }\n}\n\nexport function responsiveImageSizes({\n sourceMetadata: imgDimensions,\n width,\n height,\n fit = `cover`,\n outputPixelDensities = DEFAULT_PIXEL_DENSITIES,\n breakpoints,\n layout,\n}: IImageSizeArgs): IImageSizes {\n let sizes\n let aspectRatio = imgDimensions.width / imgDimensions.height\n // Sort, dedupe and ensure there's a 1\n const densities = dedupeAndSortDensities(outputPixelDensities)\n\n // If both are provided then we need to check the fit\n if (width && height) {\n const calculated = getDimensionsAndAspectRatio(imgDimensions, {\n width,\n height,\n fit,\n })\n width = calculated.width\n height = calculated.height\n aspectRatio = calculated.aspectRatio\n }\n\n // Case 1: width of height were passed in, make sure it isn't larger than the actual image\n width = width && Math.min(width, imgDimensions.width)\n height = height && Math.min(height, imgDimensions.height)\n\n // Case 2: neither width or height were passed in, use default size\n if (!width && !height) {\n width = Math.min(DEFAULT_FLUID_WIDTH, imgDimensions.width)\n height = width / aspectRatio\n }\n\n // if it still hasn't been found, calculate width from the derived height.\n // TS isn't smart enough to realise the type for height has been narrowed here\n if (!width) {\n width = (height as number) * aspectRatio\n }\n\n const originalWidth = width\n const isTopSizeOverriden =\n imgDimensions.width < width || imgDimensions.height < (height as number)\n if (isTopSizeOverriden) {\n width = imgDimensions.width\n height = imgDimensions.height\n }\n\n width = Math.round(width)\n\n if (breakpoints?.length > 0) {\n sizes = breakpoints.filter(size => size <= imgDimensions.width)\n\n // If a larger breakpoint has been filtered-out, add the actual image width instead\n if (\n sizes.length < breakpoints.length &&\n !sizes.includes(imgDimensions.width)\n ) {\n sizes.push(imgDimensions.width)\n }\n } else {\n sizes = densities.map(density => Math.round(density * (width as number)))\n sizes = sizes.filter(size => size <= imgDimensions.width)\n }\n\n // ensure that the size passed in is included in the final output\n if (layout === `constrained` && !sizes.includes(width)) {\n sizes.push(width)\n }\n sizes = sizes.sort(sortNumeric)\n return {\n sizes,\n aspectRatio,\n presentationWidth: originalWidth,\n presentationHeight: Math.round(originalWidth / aspectRatio),\n unscaledWidth: width,\n }\n}\n\nexport function getDimensionsAndAspectRatio(\n dimensions,\n options\n): { width: number; height: number; aspectRatio: number } {\n // Calculate the eventual width/height of the image.\n const imageAspectRatio = dimensions.width / dimensions.height\n\n let width = options.width\n let height = options.height\n\n switch (options.fit) {\n case `fill`: {\n width = options.width ? options.width : dimensions.width\n height = options.height ? options.height : dimensions.height\n break\n }\n case `inside`: {\n const widthOption = options.width\n ? options.width\n : Number.MAX_SAFE_INTEGER\n const heightOption = options.height\n ? options.height\n : Number.MAX_SAFE_INTEGER\n\n width = Math.min(widthOption, Math.round(heightOption * imageAspectRatio))\n height = Math.min(\n heightOption,\n Math.round(widthOption / imageAspectRatio)\n )\n break\n }\n case `outside`: {\n const widthOption = options.width ? options.width : 0\n const heightOption = options.height ? options.height : 0\n\n width = Math.max(widthOption, Math.round(heightOption * imageAspectRatio))\n height = Math.max(\n heightOption,\n Math.round(widthOption / imageAspectRatio)\n )\n break\n }\n\n default: {\n if (options.width && !options.height) {\n width = options.width\n height = Math.round(options.width / imageAspectRatio)\n }\n\n if (options.height && !options.width) {\n width = Math.round(options.height * imageAspectRatio)\n height = options.height\n }\n }\n }\n\n return {\n width,\n height,\n aspectRatio: width / height,\n }\n}\n","/* global GATSBY___IMAGE */\nimport { generateImageData, EVERY_BREAKPOINT } from \"../image-utils\"\nimport type { CSSProperties, HTMLAttributes, ImgHTMLAttributes } from \"react\"\nimport type { Node } from \"gatsby\"\nimport type { PlaceholderProps } from \"./placeholder\"\nimport type { MainImageProps } from \"./main-image\"\nimport type { IGatsbyImageData } from \"./gatsby-image.browser\"\nimport type {\n IGatsbyImageHelperArgs,\n Layout,\n IImage,\n ImageFormat,\n} from \"../image-utils\"\n\n// Native lazy-loading support: https://addyosmani.com/blog/lazy-loading/\nexport const hasNativeLazyLoadSupport = (): boolean =>\n typeof HTMLImageElement !== `undefined` &&\n `loading` in HTMLImageElement.prototype\n\nexport function gatsbyImageIsInstalled(): boolean {\n return typeof GATSBY___IMAGE !== `undefined` && GATSBY___IMAGE\n}\n\nexport type IGatsbyImageDataParent = T & {\n gatsbyImageData: IGatsbyImageData\n}\nexport type IGatsbyImageParent = T & {\n gatsbyImage: IGatsbyImageData\n}\nexport type FileNode = Partial & {\n childImageSharp?: IGatsbyImageDataParent>\n}\n\nconst isGatsbyImageData = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n node: IGatsbyImageData | any\n): node is IGatsbyImageData =>\n // 🦆 check for a deep prop to be sure this is a valid gatsbyImageData object\n Boolean(node?.images?.fallback?.src)\n\nconst isGatsbyImageDataParent = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n node: IGatsbyImageDataParent | any\n): node is IGatsbyImageDataParent => Boolean(node?.gatsbyImageData)\n\nconst isGatsbyImageParent = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n node: IGatsbyImageParent | any\n): node is IGatsbyImageParent => Boolean(node?.gatsbyImage)\n\nexport type ImageDataLike =\n | FileNode\n | IGatsbyImageDataParent\n | IGatsbyImageParent\n | IGatsbyImageData\n\nexport const getImage = (\n node: ImageDataLike | null\n): IGatsbyImageData | undefined => {\n // This checks both for gatsbyImageData and gatsbyImage\n if (isGatsbyImageData(node)) {\n return node\n }\n // gatsbyImageData GraphQL field\n if (isGatsbyImageDataParent(node)) {\n return node.gatsbyImageData\n }\n // gatsbyImage GraphQL field for Gatsby's Image CDN service\n if (isGatsbyImageParent(node)) {\n return node.gatsbyImage\n }\n return node?.childImageSharp?.gatsbyImageData\n}\n\nexport const getSrc = (node: ImageDataLike): string | undefined =>\n getImage(node)?.images?.fallback?.src\n\nexport const getSrcSet = (node: ImageDataLike): string | undefined =>\n getImage(node)?.images?.fallback?.srcSet\n\nexport function getWrapperProps(\n width: number,\n height: number,\n layout: Layout\n): Pick, \"className\" | \"style\"> & {\n \"data-gatsby-image-wrapper\": string\n} {\n const wrapperStyle: CSSProperties = {}\n\n let className = `gatsby-image-wrapper`\n\n // If the plugin isn't installed we need to apply the styles inline\n if (!gatsbyImageIsInstalled()) {\n wrapperStyle.position = `relative`\n wrapperStyle.overflow = `hidden`\n }\n\n if (layout === `fixed`) {\n wrapperStyle.width = width\n wrapperStyle.height = height\n } else if (layout === `constrained`) {\n if (!gatsbyImageIsInstalled()) {\n wrapperStyle.display = `inline-block`\n wrapperStyle.verticalAlign = `top`\n }\n className = `gatsby-image-wrapper gatsby-image-wrapper-constrained`\n }\n\n return {\n className,\n \"data-gatsby-image-wrapper\": ``,\n style: wrapperStyle,\n }\n}\n\nexport interface IUrlBuilderArgs {\n width: number\n height: number\n baseUrl: string\n format: ImageFormat\n options: OptionsType\n}\nexport interface IGetImageDataArgs> {\n baseUrl: string\n /**\n * For constrained and fixed images, the size of the image element\n */\n width?: number\n height?: number\n /**\n * If available, pass the source image width and height\n */\n sourceWidth?: number\n sourceHeight?: number\n /**\n * If only one dimension is passed, then this will be used to calculate the other.\n */\n aspectRatio?: number\n layout?: Layout\n /**\n * Returns a URL based on the passed arguments. Should be a pure function\n */\n urlBuilder: (args: IUrlBuilderArgs) => string\n\n /**\n * Should be a data URI\n */\n placeholderURL?: string\n backgroundColor?: string\n /**\n * Used in error messages etc\n */\n pluginName?: string\n\n /**\n * If you do not support auto-format, pass an array of image types here\n */\n formats?: Array\n\n breakpoints?: Array\n\n /**\n * Passed to the urlBuilder function\n */\n options?: OptionsType\n}\n\n/**\n * Use this hook to generate gatsby-plugin-image data in the browser.\n */\nexport function getImageData({\n baseUrl,\n urlBuilder,\n sourceWidth,\n sourceHeight,\n pluginName = `getImageData`,\n formats = [`auto`],\n breakpoints,\n options,\n ...props\n}: IGetImageDataArgs): IGatsbyImageData {\n if (\n !breakpoints?.length &&\n (props.layout === `fullWidth` || (props.layout as string) === `FULL_WIDTH`)\n ) {\n breakpoints = EVERY_BREAKPOINT\n }\n const generateImageSource = (\n baseUrl: string,\n width: number,\n height?: number,\n format?: ImageFormat\n ): IImage => {\n return {\n width,\n height,\n format,\n src: urlBuilder({ baseUrl, width, height, options, format }),\n }\n }\n\n const sourceMetadata: IGatsbyImageHelperArgs[\"sourceMetadata\"] = {\n width: sourceWidth,\n height: sourceHeight,\n format: `auto`,\n }\n\n const args: IGatsbyImageHelperArgs = {\n ...props,\n pluginName,\n generateImageSource,\n filename: baseUrl,\n formats,\n breakpoints,\n sourceMetadata,\n }\n return generateImageData(args)\n}\n\nexport function getMainProps(\n isLoading: boolean,\n isLoaded: boolean,\n images: IGatsbyImageData[\"images\"],\n loading?: \"eager\" | \"lazy\",\n style: CSSProperties = {}\n): Partial {\n // fallback when it's not configured in gatsby-config.\n if (!gatsbyImageIsInstalled()) {\n style = {\n height: `100%`,\n left: 0,\n position: `absolute`,\n top: 0,\n transform: `translateZ(0)`,\n transition: `opacity 250ms linear`,\n width: `100%`,\n willChange: `opacity`,\n ...style,\n }\n }\n\n const result = {\n ...images,\n loading,\n shouldLoad: isLoading,\n \"data-main-image\": ``,\n style: {\n ...style,\n opacity: isLoaded ? 1 : 0,\n },\n }\n\n return result\n}\n\nexport type PlaceholderImageAttrs = ImgHTMLAttributes &\n Pick & {\n \"data-placeholder-image\"?: string\n }\n\nexport function getPlaceholderProps(\n placeholder: PlaceholderImageAttrs | undefined,\n isLoaded: boolean,\n layout: Layout,\n width?: number,\n height?: number,\n backgroundColor?: string,\n objectFit?: CSSProperties[\"objectFit\"],\n objectPosition?: CSSProperties[\"objectPosition\"]\n): PlaceholderImageAttrs {\n const wrapperStyle: CSSProperties = {}\n\n if (backgroundColor) {\n wrapperStyle.backgroundColor = backgroundColor\n\n if (layout === `fixed`) {\n wrapperStyle.width = width\n wrapperStyle.height = height\n wrapperStyle.backgroundColor = backgroundColor\n wrapperStyle.position = `relative`\n } else if (layout === `constrained`) {\n wrapperStyle.position = `absolute`\n wrapperStyle.top = 0\n wrapperStyle.left = 0\n wrapperStyle.bottom = 0\n wrapperStyle.right = 0\n } else if (layout === `fullWidth`) {\n wrapperStyle.position = `absolute`\n wrapperStyle.top = 0\n wrapperStyle.left = 0\n wrapperStyle.bottom = 0\n wrapperStyle.right = 0\n }\n }\n\n if (objectFit) {\n wrapperStyle.objectFit = objectFit\n }\n\n if (objectPosition) {\n wrapperStyle.objectPosition = objectPosition\n }\n const result: PlaceholderImageAttrs = {\n ...placeholder,\n \"aria-hidden\": true,\n \"data-placeholder-image\": ``,\n style: {\n opacity: isLoaded ? 0 : 1,\n transition: `opacity 500ms linear`,\n ...wrapperStyle,\n },\n }\n\n // fallback when it's not configured in gatsby-config.\n if (!gatsbyImageIsInstalled()) {\n result.style = {\n height: `100%`,\n left: 0,\n position: `absolute`,\n top: 0,\n width: `100%`,\n }\n }\n\n return result\n}\n\nexport interface IArtDirectedImage {\n media: string\n image: IGatsbyImageData\n}\n\n/**\n * Generate a Gatsby image data object with multiple, art-directed images that display at different\n * resolutions.\n *\n * @param defaultImage The image displayed when no media query matches.\n * It is also used for all other settings applied to the image, such as width, height and layout.\n * You should pass a className to the component with media queries to adjust the size of the container,\n * as this cannot be adjusted automatically.\n * @param artDirected Array of objects which each contains a `media` string which is a media query\n * such as `(min-width: 320px)`, and the image object to use when that query matches.\n */\nexport function withArtDirection(\n defaultImage: IGatsbyImageData,\n artDirected: Array\n): IGatsbyImageData {\n const { images, placeholder, ...props } = defaultImage\n const output: IGatsbyImageData = {\n ...props,\n images: {\n ...images,\n sources: [],\n },\n placeholder: placeholder && {\n ...placeholder,\n sources: [],\n },\n }\n\n artDirected.forEach(({ media, image }) => {\n if (!media) {\n if (process.env.NODE_ENV === `development`) {\n console.warn(\n \"[gatsby-plugin-image] All art-directed images passed to must have a value set for `media`. Skipping.\"\n )\n }\n return\n }\n\n if (\n image.layout !== defaultImage.layout &&\n process.env.NODE_ENV === `development`\n ) {\n console.warn(\n `[gatsby-plugin-image] Mismatched image layout: expected \"${defaultImage.layout}\" but received \"${image.layout}\". All art-directed images use the same layout as the default image`\n )\n }\n\n output.images.sources.push(\n ...image.images.sources.map(source => {\n return { ...source, media }\n }),\n {\n media,\n srcSet: image.images.fallback.srcSet,\n }\n )\n\n if (!output.placeholder) {\n return\n }\n\n output.placeholder.sources.push({\n media,\n srcSet: image.placeholder.fallback,\n })\n })\n output.images.sources.push(...images.sources)\n if (placeholder?.sources) {\n output.placeholder?.sources.push(...placeholder.sources)\n }\n return output\n}\n","import React, { Fragment, FunctionComponent, PropsWithChildren } from \"react\"\nimport terserMacro from \"../../macros/terser.macro\"\nimport { Layout } from \"../image-utils\"\n\nexport interface ILayoutWrapperProps {\n layout: Layout\n width: number\n height: number\n}\n\nconst NativeScriptLoading: FunctionComponent = () => (\n \n)\n\nexport function getSizer(\n layout: Layout,\n width: number,\n height: number\n): string {\n let sizer = ``\n if (layout === `fullWidth`) {\n sizer = `
`\n }\n\n if (layout === `constrained`) {\n sizer = `
\"\"
`\n }\n\n return sizer\n}\n\nconst Sizer: FunctionComponent = function Sizer({\n layout,\n width,\n height,\n}) {\n if (layout === `fullWidth`) {\n return (\n
\n )\n }\n\n if (layout === `constrained`) {\n return (\n
\n \n
\n )\n }\n\n return null\n}\n\nexport const LayoutWrapper: FunctionComponent<\n PropsWithChildren\n> = function LayoutWrapper({ children, ...props }) {\n return (\n \n \n {children}\n\n {SERVER ? : null}\n \n )\n}\n","import React, { FunctionComponent, ImgHTMLAttributes } from \"react\"\nimport * as PropTypes from \"prop-types\"\n\nexport interface IResponsiveImageProps {\n sizes?: string\n srcSet: string\n}\n\nexport type SourceProps = IResponsiveImageProps &\n (\n | {\n media: string\n type?: string\n }\n | {\n media?: string\n type: string\n }\n )\n\ntype FallbackProps = { src: string } & Partial\n\ntype ImageProps = ImgHTMLAttributes & {\n src: string\n alt: string\n shouldLoad: boolean\n}\n\nexport type PictureProps = ImgHTMLAttributes & {\n fallback?: FallbackProps\n sources?: Array\n alt: string\n shouldLoad?: boolean\n}\n\nconst Image: FunctionComponent = function Image({\n src,\n srcSet,\n loading,\n alt = ``,\n shouldLoad,\n ...props\n}) {\n return (\n \n )\n}\n\nexport const Picture: React.FC = function Picture({\n fallback,\n sources = [],\n shouldLoad = true,\n ...props\n}) {\n const sizes = props.sizes || fallback?.sizes\n const fallbackImage = (\n \n )\n\n if (!sources.length) {\n return fallbackImage\n }\n\n return (\n \n {sources.map(({ media, srcSet, type }) => (\n \n ))}\n {fallbackImage}\n \n )\n}\n\nImage.propTypes = {\n src: PropTypes.string.isRequired,\n alt: PropTypes.string.isRequired,\n sizes: PropTypes.string,\n srcSet: PropTypes.string,\n shouldLoad: PropTypes.bool,\n}\n\nPicture.displayName = `Picture`\nPicture.propTypes = {\n alt: PropTypes.string.isRequired,\n shouldLoad: PropTypes.bool,\n fallback: PropTypes.exact({\n src: PropTypes.string.isRequired,\n srcSet: PropTypes.string,\n sizes: PropTypes.string,\n }),\n sources: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.exact({\n media: PropTypes.string.isRequired,\n type: PropTypes.string,\n sizes: PropTypes.string,\n srcSet: PropTypes.string.isRequired,\n }),\n PropTypes.exact({\n media: PropTypes.string,\n type: PropTypes.string.isRequired,\n sizes: PropTypes.string,\n srcSet: PropTypes.string.isRequired,\n }),\n ])\n ),\n}\n","import React, { FunctionComponent, ImgHTMLAttributes } from \"react\"\nimport * as PropTypes from \"prop-types\"\nimport { Picture, SourceProps } from \"./picture\"\n\nexport type PlaceholderProps = ImgHTMLAttributes & {\n fallback?: string\n sources?: Array\n}\n\nexport const Placeholder: FunctionComponent =\n function Placeholder({ fallback, ...props }) {\n if (fallback) {\n return (\n \n )\n } else {\n return
\n }\n }\n\nPlaceholder.displayName = `Placeholder`\nPlaceholder.propTypes = {\n fallback: PropTypes.string,\n sources: Picture.propTypes?.sources,\n alt: function (props, propName, componentName): Error | null {\n if (!props[propName]) {\n return null\n }\n\n return new Error(\n `Invalid prop \\`${propName}\\` supplied to \\`${componentName}\\`. Validation failed.`\n )\n },\n}\n","import React from \"react\"\nimport { Picture, PictureProps } from \"./picture\"\n\nexport type MainImageProps = PictureProps\n\nexport const MainImage: React.FC = function MainImage(props) {\n return (\n <>\n \n \n \n )\n}\n\nMainImage.displayName = `MainImage`\nMainImage.propTypes = Picture.propTypes\n","import React from \"react\"\nimport { getWrapperProps, getMainProps, getPlaceholderProps } from \"./hooks\"\nimport { Placeholder } from \"./placeholder\"\nimport { MainImage, MainImageProps } from \"./main-image\"\nimport { LayoutWrapper } from \"./layout-wrapper\"\nimport PropTypes from \"prop-types\"\nimport type { FunctionComponent, WeakValidationMap } from \"react\"\nimport type { GatsbyImageProps, IGatsbyImageData } from \"./gatsby-image.browser\"\n\nconst removeNewLines = (str: string): string => str.replace(/\\n/g, ``)\n\nexport const GatsbyImage: FunctionComponent =\n function GatsbyImage({\n as = `div`,\n className,\n class: preactClass,\n style,\n image,\n loading = `lazy`,\n imgClassName,\n imgStyle,\n backgroundColor,\n objectFit,\n objectPosition,\n ...props\n }) {\n if (!image) {\n console.warn(`[gatsby-plugin-image] Missing image prop`)\n return null\n }\n\n if (preactClass) {\n className = preactClass\n }\n\n imgStyle = {\n objectFit,\n objectPosition,\n backgroundColor,\n ...imgStyle,\n }\n\n const {\n width,\n height,\n layout,\n images,\n placeholder,\n backgroundColor: placeholderBackgroundColor,\n } = image\n\n const {\n style: wStyle,\n className: wClass,\n ...wrapperProps\n } = getWrapperProps(width, height, layout)\n\n const cleanedImages: IGatsbyImageData[\"images\"] = {\n fallback: undefined,\n sources: [],\n }\n if (images.fallback) {\n cleanedImages.fallback = {\n ...images.fallback,\n srcSet: images.fallback.srcSet\n ? removeNewLines(images.fallback.srcSet)\n : undefined,\n }\n }\n\n if (images.sources) {\n cleanedImages.sources = images.sources.map(source => {\n return {\n ...source,\n srcSet: removeNewLines(source.srcSet),\n }\n })\n }\n\n return React.createElement(\n as,\n {\n ...wrapperProps,\n style: {\n ...wStyle,\n ...style,\n backgroundColor,\n },\n className: `${wClass}${className ? ` ${className}` : ``}`,\n },\n \n \n\n )}\n // When eager is set we want to start the isLoading state on true (we want to load the img without react)\n {...getMainProps(\n loading === `eager`,\n false,\n cleanedImages,\n loading,\n imgStyle\n )}\n />\n \n )\n }\n\nexport const altValidator: PropTypes.Validator = (\n props: GatsbyImageProps,\n propName,\n componentName,\n ...rest\n): Error | undefined => {\n if (!props.alt && props.alt !== ``) {\n return new Error(\n `The \"alt\" prop is required in ${componentName}. If the image is purely presentational then pass an empty string: e.g. alt=\"\". Learn more: https://a11y-style-guide.com/style-guide/section-media.html`\n )\n }\n\n return PropTypes.string(props, propName, componentName, ...rest)\n}\n\nexport const propTypes = {\n image: PropTypes.object.isRequired,\n alt: altValidator,\n} as WeakValidationMap\n","import {\n createElement,\n memo,\n useMemo,\n useEffect,\n useLayoutEffect,\n useRef,\n} from \"react\"\nimport {\n getWrapperProps,\n gatsbyImageIsInstalled,\n hasNativeLazyLoadSupport,\n} from \"./hooks\"\nimport { getSizer } from \"./layout-wrapper\"\nimport { propTypes } from \"./gatsby-image.server\"\nimport type {\n FC,\n ElementType,\n FunctionComponent,\n ImgHTMLAttributes,\n CSSProperties,\n ReactEventHandler,\n} from \"react\"\nimport type { renderImageToString } from \"./lazy-hydrate\"\nimport type { PlaceholderProps } from \"./placeholder\"\nimport type { MainImageProps } from \"./main-image\"\nimport type { Layout } from \"../image-utils\"\n\nconst imageCache = new Set()\nlet renderImageToStringPromise\nlet renderImage: typeof renderImageToString | undefined\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport interface GatsbyImageProps\n extends Omit<\n ImgHTMLAttributes,\n \"placeholder\" | \"onLoad\" | \"src\" | \"srcSet\" | \"width\" | \"height\"\n > {\n alt: string\n as?: ElementType\n className?: string\n class?: string\n imgClassName?: string\n image: IGatsbyImageData\n imgStyle?: CSSProperties\n backgroundColor?: string\n objectFit?: CSSProperties[\"objectFit\"]\n objectPosition?: CSSProperties[\"objectPosition\"]\n onLoad?: (props: { wasCached: boolean }) => void\n onError?: ReactEventHandler\n onStartLoad?: (props: { wasCached: boolean }) => void\n}\n\nexport interface IGatsbyImageData {\n layout: Layout\n width: number\n height: number\n backgroundColor?: string\n images: Pick\n placeholder?: Pick\n}\n\nconst GatsbyImageHydrator: FC = function GatsbyImageHydrator({\n as = `div`,\n image,\n style,\n backgroundColor,\n className,\n class: preactClass,\n onStartLoad,\n onLoad,\n onError,\n ...props\n}) {\n const { width, height, layout } = image\n const {\n style: wStyle,\n className: wClass,\n ...wrapperProps\n } = getWrapperProps(width, height, layout)\n const root = useRef()\n const cacheKey = useMemo(() => JSON.stringify(image.images), [image.images])\n\n // Preact uses class instead of className so we need to check for both\n if (preactClass) {\n className = preactClass\n }\n\n const sizer = getSizer(layout, width, height)\n\n useEffect(() => {\n if (!renderImageToStringPromise) {\n renderImageToStringPromise = import(`./lazy-hydrate`).then(\n ({ renderImageToString, swapPlaceholderImage }) => {\n renderImage = renderImageToString\n\n return {\n renderImageToString,\n swapPlaceholderImage,\n }\n }\n )\n }\n\n // The plugin image component is a bit special where if it's server-side rendered, we add extra script tags to support lazy-loading without\n // In this case we stop hydration but fire the correct events.\n const ssrImage = root.current.querySelector(\n `[data-gatsby-image-ssr]`\n ) as HTMLImageElement\n if (ssrImage && hasNativeLazyLoadSupport()) {\n if (ssrImage.complete) {\n // Trigger onStartload and onLoad events\n onStartLoad?.({\n wasCached: true,\n })\n onLoad?.({\n wasCached: true,\n })\n\n // remove ssr key for state updates but add delay to not fight with native code snippt of gatsby-ssr\n setTimeout(() => {\n ssrImage.removeAttribute(`data-gatsby-image-ssr`)\n }, 0)\n } else {\n onStartLoad?.({\n wasCached: true,\n })\n\n ssrImage.addEventListener(`load`, function onLoadListener() {\n ssrImage.removeEventListener(`load`, onLoadListener)\n\n onLoad?.({\n wasCached: true,\n })\n // remove ssr key for state updates but add delay to not fight with native code snippt of gatsby-ssr\n setTimeout(() => {\n ssrImage.removeAttribute(`data-gatsby-image-ssr`)\n }, 0)\n })\n }\n\n imageCache.add(cacheKey)\n\n return\n }\n\n if (renderImage && imageCache.has(cacheKey)) {\n return\n }\n\n let animationFrame\n let cleanupCallback\n renderImageToStringPromise.then(\n ({ renderImageToString, swapPlaceholderImage }) => {\n if (!root.current) {\n return\n }\n\n root.current.innerHTML = renderImageToString({\n isLoading: true,\n isLoaded: imageCache.has(cacheKey),\n image,\n ...props,\n })\n\n if (!imageCache.has(cacheKey)) {\n animationFrame = requestAnimationFrame(() => {\n if (root.current) {\n cleanupCallback = swapPlaceholderImage(\n root.current,\n cacheKey,\n imageCache,\n style,\n onStartLoad,\n onLoad,\n onError\n )\n }\n })\n }\n }\n )\n\n // eslint-disable-next-line consistent-return\n return (): void => {\n if (animationFrame) {\n cancelAnimationFrame(animationFrame)\n }\n if (cleanupCallback) {\n cleanupCallback()\n }\n }\n }, [image])\n\n // useLayoutEffect is ran before React commits to the DOM. This allows us to make sure our HTML is using our cached image version\n useLayoutEffect(() => {\n if (imageCache.has(cacheKey) && renderImage) {\n root.current.innerHTML = renderImage({\n isLoading: imageCache.has(cacheKey),\n isLoaded: imageCache.has(cacheKey),\n image,\n ...props,\n })\n\n // Trigger onStartload and onLoad events\n onStartLoad?.({\n wasCached: true,\n })\n onLoad?.({\n wasCached: true,\n })\n }\n }, [image])\n\n // By keeping all props equal React will keep the component in the DOM\n return createElement(as, {\n ...wrapperProps,\n style: {\n ...wStyle,\n ...style,\n backgroundColor,\n },\n className: `${wClass}${className ? ` ${className}` : ``}`,\n ref: root,\n dangerouslySetInnerHTML: {\n __html: sizer,\n },\n suppressHydrationWarning: true,\n })\n}\n\nexport const GatsbyImage: FunctionComponent = memo(\n function GatsbyImage(props) {\n if (!props.image) {\n if (process.env.NODE_ENV === `development`) {\n console.warn(`[gatsby-plugin-image] Missing image prop`)\n }\n\n return null\n }\n\n if (!gatsbyImageIsInstalled() && process.env.NODE_ENV === `development`) {\n console.warn(\n `[gatsby-plugin-image] You're missing out on some cool performance features. Please add \"gatsby-plugin-image\" to your gatsby-config.js`\n )\n }\n\n return createElement(GatsbyImageHydrator, props)\n }\n)\n\nGatsbyImage.propTypes = propTypes\nGatsbyImage.displayName = `GatsbyImage`\n","import React, { FunctionComponent, ReactElement } from \"react\"\nimport {\n altValidator,\n GatsbyImage as GatsbyImageServer,\n} from \"./gatsby-image.server\"\nimport { GatsbyImageProps, IGatsbyImageData } from \"./gatsby-image.browser\"\nimport PropTypes from \"prop-types\"\nimport { ISharpGatsbyImageArgs } from \"../image-utils\"\n\nexport interface IStaticImageProps\n extends Omit,\n Omit {\n src: string\n filename?: string\n}\n\n// These values are added by Babel. Do not add them manually\ninterface IPrivateProps {\n __imageData?: IGatsbyImageData\n __error?: string\n}\n\nexport function _getStaticImage(\n GatsbyImage: FunctionComponent\n): React.FC {\n return function StaticImage({\n src,\n __imageData: imageData,\n __error,\n // We extract these because they're not meant to be passed-down to GatsbyImage\n /* eslint-disable @typescript-eslint/no-unused-vars */\n width,\n height,\n aspectRatio,\n tracedSVGOptions,\n placeholder,\n formats,\n quality,\n transformOptions,\n jpgOptions,\n pngOptions,\n webpOptions,\n avifOptions,\n blurredOptions,\n breakpoints,\n outputPixelDensities,\n /* eslint-enable @typescript-eslint/no-unused-vars */\n ...props\n }): ReactElement {\n if (__error) {\n console.warn(__error)\n }\n\n if (imageData) {\n return \n }\n console.warn(`Image not loaded`, src)\n if (!__error && process.env.NODE_ENV === `development`) {\n console.warn(\n `Please ensure that \"gatsby-plugin-image\" is included in the plugins array in gatsby-config.js, and that your version of gatsby is at least 2.24.78`\n )\n }\n return null\n }\n}\n\nconst StaticImage: React.FC =\n _getStaticImage(GatsbyImageServer)\n\nconst checkDimensionProps: PropTypes.Validator = (\n props: IStaticImageProps & IPrivateProps,\n propName: keyof IStaticImageProps & IPrivateProps,\n ...rest\n) => {\n if (\n props.layout === `fullWidth` &&\n (propName === `width` || propName === `height`) &&\n props[propName]\n ) {\n return new Error(\n `\"${propName}\" ${props[propName]} may not be passed when layout is fullWidth.`\n )\n }\n return PropTypes.number(props, propName, ...rest)\n}\n\nconst validLayouts = new Set([`fixed`, `fullWidth`, `constrained`])\n\nexport const propTypes = {\n src: PropTypes.string.isRequired,\n alt: altValidator,\n width: checkDimensionProps,\n height: checkDimensionProps,\n sizes: PropTypes.string,\n layout: (props: IStaticImageProps & IPrivateProps): Error | undefined => {\n if (props.layout === undefined) {\n return undefined\n }\n if (validLayouts.has(props.layout)) {\n return undefined\n }\n\n return new Error(\n `Invalid value ${props.layout}\" provided for prop \"layout\". Defaulting to \"constrained\". Valid values are \"fixed\", \"fullWidth\" or \"constrained\".`\n )\n },\n}\n\nStaticImage.displayName = `StaticImage`\nStaticImage.propTypes = propTypes\n\nexport { StaticImage }\n","import {\n GatsbyImage as GatsbyImageBrowser,\n IGatsbyImageData,\n} from \"./gatsby-image.browser\"\nimport React from \"react\"\nimport {\n _getStaticImage,\n propTypes,\n IStaticImageProps,\n} from \"./static-image.server\"\n// These values are added by Babel. Do not add them manually\ninterface IPrivateProps {\n __imageData?: IGatsbyImageData\n __error?: string\n}\n\nconst StaticImage: React.FC =\n _getStaticImage(GatsbyImageBrowser)\n\nStaticImage.displayName = `StaticImage`\nStaticImage.propTypes = propTypes\n\nexport { StaticImage }\n","'use strict';\n\nconst UPPERCASE = /[\\p{Lu}]/u;\nconst LOWERCASE = /[\\p{Ll}]/u;\nconst LEADING_CAPITAL = /^[\\p{Lu}](?![\\p{Lu}])/gu;\nconst IDENTIFIER = /([\\p{Alpha}\\p{N}_]|$)/u;\nconst SEPARATORS = /[_.\\- ]+/;\n\nconst LEADING_SEPARATORS = new RegExp('^' + SEPARATORS.source);\nconst SEPARATORS_AND_IDENTIFIER = new RegExp(SEPARATORS.source + IDENTIFIER.source, 'gu');\nconst NUMBERS_AND_IDENTIFIER = new RegExp('\\\\d+' + IDENTIFIER.source, 'gu');\n\nconst preserveCamelCase = (string, toLowerCase, toUpperCase) => {\n\tlet isLastCharLower = false;\n\tlet isLastCharUpper = false;\n\tlet isLastLastCharUpper = false;\n\n\tfor (let i = 0; i < string.length; i++) {\n\t\tconst character = string[i];\n\n\t\tif (isLastCharLower && UPPERCASE.test(character)) {\n\t\t\tstring = string.slice(0, i) + '-' + string.slice(i);\n\t\t\tisLastCharLower = false;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = true;\n\t\t\ti++;\n\t\t} else if (isLastCharUpper && isLastLastCharUpper && LOWERCASE.test(character)) {\n\t\t\tstring = string.slice(0, i - 1) + '-' + string.slice(i - 1);\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = false;\n\t\t\tisLastCharLower = true;\n\t\t} else {\n\t\t\tisLastCharLower = toLowerCase(character) === character && toUpperCase(character) !== character;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = toUpperCase(character) === character && toLowerCase(character) !== character;\n\t\t}\n\t}\n\n\treturn string;\n};\n\nconst preserveConsecutiveUppercase = (input, toLowerCase) => {\n\tLEADING_CAPITAL.lastIndex = 0;\n\n\treturn input.replace(LEADING_CAPITAL, m1 => toLowerCase(m1));\n};\n\nconst postProcess = (input, toUpperCase) => {\n\tSEPARATORS_AND_IDENTIFIER.lastIndex = 0;\n\tNUMBERS_AND_IDENTIFIER.lastIndex = 0;\n\n\treturn input.replace(SEPARATORS_AND_IDENTIFIER, (_, identifier) => toUpperCase(identifier))\n\t\t.replace(NUMBERS_AND_IDENTIFIER, m => toUpperCase(m));\n};\n\nconst camelCase = (input, options) => {\n\tif (!(typeof input === 'string' || Array.isArray(input))) {\n\t\tthrow new TypeError('Expected the input to be `string | string[]`');\n\t}\n\n\toptions = {\n\t\tpascalCase: false,\n\t\tpreserveConsecutiveUppercase: false,\n\t\t...options\n\t};\n\n\tif (Array.isArray(input)) {\n\t\tinput = input.map(x => x.trim())\n\t\t\t.filter(x => x.length)\n\t\t\t.join('-');\n\t} else {\n\t\tinput = input.trim();\n\t}\n\n\tif (input.length === 0) {\n\t\treturn '';\n\t}\n\n\tconst toLowerCase = options.locale === false ?\n\t\tstring => string.toLowerCase() :\n\t\tstring => string.toLocaleLowerCase(options.locale);\n\tconst toUpperCase = options.locale === false ?\n\t\tstring => string.toUpperCase() :\n\t\tstring => string.toLocaleUpperCase(options.locale);\n\n\tif (input.length === 1) {\n\t\treturn options.pascalCase ? toUpperCase(input) : toLowerCase(input);\n\t}\n\n\tconst hasUpperCase = input !== toLowerCase(input);\n\n\tif (hasUpperCase) {\n\t\tinput = preserveCamelCase(input, toLowerCase, toUpperCase);\n\t}\n\n\tinput = input.replace(LEADING_SEPARATORS, '');\n\n\tif (options.preserveConsecutiveUppercase) {\n\t\tinput = preserveConsecutiveUppercase(input, toLowerCase);\n\t} else {\n\t\tinput = toLowerCase(input);\n\t}\n\n\tif (options.pascalCase) {\n\t\tinput = toUpperCase(input.charAt(0)) + input.slice(1);\n\t}\n\n\treturn postProcess(input, toUpperCase);\n};\n\nmodule.exports = camelCase;\n// TODO: Remove this for the next major release\nmodule.exports.default = camelCase;\n","/* global __MANIFEST_PLUGIN_HAS_LOCALISATION__ */\nimport { withPrefix } from \"gatsby\";\nimport getManifestForPathname from \"./get-manifest-pathname\";\n\n// when we don't have localisation in our manifest, we tree shake everything away\nexport const onRouteUpdate = function onRouteUpdate({\n location\n}, pluginOptions) {\n if (__MANIFEST_PLUGIN_HAS_LOCALISATION__) {\n const {\n localize\n } = pluginOptions;\n const manifestFilename = getManifestForPathname(location.pathname, localize, true);\n const manifestEl = document.head.querySelector(`link[rel=\"manifest\"]`);\n if (manifestEl) {\n manifestEl.setAttribute(`href`, withPrefix(manifestFilename));\n }\n }\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\nvar _gatsby = require(\"gatsby\");\n/**\n * Get a manifest filename depending on localized pathname\n *\n * @param {string} pathname\n * @param {Array<{start_url: string, lang: string}>} localizedManifests\n * @param {boolean} shouldPrependPathPrefix\n * @return string\n */\nvar _default = (pathname, localizedManifests, shouldPrependPathPrefix = false) => {\n const defaultFilename = `manifest.webmanifest`;\n if (!Array.isArray(localizedManifests)) {\n return defaultFilename;\n }\n const localizedManifest = localizedManifests.find(app => {\n let startUrl = app.start_url;\n if (shouldPrependPathPrefix) {\n startUrl = (0, _gatsby.withPrefix)(startUrl);\n }\n return pathname.startsWith(startUrl);\n });\n if (!localizedManifest) {\n return defaultFilename;\n }\n return `manifest_${localizedManifest.lang}.webmanifest`;\n};\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.Link = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar _react = _interopRequireWildcard(require(\"react\"));\nvar _i18nextContext = require(\"./i18nextContext\");\nvar _gatsby = require(\"gatsby\");\nvar _types = require(\"./types\");\nvar _excluded = [\"language\", \"to\", \"onClick\"];\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nvar Link = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {\n var language = _ref.language,\n to = _ref.to,\n _onClick = _ref.onClick,\n rest = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);\n var context = (0, _react.useContext)(_i18nextContext.I18nextContext);\n var urlLanguage = language || context.language;\n var getLanguagePath = function getLanguagePath(language) {\n return context.generateDefaultLanguagePage || language !== context.defaultLanguage ? \"/\" + language : '';\n };\n var link = \"\" + getLanguagePath(urlLanguage) + to;\n return (\n /*#__PURE__*/\n // @ts-ignore\n _react.default.createElement(_gatsby.Link, (0, _extends2.default)({}, rest, {\n to: link,\n innerRef: ref,\n hrefLang: urlLanguage,\n onClick: function onClick(e) {\n if (language) {\n localStorage.setItem(_types.LANGUAGE_KEY, language);\n }\n if (_onClick) {\n _onClick(e);\n }\n }\n }))\n );\n});\nexports.Link = Link;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.I18nextContext = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar I18nextContext = /*#__PURE__*/_react.default.createContext({\n language: 'en',\n languages: ['en'],\n routed: false,\n defaultLanguage: 'en',\n generateDefaultLanguagePage: false,\n originalPath: '/',\n path: '/'\n});\nexports.I18nextContext = I18nextContext;","\"use strict\";\n\nexports.__esModule = true;\nvar _reactI18next = require(\"react-i18next\");\nObject.keys(_reactI18next).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _reactI18next[key]) return;\n exports[key] = _reactI18next[key];\n});\nvar _i18nextContext = require(\"./i18nextContext\");\nObject.keys(_i18nextContext).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _i18nextContext[key]) return;\n exports[key] = _i18nextContext[key];\n});\nvar _useI18next = require(\"./useI18next\");\nObject.keys(_useI18next).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _useI18next[key]) return;\n exports[key] = _useI18next[key];\n});\nvar _Link = require(\"./Link\");\nObject.keys(_Link).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _Link[key]) return;\n exports[key] = _Link[key];\n});","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.wrapPageElement = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _taggedTemplateLiteralLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/taggedTemplateLiteralLoose\"));\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _gatsby = require(\"gatsby\");\nvar _browserLang = _interopRequireDefault(require(\"browser-lang\"));\nvar _types = require(\"../types\");\nvar _i18next = _interopRequireDefault(require(\"i18next\"));\nvar _reactI18next = require(\"react-i18next\");\nvar _i18nextContext = require(\"../i18nextContext\");\nvar _outdent = _interopRequireDefault(require(\"outdent\"));\nvar _templateObject;\nvar withI18next = function withI18next(i18n, context) {\n return function (children) {\n return /*#__PURE__*/_react.default.createElement(_reactI18next.I18nextProvider, {\n i18n: i18n\n }, /*#__PURE__*/_react.default.createElement(_i18nextContext.I18nextContext.Provider, {\n value: context\n }, children));\n };\n};\nvar removePathPrefix = function removePathPrefix(pathname, stripTrailingSlash) {\n var pathPrefix = (0, _gatsby.withPrefix)('/');\n var result = pathname;\n if (pathname.startsWith(pathPrefix)) {\n result = pathname.replace(pathPrefix, '/');\n }\n if (stripTrailingSlash && result.endsWith('/')) {\n return result.slice(0, -1);\n }\n return result;\n};\nvar wrapPageElement = function wrapPageElement(_ref, _ref2) {\n var _data$localeJsonNodeN, _i18nextOptions$defau;\n var element = _ref.element,\n props = _ref.props;\n var _ref2$i18nextOptions = _ref2.i18nextOptions,\n i18nextOptions = _ref2$i18nextOptions === void 0 ? {} : _ref2$i18nextOptions,\n _ref2$redirect = _ref2.redirect,\n redirect = _ref2$redirect === void 0 ? true : _ref2$redirect,\n _ref2$generateDefault = _ref2.generateDefaultLanguagePage,\n generateDefaultLanguagePage = _ref2$generateDefault === void 0 ? false : _ref2$generateDefault,\n siteUrl = _ref2.siteUrl,\n _ref2$localeJsonNodeN = _ref2.localeJsonNodeName,\n localeJsonNodeName = _ref2$localeJsonNodeN === void 0 ? 'locales' : _ref2$localeJsonNodeN,\n fallbackLanguage = _ref2.fallbackLanguage,\n trailingSlash = _ref2.trailingSlash;\n if (!props) return;\n var data = props.data,\n pageContext = props.pageContext,\n location = props.location;\n var _pageContext$i18n = pageContext.i18n,\n routed = _pageContext$i18n.routed,\n language = _pageContext$i18n.language,\n languages = _pageContext$i18n.languages,\n originalPath = _pageContext$i18n.originalPath,\n defaultLanguage = _pageContext$i18n.defaultLanguage,\n path = _pageContext$i18n.path;\n var isRedirect = redirect && !routed;\n if (isRedirect) {\n var search = location.search;\n\n // Skip build, Browsers only\n if (typeof window !== 'undefined') {\n var detected = window.localStorage.getItem(_types.LANGUAGE_KEY) || (0, _browserLang.default)({\n languages: languages,\n fallback: fallbackLanguage || language\n });\n if (!languages.includes(detected)) {\n detected = language;\n }\n window.localStorage.setItem(_types.LANGUAGE_KEY, detected);\n if (detected !== defaultLanguage) {\n var queryParams = search || '';\n var stripTrailingSlash = trailingSlash === 'never';\n var newUrl = (0, _gatsby.withPrefix)(\"/\" + detected + removePathPrefix(location.pathname, stripTrailingSlash) + queryParams + location.hash);\n // @ts-ignore\n window.___replace(newUrl);\n return null;\n }\n }\n }\n var localeNodes = (data === null || data === void 0 ? void 0 : (_data$localeJsonNodeN = data[localeJsonNodeName]) === null || _data$localeJsonNodeN === void 0 ? void 0 : _data$localeJsonNodeN.edges) || [];\n if (languages.length > 1 && localeNodes.length === 0 && process.env.NODE_ENV === 'development') {\n console.error((0, _outdent.default)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)([\"\\n No translations were found in \\\"\", \"\\\" key for \\\"\", \"\\\". \\n You need to add a graphql query to every page like this:\\n \\n export const query = graphql`\\n query($language: String!) {\\n \", \": allLocale(language: {eq: $language}) {\\n edges {\\n node {\\n ns\\n data\\n language\\n }\\n }\\n }\\n }\\n `;\\n \"], [\"\\n No translations were found in \\\"\", \"\\\" key for \\\"\", \"\\\". \\n You need to add a graphql query to every page like this:\\n \\n export const query = graphql\\\\`\\n query($language: String!) {\\n \", \": allLocale(language: {eq: $language}) {\\n edges {\\n node {\\n ns\\n data\\n language\\n }\\n }\\n }\\n }\\n \\\\`;\\n \"])), localeJsonNodeName, originalPath, localeJsonNodeName));\n }\n var namespaces = localeNodes.map(function (_ref3) {\n var node = _ref3.node;\n return node.ns;\n });\n\n // We want to set default namespace to a page namespace if it exists\n // and use other namespaces as fallback\n // this way you dont need to specify namespaces in pages\n var defaultNS = ((_i18nextOptions$defau = i18nextOptions.defaultNS) === null || _i18nextOptions$defau === void 0 ? void 0 : _i18nextOptions$defau.toString()) || 'translation';\n defaultNS = namespaces.find(function (ns) {\n return ns !== defaultNS;\n }) || defaultNS;\n var fallbackNS = namespaces.filter(function (ns) {\n return ns !== defaultNS;\n });\n var resources = localeNodes.reduce(function (res, _ref4) {\n var node = _ref4.node;\n var parsedData = typeof node.data === 'object' ? node.data : JSON.parse(node.data);\n if (!(node.language in res)) res[node.language] = {};\n res[node.language][node.ns || defaultNS] = parsedData;\n return res;\n }, {});\n var i18n = _i18next.default.createInstance();\n i18n.init((0, _extends2.default)({}, i18nextOptions, {\n resources: resources,\n lng: language,\n fallbackLng: defaultLanguage,\n defaultNS: defaultNS,\n fallbackNS: fallbackNS,\n react: (0, _extends2.default)({}, i18nextOptions.react, {\n useSuspense: false\n })\n }));\n if (i18n.language !== language) {\n i18n.changeLanguage(language);\n }\n var context = {\n routed: routed,\n language: language,\n languages: languages,\n originalPath: originalPath,\n defaultLanguage: defaultLanguage,\n generateDefaultLanguagePage: generateDefaultLanguagePage,\n siteUrl: siteUrl,\n path: path\n };\n return withI18next(i18n, context)(element);\n};\nexports.wrapPageElement = wrapPageElement;","\"use strict\";\n\nexports.__esModule = true;\nexports.LANGUAGE_KEY = void 0;\nvar LANGUAGE_KEY = 'gatsby-i18next-language';\nexports.LANGUAGE_KEY = LANGUAGE_KEY;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.useI18next = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _reactI18next = require(\"react-i18next\");\nvar _react = require(\"react\");\nvar _gatsby = require(\"gatsby\");\nvar _i18nextContext = require(\"./i18nextContext\");\nvar _types = require(\"./types\");\nvar useI18next = function useI18next(ns, options) {\n var _useTranslation = (0, _reactI18next.useTranslation)(ns, options),\n i18n = _useTranslation.i18n,\n t = _useTranslation.t,\n ready = _useTranslation.ready;\n var context = (0, _react.useContext)(_i18nextContext.I18nextContext);\n var routed = context.routed,\n defaultLanguage = context.defaultLanguage,\n generateDefaultLanguagePage = context.generateDefaultLanguagePage;\n var getLanguagePath = function getLanguagePath(language) {\n return generateDefaultLanguagePage || language !== defaultLanguage ? \"/\" + language : '';\n };\n var removePrefix = function removePrefix(pathname) {\n var base = typeof __BASE_PATH__ !== \"undefined\" ? __BASE_PATH__ : __PATH_PREFIX__;\n if (base && pathname.indexOf(base) === 0) {\n pathname = pathname.slice(base.length);\n }\n return pathname;\n };\n var removeLocalePart = function removeLocalePart(pathname) {\n if (!routed) return pathname;\n var i = pathname.indexOf(\"/\", 1);\n return pathname.substring(i);\n };\n var navigate = function navigate(to, options) {\n var languagePath = getLanguagePath(context.language);\n var link = routed ? \"\" + languagePath + to : \"\" + to;\n return (0, _gatsby.navigate)(link, options);\n };\n var changeLanguage = function changeLanguage(language, to, options) {\n var languagePath = getLanguagePath(language);\n var pathname = to || removeLocalePart(removePrefix(window.location.pathname));\n var link = \"\" + languagePath + pathname + window.location.search;\n localStorage.setItem(_types.LANGUAGE_KEY, language);\n return (0, _gatsby.navigate)(link, options);\n };\n return (0, _extends2.default)({}, context, {\n i18n: i18n,\n t: t,\n ready: ready,\n navigate: navigate,\n changeLanguage: changeLanguage\n });\n};\nexports.useI18next = useI18next;","const {wrapPageElement} = require('./dist/plugin/wrapPageElement');\nexports.wrapPageElement = wrapPageElement;\n","module.exports = require('./dist');\n","import React from \"react\";\nimport { AuthProvider } from \"./AuthContext\";\n\nconst providers = [AuthProvider];\n\nconst combineComponents = (...components: any[]) => {\n return components.reduce(\n (AccumulatedComponents, CurrentComponent) => {\n return ({ children }: any) => {\n return (\n \n {children}\n \n );\n };\n },\n ({ children }: any) => <>{children}\n );\n};\n\nexport const Provider = combineComponents(...providers);\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nvar ChevronDown = forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 24 : _ref$size,\n rest = _objectWithoutProperties(_ref, [\"color\", \"size\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: size,\n height: size,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: color,\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, rest), /*#__PURE__*/React.createElement(\"polyline\", {\n points: \"6 9 12 15 18 9\"\n }));\n});\nChevronDown.propTypes = {\n color: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n};\nChevronDown.displayName = 'ChevronDown';\nexport default ChevronDown;","import clsx from \"clsx\";\nimport React, { useEffect, useRef } from \"react\";\nimport { AVAILABLE_PRODUCT } from \"../utils/static\";\nimport { Link, useI18next, useTranslation } from \"gatsby-plugin-react-i18next\";\n\nimport { APPLICATION_PRODUCTS } from \"../utils/static\";\n\ntype ProductMenuDropDownProps = {\n showProductMenu: boolean;\n setShowProductMenu: React.Dispatch>;\n};\n\ntype ProductTabsProps = {\n productType: string;\n amount: number;\n};\n\ntype ProductRadioTabsProps = {\n productTabs: Array;\n selectedProductType: string;\n setSelectedProductType: React.Dispatch>;\n};\n\ntype ProductProps = {\n pathName: string;\n image: string;\n alt: string;\n name: string;\n};\n\nconst ProductRadioTabs = ({\n productTabs,\n selectedProductType,\n setSelectedProductType,\n}: ProductRadioTabsProps) => {\n return (\n
\n {productTabs.map(({ productType, amount }) => {\n const isSelectedProductTabs = selectedProductType === productType;\n return (\n setSelectedProductType(productType)}\n >\n \n {productType}\n \n {amount}\n \n
\n
\n );\n })}\n
\n );\n};\n\nconst ProductMenuDropDown = ({\n showProductMenu,\n setShowProductMenu,\n}: ProductMenuDropDownProps) => {\n const { language } = useI18next();\n const { t } = useTranslation();\n\n const productMenuElement = useRef(null);\n\n const textAIModelProducts = AVAILABLE_PRODUCT.filter(\n (product) => product.type === \"text\"\n );\n const speechAIModelProducts = AVAILABLE_PRODUCT.filter(\n (product) => product.type === \"voice\"\n );\n const imageAIModelProducts = AVAILABLE_PRODUCT.filter(\n (product) => product.type === \"image\"\n );\n const tabularAIModelProducts = AVAILABLE_PRODUCT.filter(\n (product) => product.type === \"tabular\"\n );\n\n useEffect(() => {\n if (showProductMenu) {\n productMenuElement?.current?.focus();\n }\n }, [showProductMenu]);\n\n return (\n {\n if (\n !event.currentTarget.contains(event.relatedTarget) &&\n event?.relatedTarget?.id !== \"product-menu\"\n ) {\n setShowProductMenu(false);\n }\n }}\n className={clsx(\n \"transition duration-100 self-center fixed top-[80px] mt-1.5 outline-none flex flex-col gap-6\",\n \"lg:max-w-[902px] h-0 hidden tablet:block tablet:h-auto max-w-[calc(100vw_-_200px)] w-full bg-white z-[1000] shadow-lg rounded-xl border border-gray-200\",\n showProductMenu ? \"visible opacity-100\" : \"invisible opacity-0\"\n )}\n >\n {/* Header */}\n
\n
\n \n Product\n \n

\n {t(\"product-menu.description\")}\n

\n
\n {/* Body */}\n {/* AI Marketplace */}\n
\n
\n AI Marketplace\n
\n
\n {/* AI Models */}\n
\n
\n AI Models\n
\n
\n
\n {/* Text AI Models */}\n
\n
\n Text\n
\n
\n {textAIModelProducts.map(\n (product: any, index: number) => {\n return (\n \n );\n }\n )}\n
\n
\n {/* Voice/Speech AI Models */}\n
\n
\n Voice/Speech\n
\n
\n {speechAIModelProducts.map(\n (product: any, index: number) => {\n return (\n \n );\n }\n )}\n
\n
\n
\n
\n {/* Tabular AI Models */}\n {/*
\n
\n Tabular\n
\n
\n {tabularAIModelProducts.map(\n (product: any, index: number) => {\n return (\n \n );\n }\n )}\n
\n
*/}\n {/* Vision/Image AI Models */}\n
\n
\n Vision/Image\n
\n
\n {imageAIModelProducts.map(\n (product: any, index: number) => {\n return (\n \n );\n }\n )}\n
\n
\n
\n
\n
\n
\n {/* AI Applications */}\n
\n
\n AI Applications\n
\n {/* Text AI Models */}\n
\n {APPLICATION_PRODUCTS.map((product, index) => {\n return (\n \n \n \n {product.name}\n \n \n );\n })}\n
\n
\n
\n
\n
\n
\n );\n};\n\nconst ProductMenuCard = ({ pathName, image, alt, name }: ProductProps) => {\n return (\n \n \n {name}\n \n );\n};\n\nexport default ProductMenuDropDown;\n","export default \"data:image/webp;base64,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\"","import React, { useState, useEffect, Fragment, useMemo } from \"react\";\nimport { PageProps } from \"gatsby\";\nimport { Link, useI18next } from \"gatsby-plugin-react-i18next\";\nimport { ChevronDown } from \"react-feather\";\nimport clsx from \"clsx\";\nimport { combineURLs, isProductionHostname } from \"../utils/urls\";\nimport { logout } from \"../utils/auth\";\nimport { AVAILABLE_PRODUCT, APPLICATION_PRODUCTS } from \"../utils/static\";\nimport { useAuth } from \"../context/AuthContext\";\n\nimport ProductMenuDropDown from \"./ProductMenuDropDown\";\n\nimport ACPLogo from \"../images/general/ACPLogo.webp\";\n\nimport Menu from \"../icons/Menu.svg\";\nimport XClose from \"../icons/XClose.svg\";\nimport UserIcon from \"../icons/User.svg\";\nimport DotsVerticalIcon from \"../icons/DotsVertical.svg\";\n\nconst ACP_CONSOLE_URL = process.env.GATSBY_ACP_CONSOLE_URL;\n\nconst Navbar = ({ location }: PageProps) => {\n const { language, originalPath } = useI18next();\n const isProductionState = isProductionHostname();\n\n const [showProductMenu, setShowProductMenu] = useState(false);\n const [showMenuNavbar, setShowMenuNavbar] = useState(false);\n\n const { isLoggedIn, userInfo, loadingInitialUser, fetchUserInfo } = useAuth();\n\n const signInURL = useMemo(() => {\n return ACP_CONSOLE_URL\n ? combineURLs(ACP_CONSOLE_URL, `/auth/sign-in?from=${location.href}`)\n : \"#\";\n }, [ACP_CONSOLE_URL, location]);\n\n const registerURL = useMemo(() => {\n return ACP_CONSOLE_URL\n ? combineURLs(ACP_CONSOLE_URL, `/auth/register?from=${location.href}`)\n : \"#\";\n }, [ACP_CONSOLE_URL, location]);\n\n useEffect(() => {\n const handleResize = () => {\n if (window.innerWidth > 875) {\n setShowMenuNavbar(false);\n }\n };\n\n window.addEventListener(\"resize\", handleResize);\n handleResize();\n\n return () => {\n window.removeEventListener(\"resize\", handleResize);\n };\n }, []);\n\n useEffect(() => {\n setShowProductMenu(false);\n setShowMenuNavbar(false);\n }, [location]);\n\n const menuClass =\n \"text-gray-500 font-semibold lg:mx-3 xl:mx-4 mx-2 text-center flex items-center hover:text-gray-700\";\n\n return (\n {\n if (!event.currentTarget.contains(event.relatedTarget)) {\n setShowMenuNavbar(false);\n }\n }}\n >\n
\n \n
\n
\n
\n {showMenuNavbar ? (\n setShowMenuNavbar(false)}\n >\n \n \n ) : (\n setShowMenuNavbar(true)}\n >\n \n \n )}\n
\n
\n \n \n \n
\n
\n
\n \n \n \n \n );\n};\n\nconst UserInfoMenu = () => {\n const [showMenu, setShowMenu] = useState(false);\n\n const { userInfo, fetchUserInfo } = useAuth();\n\n return (\n
\n
\n
\n
\n {userInfo?.firstName || userInfo?.lastName ? (\n <>\n {userInfo.firstName?.[0]}\n {userInfo.lastName?.[0]}\n \n ) : (\n \n )}\n
\n
\n
\n {userInfo?.firstName} {userInfo?.lastName}\n
\n
{userInfo?.email}
\n
\n
\n {\n if (!event.currentTarget.contains(event.relatedTarget)) {\n setShowMenu(false);\n }\n }}\n className=\"relative\"\n >\n setShowMenu(!showMenu)}\n >\n \n \n {/* user menu */}\n {userInfo && showMenu && (\n
\n \n Console\n \n {\n logout();\n fetchUserInfo();\n }}\n >\n Logout\n \n
\n )}\n
\n
\n \n );\n};\n\ntype MenuNavbarProp = {\n signInURL: string;\n registerURL: string;\n showMenuNavbar: boolean;\n setShowMenuNavbar: React.Dispatch>;\n};\n\nconst MenuNavbar = ({\n signInURL,\n registerURL,\n showMenuNavbar,\n setShowMenuNavbar,\n}: MenuNavbarProp) => {\n const { language, originalPath } = useI18next();\n const isProductionState = isProductionHostname();\n const { isLoggedIn, fetchUserInfo } = useAuth();\n\n const [showProductSubMenu, setShowProductSubMenu] = useState(false);\n\n useEffect(() => {\n if (!showMenuNavbar) {\n setShowProductSubMenu(false);\n }\n }, [showMenuNavbar]);\n\n useEffect(() => {\n setShowMenuNavbar(false);\n }, [language]);\n\n const menuClass =\n \"text-gray-500 outline-none font-semibold px-4 py-3 text-center w-full flex items-center hover:text-gray-700 hover:bg-gray-100\";\n\n return (\n \n {/* Language */}\n
\n \n ภาษาไทย\n \n \n English\n \n
\n {/* Product */}\n
\n {\n setShowMenuNavbar(false);\n }}\n activeClassName=\"text-primary-600\"\n >\n Home\n \n
\n {\n event.stopPropagation();\n event.preventDefault();\n setShowProductSubMenu(\n (previousShowProductSubMenu) => !previousShowProductSubMenu\n );\n }}\n >\n Product\n \n \n \n \n \n {/* Application */}\n <>\n
\n AI Application\n
\n
\n {APPLICATION_PRODUCTS.map((product: any, index) => {\n return (\n \n \n \n {product.name}\n \n \n );\n })}\n
\n \n <>\n
\n AI Models\n
\n
\n {AVAILABLE_PRODUCT.map((product, index) => {\n return (\n \n {/* @ts-ignore */}\n {\n setShowMenuNavbar(false);\n }}\n className={\n \"px-4 py-3 flex items-center gap-4 hover:bg-gray-50 text-gray-700 font-semibold\"\n }\n activeClassName=\"!text-primary-600\"\n >\n {showProductSubMenu && (\n \n )}\n {product.name}\n \n \n );\n })}\n
\n \n
\n
\n {\n setShowMenuNavbar(false);\n }}\n activeClassName=\"text-primary-600\"\n >\n Pricing\n \n \n API Document\n \n \n How to Use\n \n \n {/* Authentication */}\n
\n {isLoggedIn ? (\n <>\n setShowMenuNavbar(false)}\n target={\"_blank\"}\n className=\"flex items-center justify-center gap-3 py-2.5 px-4 w-full rounded-lg font-semibold text-center bg-primary border border-primary hover:bg-primary-dark text-white\"\n >\n Console\n \n {\n logout();\n fetchUserInfo();\n setShowMenuNavbar(false);\n }}\n >\n Logout\n \n \n ) : (\n <>\n {\n if (isProductionState) {\n window.dataLayer.push({\n event: \"register_clicked\",\n });\n }\n }}\n >\n Register\n \n {\n if (isProductionState) {\n window.dataLayer.push({\n event: \"sign_in_clicked\",\n });\n }\n }}\n >\n Sign in\n \n \n )}\n
\n \n );\n};\n\nexport default Navbar;\n","import React from \"react\";\nimport { useTranslation, Link } from \"gatsby-plugin-react-i18next\";\nimport { StaticImage } from \"gatsby-plugin-image\";\n\nimport Facebook from \"../icons/Facebook.svg\";\nimport LinkedIn from \"../icons/LinkedIn.svg\";\nimport Twitter from \"../icons/Twitter.svg\";\nimport Youtube from \"../icons/Youtube.svg\";\n\nconst Footer = () => {\n const { t } = useTranslation();\n\n return (\n <>\n
\n
\n
\n
\n \n \n \n \n \n \n
\n
\n
{t(\"visai-company\")}
\n

{t(\"address\")}

\n \n
\n
\n
\n
\n \n Pricing\n \n \n API Document\n \n \n How to Use\n \n
\n
\n \n Terms of Use\n \n \n Privacy Notice and Policy\n \n \n Cookies Policy\n \n
\n
\n
\n
\n
\n
\n
\n © 2025 AI Cloud Platform. All rights reserved.\n {process.env.GATSBY_PUBLIC_PROJ_VERSION && (\n
\n {process.env.GATSBY_PUBLIC_PROJ_VERSION}\n
\n )}\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n );\n};\n\nexport default Footer;\n","import React, { memo, useEffect, useState } from \"react\";\nimport loadable from \"@loadable/component\";\nimport { PageProps } from \"gatsby\";\nimport clsx from \"clsx\";\n\nimport { Link, useI18next } from \"gatsby-plugin-react-i18next\";\nimport { Provider } from \"../context\";\n\nimport Navbar from \"../components/Navbar\";\nimport Footer from \"../components/Footer\";\nconst CookieSettingsModal = loadable(() => import(\"./CookieSettingsModal\"), {\n ssr: false,\n});\n\nimport { alreadySettingCookies, acceptAllCookies } from \"../utils/cookies\";\n\ntype LayoutProps = {\n props: PageProps;\n children: any;\n};\n\nconst Layout = ({ props, children }: LayoutProps) => {\n const [showCookie, setShowCookie] = useState(false);\n\n const { language } = useI18next();\n useEffect(() => {\n setShowCookie(!alreadySettingCookies);\n }, [alreadySettingCookies]);\n\n return (\n <>\n \n {showCookie && }\n \n
{children}
\n