{"version":3,"file":"app-27ef406d42f97a7dd3fd.js","mappings":"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","sources":["webpack://gatsby-starter-default/./node_modules/invariant/browser.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js","webpack://gatsby-starter-default/src/gatsby-browser.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/modules/_an-object.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/modules/_dom-create.js","webpack://gatsby-starter-default/./.cache/page-renderer.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://gatsby-starter-default/./.cache/prefetch.js","webpack://gatsby-starter-default/./.cache/loader.js","webpack://gatsby-starter-default/./.cache/gatsby-browser-entry.js","webpack://gatsby-starter-default/./.cache/public-page-renderer.js","webpack://gatsby-starter-default/./.cache/emitter.js","webpack://gatsby-starter-default/./node_modules/mitt/dist/mitt.es.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js","webpack://gatsby-starter-default/./node_modules/gatsby-link/parse-path.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-bug-keys.js","webpack://gatsby-starter-default/./.cache/react-lifecycles-compat.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/modules/_uid.js","webpack://gatsby-starter-default/./.cache/api-runner-browser-plugins.js","webpack://gatsby-starter-default/./node_modules/gatsby-react-router-scroll/scroll-handler.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/modules/_iobject.js","webpack://gatsby-starter-default/./node_modules/@gatsbyjs/reach-router/lib/history.js","webpack://gatsby-starter-default/./.cache/register-service-worker.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-integer.js","webpack://gatsby-starter-default/./node_modules/gatsby-react-router-scroll/use-scroll-restoration.js","webpack://gatsby-starter-default/./node_modules/gatsby-plugin-manifest/get-manifest-pathname.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/modules/_a-function.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/modules/_ctx.js","webpack://gatsby-starter-default/./.cache/redirect-utils.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/modules/_cof.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gops.js","webpack://gatsby-starter-default/./node_modules/gatsby-react-router-scroll/session-storage.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/extends.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-object.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/modules/_ie8-dom-define.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/modules/_defined.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://gatsby-starter-default/./node_modules/gatsby-plugin-google-tagmanager/gatsby-browser.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/modules/_property-desc.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://gatsby-starter-default/./node_modules/@gatsbyjs/reach-router/es/lib/utils.js","webpack://gatsby-starter-default/./node_modules/@gatsbyjs/reach-router/es/lib/history.js","webpack://gatsby-starter-default/./node_modules/@gatsbyjs/reach-router/es/index.js","webpack://gatsby-starter-default/./.cache/public-page-renderer-prod.js","webpack://gatsby-starter-default/./node_modules/gatsby-plugin-manifest/gatsby-browser.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js","webpack://gatsby-starter-default/./node_modules/webfontloader/webfontloader.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared-key.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/core-js/object/assign.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js","webpack://gatsby-starter-default/./.cache/route-announcer-props.js","webpack://gatsby-starter-default/./.cache/navigation.js","webpack://gatsby-starter-default/./node_modules/shallow-compare/es/index.js","webpack://gatsby-starter-default/./.cache/ensure-resources.js","webpack://gatsby-starter-default/./.cache/production-app.js","webpack://gatsby-starter-default/./.cache/api-runner-browser.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js","webpack://gatsby-starter-default/./node_modules/gatsby-react-router-scroll/index.js","webpack://gatsby-starter-default/./node_modules/gatsby/dist/internal-plugins/bundle-optimisations/polyfills/object-assign.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared.js","webpack://gatsby-starter-default/./node_modules/gatsby-link/index.js","webpack://gatsby-starter-default/./node_modules/@gatsbyjs/reach-router/lib/utils.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-primitive.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/fn/object/assign.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/helpers/extends.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-absolute-index.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/modules/_library.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-pie.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.assign.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-length.js","webpack://gatsby-starter-default/./.cache/normalize-page-path.js","webpack://gatsby-starter-default/./.cache/find-path.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-assign.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys-internal.js","webpack://gatsby-starter-default/./.cache/_this_is_virtual_fs_path_/$virtual/async-requires.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js","webpack://gatsby-starter-default/./node_modules/babel-runtime/node_modules/core-js/library/modules/_array-includes.js","webpack://gatsby-starter-default/./.cache/strip-prefix.js"],"sourcesContent":["/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","const WebFont = require('webfontloader')\n\nexports.onInitialClientRender = (a, options) => {\n\toptions = { ...options }\n\tdelete options.plugins\n\tWebFont.load(options)\n}","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","import React, { createElement } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport { grabMatchParams } from \"./find-path\"\n\n// Renders page\nclass PageRenderer extends React.Component {\n render() {\n const props = {\n ...this.props,\n params: {\n ...grabMatchParams(this.props.location.pathname),\n ...this.props.pageResources.json.pageContext.__params,\n },\n }\n\n const pageElement = createElement(this.props.pageResources.component, {\n ...props,\n key: this.props.path || this.props.pageResources.page.path,\n })\n\n const wrappedPage = apiRunner(\n `wrapPageElement`,\n { element: pageElement, props },\n pageElement,\n ({ result }) => {\n return { element: result, props }\n }\n ).pop()\n\n return wrappedPage\n }\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","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","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 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 = path => {\n const fixedPath = path === `/` ? `index` : stripSurroundingSlashes(path)\n return `${__PATH_PREFIX__}/page-data/${fixedPath}/page-data.json`\n}\n\nfunction doFetch(url, method = `GET`) {\n return new Promise((resolve, reject) => {\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\nconst toPageResources = (pageData, component = null) => {\n const page = {\n componentChunkName: pageData.componentChunkName,\n path: pageData.path,\n webpackCompilationHash: pageData.webpackCompilationHash,\n matchPath: pageData.matchPath,\n staticQueryHashes: pageData.staticQueryHashes,\n }\n\n return {\n component,\n json: pageData.result,\n page,\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.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 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 page and it doesn't exist, we're done\n if (pagePath === `/404.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 Object.assign(loadObj, {\n status: PageResourceStatus.Error,\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 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 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 {\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 inFlightPromise = Promise.all([\n this.loadAppData(),\n this.loadPageDataJson(pagePath),\n ]).then(allData => {\n const result = allData[1]\n if (result.status === PageResourceStatus.Error) {\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n let pageData = result.payload\n const { componentChunkName, staticQueryHashes = [] } = pageData\n\n const finalResult = {}\n\n const componentChunkPromise = this.loadComponent(componentChunkName).then(\n component => {\n finalResult.createdAt = new Date()\n let pageResources\n if (!component || component instanceof Error) {\n finalResult.status = PageResourceStatus.Error\n finalResult.error = component\n } else {\n finalResult.status = PageResourceStatus.Success\n if (result.notFound === true) {\n finalResult.notFound = true\n }\n pageData = Object.assign(pageData, {\n webpackCompilationHash: allData[0]\n ? allData[0].webpackCompilationHash\n : ``,\n })\n pageResources = toPageResources(pageData, component)\n }\n // undefined if final result is an error\n return pageResources\n }\n )\n\n const staticQueryBatchPromise = Promise.all(\n staticQueryHashes.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([componentChunkPromise, 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 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 // 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 false\n }\n\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 false\n }\n\n const realPath = findPath(pagePath)\n // Todo make doPrefetch logic cacheable\n // eslint-disable-next-line consistent-return\n this.doPrefetch(realPath).then(() => {\n if (!this.prefetchCompleted.has(pagePath)) {\n this.apiRunner(`onPostPrefetchPathname`, { pathname: pagePath })\n this.prefetchCompleted.add(pagePath)\n }\n })\n\n return true\n }\n\n doPrefetch(pagePath) {\n const pageDataUrl = createPageDataUrl(pagePath)\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 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 => {\n if (!asyncRequires.components[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.components[chunkName]()\n .then(preferDefault)\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(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 // 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","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport Link, {\n withPrefix,\n withAssetPrefix,\n navigate,\n push,\n replace,\n navigateTo,\n parsePath,\n} from \"gatsby-link\"\nimport { useScrollRestoration } from \"gatsby-react-router-scroll\"\nimport PageRenderer from \"./public-page-renderer\"\nimport loader from \"./loader\"\n\nconst prefetchPathname = loader.enqueue\n\nconst StaticQueryContext = React.createContext({})\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\nconst StaticQuery = props => {\n const { data, query, render, children } = props\n\n return (\n \n {staticQueryData => (\n \n )}\n \n )\n}\n\nconst useStaticQuery = query => {\n if (\n typeof React.useContext !== `function` &&\n process.env.NODE_ENV === `development`\n ) {\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 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\nStaticQuery.propTypes = {\n data: PropTypes.object,\n query: PropTypes.string.isRequired,\n render: PropTypes.func,\n children: PropTypes.func,\n}\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 {\n Link,\n withAssetPrefix,\n withPrefix,\n graphql,\n parsePath,\n navigate,\n useScrollRestoration,\n StaticQueryContext,\n StaticQuery,\n PageRenderer,\n useStaticQuery,\n prefetchPathname,\n}\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","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","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","\"use strict\";\n\nexports.__esModule = true;\nexports.parsePath = parsePath;\n\nfunction parsePath(path) {\n var pathname = path || \"/\";\n var search = \"\";\n var hash = \"\";\n var hashIndex = pathname.indexOf(\"#\");\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf(\"?\");\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === \"?\" ? \"\" : search,\n hash: hash === \"#\" ? \"\" : hash\n };\n}","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","exports.polyfill = Component => Component\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","module.exports = [{\n plugin: require('../node_modules/gatsby-plugin-manifest/gatsby-browser.js'),\n options: {\"plugins\":[],\"name\":\"gatsby-starter-default\",\"short_name\":\"starter\",\"start_url\":\"/\",\"background_color\":\"#663399\",\"theme_color\":\"#663399\",\"display\":\"minimal-ui\",\"icon\":\"src/assets/images/gatsby-icon.png\",\"legacy\":true,\"theme_color_in_head\":true,\"cache_busting_mode\":\"query\",\"crossOrigin\":\"anonymous\",\"include_favicon\":true,\"cacheDigest\":\"c6caa7084489cf68fea6ba779569b29d\"},\n },{\n plugin: require('../node_modules/gatsby-plugin-web-font-loader/gatsby-browser.js'),\n options: {\"plugins\":[],\"custom\":{\"families\":[\"ScribbleBox\"]}},\n },{\n plugin: require('../node_modules/gatsby-plugin-google-tagmanager/gatsby-browser.js'),\n options: {\"plugins\":[],\"id\":\"GTM-W4GX7DG\",\"includeInDevelopment\":true,\"defaultDataLayer\":{\"type\":\"object\",\"value\":{\"platform\":\"gatsby\"}},\"enableWebVitalsTracking\":false,\"routeChangeEventName\":\"gatsby-route-change\",\"selfHostedOrigin\":\"https://www.googletagmanager.com\"},\n },{\n plugin: require('../gatsby-browser.js'),\n options: {\"plugins\":[]},\n }]\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.ScrollHandler = exports.ScrollContext = void 0;\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _sessionStorage = require(\"./session-storage\");\n\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); }\n\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; }\n\nvar ScrollContext = /*#__PURE__*/React.createContext(new _sessionStorage.SessionStorage());\nexports.ScrollContext = ScrollContext;\nScrollContext.displayName = \"GatsbyScrollContext\";\n\nvar ScrollHandler = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(ScrollHandler, _React$Component);\n\n function ScrollHandler() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\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\n _this.scrollListener = function () {\n _this._latestKnownScrollY = window.scrollY;\n\n if (!_this._isTicking) {\n _this._isTicking = true;\n requestAnimationFrame(_this._saveScroll.bind((0, _assertThisInitialized2.default)(_this)));\n }\n };\n\n _this.windowScroll = function (position, prevProps) {\n if (_this.shouldUpdateScroll(prevProps, _this.props)) {\n window.scrollTo(0, position);\n }\n };\n\n _this.scrollToHash = function (hash, prevProps) {\n var node = document.getElementById(hash.substring(1));\n\n if (node && _this.shouldUpdateScroll(prevProps, _this.props)) {\n node.scrollIntoView();\n }\n };\n\n _this.shouldUpdateScroll = function (prevRouterProps, routerProps) {\n var shouldUpdateScroll = _this.props.shouldUpdateScroll;\n\n if (!shouldUpdateScroll) {\n return true;\n } // Hack to allow accessing this._stateStorage.\n\n\n return shouldUpdateScroll.call((0, _assertThisInitialized2.default)(_this), prevRouterProps, routerProps);\n };\n\n return _this;\n }\n\n var _proto = ScrollHandler.prototype;\n\n _proto._saveScroll = function _saveScroll() {\n var key = this.props.location.key || null;\n\n if (key) {\n this._stateStorage.save(this.props.location, key, this._latestKnownScrollY);\n }\n\n this._isTicking = false;\n };\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\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n if (scrollPosition) {\n this.windowScroll(scrollPosition, undefined);\n } else if (hash) {\n this.scrollToHash(decodeURI(hash), undefined);\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener(\"scroll\", this.scrollListener);\n };\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\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\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\n if (hash) {\n this.scrollToHash(decodeURI(hash), prevProps);\n } else {\n this.windowScroll(scrollPosition, prevProps);\n }\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(ScrollContext.Provider, {\n value: this._stateStorage\n }, this.props.children);\n };\n\n return ScrollHandler;\n}(React.Component);\n\nexports.ScrollHandler = ScrollHandler;\nScrollHandler.propTypes = {\n shouldUpdateScroll: _propTypes.default.func,\n children: _propTypes.default.element.isRequired,\n location: _propTypes.default.object.isRequired\n};","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","\"use strict\";\n\nexports.__esModule = true;\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n};\nvar getLocation = function getLocation(source) {\n var _source$location = source.location,\n search = _source$location.search,\n hash = _source$location.hash,\n href = _source$location.href,\n origin = _source$location.origin,\n protocol = _source$location.protocol,\n host = _source$location.host,\n hostname = _source$location.hostname,\n port = _source$location.port;\n var pathname = source.location.pathname;\n if (!pathname && href && canUseDOM) {\n var url = new URL(href);\n pathname = url.pathname;\n }\n return {\n pathname: encodeURI(decodeURI(pathname)),\n search: search,\n hash: hash,\n href: href,\n origin: origin,\n protocol: protocol,\n host: host,\n hostname: hostname,\n port: port,\n state: source.history.state,\n key: source.history.state && source.history.state.key || \"initial\"\n };\n};\nvar createHistory = function createHistory(source, options) {\n var listeners = [];\n var location = getLocation(source);\n var transitioning = false;\n var resolveTransition = function resolveTransition() {};\n return {\n get location() {\n return location;\n },\n get transitioning() {\n return transitioning;\n },\n _onTransitionComplete: function _onTransitionComplete() {\n transitioning = false;\n resolveTransition();\n },\n listen: function listen(listener) {\n listeners.push(listener);\n var popstateListener = function popstateListener() {\n location = getLocation(source);\n listener({\n location: location,\n action: \"POP\"\n });\n };\n source.addEventListener(\"popstate\", popstateListener);\n return function () {\n source.removeEventListener(\"popstate\", popstateListener);\n listeners = listeners.filter(function (fn) {\n return fn !== listener;\n });\n };\n },\n navigate: function navigate(to) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n state = _ref.state,\n _ref$replace = _ref.replace,\n replace = _ref$replace === undefined ? false : _ref$replace;\n if (typeof to === \"number\") {\n source.history.go(to);\n } else {\n state = _extends({}, state, {\n key: Date.now() + \"\"\n });\n // try...catch iOS Safari limits to 100 pushState calls\n try {\n if (transitioning || replace) {\n source.history.replaceState(state, null, to);\n } else {\n source.history.pushState(state, null, to);\n }\n } catch (e) {\n source.location[replace ? \"replace\" : \"assign\"](to);\n }\n }\n location = getLocation(source);\n transitioning = true;\n var transition = new Promise(function (res) {\n return resolveTransition = res;\n });\n listeners.forEach(function (listener) {\n return listener({\n location: location,\n action: \"PUSH\"\n });\n });\n return transition;\n }\n };\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Stores history entries in memory for testing or other platforms like Native\nvar createMemorySource = function createMemorySource() {\n var initialPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"/\";\n var searchIndex = initialPath.indexOf(\"?\");\n var initialLocation = {\n pathname: searchIndex > -1 ? initialPath.substr(0, searchIndex) : initialPath,\n search: searchIndex > -1 ? initialPath.substr(searchIndex) : \"\"\n };\n var index = 0;\n var stack = [initialLocation];\n var states = [null];\n return {\n get location() {\n return stack[index];\n },\n addEventListener: function addEventListener(name, fn) {},\n removeEventListener: function removeEventListener(name, fn) {},\n history: {\n get entries() {\n return stack;\n },\n get index() {\n return index;\n },\n get state() {\n return states[index];\n },\n pushState: function pushState(state, _, uri) {\n var _uri$split = uri.split(\"?\"),\n pathname = _uri$split[0],\n _uri$split$ = _uri$split[1],\n search = _uri$split$ === undefined ? \"\" : _uri$split$;\n index++;\n stack.push({\n pathname: pathname,\n search: search.length ? \"?\" + search : search\n });\n states.push(state);\n },\n replaceState: function replaceState(state, _, uri) {\n var _uri$split2 = uri.split(\"?\"),\n pathname = _uri$split2[0],\n _uri$split2$ = _uri$split2[1],\n search = _uri$split2$ === undefined ? \"\" : _uri$split2$;\n stack[index] = {\n pathname: pathname,\n search: search\n };\n states[index] = state;\n },\n go: function go(to) {\n var newIndex = index + to;\n if (newIndex < 0 || newIndex > states.length - 1) {\n return;\n }\n index = newIndex;\n }\n }\n };\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// global history - uses window.history as the source if available, otherwise a\n// memory history\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nvar getSource = function getSource() {\n return canUseDOM ? window : createMemorySource();\n};\nvar globalHistory = createHistory(getSource());\nvar navigate = globalHistory.navigate;\n\n////////////////////////////////////////////////////////////////////////////////\n\nexports.globalHistory = globalHistory;\nexports.navigate = navigate;\nexports.createHistory = createHistory;\nexports.createMemorySource = createMemorySource;","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","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = useScrollRestoration;\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nvar _react = require(\"react\");\n\nvar _reachRouter = require(\"@gatsbyjs/reach-router\");\n\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.default = void 0;\n\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 * @return string\n */\nvar _default = function _default(pathname, localizedManifests) {\n var defaultFilename = \"manifest.webmanifest\";\n\n if (!Array.isArray(localizedManifests)) {\n return defaultFilename;\n }\n\n var localizedManifest = localizedManifests.find(function (app) {\n return pathname.startsWith(app.start_url);\n });\n\n if (!localizedManifest) {\n return defaultFilename;\n }\n\n return \"manifest_\" + localizedManifest.lang + \".webmanifest\";\n};\n\nexports.default = _default;","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\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","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","exports.f = Object.getOwnPropertySymbols;\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\";\n\nvar SessionStorage = /*#__PURE__*/function () {\n function SessionStorage() {}\n\n var _proto = SessionStorage.prototype;\n\n _proto.read = function read(location, key) {\n var stateKey = this.getStateKey(location, key);\n\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\n if (window && window[GATSBY_ROUTER_SCROLL_STATE] && window[GATSBY_ROUTER_SCROLL_STATE][stateKey]) {\n return window[GATSBY_ROUTER_SCROLL_STATE][stateKey];\n }\n\n return 0;\n }\n };\n\n _proto.save = function save(location, key, value) {\n var stateKey = this.getStateKey(location, key);\n var storedValue = JSON.stringify(value);\n\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\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\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\n return SessionStorage;\n}();\n\nexports.SessionStorage = SessionStorage;","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","function _extends() {\n return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","function _interopRequireDefault(e) {\n return e && e.__esModule ? e : {\n \"default\": e\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","const listOfMetricsSend = new Set();\n\nfunction debounce(fn, timeout) {\n let timer = null;\n return function (...args) {\n if (timer) {\n clearTimeout(timer);\n }\n\n timer = setTimeout(fn, timeout, ...args);\n };\n}\n\nfunction sendWebVitals(dataLayerName = `dataLayer`) {\n const win = window;\n\n function sendData(data) {\n if (listOfMetricsSend.has(data.name)) {\n return;\n }\n\n listOfMetricsSend.add(data.name);\n sendToGTM(data, win[dataLayerName]);\n }\n\n return import(`web-vitals/base`).then(({\n getLCP,\n getFID,\n getCLS\n }) => {\n const debouncedCLS = debounce(sendData, 3000); // we don't need to debounce FID - we send it when it happens\n\n const debouncedFID = sendData; // LCP can occur multiple times so we debounce it\n\n const debouncedLCP = debounce(sendData, 3000); // With the true flag, we measure all previous occurences too, in case we start listening to late.\n\n getCLS(debouncedCLS, true);\n getFID(debouncedFID, true);\n getLCP(debouncedLCP, true);\n });\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}\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}","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);\n}\nexport { _inheritsLoose as default };","function _setPrototypeOf(t, e) {\n return module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _setPrototypeOf(t, e);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import invariant from \"invariant\";\n\n////////////////////////////////////////////////////////////////////////////////\n// startsWith(string, search) - Check if `string` starts with `search`\nvar startsWith = function startsWith(string, search) {\n return string.substr(0, search.length) === search;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// pick(routes, uri)\n//\n// Ranks and picks the best route to match. Each segment gets the highest\n// amount of points, then the type of segment gets an additional amount of\n// points where\n//\n// static > dynamic > splat > root\n//\n// This way we don't have to worry about the order of our routes, let the\n// computers do it.\n//\n// A route looks like this\n//\n// { path, default, value }\n//\n// And a returned match looks like:\n//\n// { route, params, uri }\n//\n// I know, I should use TypeScript not comments for these types.\nvar pick = function pick(routes, uri) {\n var match = void 0;\n var default_ = void 0;\n var _uri$split = uri.split(\"?\"),\n uriPathname = _uri$split[0];\n var uriSegments = segmentize(uriPathname);\n var isRootUri = uriSegments[0] === \"\";\n var ranked = rankRoutes(routes);\n for (var i = 0, l = ranked.length; i < l; i++) {\n var missed = false;\n var route = ranked[i].route;\n if (route.default) {\n default_ = {\n route: route,\n params: {},\n uri: uri\n };\n continue;\n }\n var routeSegments = segmentize(route.path);\n var params = {};\n var max = Math.max(uriSegments.length, routeSegments.length);\n var index = 0;\n for (; index < max; index++) {\n var routeSegment = routeSegments[index];\n var uriSegment = uriSegments[index];\n if (isSplat(routeSegment)) {\n // Hit a splat, just grab the rest, and return a match\n // uri: /files/documents/work\n // route: /files/*\n var param = routeSegment.slice(1) || \"*\";\n params[param] = uriSegments.slice(index).map(decodeURIComponent).join(\"/\");\n break;\n }\n if (uriSegment === undefined) {\n // URI is shorter than the route, no match\n // uri: /users\n // route: /users/:userId\n missed = true;\n break;\n }\n var dynamicMatch = paramRe.exec(routeSegment);\n if (dynamicMatch && !isRootUri) {\n var matchIsNotReserved = reservedNames.indexOf(dynamicMatch[1]) === -1;\n !matchIsNotReserved ? process.env.NODE_ENV !== \"production\" ? invariant(false, \" dynamic segment \\\"\" + dynamicMatch[1] + \"\\\" is a reserved name. Please use a different name in path \\\"\" + route.path + \"\\\".\") : invariant(false) : void 0;\n var value = decodeURIComponent(uriSegment);\n params[dynamicMatch[1]] = value;\n } else if (routeSegment !== uriSegment) {\n // Current segments don't match, not dynamic, not splat, so no match\n // uri: /users/123/settings\n // route: /users/:id/profile\n missed = true;\n break;\n }\n }\n if (!missed) {\n match = {\n route: route,\n params: params,\n uri: \"/\" + uriSegments.slice(0, index).join(\"/\")\n };\n break;\n }\n }\n return match || default_ || null;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// match(path, uri) - Matches just one path to a uri, also lol\nvar match = function match(path, uri) {\n return pick([{\n path: path\n }], uri);\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// resolve(to, basepath)\n//\n// Resolves URIs as though every path is a directory, no files. Relative URIs\n// in the browser can feel awkward because not only can you be \"in a directory\"\n// you can be \"at a file\", too. For example\n//\n// browserSpecResolve('foo', '/bar/') => /bar/foo\n// browserSpecResolve('foo', '/bar') => /foo\n//\n// But on the command line of a file system, it's not as complicated, you can't\n// `cd` from a file, only directories. This way, links have to know less about\n// their current path. To go deeper you can do this:\n//\n// \n// // instead of\n// \n//\n// Just like `cd`, if you want to go deeper from the command line, you do this:\n//\n// cd deeper\n// # not\n// cd $(pwd)/deeper\n//\n// By treating every path as a directory, linking to relative paths should\n// require less contextual information and (fingers crossed) be more intuitive.\nvar resolve = function resolve(to, base) {\n // /foo/bar, /baz/qux => /foo/bar\n if (startsWith(to, \"/\")) {\n return to;\n }\n var _to$split = to.split(\"?\"),\n toPathname = _to$split[0],\n toQuery = _to$split[1];\n var _base$split = base.split(\"?\"),\n basePathname = _base$split[0];\n var toSegments = segmentize(toPathname);\n var baseSegments = segmentize(basePathname);\n\n // ?a=b, /users?b=c => /users?a=b\n if (toSegments[0] === \"\") {\n return addQuery(basePathname, toQuery);\n }\n\n // profile, /users/789 => /users/789/profile\n if (!startsWith(toSegments[0], \".\")) {\n var pathname = baseSegments.concat(toSegments).join(\"/\");\n return addQuery((basePathname === \"/\" ? \"\" : \"/\") + pathname, toQuery);\n }\n\n // ./ /users/123 => /users/123\n // ../ /users/123 => /users\n // ../.. /users/123 => /\n // ../../one /a/b/c/d => /a/b/one\n // .././one /a/b/c/d => /a/b/c/one\n var allSegments = baseSegments.concat(toSegments);\n var segments = [];\n for (var i = 0, l = allSegments.length; i < l; i++) {\n var segment = allSegments[i];\n if (segment === \"..\") segments.pop();else if (segment !== \".\") segments.push(segment);\n }\n return addQuery(\"/\" + segments.join(\"/\"), toQuery);\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// insertParams(path, params)\n\nvar insertParams = function insertParams(path, params) {\n var _path$split = path.split(\"?\"),\n pathBase = _path$split[0],\n _path$split$ = _path$split[1],\n query = _path$split$ === undefined ? \"\" : _path$split$;\n var segments = segmentize(pathBase);\n var constructedPath = \"/\" + segments.map(function (segment) {\n var match = paramRe.exec(segment);\n return match ? params[match[1]] : segment;\n }).join(\"/\");\n var _params$location = params.location;\n _params$location = _params$location === undefined ? {} : _params$location;\n var _params$location$sear = _params$location.search,\n search = _params$location$sear === undefined ? \"\" : _params$location$sear;\n var searchSplit = search.split(\"?\")[1] || \"\";\n constructedPath = addQuery(constructedPath, query, searchSplit);\n return constructedPath;\n};\nvar validateRedirect = function validateRedirect(from, to) {\n var filter = function filter(segment) {\n return isDynamic(segment);\n };\n var fromString = segmentize(from).filter(filter).sort().join(\"/\");\n var toString = segmentize(to).filter(filter).sort().join(\"/\");\n return fromString === toString;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Junk\nvar paramRe = /^:(.+)/;\nvar SEGMENT_POINTS = 4;\nvar STATIC_POINTS = 3;\nvar DYNAMIC_POINTS = 2;\nvar SPLAT_PENALTY = 1;\nvar ROOT_POINTS = 1;\nvar isRootSegment = function isRootSegment(segment) {\n return segment === \"\";\n};\nvar isDynamic = function isDynamic(segment) {\n return paramRe.test(segment);\n};\nvar isSplat = function isSplat(segment) {\n return segment && segment[0] === \"*\";\n};\nvar rankRoute = function rankRoute(route, index) {\n var score = route.default ? 0 : segmentize(route.path).reduce(function (score, segment) {\n score += SEGMENT_POINTS;\n if (isRootSegment(segment)) score += ROOT_POINTS;else if (isDynamic(segment)) score += DYNAMIC_POINTS;else if (isSplat(segment)) score -= SEGMENT_POINTS + SPLAT_PENALTY;else score += STATIC_POINTS;\n return score;\n }, 0);\n return {\n route: route,\n score: score,\n index: index\n };\n};\nvar rankRoutes = function rankRoutes(routes) {\n return routes.map(rankRoute).sort(function (a, b) {\n return a.score < b.score ? 1 : a.score > b.score ? -1 : a.index - b.index;\n });\n};\nvar segmentize = function segmentize(uri) {\n return uri\n // strip starting/ending slashes\n .replace(/(^\\/+|\\/+$)/g, \"\").split(\"/\");\n};\nvar addQuery = function addQuery(pathname) {\n for (var _len = arguments.length, query = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n query[_key - 1] = arguments[_key];\n }\n query = query.filter(function (q) {\n return q && q.length > 0;\n });\n return pathname + (query && query.length > 0 ? \"?\" + query.join(\"&\") : \"\");\n};\nvar reservedNames = [\"uri\", \"path\"];\n\n/**\n * Shallow compares two objects.\n * @param {Object} obj1 The first object to compare.\n * @param {Object} obj2 The second object to compare.\n */\nvar shallowCompare = function shallowCompare(obj1, obj2) {\n var obj1Keys = Object.keys(obj1);\n return obj1Keys.length === Object.keys(obj2).length && obj1Keys.every(function (key) {\n return obj2.hasOwnProperty(key) && obj1[key] === obj2[key];\n });\n};\n\n////////////////////////////////////////////////////////////////////////////////\nexport { startsWith, pick, match, resolve, insertParams, validateRedirect, shallowCompare };","var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n};\nvar getLocation = function getLocation(source) {\n var _source$location = source.location,\n search = _source$location.search,\n hash = _source$location.hash,\n href = _source$location.href,\n origin = _source$location.origin,\n protocol = _source$location.protocol,\n host = _source$location.host,\n hostname = _source$location.hostname,\n port = _source$location.port;\n var pathname = source.location.pathname;\n if (!pathname && href && canUseDOM) {\n var url = new URL(href);\n pathname = url.pathname;\n }\n return {\n pathname: encodeURI(decodeURI(pathname)),\n search: search,\n hash: hash,\n href: href,\n origin: origin,\n protocol: protocol,\n host: host,\n hostname: hostname,\n port: port,\n state: source.history.state,\n key: source.history.state && source.history.state.key || \"initial\"\n };\n};\nvar createHistory = function createHistory(source, options) {\n var listeners = [];\n var location = getLocation(source);\n var transitioning = false;\n var resolveTransition = function resolveTransition() {};\n return {\n get location() {\n return location;\n },\n get transitioning() {\n return transitioning;\n },\n _onTransitionComplete: function _onTransitionComplete() {\n transitioning = false;\n resolveTransition();\n },\n listen: function listen(listener) {\n listeners.push(listener);\n var popstateListener = function popstateListener() {\n location = getLocation(source);\n listener({\n location: location,\n action: \"POP\"\n });\n };\n source.addEventListener(\"popstate\", popstateListener);\n return function () {\n source.removeEventListener(\"popstate\", popstateListener);\n listeners = listeners.filter(function (fn) {\n return fn !== listener;\n });\n };\n },\n navigate: function navigate(to) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n state = _ref.state,\n _ref$replace = _ref.replace,\n replace = _ref$replace === undefined ? false : _ref$replace;\n if (typeof to === \"number\") {\n source.history.go(to);\n } else {\n state = _extends({}, state, {\n key: Date.now() + \"\"\n });\n // try...catch iOS Safari limits to 100 pushState calls\n try {\n if (transitioning || replace) {\n source.history.replaceState(state, null, to);\n } else {\n source.history.pushState(state, null, to);\n }\n } catch (e) {\n source.location[replace ? \"replace\" : \"assign\"](to);\n }\n }\n location = getLocation(source);\n transitioning = true;\n var transition = new Promise(function (res) {\n return resolveTransition = res;\n });\n listeners.forEach(function (listener) {\n return listener({\n location: location,\n action: \"PUSH\"\n });\n });\n return transition;\n }\n };\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Stores history entries in memory for testing or other platforms like Native\nvar createMemorySource = function createMemorySource() {\n var initialPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"/\";\n var searchIndex = initialPath.indexOf(\"?\");\n var initialLocation = {\n pathname: searchIndex > -1 ? initialPath.substr(0, searchIndex) : initialPath,\n search: searchIndex > -1 ? initialPath.substr(searchIndex) : \"\"\n };\n var index = 0;\n var stack = [initialLocation];\n var states = [null];\n return {\n get location() {\n return stack[index];\n },\n addEventListener: function addEventListener(name, fn) {},\n removeEventListener: function removeEventListener(name, fn) {},\n history: {\n get entries() {\n return stack;\n },\n get index() {\n return index;\n },\n get state() {\n return states[index];\n },\n pushState: function pushState(state, _, uri) {\n var _uri$split = uri.split(\"?\"),\n pathname = _uri$split[0],\n _uri$split$ = _uri$split[1],\n search = _uri$split$ === undefined ? \"\" : _uri$split$;\n index++;\n stack.push({\n pathname: pathname,\n search: search.length ? \"?\" + search : search\n });\n states.push(state);\n },\n replaceState: function replaceState(state, _, uri) {\n var _uri$split2 = uri.split(\"?\"),\n pathname = _uri$split2[0],\n _uri$split2$ = _uri$split2[1],\n search = _uri$split2$ === undefined ? \"\" : _uri$split2$;\n stack[index] = {\n pathname: pathname,\n search: search\n };\n states[index] = state;\n },\n go: function go(to) {\n var newIndex = index + to;\n if (newIndex < 0 || newIndex > states.length - 1) {\n return;\n }\n index = newIndex;\n }\n }\n };\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// global history - uses window.history as the source if available, otherwise a\n// memory history\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nvar getSource = function getSource() {\n return canUseDOM ? window : createMemorySource();\n};\nvar globalHistory = createHistory(getSource());\nvar navigate = globalHistory.navigate;\n\n////////////////////////////////////////////////////////////////////////////////\n\nexport { globalHistory, navigate, createHistory, createMemorySource };","var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n};\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n return target;\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\n/* eslint-disable jsx-a11y/anchor-has-content */\nimport React, { useContext, createContext } from \"react\";\nimport invariant from \"invariant\";\nimport { polyfill } from \"react-lifecycles-compat\";\nimport { startsWith, pick, resolve, match, insertParams, validateRedirect, shallowCompare } from \"./lib/utils\";\nimport { globalHistory, navigate, createHistory, createMemorySource } from \"./lib/history\";\n\n////////////////////////////////////////////////////////////////////////////////\n\nvar createNamedContext = function createNamedContext(name, defaultValue) {\n var Ctx = createContext(defaultValue);\n Ctx.displayName = name;\n return Ctx;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Location Context/Provider\nvar LocationContext = createNamedContext(\"Location\");\n\n// sets up a listener if there isn't one already so apps don't need to be\n// wrapped in some top level provider\nvar Location = function Location(_ref) {\n var children = _ref.children;\n return React.createElement(LocationContext.Consumer, null, function (context) {\n return context ? children(context) : React.createElement(LocationProvider, null, children);\n });\n};\nvar LocationProvider = function (_React$Component) {\n _inherits(LocationProvider, _React$Component);\n function LocationProvider() {\n var _temp, _this, _ret;\n _classCallCheck(this, LocationProvider);\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n context: _this.getContext(),\n refs: {\n unlisten: null\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n LocationProvider.prototype.getContext = function getContext() {\n var _props$history = this.props.history,\n navigate = _props$history.navigate,\n location = _props$history.location;\n return {\n navigate: navigate,\n location: location\n };\n };\n LocationProvider.prototype.componentDidCatch = function componentDidCatch(error, info) {\n if (isRedirect(error)) {\n var _navigate = this.props.history.navigate;\n _navigate(error.uri, {\n replace: true\n });\n } else {\n throw error;\n }\n };\n LocationProvider.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (prevState.context.location !== this.state.context.location) {\n this.props.history._onTransitionComplete();\n }\n };\n LocationProvider.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n var refs = this.state.refs,\n history = this.props.history;\n history._onTransitionComplete();\n refs.unlisten = history.listen(function () {\n Promise.resolve().then(function () {\n // TODO: replace rAF with react deferred update API when it's ready https://github.com/facebook/react/issues/13306\n requestAnimationFrame(function () {\n if (!_this2.unmounted) {\n _this2.setState(function () {\n return {\n context: _this2.getContext()\n };\n });\n }\n });\n });\n });\n };\n LocationProvider.prototype.componentWillUnmount = function componentWillUnmount() {\n var refs = this.state.refs;\n this.unmounted = true;\n refs.unlisten();\n };\n LocationProvider.prototype.render = function render() {\n var context = this.state.context,\n children = this.props.children;\n return React.createElement(LocationContext.Provider, {\n value: context\n }, typeof children === \"function\" ? children(context) : children || null);\n };\n return LocationProvider;\n}(React.Component);\n\n////////////////////////////////////////////////////////////////////////////////\n\nLocationProvider.defaultProps = {\n history: globalHistory\n};\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\nvar ServerLocation = function ServerLocation(_ref2) {\n var url = _ref2.url,\n children = _ref2.children;\n var searchIndex = url.indexOf(\"?\");\n var searchExists = searchIndex > -1;\n var pathname = void 0;\n var search = \"\";\n var hash = \"\";\n if (searchExists) {\n pathname = url.substring(0, searchIndex);\n search = url.substring(searchIndex);\n } else {\n pathname = url;\n }\n return React.createElement(LocationContext.Provider, {\n value: {\n location: {\n pathname: pathname,\n search: search,\n hash: hash\n },\n navigate: function navigate() {\n throw new Error(\"You can't call navigate on the server.\");\n }\n }\n }, children);\n};\n////////////////////////////////////////////////////////////////////////////////\n// Sets baseuri and basepath for nested routers and links\nvar BaseContext = createNamedContext(\"Base\", {\n baseuri: \"/\",\n basepath: \"/\",\n navigate: globalHistory.navigate\n});\n\n////////////////////////////////////////////////////////////////////////////////\n// The main event, welcome to the show everybody.\nvar Router = function Router(props) {\n return React.createElement(BaseContext.Consumer, null, function (baseContext) {\n return React.createElement(Location, null, function (locationContext) {\n return React.createElement(RouterImpl, _extends({}, baseContext, locationContext, props));\n });\n });\n};\nvar RouterImpl = function (_React$PureComponent) {\n _inherits(RouterImpl, _React$PureComponent);\n function RouterImpl() {\n _classCallCheck(this, RouterImpl);\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n RouterImpl.prototype.render = function render() {\n var _props = this.props,\n location = _props.location,\n _navigate2 = _props.navigate,\n basepath = _props.basepath,\n primary = _props.primary,\n children = _props.children,\n baseuri = _props.baseuri,\n _props$component = _props.component,\n component = _props$component === undefined ? \"div\" : _props$component,\n domProps = _objectWithoutProperties(_props, [\"location\", \"navigate\", \"basepath\", \"primary\", \"children\", \"baseuri\", \"component\"]);\n var routes = React.Children.toArray(children).reduce(function (array, child) {\n var routes = createRoute(basepath)(child);\n return array.concat(routes);\n }, []);\n var pathname = location.pathname;\n var match = pick(routes, pathname);\n if (match) {\n var params = match.params,\n uri = match.uri,\n route = match.route,\n element = match.route.value;\n\n // remove the /* from the end for child routes relative paths\n\n basepath = route.default ? basepath : route.path.replace(/\\*$/, \"\");\n var props = _extends({}, params, {\n uri: uri,\n location: location,\n navigate: function navigate(to, options) {\n return _navigate2(resolve(to, uri), options);\n }\n });\n var clone = React.cloneElement(element, props, element.props.children ? React.createElement(Router, {\n location: location,\n primary: primary\n }, element.props.children) : undefined);\n\n // using 'div' for < 16.3 support\n var FocusWrapper = primary ? FocusHandler : component;\n // don't pass any props to 'div'\n var wrapperProps = primary ? _extends({\n uri: uri,\n location: location,\n component: component\n }, domProps) : domProps;\n return React.createElement(BaseContext.Provider, {\n value: {\n baseuri: uri,\n basepath: basepath,\n navigate: props.navigate\n }\n }, React.createElement(FocusWrapper, wrapperProps, clone));\n } else {\n // Not sure if we want this, would require index routes at every level\n // warning(\n // false,\n // `\\n\\nNothing matched:\\n\\t${\n // location.pathname\n // }\\n\\nPaths checked: \\n\\t${routes\n // .map(route => route.path)\n // .join(\n // \"\\n\\t\"\n // )}\\n\\nTo get rid of this warning, add a default NotFound component as child of Router:\n // \\n\\tlet NotFound = () =>
Not Found!
\n // \\n\\t\\n\\t \\n\\t {/* ... */}\\n\\t`\n // );\n return null;\n }\n };\n return RouterImpl;\n}(React.PureComponent);\nRouterImpl.defaultProps = {\n primary: true\n};\nvar FocusContext = createNamedContext(\"Focus\");\nvar FocusHandler = function FocusHandler(_ref3) {\n var uri = _ref3.uri,\n location = _ref3.location,\n component = _ref3.component,\n domProps = _objectWithoutProperties(_ref3, [\"uri\", \"location\", \"component\"]);\n return React.createElement(FocusContext.Consumer, null, function (requestFocus) {\n return React.createElement(FocusHandlerImpl, _extends({}, domProps, {\n component: component,\n requestFocus: requestFocus,\n uri: uri,\n location: location\n }));\n });\n};\n\n// don't focus on initial render\nvar initialRender = true;\nvar focusHandlerCount = 0;\nvar FocusHandlerImpl = function (_React$Component2) {\n _inherits(FocusHandlerImpl, _React$Component2);\n function FocusHandlerImpl() {\n var _temp2, _this4, _ret2;\n _classCallCheck(this, FocusHandlerImpl);\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return _ret2 = (_temp2 = (_this4 = _possibleConstructorReturn(this, _React$Component2.call.apply(_React$Component2, [this].concat(args))), _this4), _this4.state = {}, _this4.requestFocus = function (node) {\n if (!_this4.state.shouldFocus && node) {\n node.focus();\n }\n }, _temp2), _possibleConstructorReturn(_this4, _ret2);\n }\n FocusHandlerImpl.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, prevState) {\n var initial = prevState.uri == null;\n if (initial) {\n return _extends({\n shouldFocus: true\n }, nextProps);\n } else {\n var myURIChanged = nextProps.uri !== prevState.uri;\n var navigatedUpToMe = prevState.location.pathname !== nextProps.location.pathname && nextProps.location.pathname === nextProps.uri;\n return _extends({\n shouldFocus: myURIChanged || navigatedUpToMe\n }, nextProps);\n }\n };\n FocusHandlerImpl.prototype.componentDidMount = function componentDidMount() {\n focusHandlerCount++;\n this.focus();\n };\n FocusHandlerImpl.prototype.componentWillUnmount = function componentWillUnmount() {\n focusHandlerCount--;\n if (focusHandlerCount === 0) {\n initialRender = true;\n }\n };\n FocusHandlerImpl.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (prevProps.location !== this.props.location && this.state.shouldFocus) {\n this.focus();\n }\n };\n FocusHandlerImpl.prototype.focus = function focus() {\n if (process.env.NODE_ENV === \"test\") {\n // getting cannot read property focus of null in the tests\n // and that bit of global `initialRender` state causes problems\n // should probably figure it out!\n return;\n }\n var requestFocus = this.props.requestFocus;\n if (requestFocus) {\n requestFocus(this.node);\n } else {\n if (initialRender) {\n initialRender = false;\n } else if (this.node) {\n // React polyfills [autofocus] and it fires earlier than cDM,\n // so we were stealing focus away, this line prevents that.\n if (!this.node.contains(document.activeElement)) {\n this.node.focus();\n }\n }\n }\n };\n FocusHandlerImpl.prototype.render = function render() {\n var _this5 = this;\n var _props2 = this.props,\n children = _props2.children,\n style = _props2.style,\n requestFocus = _props2.requestFocus,\n _props2$component = _props2.component,\n Comp = _props2$component === undefined ? \"div\" : _props2$component,\n uri = _props2.uri,\n location = _props2.location,\n domProps = _objectWithoutProperties(_props2, [\"children\", \"style\", \"requestFocus\", \"component\", \"uri\", \"location\"]);\n return React.createElement(Comp, _extends({\n style: _extends({\n outline: \"none\"\n }, style),\n tabIndex: \"-1\",\n ref: function ref(n) {\n return _this5.node = n;\n }\n }, domProps), React.createElement(FocusContext.Provider, {\n value: this.requestFocus\n }, this.props.children));\n };\n return FocusHandlerImpl;\n}(React.Component);\npolyfill(FocusHandlerImpl);\nvar k = function k() {};\n\n////////////////////////////////////////////////////////////////////////////////\nvar forwardRef = React.forwardRef;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = function forwardRef(C) {\n return C;\n };\n}\nvar Link = forwardRef(function (_ref4, ref) {\n var innerRef = _ref4.innerRef,\n props = _objectWithoutProperties(_ref4, [\"innerRef\"]);\n return React.createElement(BaseContext.Consumer, null, function (_ref5) {\n var basepath = _ref5.basepath,\n baseuri = _ref5.baseuri;\n return React.createElement(Location, null, function (_ref6) {\n var location = _ref6.location,\n navigate = _ref6.navigate;\n var to = props.to,\n state = props.state,\n replace = props.replace,\n _props$getProps = props.getProps,\n getProps = _props$getProps === undefined ? k : _props$getProps,\n anchorProps = _objectWithoutProperties(props, [\"to\", \"state\", \"replace\", \"getProps\"]);\n var href = resolve(to, baseuri);\n var encodedHref = encodeURI(href);\n var isCurrent = location.pathname === encodedHref;\n var isPartiallyCurrent = startsWith(location.pathname, encodedHref);\n return React.createElement(\"a\", _extends({\n ref: ref || innerRef,\n \"aria-current\": isCurrent ? \"page\" : undefined\n }, anchorProps, getProps({\n isCurrent: isCurrent,\n isPartiallyCurrent: isPartiallyCurrent,\n href: href,\n location: location\n }), {\n href: href,\n onClick: function onClick(event) {\n if (anchorProps.onClick) anchorProps.onClick(event);\n if (shouldNavigate(event)) {\n event.preventDefault();\n var shouldReplace = replace;\n if (typeof replace !== \"boolean\" && isCurrent) {\n var _location$state = _extends({}, location.state),\n key = _location$state.key,\n restState = _objectWithoutProperties(_location$state, [\"key\"]);\n shouldReplace = shallowCompare(_extends({}, state), restState);\n }\n navigate(href, {\n state: state,\n replace: shouldReplace\n });\n }\n }\n }));\n });\n });\n});\nLink.displayName = \"Link\";\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\n\n////////////////////////////////////////////////////////////////////////////////\nfunction RedirectRequest(uri) {\n this.uri = uri;\n}\nvar isRedirect = function isRedirect(o) {\n return o instanceof RedirectRequest;\n};\nvar redirectTo = function redirectTo(to) {\n throw new RedirectRequest(to);\n};\nvar RedirectImpl = function (_React$Component3) {\n _inherits(RedirectImpl, _React$Component3);\n function RedirectImpl() {\n _classCallCheck(this, RedirectImpl);\n return _possibleConstructorReturn(this, _React$Component3.apply(this, arguments));\n }\n\n // Support React < 16 with this hook\n RedirectImpl.prototype.componentDidMount = function componentDidMount() {\n var _props3 = this.props,\n navigate = _props3.navigate,\n to = _props3.to,\n from = _props3.from,\n _props3$replace = _props3.replace,\n replace = _props3$replace === undefined ? true : _props3$replace,\n state = _props3.state,\n noThrow = _props3.noThrow,\n baseuri = _props3.baseuri,\n props = _objectWithoutProperties(_props3, [\"navigate\", \"to\", \"from\", \"replace\", \"state\", \"noThrow\", \"baseuri\"]);\n Promise.resolve().then(function () {\n var resolvedTo = resolve(to, baseuri);\n navigate(insertParams(resolvedTo, props), {\n replace: replace,\n state: state\n });\n });\n };\n RedirectImpl.prototype.render = function render() {\n var _props4 = this.props,\n navigate = _props4.navigate,\n to = _props4.to,\n from = _props4.from,\n replace = _props4.replace,\n state = _props4.state,\n noThrow = _props4.noThrow,\n baseuri = _props4.baseuri,\n props = _objectWithoutProperties(_props4, [\"navigate\", \"to\", \"from\", \"replace\", \"state\", \"noThrow\", \"baseuri\"]);\n var resolvedTo = resolve(to, baseuri);\n if (!noThrow) redirectTo(insertParams(resolvedTo, props));\n return null;\n };\n return RedirectImpl;\n}(React.Component);\nvar Redirect = function Redirect(props) {\n return React.createElement(BaseContext.Consumer, null, function (_ref7) {\n var baseuri = _ref7.baseuri;\n return React.createElement(Location, null, function (locationContext) {\n return React.createElement(RedirectImpl, _extends({}, locationContext, {\n baseuri: baseuri\n }, props));\n });\n });\n};\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\n\n////////////////////////////////////////////////////////////////////////////////\nvar Match = function Match(_ref8) {\n var path = _ref8.path,\n children = _ref8.children;\n return React.createElement(BaseContext.Consumer, null, function (_ref9) {\n var baseuri = _ref9.baseuri;\n return React.createElement(Location, null, function (_ref10) {\n var navigate = _ref10.navigate,\n location = _ref10.location;\n var resolvedPath = resolve(path, baseuri);\n var result = match(resolvedPath, location.pathname);\n return children({\n navigate: navigate,\n location: location,\n match: result ? _extends({}, result.params, {\n uri: result.uri,\n path: path\n }) : null\n });\n });\n });\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Hooks\n\nvar useLocation = function useLocation() {\n var context = useContext(LocationContext);\n if (!context) {\n throw new Error(\"useLocation hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n return context.location;\n};\nvar useNavigate = function useNavigate() {\n var context = useContext(BaseContext);\n if (!context) {\n throw new Error(\"useNavigate hook was used but a BaseContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n return context.navigate;\n};\nvar useParams = function useParams() {\n var context = useContext(BaseContext);\n if (!context) {\n throw new Error(\"useParams hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n var location = useLocation();\n var results = match(context.basepath, location.pathname);\n return results ? results.params : null;\n};\nvar useMatch = function useMatch(path) {\n if (!path) {\n throw new Error(\"useMatch(path: string) requires an argument of a string to match against\");\n }\n var context = useContext(BaseContext);\n if (!context) {\n throw new Error(\"useMatch hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n var location = useLocation();\n var resolvedPath = resolve(path, context.baseuri);\n var result = match(resolvedPath, location.pathname);\n return result ? _extends({}, result.params, {\n uri: result.uri,\n path: path\n }) : null;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Junk\nvar stripSlashes = function stripSlashes(str) {\n return str.replace(/(^\\/+|\\/+$)/g, \"\");\n};\nvar createRoute = function createRoute(basepath) {\n return function (element) {\n if (!element) {\n return null;\n }\n if (element.type === React.Fragment && element.props.children) {\n return React.Children.map(element.props.children, createRoute(basepath));\n }\n !(element.props.path || element.props.default || element.type === Redirect) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \": Children of must have a `path` or `default` prop, or be a ``. None found on element type `\" + element.type + \"`\") : invariant(false) : void 0;\n !!(element.type === Redirect && (!element.props.from || !element.props.to)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \" requires both \\\"from\\\" and \\\"to\\\" props when inside a .\") : invariant(false) : void 0;\n !!(element.type === Redirect && !validateRedirect(element.props.from, element.props.to)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \" has mismatched dynamic segments, ensure both paths have the exact same dynamic segments.\") : invariant(false) : void 0;\n if (element.props.default) {\n return {\n value: element,\n default: true\n };\n }\n var elementPath = element.type === Redirect ? element.props.from : element.props.path;\n var path = elementPath === \"/\" ? basepath : stripSlashes(basepath) + \"/\" + stripSlashes(elementPath);\n return {\n value: element,\n default: element.props.default,\n path: element.props.children ? stripSlashes(path) + \"/*\" : path\n };\n };\n};\nvar shouldNavigate = function shouldNavigate(event) {\n return !event.defaultPrevented && event.button === 0 && !(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n};\n\n////////////////////////////////////////////////////////////////////////\nexport { Link, Location, LocationProvider, Match, Redirect, Router, ServerLocation, createHistory, createMemorySource, isRedirect, navigate, redirectTo, globalHistory, match as matchPath, useLocation, useNavigate, useParams, useMatch, resolve , BaseContext };","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","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _gatsby = require(\"gatsby\");\n\nvar _getManifestPathname = _interopRequireDefault(require(\"./get-manifest-pathname\"));\n\n/* global __MANIFEST_PLUGIN_HAS_LOCALISATION__ */\n// when we don't have localisation in our manifest, we tree shake everything away\nif (__MANIFEST_PLUGIN_HAS_LOCALISATION__) {\n exports.onRouteUpdate = function (_ref, pluginOptions) {\n var location = _ref.location;\n var localize = pluginOptions.localize;\n var manifestFilename = (0, _getManifestPathname.default)(location.pathname, localize);\n var manifestEl = document.head.querySelector(\"link[rel=\\\"manifest\\\"]\");\n\n if (manifestEl) {\n manifestEl.setAttribute(\"href\", (0, _gatsby.withPrefix)(manifestFilename));\n }\n };\n}","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","/* Web Font Loader v1.6.28 - (c) Adobe Systems, Google. License: Apache 2.0 */(function () {\n function aa(a, b, c) {\n return a.call.apply(a.bind, arguments);\n }\n function ba(a, b, c) {\n if (!a) throw Error();\n if (2 < arguments.length) {\n var d = Array.prototype.slice.call(arguments, 2);\n return function () {\n var c = Array.prototype.slice.call(arguments);\n Array.prototype.unshift.apply(c, d);\n return a.apply(b, c);\n };\n }\n return function () {\n return a.apply(b, arguments);\n };\n }\n function p(a, b, c) {\n p = Function.prototype.bind && -1 != Function.prototype.bind.toString().indexOf(\"native code\") ? aa : ba;\n return p.apply(null, arguments);\n }\n var q = Date.now || function () {\n return +new Date();\n };\n function ca(a, b) {\n this.a = a;\n this.o = b || a;\n this.c = this.o.document;\n }\n var da = !!window.FontFace;\n function t(a, b, c, d) {\n b = a.c.createElement(b);\n if (c) for (var e in c) c.hasOwnProperty(e) && (\"style\" == e ? b.style.cssText = c[e] : b.setAttribute(e, c[e]));\n d && b.appendChild(a.c.createTextNode(d));\n return b;\n }\n function u(a, b, c) {\n a = a.c.getElementsByTagName(b)[0];\n a || (a = document.documentElement);\n a.insertBefore(c, a.lastChild);\n }\n function v(a) {\n a.parentNode && a.parentNode.removeChild(a);\n }\n function w(a, b, c) {\n b = b || [];\n c = c || [];\n for (var d = a.className.split(/\\s+/), e = 0; e < b.length; e += 1) {\n for (var f = !1, g = 0; g < d.length; g += 1) if (b[e] === d[g]) {\n f = !0;\n break;\n }\n f || d.push(b[e]);\n }\n b = [];\n for (e = 0; e < d.length; e += 1) {\n f = !1;\n for (g = 0; g < c.length; g += 1) if (d[e] === c[g]) {\n f = !0;\n break;\n }\n f || b.push(d[e]);\n }\n a.className = b.join(\" \").replace(/\\s+/g, \" \").replace(/^\\s+|\\s+$/, \"\");\n }\n function y(a, b) {\n for (var c = a.className.split(/\\s+/), d = 0, e = c.length; d < e; d++) if (c[d] == b) return !0;\n return !1;\n }\n function ea(a) {\n return a.o.location.hostname || a.a.location.hostname;\n }\n function z(a, b, c) {\n function d() {\n m && e && f && (m(g), m = null);\n }\n b = t(a, \"link\", {\n rel: \"stylesheet\",\n href: b,\n media: \"all\"\n });\n var e = !1,\n f = !0,\n g = null,\n m = c || null;\n da ? (b.onload = function () {\n e = !0;\n d();\n }, b.onerror = function () {\n e = !0;\n g = Error(\"Stylesheet failed to load\");\n d();\n }) : setTimeout(function () {\n e = !0;\n d();\n }, 0);\n u(a, \"head\", b);\n }\n function A(a, b, c, d) {\n var e = a.c.getElementsByTagName(\"head\")[0];\n if (e) {\n var f = t(a, \"script\", {\n src: b\n }),\n g = !1;\n f.onload = f.onreadystatechange = function () {\n g || this.readyState && \"loaded\" != this.readyState && \"complete\" != this.readyState || (g = !0, c && c(null), f.onload = f.onreadystatechange = null, \"HEAD\" == f.parentNode.tagName && e.removeChild(f));\n };\n e.appendChild(f);\n setTimeout(function () {\n g || (g = !0, c && c(Error(\"Script load timeout\")));\n }, d || 5E3);\n return f;\n }\n return null;\n }\n ;\n function B() {\n this.a = 0;\n this.c = null;\n }\n function C(a) {\n a.a++;\n return function () {\n a.a--;\n D(a);\n };\n }\n function E(a, b) {\n a.c = b;\n D(a);\n }\n function D(a) {\n 0 == a.a && a.c && (a.c(), a.c = null);\n }\n ;\n function F(a) {\n this.a = a || \"-\";\n }\n F.prototype.c = function (a) {\n for (var b = [], c = 0; c < arguments.length; c++) b.push(arguments[c].replace(/[\\W_]+/g, \"\").toLowerCase());\n return b.join(this.a);\n };\n function G(a, b) {\n this.c = a;\n this.f = 4;\n this.a = \"n\";\n var c = (b || \"n4\").match(/^([nio])([1-9])$/i);\n c && (this.a = c[1], this.f = parseInt(c[2], 10));\n }\n function fa(a) {\n return H(a) + \" \" + (a.f + \"00\") + \" 300px \" + I(a.c);\n }\n function I(a) {\n var b = [];\n a = a.split(/,\\s*/);\n for (var c = 0; c < a.length; c++) {\n var d = a[c].replace(/['\"]/g, \"\");\n -1 != d.indexOf(\" \") || /^\\d/.test(d) ? b.push(\"'\" + d + \"'\") : b.push(d);\n }\n return b.join(\",\");\n }\n function J(a) {\n return a.a + a.f;\n }\n function H(a) {\n var b = \"normal\";\n \"o\" === a.a ? b = \"oblique\" : \"i\" === a.a && (b = \"italic\");\n return b;\n }\n function ga(a) {\n var b = 4,\n c = \"n\",\n d = null;\n a && ((d = a.match(/(normal|oblique|italic)/i)) && d[1] && (c = d[1].substr(0, 1).toLowerCase()), (d = a.match(/([1-9]00|normal|bold)/i)) && d[1] && (/bold/i.test(d[1]) ? b = 7 : /[1-9]00/.test(d[1]) && (b = parseInt(d[1].substr(0, 1), 10))));\n return c + b;\n }\n ;\n function ha(a, b) {\n this.c = a;\n this.f = a.o.document.documentElement;\n this.h = b;\n this.a = new F(\"-\");\n this.j = !1 !== b.events;\n this.g = !1 !== b.classes;\n }\n function ia(a) {\n a.g && w(a.f, [a.a.c(\"wf\", \"loading\")]);\n K(a, \"loading\");\n }\n function L(a) {\n if (a.g) {\n var b = y(a.f, a.a.c(\"wf\", \"active\")),\n c = [],\n d = [a.a.c(\"wf\", \"loading\")];\n b || c.push(a.a.c(\"wf\", \"inactive\"));\n w(a.f, c, d);\n }\n K(a, \"inactive\");\n }\n function K(a, b, c) {\n if (a.j && a.h[b]) if (c) a.h[b](c.c, J(c));else a.h[b]();\n }\n ;\n function ja() {\n this.c = {};\n }\n function ka(a, b, c) {\n var d = [],\n e;\n for (e in b) if (b.hasOwnProperty(e)) {\n var f = a.c[e];\n f && d.push(f(b[e], c));\n }\n return d;\n }\n ;\n function M(a, b) {\n this.c = a;\n this.f = b;\n this.a = t(this.c, \"span\", {\n \"aria-hidden\": \"true\"\n }, this.f);\n }\n function N(a) {\n u(a.c, \"body\", a.a);\n }\n function O(a) {\n return \"display:block;position:absolute;top:-9999px;left:-9999px;font-size:300px;width:auto;height:auto;line-height:normal;margin:0;padding:0;font-variant:normal;white-space:nowrap;font-family:\" + I(a.c) + \";\" + (\"font-style:\" + H(a) + \";font-weight:\" + (a.f + \"00\") + \";\");\n }\n ;\n function P(a, b, c, d, e, f) {\n this.g = a;\n this.j = b;\n this.a = d;\n this.c = c;\n this.f = e || 3E3;\n this.h = f || void 0;\n }\n P.prototype.start = function () {\n var a = this.c.o.document,\n b = this,\n c = q(),\n d = new Promise(function (d, e) {\n function f() {\n q() - c >= b.f ? e() : a.fonts.load(fa(b.a), b.h).then(function (a) {\n 1 <= a.length ? d() : setTimeout(f, 25);\n }, function () {\n e();\n });\n }\n f();\n }),\n e = null,\n f = new Promise(function (a, d) {\n e = setTimeout(d, b.f);\n });\n Promise.race([f, d]).then(function () {\n e && (clearTimeout(e), e = null);\n b.g(b.a);\n }, function () {\n b.j(b.a);\n });\n };\n function Q(a, b, c, d, e, f, g) {\n this.v = a;\n this.B = b;\n this.c = c;\n this.a = d;\n this.s = g || \"BESbswy\";\n this.f = {};\n this.w = e || 3E3;\n this.u = f || null;\n this.m = this.j = this.h = this.g = null;\n this.g = new M(this.c, this.s);\n this.h = new M(this.c, this.s);\n this.j = new M(this.c, this.s);\n this.m = new M(this.c, this.s);\n a = new G(this.a.c + \",serif\", J(this.a));\n a = O(a);\n this.g.a.style.cssText = a;\n a = new G(this.a.c + \",sans-serif\", J(this.a));\n a = O(a);\n this.h.a.style.cssText = a;\n a = new G(\"serif\", J(this.a));\n a = O(a);\n this.j.a.style.cssText = a;\n a = new G(\"sans-serif\", J(this.a));\n a = O(a);\n this.m.a.style.cssText = a;\n N(this.g);\n N(this.h);\n N(this.j);\n N(this.m);\n }\n var R = {\n D: \"serif\",\n C: \"sans-serif\"\n },\n S = null;\n function T() {\n if (null === S) {\n var a = /AppleWebKit\\/([0-9]+)(?:\\.([0-9]+))/.exec(window.navigator.userAgent);\n S = !!a && (536 > parseInt(a[1], 10) || 536 === parseInt(a[1], 10) && 11 >= parseInt(a[2], 10));\n }\n return S;\n }\n Q.prototype.start = function () {\n this.f.serif = this.j.a.offsetWidth;\n this.f[\"sans-serif\"] = this.m.a.offsetWidth;\n this.A = q();\n U(this);\n };\n function la(a, b, c) {\n for (var d in R) if (R.hasOwnProperty(d) && b === a.f[R[d]] && c === a.f[R[d]]) return !0;\n return !1;\n }\n function U(a) {\n var b = a.g.a.offsetWidth,\n c = a.h.a.offsetWidth,\n d;\n (d = b === a.f.serif && c === a.f[\"sans-serif\"]) || (d = T() && la(a, b, c));\n d ? q() - a.A >= a.w ? T() && la(a, b, c) && (null === a.u || a.u.hasOwnProperty(a.a.c)) ? V(a, a.v) : V(a, a.B) : ma(a) : V(a, a.v);\n }\n function ma(a) {\n setTimeout(p(function () {\n U(this);\n }, a), 50);\n }\n function V(a, b) {\n setTimeout(p(function () {\n v(this.g.a);\n v(this.h.a);\n v(this.j.a);\n v(this.m.a);\n b(this.a);\n }, a), 0);\n }\n ;\n function W(a, b, c) {\n this.c = a;\n this.a = b;\n this.f = 0;\n this.m = this.j = !1;\n this.s = c;\n }\n var X = null;\n W.prototype.g = function (a) {\n var b = this.a;\n b.g && w(b.f, [b.a.c(\"wf\", a.c, J(a).toString(), \"active\")], [b.a.c(\"wf\", a.c, J(a).toString(), \"loading\"), b.a.c(\"wf\", a.c, J(a).toString(), \"inactive\")]);\n K(b, \"fontactive\", a);\n this.m = !0;\n na(this);\n };\n W.prototype.h = function (a) {\n var b = this.a;\n if (b.g) {\n var c = y(b.f, b.a.c(\"wf\", a.c, J(a).toString(), \"active\")),\n d = [],\n e = [b.a.c(\"wf\", a.c, J(a).toString(), \"loading\")];\n c || d.push(b.a.c(\"wf\", a.c, J(a).toString(), \"inactive\"));\n w(b.f, d, e);\n }\n K(b, \"fontinactive\", a);\n na(this);\n };\n function na(a) {\n 0 == --a.f && a.j && (a.m ? (a = a.a, a.g && w(a.f, [a.a.c(\"wf\", \"active\")], [a.a.c(\"wf\", \"loading\"), a.a.c(\"wf\", \"inactive\")]), K(a, \"active\")) : L(a.a));\n }\n ;\n function oa(a) {\n this.j = a;\n this.a = new ja();\n this.h = 0;\n this.f = this.g = !0;\n }\n oa.prototype.load = function (a) {\n this.c = new ca(this.j, a.context || this.j);\n this.g = !1 !== a.events;\n this.f = !1 !== a.classes;\n pa(this, new ha(this.c, a), a);\n };\n function qa(a, b, c, d, e) {\n var f = 0 == --a.h;\n (a.f || a.g) && setTimeout(function () {\n var a = e || null,\n m = d || null || {};\n if (0 === c.length && f) L(b.a);else {\n b.f += c.length;\n f && (b.j = f);\n var h,\n l = [];\n for (h = 0; h < c.length; h++) {\n var k = c[h],\n n = m[k.c],\n r = b.a,\n x = k;\n r.g && w(r.f, [r.a.c(\"wf\", x.c, J(x).toString(), \"loading\")]);\n K(r, \"fontloading\", x);\n r = null;\n if (null === X) if (window.FontFace) {\n var x = /Gecko.*Firefox\\/(\\d+)/.exec(window.navigator.userAgent),\n xa = /OS X.*Version\\/10\\..*Safari/.exec(window.navigator.userAgent) && /Apple/.exec(window.navigator.vendor);\n X = x ? 42 < parseInt(x[1], 10) : xa ? !1 : !0;\n } else X = !1;\n X ? r = new P(p(b.g, b), p(b.h, b), b.c, k, b.s, n) : r = new Q(p(b.g, b), p(b.h, b), b.c, k, b.s, a, n);\n l.push(r);\n }\n for (h = 0; h < l.length; h++) l[h].start();\n }\n }, 0);\n }\n function pa(a, b, c) {\n var d = [],\n e = c.timeout;\n ia(b);\n var d = ka(a.a, c, a.c),\n f = new W(a.c, b, e);\n a.h = d.length;\n b = 0;\n for (c = d.length; b < c; b++) d[b].load(function (b, d, c) {\n qa(a, f, b, d, c);\n });\n }\n ;\n function ra(a, b) {\n this.c = a;\n this.a = b;\n }\n ra.prototype.load = function (a) {\n function b() {\n if (f[\"__mti_fntLst\" + d]) {\n var c = f[\"__mti_fntLst\" + d](),\n e = [],\n h;\n if (c) for (var l = 0; l < c.length; l++) {\n var k = c[l].fontfamily;\n void 0 != c[l].fontStyle && void 0 != c[l].fontWeight ? (h = c[l].fontStyle + c[l].fontWeight, e.push(new G(k, h))) : e.push(new G(k));\n }\n a(e);\n } else setTimeout(function () {\n b();\n }, 50);\n }\n var c = this,\n d = c.a.projectId,\n e = c.a.version;\n if (d) {\n var f = c.c.o;\n A(this.c, (c.a.api || \"https://fast.fonts.net/jsapi\") + \"/\" + d + \".js\" + (e ? \"?v=\" + e : \"\"), function (e) {\n e ? a([]) : (f[\"__MonotypeConfiguration__\" + d] = function () {\n return c.a;\n }, b());\n }).id = \"__MonotypeAPIScript__\" + d;\n } else a([]);\n };\n function sa(a, b) {\n this.c = a;\n this.a = b;\n }\n sa.prototype.load = function (a) {\n var b,\n c,\n d = this.a.urls || [],\n e = this.a.families || [],\n f = this.a.testStrings || {},\n g = new B();\n b = 0;\n for (c = d.length; b < c; b++) z(this.c, d[b], C(g));\n var m = [];\n b = 0;\n for (c = e.length; b < c; b++) if (d = e[b].split(\":\"), d[1]) for (var h = d[1].split(\",\"), l = 0; l < h.length; l += 1) m.push(new G(d[0], h[l]));else m.push(new G(d[0]));\n E(g, function () {\n a(m, f);\n });\n };\n function ta(a, b) {\n a ? this.c = a : this.c = ua;\n this.a = [];\n this.f = [];\n this.g = b || \"\";\n }\n var ua = \"https://fonts.googleapis.com/css\";\n function va(a, b) {\n for (var c = b.length, d = 0; d < c; d++) {\n var e = b[d].split(\":\");\n 3 == e.length && a.f.push(e.pop());\n var f = \"\";\n 2 == e.length && \"\" != e[1] && (f = \":\");\n a.a.push(e.join(f));\n }\n }\n function wa(a) {\n if (0 == a.a.length) throw Error(\"No fonts to load!\");\n if (-1 != a.c.indexOf(\"kit=\")) return a.c;\n for (var b = a.a.length, c = [], d = 0; d < b; d++) c.push(a.a[d].replace(/ /g, \"+\"));\n b = a.c + \"?family=\" + c.join(\"%7C\");\n 0 < a.f.length && (b += \"&subset=\" + a.f.join(\",\"));\n 0 < a.g.length && (b += \"&text=\" + encodeURIComponent(a.g));\n return b;\n }\n ;\n function ya(a) {\n this.f = a;\n this.a = [];\n this.c = {};\n }\n var za = {\n latin: \"BESbswy\",\n \"latin-ext\": \"\\u00e7\\u00f6\\u00fc\\u011f\\u015f\",\n cyrillic: \"\\u0439\\u044f\\u0416\",\n greek: \"\\u03b1\\u03b2\\u03a3\",\n khmer: \"\\u1780\\u1781\\u1782\",\n Hanuman: \"\\u1780\\u1781\\u1782\"\n },\n Aa = {\n thin: \"1\",\n extralight: \"2\",\n \"extra-light\": \"2\",\n ultralight: \"2\",\n \"ultra-light\": \"2\",\n light: \"3\",\n regular: \"4\",\n book: \"4\",\n medium: \"5\",\n \"semi-bold\": \"6\",\n semibold: \"6\",\n \"demi-bold\": \"6\",\n demibold: \"6\",\n bold: \"7\",\n \"extra-bold\": \"8\",\n extrabold: \"8\",\n \"ultra-bold\": \"8\",\n ultrabold: \"8\",\n black: \"9\",\n heavy: \"9\",\n l: \"3\",\n r: \"4\",\n b: \"7\"\n },\n Ba = {\n i: \"i\",\n italic: \"i\",\n n: \"n\",\n normal: \"n\"\n },\n Ca = /^(thin|(?:(?:extra|ultra)-?)?light|regular|book|medium|(?:(?:semi|demi|extra|ultra)-?)?bold|black|heavy|l|r|b|[1-9]00)?(n|i|normal|italic)?$/;\n function Da(a) {\n for (var b = a.f.length, c = 0; c < b; c++) {\n var d = a.f[c].split(\":\"),\n e = d[0].replace(/\\+/g, \" \"),\n f = [\"n4\"];\n if (2 <= d.length) {\n var g;\n var m = d[1];\n g = [];\n if (m) for (var m = m.split(\",\"), h = m.length, l = 0; l < h; l++) {\n var k;\n k = m[l];\n if (k.match(/^[\\w-]+$/)) {\n var n = Ca.exec(k.toLowerCase());\n if (null == n) k = \"\";else {\n k = n[2];\n k = null == k || \"\" == k ? \"n\" : Ba[k];\n n = n[1];\n if (null == n || \"\" == n) n = \"4\";else var r = Aa[n],\n n = r ? r : isNaN(n) ? \"4\" : n.substr(0, 1);\n k = [k, n].join(\"\");\n }\n } else k = \"\";\n k && g.push(k);\n }\n 0 < g.length && (f = g);\n 3 == d.length && (d = d[2], g = [], d = d ? d.split(\",\") : g, 0 < d.length && (d = za[d[0]]) && (a.c[e] = d));\n }\n a.c[e] || (d = za[e]) && (a.c[e] = d);\n for (d = 0; d < f.length; d += 1) a.a.push(new G(e, f[d]));\n }\n }\n ;\n function Ea(a, b) {\n this.c = a;\n this.a = b;\n }\n var Fa = {\n Arimo: !0,\n Cousine: !0,\n Tinos: !0\n };\n Ea.prototype.load = function (a) {\n var b = new B(),\n c = this.c,\n d = new ta(this.a.api, this.a.text),\n e = this.a.families;\n va(d, e);\n var f = new ya(e);\n Da(f);\n z(c, wa(d), C(b));\n E(b, function () {\n a(f.a, f.c, Fa);\n });\n };\n function Ga(a, b) {\n this.c = a;\n this.a = b;\n }\n Ga.prototype.load = function (a) {\n var b = this.a.id,\n c = this.c.o;\n b ? A(this.c, (this.a.api || \"https://use.typekit.net\") + \"/\" + b + \".js\", function (b) {\n if (b) a([]);else if (c.Typekit && c.Typekit.config && c.Typekit.config.fn) {\n b = c.Typekit.config.fn;\n for (var e = [], f = 0; f < b.length; f += 2) for (var g = b[f], m = b[f + 1], h = 0; h < m.length; h++) e.push(new G(g, m[h]));\n try {\n c.Typekit.load({\n events: !1,\n classes: !1,\n async: !0\n });\n } catch (l) {}\n a(e);\n }\n }, 2E3) : a([]);\n };\n function Ha(a, b) {\n this.c = a;\n this.f = b;\n this.a = [];\n }\n Ha.prototype.load = function (a) {\n var b = this.f.id,\n c = this.c.o,\n d = this;\n b ? (c.__webfontfontdeckmodule__ || (c.__webfontfontdeckmodule__ = {}), c.__webfontfontdeckmodule__[b] = function (b, c) {\n for (var g = 0, m = c.fonts.length; g < m; ++g) {\n var h = c.fonts[g];\n d.a.push(new G(h.name, ga(\"font-weight:\" + h.weight + \";font-style:\" + h.style)));\n }\n a(d.a);\n }, A(this.c, (this.f.api || \"https://f.fontdeck.com/s/css/js/\") + ea(this.c) + \"/\" + b + \".js\", function (b) {\n b && a([]);\n })) : a([]);\n };\n var Y = new oa(window);\n Y.a.c.custom = function (a, b) {\n return new sa(b, a);\n };\n Y.a.c.fontdeck = function (a, b) {\n return new Ha(b, a);\n };\n Y.a.c.monotype = function (a, b) {\n return new ra(b, a);\n };\n Y.a.c.typekit = function (a, b) {\n return new Ga(b, a);\n };\n Y.a.c.google = function (a, b) {\n return new Ea(b, a);\n };\n var Z = {\n load: p(Y.load, Y)\n };\n \"function\" === typeof define && define.amd ? define(function () {\n return Z;\n }) : \"undefined\" !== typeof module && module.exports ? module.exports = Z : (window.WebFont = Z, window.WebFontConfig && Y.load(window.WebFontConfig));\n})();","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);\n}\nmodule.exports = _inheritsLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","module.exports = {\n \"default\": require(\"core-js/library/fn/object/assign\"),\n __esModule: true\n};","var core = module.exports = { version: '2.6.12' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\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 { navigate as reachNavigate } from \"@gatsbyjs/reach-router\"\nimport { globalHistory } from \"@gatsbyjs/reach-router/lib/history\"\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_EXPERIMENTAL_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).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 // window.___webpackCompilationHash gets set in production-app.js after navigationInit() is called\n // So on a direct visit of a page with a browser redirect this check is truthy and thus the codepath is hit\n // While the resource actually exists, but only too late\n // TODO: This should probably be fixed by setting ___webpackCompilationHash before navigationInit() is called\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 // Check for initial page-load redirect\n maybeRedirect(window.location.pathname)\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(prevProps) {\n if (compareLocationProps(prevProps.location, this.props.location)) {\n onPreRouteUpdate(this.props.location, prevProps.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, { withErrorDetails: true }),\n }\n }\n\n static getDerivedStateFromProps({ location }, prevState) {\n if (prevState.location.href !== location.href) {\n const pageResources = loader.loadPageSync(location.pathname, {\n withErrorDetails: true,\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(nextProps.location.pathname)\n return false\n }\n\n if (\n process.env.BUILD_STAGE === `develop` &&\n nextState.pageResources.stale\n ) {\n this.loadResources(nextProps.location.pathname)\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 ReactDOM from \"react-dom\"\nimport { Router, navigate, Location, BaseContext } from \"@gatsbyjs/reach-router\"\nimport { ScrollContext } from \"gatsby-react-router-scroll\"\nimport { StaticQueryContext } from \"gatsby\"\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} from \"./loader\"\nimport EnsureResources from \"./ensure-resources\"\nimport stripPrefix from \"./strip-prefix\"\n\n// Generated during bootstrap\nimport matchPaths from \"$virtual/match-paths.json\"\n\nconst loader = new ProdLoader(asyncRequires, matchPaths, window.pageData)\nsetLoader(loader)\nloader.setApiRunner(apiRunner)\n\nwindow.asyncRequires = asyncRequires\nwindow.___emitter = emitter\nwindow.___loader = publicLoader\n\nnavigationInit()\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 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 return (\n \n \n {children}\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). But\n // 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 !== browserLoc.pathname &&\n !(\n loader.findMatchPath(stripPrefix(browserLoc.pathname, __BASE_PATH__)) ||\n pagePath === `/404.html` ||\n pagePath.match(/^\\/404\\/?$/) ||\n pagePath.match(/^\\/offline-plugin-app-shell-fallback\\/?$/)\n )\n ) {\n navigate(__BASE_PATH__ + pagePath + browserLoc.search + browserLoc.hash, {\n replace: true,\n })\n }\n\n publicLoader.loadPage(browserLoc.pathname).then(page => {\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 window.___webpackCompilationHash = page.page.webpackCompilationHash\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 renderer = apiRunner(\n `replaceHydrateFunction`,\n undefined,\n ReactDOM.hydrateRoot ? ReactDOM.hydrateRoot : ReactDOM.hydrate\n )[0]\n\n function runRender() {\n const rootElement =\n typeof window !== `undefined`\n ? document.getElementById(`___gatsby`)\n : null\n\n if (renderer === ReactDOM.hydrateRoot) {\n renderer(rootElement, )\n } else {\n renderer(, rootElement)\n }\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})\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","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = exports.ScrollContext = void 0;\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nexports.ScrollContext = _scrollHandler.ScrollHandler;\n\nvar _useScrollRestoration = require(\"./use-scroll-restoration\");\n\nexports.useScrollRestoration = _useScrollRestoration.useScrollRestoration;","\"use strict\";\n\nmodule.exports = Object.assign;","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.withPrefix = withPrefix;\nexports.withAssetPrefix = withAssetPrefix;\nexports.navigate = exports.default = void 0;\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reachRouter = require(\"@gatsbyjs/reach-router\");\n\nvar _utils = require(\"@gatsbyjs/reach-router/lib/utils\");\n\nvar _parsePath = require(\"./parse-path\");\n\nexports.parsePath = _parsePath.parsePath;\nvar _excluded = [\"to\", \"getProps\", \"onClick\", \"onMouseEnter\", \"activeClassName\", \"activeStyle\", \"innerRef\", \"partiallyActive\", \"state\", \"replace\", \"_location\"];\n\nvar isAbsolutePath = function isAbsolutePath(path) {\n return path === null || path === void 0 ? void 0 : path.startsWith(\"/\");\n};\n\nfunction withPrefix(path, prefix) {\n var _ref, _prefix;\n\n if (prefix === void 0) {\n prefix = getGlobalBasePrefix();\n }\n\n if (!isLocalLink(path)) {\n return path;\n }\n\n if (path.startsWith(\"./\") || path.startsWith(\"../\")) {\n return path;\n }\n\n var base = (_ref = (_prefix = prefix) !== null && _prefix !== void 0 ? _prefix : getGlobalPathPrefix()) !== null && _ref !== void 0 ? _ref : \"/\";\n return \"\" + (base !== null && base !== void 0 && base.endsWith(\"/\") ? base.slice(0, -1) : base) + (path.startsWith(\"/\") ? path : \"/\" + path);\n} // These global values are wrapped in typeof clauses to ensure the values exist.\n// This is especially problematic in unit testing of this component.\n\n\nvar getGlobalPathPrefix = function getGlobalPathPrefix() {\n return process.env.NODE_ENV !== \"production\" ? typeof __PATH_PREFIX__ !== \"undefined\" ? __PATH_PREFIX__ : undefined : __PATH_PREFIX__;\n};\n\nvar getGlobalBasePrefix = function getGlobalBasePrefix() {\n return process.env.NODE_ENV !== \"production\" ? typeof __BASE_PATH__ !== \"undefined\" ? __BASE_PATH__ : undefined : __BASE_PATH__;\n};\n\nvar isLocalLink = function isLocalLink(path) {\n return path && !path.startsWith(\"http://\") && !path.startsWith(\"https://\") && !path.startsWith(\"//\");\n};\n\nfunction withAssetPrefix(path) {\n return withPrefix(path, getGlobalPathPrefix());\n}\n\nfunction absolutify(path, current) {\n // If it's already absolute, return as-is\n if (isAbsolutePath(path)) {\n return path;\n }\n\n return (0, _utils.resolve)(path, current);\n}\n\nvar rewriteLinkPath = function rewriteLinkPath(path, relativeTo) {\n if (typeof path === \"number\") {\n return path;\n }\n\n if (!isLocalLink(path)) {\n return path;\n }\n\n return isAbsolutePath(path) ? withPrefix(path) : absolutify(path, relativeTo);\n};\n\nvar NavLinkPropTypes = {\n activeClassName: _propTypes.default.string,\n activeStyle: _propTypes.default.object,\n partiallyActive: _propTypes.default.bool\n}; // Set up IntersectionObserver\n\nvar createIntersectionObserver = function createIntersectionObserver(el, cb) {\n var io = new window.IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n if (el === entry.target) {\n // Check if element is within viewport, remove listener, destroy observer, and run link callback.\n // MSEdge doesn't currently support isIntersecting, so also test for an intersectionRatio > 0\n if (entry.isIntersecting || entry.intersectionRatio > 0) {\n io.unobserve(el);\n io.disconnect();\n cb();\n }\n }\n });\n }); // Add element to the observer\n\n io.observe(el);\n return {\n instance: io,\n el: el\n };\n};\n\nfunction GatsbyLinkLocationWrapper(props) {\n return /*#__PURE__*/_react.default.createElement(_reachRouter.Location, null, function (_ref2) {\n var location = _ref2.location;\n return /*#__PURE__*/_react.default.createElement(GatsbyLink, (0, _extends2.default)({}, props, {\n _location: location\n }));\n });\n}\n\nvar GatsbyLink = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(GatsbyLink, _React$Component);\n\n function GatsbyLink(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this; // Default to no support for IntersectionObserver\n\n _this.defaultGetProps = function (_ref3) {\n var isPartiallyCurrent = _ref3.isPartiallyCurrent,\n isCurrent = _ref3.isCurrent;\n\n if (_this.props.partiallyActive ? isPartiallyCurrent : isCurrent) {\n return {\n className: [_this.props.className, _this.props.activeClassName].filter(Boolean).join(\" \"),\n style: (0, _extends2.default)({}, _this.props.style, _this.props.activeStyle)\n };\n }\n\n return null;\n };\n\n var IOSupported = false;\n\n if (typeof window !== \"undefined\" && window.IntersectionObserver) {\n IOSupported = true;\n }\n\n _this.state = {\n IOSupported: IOSupported\n };\n _this.handleRef = _this.handleRef.bind((0, _assertThisInitialized2.default)(_this));\n return _this;\n }\n\n var _proto = GatsbyLink.prototype;\n\n _proto._prefetch = function _prefetch() {\n var currentPath = window.location.pathname; // reach router should have the correct state\n\n if (this.props._location && this.props._location.pathname) {\n currentPath = this.props._location.pathname;\n }\n\n var rewrittenPath = rewriteLinkPath(this.props.to, currentPath);\n var newPathName = (0, _parsePath.parsePath)(rewrittenPath).pathname; // Prefech is used to speed up next navigations. When you use it on the current navigation,\n // there could be a race-condition where Chrome uses the stale data instead of waiting for the network to complete\n\n if (currentPath !== newPathName) {\n ___loader.enqueue(newPathName);\n }\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n // Preserve non IO functionality if no support\n if (this.props.to !== prevProps.to && !this.state.IOSupported) {\n this._prefetch();\n }\n };\n\n _proto.componentDidMount = function componentDidMount() {\n // Preserve non IO functionality if no support\n if (!this.state.IOSupported) {\n this._prefetch();\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (!this.io) {\n return;\n }\n\n var _this$io = this.io,\n instance = _this$io.instance,\n el = _this$io.el;\n instance.unobserve(el);\n instance.disconnect();\n };\n\n _proto.handleRef = function handleRef(ref) {\n var _this2 = this;\n\n if (this.props.innerRef && this.props.innerRef.hasOwnProperty(\"current\")) {\n this.props.innerRef.current = ref;\n } else if (this.props.innerRef) {\n this.props.innerRef(ref);\n }\n\n if (this.state.IOSupported && ref) {\n // If IO supported and element reference found, setup Observer functionality\n this.io = createIntersectionObserver(ref, function () {\n _this2._prefetch();\n });\n }\n };\n\n _proto.render = function render() {\n var _this3 = this;\n\n var _this$props = this.props,\n to = _this$props.to,\n _this$props$getProps = _this$props.getProps,\n getProps = _this$props$getProps === void 0 ? this.defaultGetProps : _this$props$getProps,\n _onClick = _this$props.onClick,\n _onMouseEnter = _this$props.onMouseEnter,\n $activeClassName = _this$props.activeClassName,\n $activeStyle = _this$props.activeStyle,\n $innerRef = _this$props.innerRef,\n partiallyActive = _this$props.partiallyActive,\n state = _this$props.state,\n replace = _this$props.replace,\n _location = _this$props._location,\n rest = (0, _objectWithoutPropertiesLoose2.default)(_this$props, _excluded);\n\n if (process.env.NODE_ENV !== \"production\" && !isLocalLink(to)) {\n console.warn(\"External link \" + to + \" was detected in a Link component. Use the Link component only for internal links. See: https://gatsby.dev/internal-links\");\n }\n\n var prefixedTo = rewriteLinkPath(to, _location.pathname);\n\n if (!isLocalLink(prefixedTo)) {\n return /*#__PURE__*/_react.default.createElement(\"a\", (0, _extends2.default)({\n href: prefixedTo\n }, rest));\n }\n\n return /*#__PURE__*/_react.default.createElement(_reachRouter.Link, (0, _extends2.default)({\n to: prefixedTo,\n state: state,\n getProps: getProps,\n innerRef: this.handleRef,\n onMouseEnter: function onMouseEnter(e) {\n if (_onMouseEnter) {\n _onMouseEnter(e);\n }\n\n ___loader.hovering((0, _parsePath.parsePath)(prefixedTo).pathname);\n },\n onClick: function onClick(e) {\n if (_onClick) {\n _onClick(e);\n }\n\n if (e.button === 0 && // ignore right clicks\n !_this3.props.target && // let browser handle \"target=_blank\"\n !e.defaultPrevented && // onClick prevented default\n !e.metaKey && // ignore clicks with modifier keys...\n !e.altKey && !e.ctrlKey && !e.shiftKey) {\n e.preventDefault();\n var shouldReplace = replace;\n\n var isCurrent = encodeURI(prefixedTo) === _location.pathname;\n\n if (typeof replace !== \"boolean\" && isCurrent) {\n shouldReplace = true;\n } // Make sure the necessary scripts and data are\n // loaded before continuing.\n\n\n window.___navigate(prefixedTo, {\n state: state,\n replace: shouldReplace\n });\n }\n\n return true;\n }\n }, rest));\n };\n\n return GatsbyLink;\n}(_react.default.Component);\n\nGatsbyLink.propTypes = (0, _extends2.default)({}, NavLinkPropTypes, {\n onClick: _propTypes.default.func,\n to: _propTypes.default.string.isRequired,\n replace: _propTypes.default.bool,\n state: _propTypes.default.object\n});\n\nvar _default = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n return /*#__PURE__*/_react.default.createElement(GatsbyLinkLocationWrapper, (0, _extends2.default)({\n innerRef: ref\n }, props));\n});\n\nexports.default = _default;\n\nvar navigate = function navigate(to, options) {\n window.___navigate(rewriteLinkPath(to, window.location.pathname), options);\n};\n\nexports.navigate = navigate;","\"use strict\";\n\nexports.__esModule = true;\nexports.shallowCompare = exports.validateRedirect = exports.insertParams = exports.resolve = exports.match = exports.pick = exports.startsWith = undefined;\nvar _invariant = require(\"invariant\");\nvar _invariant2 = _interopRequireDefault(_invariant);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// startsWith(string, search) - Check if `string` starts with `search`\nvar startsWith = function startsWith(string, search) {\n return string.substr(0, search.length) === search;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// pick(routes, uri)\n//\n// Ranks and picks the best route to match. Each segment gets the highest\n// amount of points, then the type of segment gets an additional amount of\n// points where\n//\n// static > dynamic > splat > root\n//\n// This way we don't have to worry about the order of our routes, let the\n// computers do it.\n//\n// A route looks like this\n//\n// { path, default, value }\n//\n// And a returned match looks like:\n//\n// { route, params, uri }\n//\n// I know, I should use TypeScript not comments for these types.\nvar pick = function pick(routes, uri) {\n var match = void 0;\n var default_ = void 0;\n var _uri$split = uri.split(\"?\"),\n uriPathname = _uri$split[0];\n var uriSegments = segmentize(uriPathname);\n var isRootUri = uriSegments[0] === \"\";\n var ranked = rankRoutes(routes);\n for (var i = 0, l = ranked.length; i < l; i++) {\n var missed = false;\n var route = ranked[i].route;\n if (route.default) {\n default_ = {\n route: route,\n params: {},\n uri: uri\n };\n continue;\n }\n var routeSegments = segmentize(route.path);\n var params = {};\n var max = Math.max(uriSegments.length, routeSegments.length);\n var index = 0;\n for (; index < max; index++) {\n var routeSegment = routeSegments[index];\n var uriSegment = uriSegments[index];\n if (isSplat(routeSegment)) {\n // Hit a splat, just grab the rest, and return a match\n // uri: /files/documents/work\n // route: /files/*\n var param = routeSegment.slice(1) || \"*\";\n params[param] = uriSegments.slice(index).map(decodeURIComponent).join(\"/\");\n break;\n }\n if (uriSegment === undefined) {\n // URI is shorter than the route, no match\n // uri: /users\n // route: /users/:userId\n missed = true;\n break;\n }\n var dynamicMatch = paramRe.exec(routeSegment);\n if (dynamicMatch && !isRootUri) {\n var matchIsNotReserved = reservedNames.indexOf(dynamicMatch[1]) === -1;\n !matchIsNotReserved ? process.env.NODE_ENV !== \"production\" ? (0, _invariant2.default)(false, \" dynamic segment \\\"\" + dynamicMatch[1] + \"\\\" is a reserved name. Please use a different name in path \\\"\" + route.path + \"\\\".\") : (0, _invariant2.default)(false) : void 0;\n var value = decodeURIComponent(uriSegment);\n params[dynamicMatch[1]] = value;\n } else if (routeSegment !== uriSegment) {\n // Current segments don't match, not dynamic, not splat, so no match\n // uri: /users/123/settings\n // route: /users/:id/profile\n missed = true;\n break;\n }\n }\n if (!missed) {\n match = {\n route: route,\n params: params,\n uri: \"/\" + uriSegments.slice(0, index).join(\"/\")\n };\n break;\n }\n }\n return match || default_ || null;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// match(path, uri) - Matches just one path to a uri, also lol\nvar match = function match(path, uri) {\n return pick([{\n path: path\n }], uri);\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// resolve(to, basepath)\n//\n// Resolves URIs as though every path is a directory, no files. Relative URIs\n// in the browser can feel awkward because not only can you be \"in a directory\"\n// you can be \"at a file\", too. For example\n//\n// browserSpecResolve('foo', '/bar/') => /bar/foo\n// browserSpecResolve('foo', '/bar') => /foo\n//\n// But on the command line of a file system, it's not as complicated, you can't\n// `cd` from a file, only directories. This way, links have to know less about\n// their current path. To go deeper you can do this:\n//\n// \n// // instead of\n// \n//\n// Just like `cd`, if you want to go deeper from the command line, you do this:\n//\n// cd deeper\n// # not\n// cd $(pwd)/deeper\n//\n// By treating every path as a directory, linking to relative paths should\n// require less contextual information and (fingers crossed) be more intuitive.\nvar resolve = function resolve(to, base) {\n // /foo/bar, /baz/qux => /foo/bar\n if (startsWith(to, \"/\")) {\n return to;\n }\n var _to$split = to.split(\"?\"),\n toPathname = _to$split[0],\n toQuery = _to$split[1];\n var _base$split = base.split(\"?\"),\n basePathname = _base$split[0];\n var toSegments = segmentize(toPathname);\n var baseSegments = segmentize(basePathname);\n\n // ?a=b, /users?b=c => /users?a=b\n if (toSegments[0] === \"\") {\n return addQuery(basePathname, toQuery);\n }\n\n // profile, /users/789 => /users/789/profile\n if (!startsWith(toSegments[0], \".\")) {\n var pathname = baseSegments.concat(toSegments).join(\"/\");\n return addQuery((basePathname === \"/\" ? \"\" : \"/\") + pathname, toQuery);\n }\n\n // ./ /users/123 => /users/123\n // ../ /users/123 => /users\n // ../.. /users/123 => /\n // ../../one /a/b/c/d => /a/b/one\n // .././one /a/b/c/d => /a/b/c/one\n var allSegments = baseSegments.concat(toSegments);\n var segments = [];\n for (var i = 0, l = allSegments.length; i < l; i++) {\n var segment = allSegments[i];\n if (segment === \"..\") segments.pop();else if (segment !== \".\") segments.push(segment);\n }\n return addQuery(\"/\" + segments.join(\"/\"), toQuery);\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// insertParams(path, params)\n\nvar insertParams = function insertParams(path, params) {\n var _path$split = path.split(\"?\"),\n pathBase = _path$split[0],\n _path$split$ = _path$split[1],\n query = _path$split$ === undefined ? \"\" : _path$split$;\n var segments = segmentize(pathBase);\n var constructedPath = \"/\" + segments.map(function (segment) {\n var match = paramRe.exec(segment);\n return match ? params[match[1]] : segment;\n }).join(\"/\");\n var _params$location = params.location;\n _params$location = _params$location === undefined ? {} : _params$location;\n var _params$location$sear = _params$location.search,\n search = _params$location$sear === undefined ? \"\" : _params$location$sear;\n var searchSplit = search.split(\"?\")[1] || \"\";\n constructedPath = addQuery(constructedPath, query, searchSplit);\n return constructedPath;\n};\nvar validateRedirect = function validateRedirect(from, to) {\n var filter = function filter(segment) {\n return isDynamic(segment);\n };\n var fromString = segmentize(from).filter(filter).sort().join(\"/\");\n var toString = segmentize(to).filter(filter).sort().join(\"/\");\n return fromString === toString;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Junk\nvar paramRe = /^:(.+)/;\nvar SEGMENT_POINTS = 4;\nvar STATIC_POINTS = 3;\nvar DYNAMIC_POINTS = 2;\nvar SPLAT_PENALTY = 1;\nvar ROOT_POINTS = 1;\nvar isRootSegment = function isRootSegment(segment) {\n return segment === \"\";\n};\nvar isDynamic = function isDynamic(segment) {\n return paramRe.test(segment);\n};\nvar isSplat = function isSplat(segment) {\n return segment && segment[0] === \"*\";\n};\nvar rankRoute = function rankRoute(route, index) {\n var score = route.default ? 0 : segmentize(route.path).reduce(function (score, segment) {\n score += SEGMENT_POINTS;\n if (isRootSegment(segment)) score += ROOT_POINTS;else if (isDynamic(segment)) score += DYNAMIC_POINTS;else if (isSplat(segment)) score -= SEGMENT_POINTS + SPLAT_PENALTY;else score += STATIC_POINTS;\n return score;\n }, 0);\n return {\n route: route,\n score: score,\n index: index\n };\n};\nvar rankRoutes = function rankRoutes(routes) {\n return routes.map(rankRoute).sort(function (a, b) {\n return a.score < b.score ? 1 : a.score > b.score ? -1 : a.index - b.index;\n });\n};\nvar segmentize = function segmentize(uri) {\n return uri\n // strip starting/ending slashes\n .replace(/(^\\/+|\\/+$)/g, \"\").split(\"/\");\n};\nvar addQuery = function addQuery(pathname) {\n for (var _len = arguments.length, query = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n query[_key - 1] = arguments[_key];\n }\n query = query.filter(function (q) {\n return q && q.length > 0;\n });\n return pathname + (query && query.length > 0 ? \"?\" + query.join(\"&\") : \"\");\n};\nvar reservedNames = [\"uri\", \"path\"];\n\n/**\n * Shallow compares two objects.\n * @param {Object} obj1 The first object to compare.\n * @param {Object} obj2 The second object to compare.\n */\nvar shallowCompare = function shallowCompare(obj1, obj2) {\n var obj1Keys = Object.keys(obj1);\n return obj1Keys.length === Object.keys(obj2).length && obj1Keys.every(function (key) {\n return obj2.hasOwnProperty(key) && obj1[key] === obj2[key];\n });\n};\n\n////////////////////////////////////////////////////////////////////////////////\nexports.startsWith = startsWith;\nexports.pick = pick;\nexports.match = match;\nexports.resolve = resolve;\nexports.insertParams = insertParams;\nexports.validateRedirect = validateRedirect;\nexports.shallowCompare = shallowCompare;","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n","\"use strict\";\n\nexports.__esModule = true;\nvar _assign = require(\"../core-js/object/assign\");\nvar _assign2 = _interopRequireDefault(_assign);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nexports.default = _assign2.default || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n};","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","module.exports = true;\n","exports.f = {}.propertyIsEnumerable;\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","export default path => {\n if (path === undefined) {\n return path\n }\n if (path === `/`) {\n return `/`\n }\n if (path.charAt(path.length - 1) === `/`) {\n return path.slice(0, -1)\n }\n return path\n}\n","import { pick } from \"@gatsbyjs/reach-router/lib/utils\"\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 const pathname = decodeURIComponent(rawPathname)\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 // Remove search query\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","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// prefer default export if available\nconst preferDefault = m => (m && m.default) || m\n\nexports.components = {\n \"component---src-pages-404-js\": () => import(\"./../../../src/pages/404.js\" /* webpackChunkName: \"component---src-pages-404-js\" */),\n \"component---src-pages-about-us-js\": () => import(\"./../../../src/pages/about-us.js\" /* webpackChunkName: \"component---src-pages-about-us-js\" */),\n \"component---src-pages-board-of-directors-js\": () => import(\"./../../../src/pages/board-of-directors.js\" /* webpackChunkName: \"component---src-pages-board-of-directors-js\" */),\n \"component---src-pages-careers-js\": () => import(\"./../../../src/pages/careers.js\" /* webpackChunkName: \"component---src-pages-careers-js\" */),\n \"component---src-pages-chairmans-letters-js\": () => import(\"./../../../src/pages/chairmans-letters.js\" /* webpackChunkName: \"component---src-pages-chairmans-letters-js\" */),\n \"component---src-pages-corporate-responsibility-js\": () => import(\"./../../../src/pages/corporate-responsibility.js\" /* webpackChunkName: \"component---src-pages-corporate-responsibility-js\" */),\n \"component---src-pages-environment-js\": () => import(\"./../../../src/pages/environment.js\" /* webpackChunkName: \"component---src-pages-environment-js\" */),\n \"component---src-pages-esg-js\": () => import(\"./../../../src/pages/esg.js\" /* webpackChunkName: \"component---src-pages-esg-js\" */),\n \"component---src-pages-governace-js\": () => import(\"./../../../src/pages/governace.js\" /* webpackChunkName: \"component---src-pages-governace-js\" */),\n \"component---src-pages-governance-js\": () => import(\"./../../../src/pages/governance.js\" /* webpackChunkName: \"component---src-pages-governance-js\" */),\n \"component---src-pages-hong-kong-internships-js\": () => import(\"./../../../src/pages/hong-kong-internships.js\" /* webpackChunkName: \"component---src-pages-hong-kong-internships-js\" */),\n \"component---src-pages-index-js\": () => import(\"./../../../src/pages/index.js\" /* webpackChunkName: \"component---src-pages-index-js\" */),\n \"component---src-pages-international-franchises-js\": () => import(\"./../../../src/pages/international-franchises.js\" /* webpackChunkName: \"component---src-pages-international-franchises-js\" */),\n \"component---src-pages-philanthropic-programs-js\": () => import(\"./../../../src/pages/philanthropic-programs.js\" /* webpackChunkName: \"component---src-pages-philanthropic-programs-js\" */),\n \"component---src-pages-responsible-sourcing-js\": () => import(\"./../../../src/pages/responsible-sourcing.js\" /* webpackChunkName: \"component---src-pages-responsible-sourcing-js\" */),\n \"component---src-pages-senior-leadership-js\": () => import(\"./../../../src/pages/senior-leadership.js\" /* webpackChunkName: \"component---src-pages-senior-leadership-js\" */),\n \"component---src-pages-social-js\": () => import(\"./../../../src/pages/social.js\" /* webpackChunkName: \"component---src-pages-social-js\" */),\n \"component---src-pages-us-internships-js\": () => import(\"./../../../src/pages/us-internships.js\" /* webpackChunkName: \"component---src-pages-us-internships-js\" */),\n \"component---src-pages-who-we-are-js\": () => import(\"./../../../src/pages/who-we-are.js\" /* webpackChunkName: \"component---src-pages-who-we-are-js\" */)\n}\n\n","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\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"],"names":["module","exports","condition","format","a","b","c","d","e","f","error","undefined","Error","args","argIndex","replace","name","framesToPop","it","WebFont","require","onInitialClientRender","options","_extends3","default","plugins","load","isObject","TypeError","document","is","createElement","PageRenderer","_React$Component","apply","arguments","_inheritsLoose","prototype","render","props","this","params","grabMatchParams","location","pathname","pageResources","json","pageContext","__params","pageElement","component","key","path","page","apiRunner","element","_ref","result","pop","React","_arrayLikeToArray","r","length","n","Array","_toConsumableArray","isArray","Symbol","iterator","from","t","toString","call","slice","constructor","test","supportedPrefetchStrategy","feature","fakeLink","relList","supports","err","support","url","Promise","resolve","reject","link","setAttribute","Object","keys","forEach","onload","onerror","getElementsByTagName","getElementsByName","parentNode","appendChild","req","XMLHttpRequest","open","status","send","preFetched","then","catch","PageResourceStatus","Success","preferDefault","m","createPageDataUrl","s","endsWith","doFetch","method","onreadystatechange","readyState","toPageResources","pageData","componentChunkName","webpackCompilationHash","matchPath","staticQueryHashes","BaseLoader","loadComponent","matchPaths","inFlightNetworkRequests","Map","pageDb","inFlightDb","staticQueryDb","pageDataDb","prefetchTriggered","Set","prefetchCompleted","setMatchPaths","_proto","memoizedGet","inFlightPromise","get","set","response","delete","setApiRunner","prefetchDisabled","some","fetchPageDataJson","loadObj","pagePath","retries","responseText","jsonPayload","JSON","parse","assign","payload","notFound","loadPageDataJson","rawPath","findPath","has","findMatchPath","loadPage","all","loadAppData","allData","finalResult","componentChunkPromise","createdAt","Date","staticQueryBatchPromise","map","staticQueryHash","staticQueryResults","staticQueryResultsMap","_ref2","emitter","emit","loadPageSync","_options","withErrorDetails","shouldPrefetch","doesConnectionSupportPrefetch","navigator","connection","effectiveType","includes","saveData","prefetch","add","realPath","doPrefetch","pageDataUrl","prefetchHelper","crossOrigin","as","hovering","getResourceURLsForPathname","concat","createComponentUrls","isPageNotFound","appData","window","___chunkMapping","chunk","__PATH_PREFIX__","instance","ProdLoader","_BaseLoader2","asyncRequires","_this","chunkName","components","_proto2","componentUrls","data","setLoader","_loader","publicLoader","enqueue","getStaticQueryResults","prefetchPathname","loader","StaticQueryContext","StaticQueryDataRenderer","staticQueryData","query","finalData","StaticQuery","children","Consumer","useStaticQuery","_context$query","context","isNaN","Number","graphql","create","on","type","handler","push","off","splice","indexOf","evt","mitt","anObject","IE8_DOM_DEFINE","toPrimitive","dP","defineProperty","O","P","Attributes","value","__esModule","parsePath","search","hash","hashIndex","substr","searchIndex","exec","ReferenceError","split","Component","hasOwnProperty","id","px","Math","random","plugin","_interopRequireDefault","ScrollHandler","ScrollContext","_assertThisInitialized2","_inheritsLoose2","obj","nodeInterop","cache","_getRequireWildcardCache","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","_interopRequireWildcard","_propTypes","_sessionStorage","WeakMap","cacheBabelInterop","cacheNodeInterop","createContext","SessionStorage","displayName","_len","_key","_stateStorage","_isTicking","_latestKnownScrollY","scrollListener","scrollY","requestAnimationFrame","_saveScroll","bind","windowScroll","position","prevProps","shouldUpdateScroll","scrollTo","scrollToHash","node","getElementById","substring","scrollIntoView","prevRouterProps","routerProps","save","componentDidMount","scrollPosition","addEventListener","_this$props$location","read","decodeURI","componentWillUnmount","removeEventListener","componentDidUpdate","_this$props$location2","Provider","propTypes","func","isRequired","object","cof","propertyIsEnumerable","_extends","target","i","source","getLocation","_source$location","href","origin","protocol","host","hostname","port","canUseDOM","URL","encodeURI","state","history","createHistory","listeners","transitioning","resolveTransition","_onTransitionComplete","listen","listener","popstateListener","action","filter","fn","navigate","to","_ref$replace","go","now","replaceState","pushState","transition","res","createMemorySource","initialPath","initialLocation","index","stack","states","entries","_","uri","_uri$split","_uri$split$","_uri$split2","_uri$split2$","newIndex","globalHistory","console","serviceWorker","register","reg","installingWorker","installing","log","controller","___swUpdated","___failedResources","reload","ceil","floor","useScrollRestoration","identifier","_reachRouter","useLocation","_react","useContext","_scrollHandler","ref","useRef","useLayoutEffect","current","onScroll","scrollTop","localizedManifests","defaultFilename","localizedManifest","find","app","startsWith","start_url","lang","aFunction","that","redirectMap","redirectIgnoreCaseMap","maybeGetBrowserRedirect","redirect","toLowerCase","ignoreCase","fromPath","getOwnPropertySymbols","GATSBY_ROUTER_SCROLL_STATE","stateKey","getStateKey","sessionStorage","getItem","storedValue","stringify","setItem","stateKeyBase","createDesc","$keys","enumBugKeys","defined","listOfMetricsSend","debounce","timeout","timer","clearTimeout","setTimeout","sendWebVitals","dataLayerName","win","sendData","dataLayer","event","webVitalsMeasurement","round","sendToGTM","getLCP","getFID","getCLS","debouncedCLS","debouncedFID","debouncedLCP","onRouteUpdate","pluginOptions","eventName","routeChangeEventName","enableWebVitalsTracking","bitmap","enumerable","configurable","writable","_setPrototypeOf","setPrototypeOf","__proto__","o","string","pick","routes","match","default_","uriPathname","uriSegments","segmentize","isRootUri","ranked","rankRoutes","l","missed","route","routeSegments","max","routeSegment","uriSegment","isSplat","decodeURIComponent","join","dynamicMatch","paramRe","reservedNames","base","_to$split","toPathname","toQuery","basePathname","toSegments","baseSegments","addQuery","allSegments","segments","segment","insertParams","_path$split","pathBase","_path$split$","constructedPath","_params$location","_params$location$sear","searchSplit","isDynamic","rankRoute","score","reduce","isRootSegment","SEGMENT_POINTS","sort","q","_objectWithoutProperties","_classCallCheck","Constructor","_possibleConstructorReturn","self","_inherits","subClass","superClass","createNamedContext","defaultValue","Ctx","LocationContext","Location","LocationProvider","_temp","getContext","refs","unlisten","_props$history","componentDidCatch","info","isRedirect","_navigate","prevState","_this2","unmounted","setState","defaultProps","ServerLocation","BaseContext","baseuri","basepath","Router","baseContext","locationContext","RouterImpl","_React$PureComponent","_props","_navigate2","primary","_props$component","domProps","toArray","array","child","createRoute","clone","FocusWrapper","FocusHandler","wrapperProps","FocusContext","_ref3","requestFocus","FocusHandlerImpl","initialRender","focusHandlerCount","_React$Component2","_temp2","_this4","_len2","_key2","shouldFocus","focus","getDerivedStateFromProps","nextProps","myURIChanged","navigatedUpToMe","contains","activeElement","_this5","_props2","style","_props2$component","Comp","outline","tabIndex","k","forwardRef","C","Link","_ref4","innerRef","_ref5","_ref6","_props$getProps","getProps","anchorProps","encodedHref","isCurrent","isPartiallyCurrent","onClick","shouldNavigate","preventDefault","shouldReplace","_location$state","restState","obj1","obj2","obj1Keys","every","RedirectRequest","redirectTo","RedirectImpl","_React$Component3","_props3","_props3$replace","noThrow","resolvedTo","_props4","Redirect","_ref7","Match","_ref8","_ref9","_ref10","resolvedPath","useNavigate","useParams","results","useMatch","stripSlashes","str","elementPath","defaultPrevented","button","metaKey","altKey","ctrlKey","shiftKey","InternalPageRenderer","aa","ba","unshift","p","Function","ca","da","FontFace","cssText","createTextNode","u","documentElement","insertBefore","lastChild","v","removeChild","w","className","g","y","z","rel","media","A","src","tagName","B","D","E","F","G","parseInt","I","J","H","ga","ha","h","j","events","classes","L","K","ja","M","N","Q","start","fonts","fa","race","R","S","T","userAgent","la","U","offsetWidth","serif","V","ma","W","X","na","oa","qa","x","xa","vendor","ra","sa","ta","ua","ia","ka","pa","fontfamily","fontStyle","fontWeight","projectId","version","api","urls","families","testStrings","ya","za","latin","cyrillic","greek","khmer","Hanuman","Aa","thin","extralight","ultralight","light","regular","book","medium","semibold","demibold","bold","extrabold","ultrabold","black","heavy","Ba","italic","normal","Ca","Ea","Fa","Arimo","Cousine","Tinos","Ga","Ha","text","va","Da","encodeURIComponent","wa","Typekit","config","async","__webfontfontdeckmodule__","weight","ea","Y","custom","fontdeck","monotype","typekit","google","Z","shared","uid","core","__e","RouteAnnouncerProps","top","width","height","padding","overflow","clip","whiteSpace","border","maybeRedirect","___replace","toPath","nextRoute","reason","onPreRouteUpdate","prevLocation","timeoutId","___webpackCompilationHash","postMessage","gatsbyApi","reachNavigate","getSavedScrollPosition","oldPathname","RouteAnnouncer","announcementRef","pageName","title","pageHeadings","querySelectorAll","textContent","newAnnouncement","innerText","compareLocationProps","nextLocation","_prevLocation$state","_nextLocation$state","RouteUpdates","shouldComponentUpdate","shallowDiffers","_i","EnsureResources","loadResources","nextState","shallowCompare","___emitter","___loader","___push","___navigate","apiRunnerAsync","Boolean","RouteHandler","DataContext","GatsbyRoot","LocationHandler","__BASE_PATH__","stripPrefix","browserLoc","message","SiteRoot","App","onClientEntryRanRef","performance","mark","renderer","ReactDOM","hydrateRoot","runRender","rootElement","doc","doScroll","defaultReturn","argTransform","previous","next","global","__g","_useScrollRestoration","SHARED","store","mode","copyright","withPrefix","getGlobalPathPrefix","_objectWithoutPropertiesLoose2","_extends2","_utils","_parsePath","_excluded","isAbsolutePath","prefix","_prefix","getGlobalBasePrefix","isLocalLink","rewriteLinkPath","relativeTo","absolutify","NavLinkPropTypes","activeClassName","activeStyle","partiallyActive","bool","GatsbyLinkLocationWrapper","GatsbyLink","_location","defaultGetProps","IOSupported","IntersectionObserver","handleRef","_prefetch","currentPath","rewrittenPath","newPathName","io","_this$io","el","unobserve","disconnect","cb","entry","isIntersecting","intersectionRatio","observe","_this3","_this$props","_this$props$getProps","_onClick","_onMouseEnter","onMouseEnter","rest","prefixedTo","_default","validateRedirect","_invariant","_invariant2","val","valueOf","_assign","_assign2","toInteger","min","$export","IObject","charAt","pathCache","trimPathname","rawPathname","trimmedPathname","cleanPath","pickPaths","originalPath","normalizePagePath","foundPath","DESCRIPTORS","getKeys","gOPS","pIE","toObject","$assign","aLen","getSymbols","isEnum","toIObject","arrayIndexOf","IE_PROTO","names","component---src-pages-404-js","component---src-pages-about-us-js","component---src-pages-board-of-directors-js","component---src-pages-careers-js","component---src-pages-chairmans-letters-js","component---src-pages-corporate-responsibility-js","component---src-pages-environment-js","component---src-pages-esg-js","component---src-pages-governace-js","component---src-pages-governance-js","component---src-pages-hong-kong-internships-js","component---src-pages-index-js","component---src-pages-international-franchises-js","component---src-pages-philanthropic-programs-js","component---src-pages-responsible-sourcing-js","component---src-pages-senior-leadership-js","component---src-pages-social-js","component---src-pages-us-internships-js","component---src-pages-who-we-are-js","ctx","hide","PROTOTYPE","own","out","IS_FORCED","IS_GLOBAL","IS_STATIC","IS_PROTO","IS_BIND","IS_WRAP","expProto","virtual","toLength","toAbsoluteIndex","IS_INCLUDES","$this","fromIndex"],"sourceRoot":""}