{"version":3,"sources":["webpack:///./node_modules/gatsby-link/index.js","webpack:///./node_modules/gatsby-react-router-scroll/session-storage.js","webpack:///./node_modules/@babel/runtime/helpers/interopRequireWildcard.js","webpack:///./.cache/normalize-page-path.js","webpack:///./.cache/find-path.js","webpack:///./node_modules/gatsby-react-router-scroll/use-scroll-restoration.js","webpack:///./node_modules/@firebase/logger/dist/esm/index.esm2017.js","webpack:///./.cache/emitter.js","webpack:///./node_modules/mitt/dist/mitt.es.js","webpack:///./node_modules/gatsby-react-router-scroll/index.js","webpack:///./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack:///./node_modules/process/browser.js","webpack:///./.cache/react-lifecycles-compat.js","webpack:///./node_modules/@reach/router/es/lib/history.js","webpack:///./node_modules/gatsby-plugin-manifest/get-manifest-pathname.js","webpack:///./node_modules/gatsby-react-router-scroll/scroll-handler.js","webpack:///./node_modules/firebase/firestore/dist/esm/index.esm.js","webpack:///./gatsby-browser.js","webpack:///./node_modules/@firebase/util/dist/index.esm2017.js","webpack:///./.cache/page-renderer.js","webpack:///./node_modules/@firebase/component/dist/esm/index.esm2017.js","webpack:///./node_modules/gatsby-plugin-google-tagmanager/gatsby-browser.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack:///./node_modules/@reach/router/es/lib/utils.js","webpack:///./.cache/api-runner-browser-plugins.js","webpack:///./node_modules/@mikaelkristiansson/domready/ready.js","webpack:///./.cache/register-service-worker.js","webpack:///./.cache/_this_is_virtual_fs_path_/$virtual/async-requires.js","webpack:///./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack:///./node_modules/invariant/browser.js","webpack:///./src/context/GlobalContextProvider.js","webpack:///./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack:///./.cache/route-announcer-props.js","webpack:///./.cache/navigation.js","webpack:///./node_modules/shallow-compare/es/index.js","webpack:///./.cache/ensure-resources.js","webpack:///./.cache/production-app.js","webpack:///./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack:///./node_modules/@firebase/app/node_modules/idb/build/wrap-idb-value.js","webpack:///./node_modules/@firebase/app/node_modules/idb/build/index.js","webpack:///./node_modules/@firebase/app/dist/esm/index.esm2017.js","webpack:///./.cache/gatsby-browser-entry.js","webpack:///./node_modules/gatsby/dist/internal-plugins/bundle-optimisations/polyfills/object-assign.js","webpack:///./node_modules/@reach/router/es/index.js","webpack:///./node_modules/@babel/runtime/helpers/typeof.js","webpack:///./.cache/strip-prefix.js","webpack:///./node_modules/gatsby-link/parse-path.js","webpack:///./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack:///./node_modules/smoothscroll-polyfill/dist/smoothscroll.js","webpack:///./.cache/prefetch.js","webpack:///./.cache/loader.js","webpack:///./node_modules/gatsby-react-router-scroll/scroll-container.js","webpack:///./.cache/public-page-renderer.js","webpack:///./node_modules/@firebase/webchannel-wrapper/dist/esm/index.esm2017.js","webpack:///./node_modules/gatsby-plugin-manifest/gatsby-browser.js","webpack:///./.cache/create-react-context.js","webpack:///./node_modules/@babel/runtime/helpers/extends.js","webpack:///./.cache/public-page-renderer-prod.js","webpack:///./.cache/api-runner-browser.js","webpack:///(webpack)/buildin/global.js"],"names":["_interopRequireDefault","exports","__esModule","withPrefix","withAssetPrefix","path","getGlobalPathPrefix","navigateTo","replace","push","navigate","default","_objectWithoutPropertiesLoose2","_assertThisInitialized2","_inheritsLoose2","_extends2","_propTypes","_react","_router","_utils","_parsePath","parsePath","isAbsolutePath","startsWith","prefix","_ref","_prefix","getGlobalBasePrefix","isLocalLink","base","endsWith","slice","rewriteLinkPath","relativeTo","current","resolve","absolutify","NavLinkPropTypes","activeClassName","string","activeStyle","object","partiallyActive","bool","GatsbyLinkLocationWrapper","props","createElement","Location","_ref2","location","GatsbyLink","_location","_React$Component","_this","call","this","defaultGetProps","_ref3","isPartiallyCurrent","isCurrent","className","filter","Boolean","join","style","IOSupported","window","IntersectionObserver","state","handleRef","bind","_proto","prototype","_prefetch","currentPath","pathname","rewrittenPath","to","newPathName","___loader","enqueue","componentDidUpdate","prevProps","prevState","componentDidMount","componentWillUnmount","io","_this$io","instance","el","unobserve","disconnect","ref","cb","_this2","innerRef","hasOwnProperty","entries","forEach","entry","target","isIntersecting","intersectionRatio","observe","render","_this3","_this$props","_this$props$getProps","getProps","_onClick","onClick","_onMouseEnter","onMouseEnter","rest","prefixedTo","Link","e","hovering","button","defaultPrevented","metaKey","altKey","ctrlKey","shiftKey","preventDefault","shouldReplace","encodeURI","___navigate","href","Component","propTypes","func","isRequired","showDeprecationWarning","functionName","altFunctionName","version","console","warn","_default","forwardRef","options","___push","___replace","SessionStorage","read","key","stateKey","getStateKey","value","sessionStorage","getItem","JSON","parse","save","storedValue","stringify","setItem","stateKeyBase","_typeof","_getRequireWildcardCache","WeakMap","r","t","module","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","i","set","undefined","charAt","length","pathCache","Map","matchPaths","trimPathname","rawPathname","decodeURIComponent","stripPrefix","__BASE_PATH__","split","URL","setMatchPaths","findMatchPath","trimmedPathname","cleanPath","pickPaths","map","matchPath","originalPath","pick","normalizePagePath","route","grabMatchParams","params","findPath","foundPath","useScrollRestoration","identifier","useLocation","useContext","_scrollHandler","ScrollContext","useRef","useLayoutEffect","position","scrollTo","onScroll","scrollTop","instances","LogLevel","levelStringToEnum","DEBUG","VERBOSE","INFO","WARN","ERROR","SILENT","defaultLogLevel","ConsoleMethod","defaultLogHandler","logType","logLevel","now","Date","toISOString","method","Error","_len","arguments","args","Array","_key","name","Logger","_logLevel","_logHandler","_userLogHandler","val","TypeError","_len2","_key2","_len3","_key3","_len4","_key4","_len5","_key5","_len6","_key6","setLogLevel","level","inst","setUserLogHandler","logCallback","customLogLevel","userLogHandler","_len7","_key7","message","arg","toString","ignored","toLowerCase","type","emitter","all","create","on","handler","off","splice","indexOf","emit","evt","mitt","ScrollContainer","ScrollHandler","_scrollContainer","_useScrollRestoration","includes","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","timeout","len","run","marker","runClearTimeout","Item","array","noop","nextTick","apply","title","browser","env","argv","versions","addListener","once","removeListener","removeAllListeners","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","polyfill","_extends","assign","source","getLocation","_source$location","search","hash","origin","protocol","host","hostname","port","canUseDOM","decodeURI","history","createHistory","transitioning","resolveTransition","_onTransitionComplete","listen","listener","popstateListener","action","addEventListener","removeEventListener","fn","_ref$replace","go","replaceState","pushState","transition","Promise","res","createMemorySource","initialPath","searchIndex","initialLocation","substr","index","stack","states","_","uri","_uri$split","_uri$split$","_uri$split2","_uri$split2$","newIndex","document","globalHistory","localizedManifests","isArray","localizedManifest","find","app","start_url","lang","_interopRequireWildcard","React","_sessionStorage","createContext","displayName","_stateStorage","scrollListener","scrollY","windowScroll","shouldUpdateScroll","scrollToHash","node","getElementById","substring","scrollIntoView","prevRouterProps","routerProps","scrollPosition","_this$props$location","_this$props$location2","Provider","children","element","smoothscroll","wrapRootElement","GlobalContextProvider","stringToByteArray$1","str","out","p","c","charCodeAt","base64","byteToCharMap_","charToByteMap_","byteToCharMapWebSafe_","charToByteMapWebSafe_","ENCODED_VALS_BASE","HAS_NATIVE_SUPPORT","atob","input","webSafe","init_","byteToCharMap","output","byte1","haveByte2","byte2","haveByte3","byte3","outByte1","outByte2","outByte3","outByte4","btoa","encodeByteArray","bytes","pos","c1","String","fromCharCode","c2","c3","byteArrayToString","decodeStringToByteArray","charToByteMap","byte4","DecodeBase64StringError","ENCODED_VALS","ENCODED_VALS_WEBSAFE","super","base64urlEncodeWithoutPadding","utf8Bytes","base64Encode","base64Decode","decodeString","error","getDefaultsFromGlobal","self","global","getGlobal","__FIREBASE_DEFAULTS__","getDefaults","defaultsJsonString","getDefaultsFromEnvVariable","match","cookie","decoded","getDefaultsFromCookie","info","getDefaultEmulatorHost","productName","_a","_b","emulatorHosts","getDefaultEmulatorHostnameAndPort","separatorIndex","lastIndexOf","parseInt","getDefaultAppConfig","config","getExperimentalSetting","Deferred","reject","promise","callback","catch","createMockUserToken","token","projectId","uid","project","iat","sub","user_id","payload","iss","aud","exp","auth_time","firebase","sign_in_provider","identities","alg","getUA","navigator","isMobileCordova","test","isNode","forceEnvironment","isBrowserExtension","runtime","chrome","id","isReactNative","isIE","ua","isSafari","userAgent","isIndexedDBAvailable","indexedDB","validateIndexedDBOpenable","preExist","DB_CHECK_NAME","request","open","onsuccess","result","close","deleteDatabase","onupgradeneeded","onerror","FirebaseError","code","customData","setPrototypeOf","captureStackTrace","ErrorFactory","service","serviceName","errors","fullCode","template","data","PATTERN","replaceTemplate","fullMessage","isEmpty","obj","deepEqual","b","aKeys","keys","bKeys","k","aProp","bProp","isObject","thing","querystring","querystringParams","arrayVal","encodeURIComponent","querystringDecode","extractQuerystring","url","queryStart","fragmentStart","createSubscribe","executor","onNoObservers","proxy","ObserverProxy","subscribe","observers","unsubscribes","observerCount","task","finalized","then","forEachObserver","observer","next","complete","nextOrObserver","methods","implementsAnyMethods","unsub","unsubscribeOne","finalError","sendOne","err","getModularInstance","_delegate","PageRenderer","_inheritsLoose","pageResources","json","pageContext","__params","pathContext","replacementElement","apiRunner","loader","publicLoader","pageElement","component","page","pop","instanceFactory","multipleInstances","serviceProps","instantiationMode","onInstanceCreated","mode","container","instancesDeferred","instancesOptions","onInitCallbacks","normalizedIdentifier","normalizeInstanceIdentifier","deferred","isInitialized","shouldAutoInitialize","getOrInitializeService","instanceIdentifier","optional","isComponentEager","instanceDeferred","delete","services","from","values","INTERNAL","_delete","opts","isComponentSet","existingCallbacks","Set","add","existingInstance","callbacks","invokeOnInitCallbacks","ComponentContainer","providers","provider","getProvider","setComponent","addComponent","onRouteUpdate","pluginOptions","dataLayerName","dataLayer","eventName","routeChangeEventName","event","_arrayLikeToArray","_toConsumableArray","Symbol","iterator","constructor","routes","default_","uriPathname","uriSegments","segmentize","isRootUri","ranked","rankRoutes","l","missed","routeSegments","max","Math","routeSegment","uriSegment","isSplat","dynamicMatch","paramRe","exec","reservedNames","_to$split","toPathname","toQuery","basePathname","toSegments","baseSegments","addQuery","allSegments","segments","segment","insertParams","_path$split","pathBase","_path$split$","query","constructedPath","_params$location","_params$location$sear","searchSplit","validateRedirect","isDynamic","sort","rankRoute","score","reduce","isRootSegment","SEGMENT_POINTS","q","shallowCompare","obj1","obj2","obj1Keys","every","plugin","require","ie10","appVersion","fns","doc","hack","documentElement","doScroll","loaded","readyState","shift","definition","serviceWorker","register","reg","installingWorker","installing","log","controller","___swUpdated","___failedResources","reload","components","component---src-pages-404-js","component---src-pages-acreditacionlolla-js","component---src-pages-agegate-jsx","component---src-pages-backtolive-js","component---src-pages-budstage-404-js","component---src-pages-budstage-index-js","component---src-pages-budstage-loading-js","component---src-pages-budstage-mis-temas-js","component---src-pages-budstage-participate-js","component---src-pages-budstage-share-js","component---src-pages-budstage-success-js","component---src-pages-budstage-tema-js","component---src-pages-budstage-temas-js","component---src-pages-budstage-tyc-js","component---src-pages-budsummer-js","component---src-pages-budx-js","component---src-pages-cattaneo-js","component---src-pages-entradaslolla-js","component---src-pages-esports-js","component---src-pages-eventos-js","component---src-pages-fanfest-js","component---src-pages-festejomundial-js","component---src-pages-futbol-js","component---src-pages-index-js","component---src-pages-labanderaentusmanos-js","component---src-pages-lamusicaentusmanos-js","component---src-pages-lamusicaentusmanos-lolla-index-js","component---src-pages-lamusicaentusmanos-mute-index-js","component---src-pages-lamusicaentusmanos-success-js","component---src-pages-mapabudmundial-js","component---src-pages-messi-644-js","component---src-pages-producto-js","component---src-pages-sustentabilidad-js","component---src-templates-lolla-event-js","component---src-templates-mute-event-js","ReferenceError","condition","format","d","f","argIndex","framesToPop","GlobalStateContext","GlobalDispatchContext","initialState","showModalRegister","user","events","venues","reducer","dispatch","useReducer","_setPrototypeOf","RouteAnnouncerProps","top","width","height","padding","overflow","clip","whiteSpace","border","redirectMap","redirectIgnoreCaseMap","maybeRedirect","redirect","toPath","redirects","ignoreCase","fromPath","onPreRouteUpdate","prevLocation","timeoutId","loadPage","status","PageResourceStatus","webpackCompilationHash","___webpackCompilationHash","postMessage","gatsbyApi","reachNavigate","results","getSavedScrollPosition","oldPathname","RouteAnnouncer","announcementRef","createRef","nextProps","requestAnimationFrame","pageName","pageHeadings","querySelectorAll","textContent","newAnnouncement","innerText","compareLocationProps","nextLocation","_prevLocation$state","_nextLocation$state","RouteUpdates","_React$Component2","_proto2","shouldComponentUpdate","Fragment","shallowDiffers","_i","EnsureResources","loadPageSync","getDerivedStateFromProps","loadResources","rawPath","setState","nextState","ProdLoader","asyncRequires","setLoader","setApiRunner","___emitter","apiRunnerAsync","RouteHandler","BaseContext","baseuri","basepath","DataContext","GatsbyRoot","staticQueryResults","getStaticQueryResults","StaticQueryContext","LocationHandler","Consumer","Router","pagePath","browserLoc","SiteRoot","_ref4","App","renderer","ReactDOM","hydrate","domReady","o","idbProxyableTypes","cursorAdvanceMethods","cursorRequestMap","transactionDoneMap","transactionStoreNamesMap","transformCache","reverseTransformCache","idbProxyTraps","prop","receiver","IDBTransaction","objectStoreNames","objectStore","wrap","wrapFunction","IDBDatabase","transaction","IDBCursor","advance","continue","continuePrimaryKey","unwrap","storeNames","tx","transformCachableValue","done","unlisten","DOMException","cacheDonePromiseForTransaction","IDBObjectStore","IDBIndex","some","Proxy","IDBRequest","success","promisifyRequest","newValue","readMethods","writeMethods","cachedMethods","getMethod","targetFuncName","useIndex","isWrite","async","storeName","store","oldTraps","PlatformLoggerServiceImpl","getProviders","getComponent","isVersionServiceProvider","getImmediate","library","logString","name$o","logger","PLATFORM_LOG_STRING","_apps","_components","_addComponent","debug","_registerComponent","componentName","_getProvider","heartbeatController","triggerHeartbeat","_removeServiceInstance","clearInstance","ERRORS","ERROR_FACTORY","_isDeleted","_options","_config","_name","_automaticDataCollectionEnabled","automaticDataCollectionEnabled","_container","checkDestroyed","isDeleted","appName","SDK_VERSION","initializeApp","rawConfig","existingApp","newApp","getApp","registerVersion","libraryKeyOrName","variant","libraryMismatch","versionMismatch","warning","STORE_NAME","dbPromise","getDbPromise","blocked","upgrade","blocking","terminated","openPromise","oldVersion","newVersion","db","openDB","createObjectStore","originalErrorMessage","writeHeartbeatsToIndexedDB","heartbeatObject","put","computeKey","idbGetError","appId","_heartbeatsCache","_storage","_heartbeatsCachePromise","agent","getPlatformInfoString","date","getUTCDateString","lastSentHeartbeatDate","heartbeats","singleDateHeartbeat","hbTimestamp","valueOf","overwrite","heartbeatsToSend","unsentEntries","heartbeatsCache","maxSize","heartbeatEntry","hb","dates","countBytes","extractHeartbeatsForHeader","headerString","_canUseIndexedDBPromise","runIndexedDBEnvironmentCheck","readHeartbeatsFromIndexedDB","heartbeatsObject","existingHeartbeatsObject","prefetchPathname","StaticQueryDataRenderer","staticQueryData","finalData","StaticQuery","useStaticQuery","_context$query","context","isNaN","Number","graphql","_objectWithoutProperties","_classCallCheck","Constructor","_possibleConstructorReturn","_inherits","subClass","superClass","enumerable","writable","configurable","createNamedContext","defaultValue","Ctx","LocationContext","LocationProvider","_temp","getContext","refs","_props$history","componentDidCatch","isRedirect","_navigate","unmounted","defaultProps","ServerLocation","baseContext","locationContext","RouterImpl","_React$PureComponent","_props","_navigate2","primary","_props$component","domProps","Children","toArray","child","createRoute","clone","cloneElement","FocusWrapper","FocusHandler","wrapperProps","PureComponent","FocusContext","requestFocus","FocusHandlerImpl","initialRender","focusHandlerCount","_temp2","_this4","shouldFocus","focus","myURIChanged","navigatedUpToMe","contains","activeElement","_this5","_props2","_props2$component","Comp","outline","tabIndex","C","_ref5","_ref6","_props$getProps","anchorProps","encodedHref","shouldNavigate","_location$state","restState","RedirectRequest","redirectTo","RedirectImpl","_React$Component3","_props3","_props3$replace","noThrow","resolvedTo","_props4","Redirect","_ref7","Match","_ref8","_ref9","_ref10","resolvedPath","useNavigate","useParams","useMatch","stripSlashes","elementPath","hashIndex","w","__forceSmoothScrollPolyfill__","Element","HTMLElement","original","scroll","scrollBy","elementScroll","scrollElement","performance","ROUNDING_TOLERANCE","RegExp","shouldBailOut","smoothScroll","body","left","scrollX","pageXOffset","pageYOffset","scrollLeft","SyntaxError","behavior","scrollableParent","findScrollableParent","parentRects","getBoundingClientRect","clientRects","getComputedStyle","x","y","firstArg","hasScrollableSpace","axis","clientHeight","scrollHeight","clientWidth","scrollWidth","canOverflow","overflowValue","isScrollable","isScrollableY","isScrollableX","parentNode","step","currentX","currentY","elapsed","startTime","cos","PI","startX","startY","scrollable","supportedPrefetchStrategy","feature","fakeLink","relList","supports","support","link","setAttribute","onload","getElementsByTagName","getElementsByName","appendChild","req","XMLHttpRequest","send","preFetched","prefetch","Success","preferDefault","m","createPageDataUrl","s","doFetch","onreadystatechange","toPageResources","pageData","componentChunkName","staticQueryHashes","BaseLoader","loadComponent","inFlightNetworkRequests","pageDb","inFlightDb","staticQueryDb","pageDataDb","prefetchTriggered","prefetchCompleted","memoizedGet","inFlightPromise","response","prefetchDisabled","fetchPageDataJson","loadObj","retries","responseText","jsonPayload","notFound","loadPageDataJson","loadAppData","allData","finalResult","componentChunkPromise","createdAt","staticQueryBatchPromise","staticQueryHash","staticQueryResultsMap","shouldPrefetch","doesConnectionSupportPrefetch","connection","effectiveType","saveData","realPath","doPrefetch","pageDataUrl","prefetchHelper","crossOrigin","as","getResourceURLsForPathname","createComponentUrls","isPageNotFound","appData","___chunkMapping","chunk","__PATH_PREFIX__","_BaseLoader2","chunkName","componentUrls","_loader","getResourcesForPathname","getResourcesForPathnameSync","_reactDom","scrollKey","ScrollContainerImplementation","findDOMNode","commonjsGlobal","globalThis","esm","goog","aa","ca","random","da","ea","fa","unshift","Function","ha","$","ac","h","v","sa","N","ka","ma","na","g","oa","pa","qa","za","Da","ta","z","va","wa","xa","ya","documentMode","Aa","Ba","Ca","parseFloat","Ea","Fa","A","relatedTarget","screenY","screenX","clientY","clientX","pointerId","pointerType","changedTouches","srcElement","nodeName","fromElement","toElement","pageX","pageY","Ga","2","3","4","returnValue","Ha","Ia","Ja","src","capture","la","ia","Ka","Na","Pa","Qa","Ra","Sa","Ua","Ta","Va","Wa","Ya","Za","$a","P","ab","O","bb","eb","attachEvent","gb","detachEvent","handleEvent","B","S","J","ib","fb","jb","lb","mb","ob","j","pb","reset","qb","rb","sb","tb","vb","ub","wb","xb","ga","T","yb","start","Ab","zb","Bb","Cb","Db","Fb","Gb","D","Jb","E","Lb","Mb","Nb","Ob","Pb","STAT_EVENT","stat","F","Qb","size","Rb","Sb","NO_ERROR","Eb","TIMEOUT","Ib","Tb","Kb","$b","Ub","Vb","Wb","Xb","OPEN","Hb","Yb","Zb","bc","W","U","cc","V","I","L","G","Y","M","ba","K","dc","ec","fc","gc","hc","ic","jc","kc","lc","nb","oc","rc","uc","qc","vc","pc","wc","nc","H","sc","abort","xc","yc","zc","Ac","Bc","ra","La","Ma","getResponseHeader","Cc","Dc","Ec","Fc","Gc","Hc","Kc","Z","Jc","Ic","ja","mc","TextDecoder","decode","stream","getAllResponseHeaders","trim","Oa","tc","cancel","Lc","Nc","Oc","Pc","Qc","Rc","$c","Xc","Sc","Yc","floor","abs","Zc","Tc","Uc","Vc","Wc","Mc","ad","cd","dd","PerformanceNavigationTiming","getEntriesByType","nextHopProtocol","ed","fd","clear","hd","kd","onabort","ontimeout","ld","md","nd","responseType","statusText","Headers","qd","Xa","pd","od","headers","credentials","cache","fetch","Request","arrayBuffer","ReadableStream","getReader","text","Uint8Array","setRequestHeader","append","rd","sd","td","ud","vd","yd","zd","Ad","wd","mozResponseArrayBuffer","Bd","Cd","Dd","internalChannelParams","Ed","xmlHttpFactory","supportsCrossDomainXhr","concurrentRequestLimit","fastHandshake","encodeInitMessageHeaders","forceLongPolling","detectBufferingProxy","longPollingTimeout","Fd","Gd","sendBeacon","Image","Hd","Ld","Kd","round","min","Jd","Md","Id","isActive","jd","Nd","Od","Q","messageUrlParams","messageHeaders","clientProtocolHeaderRequired","initMessageHeaders","messageContentType","sendRawJson","httpSessionIdParam","R","Pd","__headers__","statusCode","__status__","__sm__","Qd","blockSize","Sd","toUpperCase","getPrototypeOf","FormData","withCredentials","xd","kb","__data__","Td","isFinite","Ud","Wd","Xd","X","Zd","$d","ae","Yd","be","ceil","LN2","pow","and","or","xor","createWebChannel","HTTP_ERROR","COMPLETE","EventType","CLOSE","MESSAGE","listenOnce","getLastError","getLastErrorCode","getStatus","getResponseJson","getResponseText","setWithCredentials","digest","update","multiply","modulo","compare","toNumber","getBits","fromNumber","fromString","Vd","createWebChannelTransport","getStatEventTarget","ErrorCode","Event","Stat","PROXY","NOPROXY","FetchXmlHttpFactory","WebChannel","XhrIo","Md5","Integer","ProdPageRenderer","InternalPageRenderer","plugins","api","defaultReturn","argTransform","previous"],"mappings":"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","file":"app-805ceee84676038d914e.js","sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.withPrefix = withPrefix;\nexports.withAssetPrefix = withAssetPrefix;\nexports.navigateTo = exports.replace = exports.push = exports.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 _router = require(\"@reach/router\");\n\nvar _utils = require(\"@reach/router/lib/utils\");\n\nvar _parsePath = require(\"./parse-path\");\n\nexports.parsePath = _parsePath.parsePath;\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 ? 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(_router.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, [\"to\", \"getProps\", \"onClick\", \"onMouseEnter\", \"activeClassName\", \"activeStyle\", \"innerRef\", \"partiallyActive\", \"state\", \"replace\", \"_location\"]);\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(_router.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 showDeprecationWarning = function showDeprecationWarning(functionName, altFunctionName, version) {\n return console.warn(\"The \\\"\" + functionName + \"\\\" method is now deprecated and will be removed in Gatsby v\" + version + \". Please use \\\"\" + altFunctionName + \"\\\" instead.\");\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;\n\nvar push = function push(to) {\n showDeprecationWarning(\"push\", \"navigate\", 3);\n\n window.___push(rewriteLinkPath(to, window.location.pathname));\n};\n\nexports.push = push;\n\nvar replace = function replace(to) {\n showDeprecationWarning(\"replace\", \"navigate\", 3);\n\n window.___replace(rewriteLinkPath(to, window.location.pathname));\n}; // TODO: Remove navigateTo for Gatsby v3\n\n\nexports.replace = replace;\n\nvar navigateTo = function navigateTo(to) {\n showDeprecationWarning(\"navigateTo\", \"navigate\", 3);\n return push(to);\n};\n\nexports.navigateTo = navigateTo;","\"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 _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _getRequireWildcardCache(e) {\n if (\"function\" != typeof WeakMap) return null;\n var r = new WeakMap(),\n t = new WeakMap();\n return (_getRequireWildcardCache = function _getRequireWildcardCache(e) {\n return e ? t : r;\n })(e);\n}\nfunction _interopRequireWildcard(e, r) {\n if (!r && e && e.__esModule) return e;\n if (null === e || \"object\" != _typeof(e) && \"function\" != typeof e) return {\n \"default\": e\n };\n var t = _getRequireWildcardCache(r);\n if (t && t.has(e)) return t.get(e);\n var n = {\n __proto__: null\n },\n a = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (var u in e) if (\"default\" !== u && {}.hasOwnProperty.call(e, u)) {\n var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;\n i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];\n }\n return n[\"default\"] = e, t && t.set(e, n), n;\n}\nmodule.exports = _interopRequireWildcard, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","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 \"@reach/router/lib/utils\"\nimport stripPrefix from \"./strip-prefix\"\nimport normalizePagePath from \"./normalize-page-path\"\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(pathname, __BASE_PATH__)\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 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\nexports.__esModule = true;\nexports.useScrollRestoration = useScrollRestoration;\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nvar _react = require(\"react\");\n\nvar _router = require(\"@reach/router\");\n\nfunction useScrollRestoration(identifier) {\n var location = (0, _router.useLocation)();\n var state = (0, _react.useContext)(_scrollHandler.ScrollContext);\n var ref = (0, _react.useRef)();\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 }, []);\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}","/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n/**\r\n * A container for all of the Logger instances\r\n */\nconst instances = [];\n/**\r\n * The JS SDK supports 5 log levels and also allows a user the ability to\r\n * silence the logs altogether.\r\n *\r\n * The order is a follows:\r\n * DEBUG < VERBOSE < INFO < WARN < ERROR\r\n *\r\n * All of the log types above the current log level will be captured (i.e. if\r\n * you set the log level to `INFO`, errors will still be logged, but `DEBUG` and\r\n * `VERBOSE` logs will not)\r\n */\nvar LogLevel;\n(function (LogLevel) {\n LogLevel[LogLevel[\"DEBUG\"] = 0] = \"DEBUG\";\n LogLevel[LogLevel[\"VERBOSE\"] = 1] = \"VERBOSE\";\n LogLevel[LogLevel[\"INFO\"] = 2] = \"INFO\";\n LogLevel[LogLevel[\"WARN\"] = 3] = \"WARN\";\n LogLevel[LogLevel[\"ERROR\"] = 4] = \"ERROR\";\n LogLevel[LogLevel[\"SILENT\"] = 5] = \"SILENT\";\n})(LogLevel || (LogLevel = {}));\nconst levelStringToEnum = {\n 'debug': LogLevel.DEBUG,\n 'verbose': LogLevel.VERBOSE,\n 'info': LogLevel.INFO,\n 'warn': LogLevel.WARN,\n 'error': LogLevel.ERROR,\n 'silent': LogLevel.SILENT\n};\n/**\r\n * The default log level\r\n */\nconst defaultLogLevel = LogLevel.INFO;\n/**\r\n * By default, `console.debug` is not displayed in the developer console (in\r\n * chrome). To avoid forcing users to have to opt-in to these logs twice\r\n * (i.e. once for firebase, and once in the console), we are sending `DEBUG`\r\n * logs to the `console.log` function.\r\n */\nconst ConsoleMethod = {\n [LogLevel.DEBUG]: 'log',\n [LogLevel.VERBOSE]: 'log',\n [LogLevel.INFO]: 'info',\n [LogLevel.WARN]: 'warn',\n [LogLevel.ERROR]: 'error'\n};\n/**\r\n * The default log handler will forward DEBUG, VERBOSE, INFO, WARN, and ERROR\r\n * messages on to their corresponding console counterparts (if the log method\r\n * is supported by the current log level)\r\n */\nconst defaultLogHandler = function (instance, logType) {\n if (logType < instance.logLevel) {\n return;\n }\n const now = new Date().toISOString();\n const method = ConsoleMethod[logType];\n if (method) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n console[method](`[${now}] ${instance.name}:`, ...args);\n } else {\n throw new Error(`Attempted to log a message with an invalid logType (value: ${logType})`);\n }\n};\nclass Logger {\n /**\r\n * Gives you an instance of a Logger to capture messages according to\r\n * Firebase's logging scheme.\r\n *\r\n * @param name The name that the logs will be associated with\r\n */\n constructor(name) {\n this.name = name;\n /**\r\n * The log level of the given Logger instance.\r\n */\n this._logLevel = defaultLogLevel;\n /**\r\n * The main (internal) log handler for the Logger instance.\r\n * Can be set to a new function in internal package code but not by user.\r\n */\n this._logHandler = defaultLogHandler;\n /**\r\n * The optional, additional, user-defined log handler for the Logger instance.\r\n */\n this._userLogHandler = null;\n /**\r\n * Capture the current instance for later use\r\n */\n instances.push(this);\n }\n get logLevel() {\n return this._logLevel;\n }\n set logLevel(val) {\n if (!(val in LogLevel)) {\n throw new TypeError(`Invalid value \"${val}\" assigned to \\`logLevel\\``);\n }\n this._logLevel = val;\n }\n // Workaround for setter/getter having to be the same type.\n setLogLevel(val) {\n this._logLevel = typeof val === 'string' ? levelStringToEnum[val] : val;\n }\n get logHandler() {\n return this._logHandler;\n }\n set logHandler(val) {\n if (typeof val !== 'function') {\n throw new TypeError('Value assigned to `logHandler` must be a function');\n }\n this._logHandler = val;\n }\n get userLogHandler() {\n return this._userLogHandler;\n }\n set userLogHandler(val) {\n this._userLogHandler = val;\n }\n /**\r\n * The functions below are all based on the `console` interface\r\n */\n debug() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n this._userLogHandler && this._userLogHandler(this, LogLevel.DEBUG, ...args);\n this._logHandler(this, LogLevel.DEBUG, ...args);\n }\n log() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n this._userLogHandler && this._userLogHandler(this, LogLevel.VERBOSE, ...args);\n this._logHandler(this, LogLevel.VERBOSE, ...args);\n }\n info() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n this._userLogHandler && this._userLogHandler(this, LogLevel.INFO, ...args);\n this._logHandler(this, LogLevel.INFO, ...args);\n }\n warn() {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n this._userLogHandler && this._userLogHandler(this, LogLevel.WARN, ...args);\n this._logHandler(this, LogLevel.WARN, ...args);\n }\n error() {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n this._userLogHandler && this._userLogHandler(this, LogLevel.ERROR, ...args);\n this._logHandler(this, LogLevel.ERROR, ...args);\n }\n}\nfunction setLogLevel(level) {\n instances.forEach(inst => {\n inst.setLogLevel(level);\n });\n}\nfunction setUserLogHandler(logCallback, options) {\n for (const instance of instances) {\n let customLogLevel = null;\n if (options && options.level) {\n customLogLevel = levelStringToEnum[options.level];\n }\n if (logCallback === null) {\n instance.userLogHandler = null;\n } else {\n instance.userLogHandler = function (instance, level) {\n for (var _len7 = arguments.length, args = new Array(_len7 > 2 ? _len7 - 2 : 0), _key7 = 2; _key7 < _len7; _key7++) {\n args[_key7 - 2] = arguments[_key7];\n }\n const message = args.map(arg => {\n if (arg == null) {\n return null;\n } else if (typeof arg === 'string') {\n return arg;\n } else if (typeof arg === 'number' || typeof arg === 'boolean') {\n return arg.toString();\n } else if (arg instanceof Error) {\n return arg.message;\n } else {\n try {\n return JSON.stringify(arg);\n } catch (ignored) {\n return null;\n }\n }\n }).filter(arg => arg).join(' ');\n if (level >= (customLogLevel !== null && customLogLevel !== void 0 ? customLogLevel : instance.logLevel)) {\n logCallback({\n level: LogLevel[level].toLowerCase(),\n message,\n args,\n type: instance.name\n });\n }\n };\n }\n }\n}\nexport { LogLevel, Logger, setLogLevel, setUserLogHandler };","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","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = exports.ScrollContainer = exports.ScrollContext = void 0;\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nexports.ScrollContext = _scrollHandler.ScrollHandler;\n\nvar _scrollContainer = require(\"./scroll-container\");\n\nexports.ScrollContainer = _scrollContainer.ScrollContainer;\n\nvar _useScrollRestoration = require(\"./use-scroll-restoration\");\n\nexports.useScrollRestoration = _useScrollRestoration.useScrollRestoration;","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 (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n})();\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n var len = queue.length;\n while (len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\nfunction noop() {}\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\nprocess.listeners = function (name) {\n return [];\n};\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\nprocess.cwd = function () {\n return '/';\n};\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function () {\n return 0;\n};","exports.polyfill = Component => Component\n","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\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\n\n if (!pathname && href && canUseDOM) {\n var url = new URL(href);\n pathname = url.pathname;\n }\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};\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\n return {\n get location() {\n return location;\n },\n\n get transitioning() {\n return transitioning;\n },\n\n _onTransitionComplete: function _onTransitionComplete() {\n transitioning = false;\n resolveTransition();\n },\n listen: function listen(listener) {\n listeners.push(listener);\n\n var popstateListener = function popstateListener() {\n location = getLocation(source);\n listener({ location: location, action: \"POP\" });\n };\n\n source.addEventListener(\"popstate\", popstateListener);\n\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\n if (typeof to === \"number\") {\n source.history.go(to);\n } else {\n state = _extends({}, state, { key: Date.now() + \"\" });\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\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({ location: location, action: \"PUSH\" });\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\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\n return {\n get location() {\n return stack[index];\n },\n addEventListener: function addEventListener(name, fn) {},\n removeEventListener: function removeEventListener(name, fn) {},\n\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\n index++;\n stack.push({ pathname: pathname, search: search.length ? \"?\" + search : search });\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\n stack[index] = { pathname: pathname, search: search };\n states[index] = state;\n },\n go: function go(to) {\n var newIndex = index + to;\n\n if (newIndex < 0 || newIndex > states.length - 1) {\n return;\n }\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};\n\nvar globalHistory = createHistory(getSource());\nvar navigate = globalHistory.navigate;\n\n////////////////////////////////////////////////////////////////////////////////\n\nexport { globalHistory, navigate, createHistory, createMemorySource };","\"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;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\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\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\n _this.scrollListener = function () {\n var key = _this.props.location.key;\n\n if (key) {\n _this._stateStorage.save(_this.props.location, key, window.scrollY);\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.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};","export * from '@firebase/firestore';","import \"firebase/firestore\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport './src/scss/index.scss';\nimport smoothscroll from 'smoothscroll-polyfill';\n\nimport React from \"react\"\nimport GlobalContextProvider from \"./src/context/GlobalContextProvider\"\n\nsmoothscroll.polyfill();\nexport const wrapRootElement = ({ element }) => {\n return {element} \n}\n","/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n/**\r\n * @fileoverview Firebase constants. Some of these (@defines) can be overridden at compile-time.\r\n */\nconst CONSTANTS = {\n /**\r\n * @define {boolean} Whether this is the client Node.js SDK.\r\n */\n NODE_CLIENT: false,\n /**\r\n * @define {boolean} Whether this is the Admin Node.js SDK.\r\n */\n NODE_ADMIN: false,\n /**\r\n * Firebase SDK Version\r\n */\n SDK_VERSION: '${JSCORE_VERSION}'\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n/**\r\n * Throws an error if the provided assertion is falsy\r\n */\nconst assert = function (assertion, message) {\n if (!assertion) {\n throw assertionError(message);\n }\n};\n/**\r\n * Returns an Error object suitable for throwing.\r\n */\nconst assertionError = function (message) {\n return new Error('Firebase Database (' + CONSTANTS.SDK_VERSION + ') INTERNAL ASSERT FAILED: ' + message);\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\nconst stringToByteArray$1 = function (str) {\n // TODO(user): Use native implementations if/when available\n const out = [];\n let p = 0;\n for (let i = 0; i < str.length; i++) {\n let c = str.charCodeAt(i);\n if (c < 128) {\n out[p++] = c;\n } else if (c < 2048) {\n out[p++] = c >> 6 | 192;\n out[p++] = c & 63 | 128;\n } else if ((c & 0xfc00) === 0xd800 && i + 1 < str.length && (str.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {\n // Surrogate Pair\n c = 0x10000 + ((c & 0x03ff) << 10) + (str.charCodeAt(++i) & 0x03ff);\n out[p++] = c >> 18 | 240;\n out[p++] = c >> 12 & 63 | 128;\n out[p++] = c >> 6 & 63 | 128;\n out[p++] = c & 63 | 128;\n } else {\n out[p++] = c >> 12 | 224;\n out[p++] = c >> 6 & 63 | 128;\n out[p++] = c & 63 | 128;\n }\n }\n return out;\n};\n/**\r\n * Turns an array of numbers into the string given by the concatenation of the\r\n * characters to which the numbers correspond.\r\n * @param bytes Array of numbers representing characters.\r\n * @return Stringification of the array.\r\n */\nconst byteArrayToString = function (bytes) {\n // TODO(user): Use native implementations if/when available\n const out = [];\n let pos = 0,\n c = 0;\n while (pos < bytes.length) {\n const c1 = bytes[pos++];\n if (c1 < 128) {\n out[c++] = String.fromCharCode(c1);\n } else if (c1 > 191 && c1 < 224) {\n const c2 = bytes[pos++];\n out[c++] = String.fromCharCode((c1 & 31) << 6 | c2 & 63);\n } else if (c1 > 239 && c1 < 365) {\n // Surrogate Pair\n const c2 = bytes[pos++];\n const c3 = bytes[pos++];\n const c4 = bytes[pos++];\n const u = ((c1 & 7) << 18 | (c2 & 63) << 12 | (c3 & 63) << 6 | c4 & 63) - 0x10000;\n out[c++] = String.fromCharCode(0xd800 + (u >> 10));\n out[c++] = String.fromCharCode(0xdc00 + (u & 1023));\n } else {\n const c2 = bytes[pos++];\n const c3 = bytes[pos++];\n out[c++] = String.fromCharCode((c1 & 15) << 12 | (c2 & 63) << 6 | c3 & 63);\n }\n }\n return out.join('');\n};\n// We define it as an object literal instead of a class because a class compiled down to es5 can't\n// be treeshaked. https://github.com/rollup/rollup/issues/1691\n// Static lookup maps, lazily populated by init_()\nconst base64 = {\n /**\r\n * Maps bytes to characters.\r\n */\n byteToCharMap_: null,\n /**\r\n * Maps characters to bytes.\r\n */\n charToByteMap_: null,\n /**\r\n * Maps bytes to websafe characters.\r\n * @private\r\n */\n byteToCharMapWebSafe_: null,\n /**\r\n * Maps websafe characters to bytes.\r\n * @private\r\n */\n charToByteMapWebSafe_: null,\n /**\r\n * Our default alphabet, shared between\r\n * ENCODED_VALS and ENCODED_VALS_WEBSAFE\r\n */\n ENCODED_VALS_BASE: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + 'abcdefghijklmnopqrstuvwxyz' + '0123456789',\n /**\r\n * Our default alphabet. Value 64 (=) is special; it means \"nothing.\"\r\n */\n get ENCODED_VALS() {\n return this.ENCODED_VALS_BASE + '+/=';\n },\n /**\r\n * Our websafe alphabet.\r\n */\n get ENCODED_VALS_WEBSAFE() {\n return this.ENCODED_VALS_BASE + '-_.';\n },\n /**\r\n * Whether this browser supports the atob and btoa functions. This extension\r\n * started at Mozilla but is now implemented by many browsers. We use the\r\n * ASSUME_* variables to avoid pulling in the full useragent detection library\r\n * but still allowing the standard per-browser compilations.\r\n *\r\n */\n HAS_NATIVE_SUPPORT: typeof atob === 'function',\n /**\r\n * Base64-encode an array of bytes.\r\n *\r\n * @param input An array of bytes (numbers with\r\n * value in [0, 255]) to encode.\r\n * @param webSafe Boolean indicating we should use the\r\n * alternative alphabet.\r\n * @return The base64 encoded string.\r\n */\n encodeByteArray(input, webSafe) {\n if (!Array.isArray(input)) {\n throw Error('encodeByteArray takes an array as a parameter');\n }\n this.init_();\n const byteToCharMap = webSafe ? this.byteToCharMapWebSafe_ : this.byteToCharMap_;\n const output = [];\n for (let i = 0; i < input.length; i += 3) {\n const byte1 = input[i];\n const haveByte2 = i + 1 < input.length;\n const byte2 = haveByte2 ? input[i + 1] : 0;\n const haveByte3 = i + 2 < input.length;\n const byte3 = haveByte3 ? input[i + 2] : 0;\n const outByte1 = byte1 >> 2;\n const outByte2 = (byte1 & 0x03) << 4 | byte2 >> 4;\n let outByte3 = (byte2 & 0x0f) << 2 | byte3 >> 6;\n let outByte4 = byte3 & 0x3f;\n if (!haveByte3) {\n outByte4 = 64;\n if (!haveByte2) {\n outByte3 = 64;\n }\n }\n output.push(byteToCharMap[outByte1], byteToCharMap[outByte2], byteToCharMap[outByte3], byteToCharMap[outByte4]);\n }\n return output.join('');\n },\n /**\r\n * Base64-encode a string.\r\n *\r\n * @param input A string to encode.\r\n * @param webSafe If true, we should use the\r\n * alternative alphabet.\r\n * @return The base64 encoded string.\r\n */\n encodeString(input, webSafe) {\n // Shortcut for Mozilla browsers that implement\n // a native base64 encoder in the form of \"btoa/atob\"\n if (this.HAS_NATIVE_SUPPORT && !webSafe) {\n return btoa(input);\n }\n return this.encodeByteArray(stringToByteArray$1(input), webSafe);\n },\n /**\r\n * Base64-decode a string.\r\n *\r\n * @param input to decode.\r\n * @param webSafe True if we should use the\r\n * alternative alphabet.\r\n * @return string representing the decoded value.\r\n */\n decodeString(input, webSafe) {\n // Shortcut for Mozilla browsers that implement\n // a native base64 encoder in the form of \"btoa/atob\"\n if (this.HAS_NATIVE_SUPPORT && !webSafe) {\n return atob(input);\n }\n return byteArrayToString(this.decodeStringToByteArray(input, webSafe));\n },\n /**\r\n * Base64-decode a string.\r\n *\r\n * In base-64 decoding, groups of four characters are converted into three\r\n * bytes. If the encoder did not apply padding, the input length may not\r\n * be a multiple of 4.\r\n *\r\n * In this case, the last group will have fewer than 4 characters, and\r\n * padding will be inferred. If the group has one or two characters, it decodes\r\n * to one byte. If the group has three characters, it decodes to two bytes.\r\n *\r\n * @param input Input to decode.\r\n * @param webSafe True if we should use the web-safe alphabet.\r\n * @return bytes representing the decoded value.\r\n */\n decodeStringToByteArray(input, webSafe) {\n this.init_();\n const charToByteMap = webSafe ? this.charToByteMapWebSafe_ : this.charToByteMap_;\n const output = [];\n for (let i = 0; i < input.length;) {\n const byte1 = charToByteMap[input.charAt(i++)];\n const haveByte2 = i < input.length;\n const byte2 = haveByte2 ? charToByteMap[input.charAt(i)] : 0;\n ++i;\n const haveByte3 = i < input.length;\n const byte3 = haveByte3 ? charToByteMap[input.charAt(i)] : 64;\n ++i;\n const haveByte4 = i < input.length;\n const byte4 = haveByte4 ? charToByteMap[input.charAt(i)] : 64;\n ++i;\n if (byte1 == null || byte2 == null || byte3 == null || byte4 == null) {\n throw new DecodeBase64StringError();\n }\n const outByte1 = byte1 << 2 | byte2 >> 4;\n output.push(outByte1);\n if (byte3 !== 64) {\n const outByte2 = byte2 << 4 & 0xf0 | byte3 >> 2;\n output.push(outByte2);\n if (byte4 !== 64) {\n const outByte3 = byte3 << 6 & 0xc0 | byte4;\n output.push(outByte3);\n }\n }\n }\n return output;\n },\n /**\r\n * Lazy static initialization function. Called before\r\n * accessing any of the static map variables.\r\n * @private\r\n */\n init_() {\n if (!this.byteToCharMap_) {\n this.byteToCharMap_ = {};\n this.charToByteMap_ = {};\n this.byteToCharMapWebSafe_ = {};\n this.charToByteMapWebSafe_ = {};\n // We want quick mappings back and forth, so we precompute two maps.\n for (let i = 0; i < this.ENCODED_VALS.length; i++) {\n this.byteToCharMap_[i] = this.ENCODED_VALS.charAt(i);\n this.charToByteMap_[this.byteToCharMap_[i]] = i;\n this.byteToCharMapWebSafe_[i] = this.ENCODED_VALS_WEBSAFE.charAt(i);\n this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[i]] = i;\n // Be forgiving when decoding and correctly decode both encodings.\n if (i >= this.ENCODED_VALS_BASE.length) {\n this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(i)] = i;\n this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(i)] = i;\n }\n }\n }\n }\n};\n/**\r\n * An error encountered while decoding base64 string.\r\n */\nclass DecodeBase64StringError extends Error {\n constructor() {\n super(...arguments);\n this.name = 'DecodeBase64StringError';\n }\n}\n/**\r\n * URL-safe base64 encoding\r\n */\nconst base64Encode = function (str) {\n const utf8Bytes = stringToByteArray$1(str);\n return base64.encodeByteArray(utf8Bytes, true);\n};\n/**\r\n * URL-safe base64 encoding (without \".\" padding in the end).\r\n * e.g. Used in JSON Web Token (JWT) parts.\r\n */\nconst base64urlEncodeWithoutPadding = function (str) {\n // Use base64url encoding and remove padding in the end (dot characters).\n return base64Encode(str).replace(/\\./g, '');\n};\n/**\r\n * URL-safe base64 decoding\r\n *\r\n * NOTE: DO NOT use the global atob() function - it does NOT support the\r\n * base64Url variant encoding.\r\n *\r\n * @param str To be decoded\r\n * @return Decoded result, if possible\r\n */\nconst base64Decode = function (str) {\n try {\n return base64.decodeString(str, true);\n } catch (e) {\n console.error('base64Decode failed: ', e);\n }\n return null;\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n/**\r\n * Do a deep-copy of basic JavaScript Objects or Arrays.\r\n */\nfunction deepCopy(value) {\n return deepExtend(undefined, value);\n}\n/**\r\n * Copy properties from source to target (recursively allows extension\r\n * of Objects and Arrays). Scalar values in the target are over-written.\r\n * If target is undefined, an object of the appropriate type will be created\r\n * (and returned).\r\n *\r\n * We recursively copy all child properties of plain Objects in the source- so\r\n * that namespace- like dictionaries are merged.\r\n *\r\n * Note that the target can be a function, in which case the properties in\r\n * the source Object are copied onto it as static properties of the Function.\r\n *\r\n * Note: we don't merge __proto__ to prevent prototype pollution\r\n */\nfunction deepExtend(target, source) {\n if (!(source instanceof Object)) {\n return source;\n }\n switch (source.constructor) {\n case Date:\n // Treat Dates like scalars; if the target date object had any child\n // properties - they will be lost!\n const dateValue = source;\n return new Date(dateValue.getTime());\n case Object:\n if (target === undefined) {\n target = {};\n }\n break;\n case Array:\n // Always copy the array source and overwrite the target.\n target = [];\n break;\n default:\n // Not a plain Object - treat it as a scalar.\n return source;\n }\n for (const prop in source) {\n // use isValidKey to guard against prototype pollution. See https://snyk.io/vuln/SNYK-JS-LODASH-450202\n if (!source.hasOwnProperty(prop) || !isValidKey(prop)) {\n continue;\n }\n target[prop] = deepExtend(target[prop], source[prop]);\n }\n return target;\n}\nfunction isValidKey(key) {\n return key !== '__proto__';\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n/**\r\n * Polyfill for `globalThis` object.\r\n * @returns the `globalThis` object for the given environment.\r\n * @public\r\n */\nfunction getGlobal() {\n if (typeof self !== 'undefined') {\n return self;\n }\n if (typeof window !== 'undefined') {\n return window;\n }\n if (typeof global !== 'undefined') {\n return global;\n }\n throw new Error('Unable to locate global object.');\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\nconst getDefaultsFromGlobal = () => getGlobal().__FIREBASE_DEFAULTS__;\n/**\r\n * Attempt to read defaults from a JSON string provided to\r\n * process(.)env(.)__FIREBASE_DEFAULTS__ or a JSON file whose path is in\r\n * process(.)env(.)__FIREBASE_DEFAULTS_PATH__\r\n * The dots are in parens because certain compilers (Vite?) cannot\r\n * handle seeing that variable in comments.\r\n * See https://github.com/firebase/firebase-js-sdk/issues/6838\r\n */\nconst getDefaultsFromEnvVariable = () => {\n if (typeof process === 'undefined' || typeof process.env === 'undefined') {\n return;\n }\n const defaultsJsonString = process.env.__FIREBASE_DEFAULTS__;\n if (defaultsJsonString) {\n return JSON.parse(defaultsJsonString);\n }\n};\nconst getDefaultsFromCookie = () => {\n if (typeof document === 'undefined') {\n return;\n }\n let match;\n try {\n match = document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/);\n } catch (e) {\n // Some environments such as Angular Universal SSR have a\n // `document` object but error on accessing `document.cookie`.\n return;\n }\n const decoded = match && base64Decode(match[1]);\n return decoded && JSON.parse(decoded);\n};\n/**\r\n * Get the __FIREBASE_DEFAULTS__ object. It checks in order:\r\n * (1) if such an object exists as a property of `globalThis`\r\n * (2) if such an object was provided on a shell environment variable\r\n * (3) if such an object exists in a cookie\r\n * @public\r\n */\nconst getDefaults = () => {\n try {\n return getDefaultsFromGlobal() || getDefaultsFromEnvVariable() || getDefaultsFromCookie();\n } catch (e) {\n /**\r\n * Catch-all for being unable to get __FIREBASE_DEFAULTS__ due\r\n * to any environment case we have not accounted for. Log to\r\n * info instead of swallowing so we can find these unknown cases\r\n * and add paths for them if needed.\r\n */\n console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`);\n return;\n }\n};\n/**\r\n * Returns emulator host stored in the __FIREBASE_DEFAULTS__ object\r\n * for the given product.\r\n * @returns a URL host formatted like `127.0.0.1:9999` or `[::1]:4000` if available\r\n * @public\r\n */\nconst getDefaultEmulatorHost = productName => {\n var _a, _b;\n return (_b = (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.emulatorHosts) === null || _b === void 0 ? void 0 : _b[productName];\n};\n/**\r\n * Returns emulator hostname and port stored in the __FIREBASE_DEFAULTS__ object\r\n * for the given product.\r\n * @returns a pair of hostname and port like `[\"::1\", 4000]` if available\r\n * @public\r\n */\nconst getDefaultEmulatorHostnameAndPort = productName => {\n const host = getDefaultEmulatorHost(productName);\n if (!host) {\n return undefined;\n }\n const separatorIndex = host.lastIndexOf(':'); // Finding the last since IPv6 addr also has colons.\n if (separatorIndex <= 0 || separatorIndex + 1 === host.length) {\n throw new Error(`Invalid host ${host} with no separate hostname and port!`);\n }\n // eslint-disable-next-line no-restricted-globals\n const port = parseInt(host.substring(separatorIndex + 1), 10);\n if (host[0] === '[') {\n // Bracket-quoted `[ipv6addr]:port` => return \"ipv6addr\" (without brackets).\n return [host.substring(1, separatorIndex - 1), port];\n } else {\n return [host.substring(0, separatorIndex), port];\n }\n};\n/**\r\n * Returns Firebase app config stored in the __FIREBASE_DEFAULTS__ object.\r\n * @public\r\n */\nconst getDefaultAppConfig = () => {\n var _a;\n return (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.config;\n};\n/**\r\n * Returns an experimental setting on the __FIREBASE_DEFAULTS__ object (properties\r\n * prefixed by \"_\")\r\n * @public\r\n */\nconst getExperimentalSetting = name => {\n var _a;\n return (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a[`_${name}`];\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\nclass Deferred {\n constructor() {\n this.reject = () => {};\n this.resolve = () => {};\n this.promise = new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n /**\r\n * Our API internals are not promiseified and cannot because our callback APIs have subtle expectations around\r\n * invoking promises inline, which Promises are forbidden to do. This method accepts an optional node-style callback\r\n * and returns a node-style callback which will resolve or reject the Deferred's promise.\r\n */\n wrapCallback(callback) {\n return (error, value) => {\n if (error) {\n this.reject(error);\n } else {\n this.resolve(value);\n }\n if (typeof callback === 'function') {\n // Attaching noop handler just in case developer wasn't expecting\n // promises\n this.promise.catch(() => {});\n // Some of our callbacks don't expect a value and our own tests\n // assert that the parameter length is 1\n if (callback.length === 1) {\n callback(error);\n } else {\n callback(error, value);\n }\n }\n };\n }\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\nfunction createMockUserToken(token, projectId) {\n if (token.uid) {\n throw new Error('The \"uid\" field is no longer supported by mockUserToken. Please use \"sub\" instead for Firebase Auth User ID.');\n }\n // Unsecured JWTs use \"none\" as the algorithm.\n const header = {\n alg: 'none',\n type: 'JWT'\n };\n const project = projectId || 'demo-project';\n const iat = token.iat || 0;\n const sub = token.sub || token.user_id;\n if (!sub) {\n throw new Error(\"mockUserToken must contain 'sub' or 'user_id' field!\");\n }\n const payload = Object.assign({\n // Set all required fields to decent defaults\n iss: `https://securetoken.google.com/${project}`,\n aud: project,\n iat,\n exp: iat + 3600,\n auth_time: iat,\n sub,\n user_id: sub,\n firebase: {\n sign_in_provider: 'custom',\n identities: {}\n }\n }, token);\n // Unsecured JWTs use the empty string as a signature.\n const signature = '';\n return [base64urlEncodeWithoutPadding(JSON.stringify(header)), base64urlEncodeWithoutPadding(JSON.stringify(payload)), signature].join('.');\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n/**\r\n * Returns navigator.userAgent string or '' if it's not defined.\r\n * @return user agent string\r\n */\nfunction getUA() {\n if (typeof navigator !== 'undefined' && typeof navigator['userAgent'] === 'string') {\n return navigator['userAgent'];\n } else {\n return '';\n }\n}\n/**\r\n * Detect Cordova / PhoneGap / Ionic frameworks on a mobile device.\r\n *\r\n * Deliberately does not rely on checking `file://` URLs (as this fails PhoneGap\r\n * in the Ripple emulator) nor Cordova `onDeviceReady`, which would normally\r\n * wait for a callback.\r\n */\nfunction isMobileCordova() {\n return typeof window !== 'undefined' &&\n // @ts-ignore Setting up an broadly applicable index signature for Window\n // just to deal with this case would probably be a bad idea.\n !!(window['cordova'] || window['phonegap'] || window['PhoneGap']) && /ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(getUA());\n}\n/**\r\n * Detect Node.js.\r\n *\r\n * @return true if Node.js environment is detected or specified.\r\n */\n// Node detection logic from: https://github.com/iliakan/detect-node/\nfunction isNode() {\n var _a;\n const forceEnvironment = (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.forceEnvironment;\n if (forceEnvironment === 'node') {\n return true;\n } else if (forceEnvironment === 'browser') {\n return false;\n }\n try {\n return Object.prototype.toString.call(global.process) === '[object process]';\n } catch (e) {\n return false;\n }\n}\n/**\r\n * Detect Browser Environment\r\n */\nfunction isBrowser() {\n return typeof self === 'object' && self.self === self;\n}\nfunction isBrowserExtension() {\n const runtime = typeof chrome === 'object' ? chrome.runtime : typeof browser === 'object' ? browser.runtime : undefined;\n return typeof runtime === 'object' && runtime.id !== undefined;\n}\n/**\r\n * Detect React Native.\r\n *\r\n * @return true if ReactNative environment is detected.\r\n */\nfunction isReactNative() {\n return typeof navigator === 'object' && navigator['product'] === 'ReactNative';\n}\n/** Detects Electron apps. */\nfunction isElectron() {\n return getUA().indexOf('Electron/') >= 0;\n}\n/** Detects Internet Explorer. */\nfunction isIE() {\n const ua = getUA();\n return ua.indexOf('MSIE ') >= 0 || ua.indexOf('Trident/') >= 0;\n}\n/** Detects Universal Windows Platform apps. */\nfunction isUWP() {\n return getUA().indexOf('MSAppHost/') >= 0;\n}\n/**\r\n * Detect whether the current SDK build is the Node version.\r\n *\r\n * @return true if it's the Node SDK build.\r\n */\nfunction isNodeSdk() {\n return CONSTANTS.NODE_CLIENT === true || CONSTANTS.NODE_ADMIN === true;\n}\n/** Returns true if we are running in Safari. */\nfunction isSafari() {\n return !isNode() && navigator.userAgent.includes('Safari') && !navigator.userAgent.includes('Chrome');\n}\n/**\r\n * This method checks if indexedDB is supported by current browser/service worker context\r\n * @return true if indexedDB is supported by current browser/service worker context\r\n */\nfunction isIndexedDBAvailable() {\n try {\n return typeof indexedDB === 'object';\n } catch (e) {\n return false;\n }\n}\n/**\r\n * This method validates browser/sw context for indexedDB by opening a dummy indexedDB database and reject\r\n * if errors occur during the database open operation.\r\n *\r\n * @throws exception if current browser/sw context can't run idb.open (ex: Safari iframe, Firefox\r\n * private browsing)\r\n */\nfunction validateIndexedDBOpenable() {\n return new Promise((resolve, reject) => {\n try {\n let preExist = true;\n const DB_CHECK_NAME = 'validate-browser-context-for-indexeddb-analytics-module';\n const request = self.indexedDB.open(DB_CHECK_NAME);\n request.onsuccess = () => {\n request.result.close();\n // delete database only when it doesn't pre-exist\n if (!preExist) {\n self.indexedDB.deleteDatabase(DB_CHECK_NAME);\n }\n resolve(true);\n };\n request.onupgradeneeded = () => {\n preExist = false;\n };\n request.onerror = () => {\n var _a;\n reject(((_a = request.error) === null || _a === void 0 ? void 0 : _a.message) || '');\n };\n } catch (error) {\n reject(error);\n }\n });\n}\n/**\r\n *\r\n * This method checks whether cookie is enabled within current browser\r\n * @return true if cookie is enabled within current browser\r\n */\nfunction areCookiesEnabled() {\n if (typeof navigator === 'undefined' || !navigator.cookieEnabled) {\n return false;\n }\n return true;\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n/**\r\n * @fileoverview Standardized Firebase Error.\r\n *\r\n * Usage:\r\n *\r\n * // Typescript string literals for type-safe codes\r\n * type Err =\r\n * 'unknown' |\r\n * 'object-not-found'\r\n * ;\r\n *\r\n * // Closure enum for type-safe error codes\r\n * // at-enum {string}\r\n * var Err = {\r\n * UNKNOWN: 'unknown',\r\n * OBJECT_NOT_FOUND: 'object-not-found',\r\n * }\r\n *\r\n * let errors: Map = {\r\n * 'generic-error': \"Unknown error\",\r\n * 'file-not-found': \"Could not find file: {$file}\",\r\n * };\r\n *\r\n * // Type-safe function - must pass a valid error code as param.\r\n * let error = new ErrorFactory('service', 'Service', errors);\r\n *\r\n * ...\r\n * throw error.create(Err.GENERIC);\r\n * ...\r\n * throw error.create(Err.FILE_NOT_FOUND, {'file': fileName});\r\n * ...\r\n * // Service: Could not file file: foo.txt (service/file-not-found).\r\n *\r\n * catch (e) {\r\n * assert(e.message === \"Could not find file: foo.txt.\");\r\n * if ((e as FirebaseError)?.code === 'service/file-not-found') {\r\n * console.log(\"Could not read file: \" + e['file']);\r\n * }\r\n * }\r\n */\nconst ERROR_NAME = 'FirebaseError';\n// Based on code from:\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Custom_Error_Types\nclass FirebaseError extends Error {\n constructor( /** The error code for this error. */\n code, message, /** Custom data for this error. */\n customData) {\n super(message);\n this.code = code;\n this.customData = customData;\n /** The custom name for all FirebaseErrors. */\n this.name = ERROR_NAME;\n // Fix For ES5\n // https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\n Object.setPrototypeOf(this, FirebaseError.prototype);\n // Maintains proper stack trace for where our error was thrown.\n // Only available on V8.\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, ErrorFactory.prototype.create);\n }\n }\n}\nclass ErrorFactory {\n constructor(service, serviceName, errors) {\n this.service = service;\n this.serviceName = serviceName;\n this.errors = errors;\n }\n create(code) {\n const customData = (arguments.length <= 1 ? undefined : arguments[1]) || {};\n const fullCode = `${this.service}/${code}`;\n const template = this.errors[code];\n const message = template ? replaceTemplate(template, customData) : 'Error';\n // Service Name: Error message (service/code).\n const fullMessage = `${this.serviceName}: ${message} (${fullCode}).`;\n const error = new FirebaseError(fullCode, fullMessage, customData);\n return error;\n }\n}\nfunction replaceTemplate(template, data) {\n return template.replace(PATTERN, (_, key) => {\n const value = data[key];\n return value != null ? String(value) : `<${key}?>`;\n });\n}\nconst PATTERN = /\\{\\$([^}]+)}/g;\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n/**\r\n * Evaluates a JSON string into a javascript object.\r\n *\r\n * @param {string} str A string containing JSON.\r\n * @return {*} The javascript object representing the specified JSON.\r\n */\nfunction jsonEval(str) {\n return JSON.parse(str);\n}\n/**\r\n * Returns JSON representing a javascript object.\r\n * @param {*} data Javascript object to be stringified.\r\n * @return {string} The JSON contents of the object.\r\n */\nfunction stringify(data) {\n return JSON.stringify(data);\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n/**\r\n * Decodes a Firebase auth. token into constituent parts.\r\n *\r\n * Notes:\r\n * - May return with invalid / incomplete claims if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\nconst decode = function (token) {\n let header = {},\n claims = {},\n data = {},\n signature = '';\n try {\n const parts = token.split('.');\n header = jsonEval(base64Decode(parts[0]) || '');\n claims = jsonEval(base64Decode(parts[1]) || '');\n signature = parts[2];\n data = claims['d'] || {};\n delete claims['d'];\n } catch (e) {}\n return {\n header,\n claims,\n data,\n signature\n };\n};\n/**\r\n * Decodes a Firebase auth. token and checks the validity of its time-based claims. Will return true if the\r\n * token is within the time window authorized by the 'nbf' (not-before) and 'iat' (issued-at) claims.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\nconst isValidTimestamp = function (token) {\n const claims = decode(token).claims;\n const now = Math.floor(new Date().getTime() / 1000);\n let validSince = 0,\n validUntil = 0;\n if (typeof claims === 'object') {\n if (claims.hasOwnProperty('nbf')) {\n validSince = claims['nbf'];\n } else if (claims.hasOwnProperty('iat')) {\n validSince = claims['iat'];\n }\n if (claims.hasOwnProperty('exp')) {\n validUntil = claims['exp'];\n } else {\n // token will expire after 24h by default\n validUntil = validSince + 86400;\n }\n }\n return !!now && !!validSince && !!validUntil && now >= validSince && now <= validUntil;\n};\n/**\r\n * Decodes a Firebase auth. token and returns its issued at time if valid, null otherwise.\r\n *\r\n * Notes:\r\n * - May return null if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\nconst issuedAtTime = function (token) {\n const claims = decode(token).claims;\n if (typeof claims === 'object' && claims.hasOwnProperty('iat')) {\n return claims['iat'];\n }\n return null;\n};\n/**\r\n * Decodes a Firebase auth. token and checks the validity of its format. Expects a valid issued-at time.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\nconst isValidFormat = function (token) {\n const decoded = decode(token),\n claims = decoded.claims;\n return !!claims && typeof claims === 'object' && claims.hasOwnProperty('iat');\n};\n/**\r\n * Attempts to peer into an auth token and determine if it's an admin auth token by looking at the claims portion.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\nconst isAdmin = function (token) {\n const claims = decode(token).claims;\n return typeof claims === 'object' && claims['admin'] === true;\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\nfunction contains(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\nfunction safeGet(obj, key) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n return obj[key];\n } else {\n return undefined;\n }\n}\nfunction isEmpty(obj) {\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n return false;\n }\n }\n return true;\n}\nfunction map(obj, fn, contextObj) {\n const res = {};\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n res[key] = fn.call(contextObj, obj[key], key, obj);\n }\n }\n return res;\n}\n/**\r\n * Deep equal two objects. Support Arrays and Objects.\r\n */\nfunction deepEqual(a, b) {\n if (a === b) {\n return true;\n }\n const aKeys = Object.keys(a);\n const bKeys = Object.keys(b);\n for (const k of aKeys) {\n if (!bKeys.includes(k)) {\n return false;\n }\n const aProp = a[k];\n const bProp = b[k];\n if (isObject(aProp) && isObject(bProp)) {\n if (!deepEqual(aProp, bProp)) {\n return false;\n }\n } else if (aProp !== bProp) {\n return false;\n }\n }\n for (const k of bKeys) {\n if (!aKeys.includes(k)) {\n return false;\n }\n }\n return true;\n}\nfunction isObject(thing) {\n return thing !== null && typeof thing === 'object';\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n/**\r\n * Rejects if the given promise doesn't resolve in timeInMS milliseconds.\r\n * @internal\r\n */\nfunction promiseWithTimeout(promise) {\n let timeInMS = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2000;\n const deferredPromise = new Deferred();\n setTimeout(() => deferredPromise.reject('timeout!'), timeInMS);\n promise.then(deferredPromise.resolve, deferredPromise.reject);\n return deferredPromise.promise;\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n/**\r\n * Returns a querystring-formatted string (e.g. &arg=val&arg2=val2) from a\r\n * params object (e.g. {arg: 'val', arg2: 'val2'})\r\n * Note: You must prepend it with ? when adding it to a URL.\r\n */\nfunction querystring(querystringParams) {\n const params = [];\n for (const [key, value] of Object.entries(querystringParams)) {\n if (Array.isArray(value)) {\n value.forEach(arrayVal => {\n params.push(encodeURIComponent(key) + '=' + encodeURIComponent(arrayVal));\n });\n } else {\n params.push(encodeURIComponent(key) + '=' + encodeURIComponent(value));\n }\n }\n return params.length ? '&' + params.join('&') : '';\n}\n/**\r\n * Decodes a querystring (e.g. ?arg=val&arg2=val2) into a params object\r\n * (e.g. {arg: 'val', arg2: 'val2'})\r\n */\nfunction querystringDecode(querystring) {\n const obj = {};\n const tokens = querystring.replace(/^\\?/, '').split('&');\n tokens.forEach(token => {\n if (token) {\n const [key, value] = token.split('=');\n obj[decodeURIComponent(key)] = decodeURIComponent(value);\n }\n });\n return obj;\n}\n/**\r\n * Extract the query string part of a URL, including the leading question mark (if present).\r\n */\nfunction extractQuerystring(url) {\n const queryStart = url.indexOf('?');\n if (!queryStart) {\n return '';\n }\n const fragmentStart = url.indexOf('#', queryStart);\n return url.substring(queryStart, fragmentStart > 0 ? fragmentStart : undefined);\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n/**\r\n * @fileoverview SHA-1 cryptographic hash.\r\n * Variable names follow the notation in FIPS PUB 180-3:\r\n * http://csrc.nist.gov/publications/fips/fips180-3/fips180-3_final.pdf.\r\n *\r\n * Usage:\r\n * var sha1 = new sha1();\r\n * sha1.update(bytes);\r\n * var hash = sha1.digest();\r\n *\r\n * Performance:\r\n * Chrome 23: ~400 Mbit/s\r\n * Firefox 16: ~250 Mbit/s\r\n *\r\n */\n/**\r\n * SHA-1 cryptographic hash constructor.\r\n *\r\n * The properties declared here are discussed in the above algorithm document.\r\n * @constructor\r\n * @final\r\n * @struct\r\n */\nclass Sha1 {\n constructor() {\n /**\r\n * Holds the previous values of accumulated variables a-e in the compress_\r\n * function.\r\n * @private\r\n */\n this.chain_ = [];\n /**\r\n * A buffer holding the partially computed hash result.\r\n * @private\r\n */\n this.buf_ = [];\n /**\r\n * An array of 80 bytes, each a part of the message to be hashed. Referred to\r\n * as the message schedule in the docs.\r\n * @private\r\n */\n this.W_ = [];\n /**\r\n * Contains data needed to pad messages less than 64 bytes.\r\n * @private\r\n */\n this.pad_ = [];\n /**\r\n * @private {number}\r\n */\n this.inbuf_ = 0;\n /**\r\n * @private {number}\r\n */\n this.total_ = 0;\n this.blockSize = 512 / 8;\n this.pad_[0] = 128;\n for (let i = 1; i < this.blockSize; ++i) {\n this.pad_[i] = 0;\n }\n this.reset();\n }\n reset() {\n this.chain_[0] = 0x67452301;\n this.chain_[1] = 0xefcdab89;\n this.chain_[2] = 0x98badcfe;\n this.chain_[3] = 0x10325476;\n this.chain_[4] = 0xc3d2e1f0;\n this.inbuf_ = 0;\n this.total_ = 0;\n }\n /**\r\n * Internal compress helper function.\r\n * @param buf Block to compress.\r\n * @param offset Offset of the block in the buffer.\r\n * @private\r\n */\n compress_(buf, offset) {\n if (!offset) {\n offset = 0;\n }\n const W = this.W_;\n // get 16 big endian words\n if (typeof buf === 'string') {\n for (let i = 0; i < 16; i++) {\n // TODO(user): [bug 8140122] Recent versions of Safari for Mac OS and iOS\n // have a bug that turns the post-increment ++ operator into pre-increment\n // during JIT compilation. We have code that depends heavily on SHA-1 for\n // correctness and which is affected by this bug, so I've removed all uses\n // of post-increment ++ in which the result value is used. We can revert\n // this change once the Safari bug\n // (https://bugs.webkit.org/show_bug.cgi?id=109036) has been fixed and\n // most clients have been updated.\n W[i] = buf.charCodeAt(offset) << 24 | buf.charCodeAt(offset + 1) << 16 | buf.charCodeAt(offset + 2) << 8 | buf.charCodeAt(offset + 3);\n offset += 4;\n }\n } else {\n for (let i = 0; i < 16; i++) {\n W[i] = buf[offset] << 24 | buf[offset + 1] << 16 | buf[offset + 2] << 8 | buf[offset + 3];\n offset += 4;\n }\n }\n // expand to 80 words\n for (let i = 16; i < 80; i++) {\n const t = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];\n W[i] = (t << 1 | t >>> 31) & 0xffffffff;\n }\n let a = this.chain_[0];\n let b = this.chain_[1];\n let c = this.chain_[2];\n let d = this.chain_[3];\n let e = this.chain_[4];\n let f, k;\n // TODO(user): Try to unroll this loop to speed up the computation.\n for (let i = 0; i < 80; i++) {\n if (i < 40) {\n if (i < 20) {\n f = d ^ b & (c ^ d);\n k = 0x5a827999;\n } else {\n f = b ^ c ^ d;\n k = 0x6ed9eba1;\n }\n } else {\n if (i < 60) {\n f = b & c | d & (b | c);\n k = 0x8f1bbcdc;\n } else {\n f = b ^ c ^ d;\n k = 0xca62c1d6;\n }\n }\n const t = (a << 5 | a >>> 27) + f + e + k + W[i] & 0xffffffff;\n e = d;\n d = c;\n c = (b << 30 | b >>> 2) & 0xffffffff;\n b = a;\n a = t;\n }\n this.chain_[0] = this.chain_[0] + a & 0xffffffff;\n this.chain_[1] = this.chain_[1] + b & 0xffffffff;\n this.chain_[2] = this.chain_[2] + c & 0xffffffff;\n this.chain_[3] = this.chain_[3] + d & 0xffffffff;\n this.chain_[4] = this.chain_[4] + e & 0xffffffff;\n }\n update(bytes, length) {\n // TODO(johnlenz): tighten the function signature and remove this check\n if (bytes == null) {\n return;\n }\n if (length === undefined) {\n length = bytes.length;\n }\n const lengthMinusBlock = length - this.blockSize;\n let n = 0;\n // Using local instead of member variables gives ~5% speedup on Firefox 16.\n const buf = this.buf_;\n let inbuf = this.inbuf_;\n // The outer while loop should execute at most twice.\n while (n < length) {\n // When we have no data in the block to top up, we can directly process the\n // input buffer (assuming it contains sufficient data). This gives ~25%\n // speedup on Chrome 23 and ~15% speedup on Firefox 16, but requires that\n // the data is provided in large chunks (or in multiples of 64 bytes).\n if (inbuf === 0) {\n while (n <= lengthMinusBlock) {\n this.compress_(bytes, n);\n n += this.blockSize;\n }\n }\n if (typeof bytes === 'string') {\n while (n < length) {\n buf[inbuf] = bytes.charCodeAt(n);\n ++inbuf;\n ++n;\n if (inbuf === this.blockSize) {\n this.compress_(buf);\n inbuf = 0;\n // Jump to the outer loop so we use the full-block optimization.\n break;\n }\n }\n } else {\n while (n < length) {\n buf[inbuf] = bytes[n];\n ++inbuf;\n ++n;\n if (inbuf === this.blockSize) {\n this.compress_(buf);\n inbuf = 0;\n // Jump to the outer loop so we use the full-block optimization.\n break;\n }\n }\n }\n }\n this.inbuf_ = inbuf;\n this.total_ += length;\n }\n /** @override */\n digest() {\n const digest = [];\n let totalBits = this.total_ * 8;\n // Add pad 0x80 0x00*.\n if (this.inbuf_ < 56) {\n this.update(this.pad_, 56 - this.inbuf_);\n } else {\n this.update(this.pad_, this.blockSize - (this.inbuf_ - 56));\n }\n // Add # bits.\n for (let i = this.blockSize - 1; i >= 56; i--) {\n this.buf_[i] = totalBits & 255;\n totalBits /= 256; // Don't use bit-shifting here!\n }\n this.compress_(this.buf_);\n let n = 0;\n for (let i = 0; i < 5; i++) {\n for (let j = 24; j >= 0; j -= 8) {\n digest[n] = this.chain_[i] >> j & 255;\n ++n;\n }\n }\n return digest;\n }\n}\n\n/**\r\n * Helper to make a Subscribe function (just like Promise helps make a\r\n * Thenable).\r\n *\r\n * @param executor Function which can make calls to a single Observer\r\n * as a proxy.\r\n * @param onNoObservers Callback when count of Observers goes to zero.\r\n */\nfunction createSubscribe(executor, onNoObservers) {\n const proxy = new ObserverProxy(executor, onNoObservers);\n return proxy.subscribe.bind(proxy);\n}\n/**\r\n * Implement fan-out for any number of Observers attached via a subscribe\r\n * function.\r\n */\nclass ObserverProxy {\n /**\r\n * @param executor Function which can make calls to a single Observer\r\n * as a proxy.\r\n * @param onNoObservers Callback when count of Observers goes to zero.\r\n */\n constructor(executor, onNoObservers) {\n this.observers = [];\n this.unsubscribes = [];\n this.observerCount = 0;\n // Micro-task scheduling by calling task.then().\n this.task = Promise.resolve();\n this.finalized = false;\n this.onNoObservers = onNoObservers;\n // Call the executor asynchronously so subscribers that are called\n // synchronously after the creation of the subscribe function\n // can still receive the very first value generated in the executor.\n this.task.then(() => {\n executor(this);\n }).catch(e => {\n this.error(e);\n });\n }\n next(value) {\n this.forEachObserver(observer => {\n observer.next(value);\n });\n }\n error(error) {\n this.forEachObserver(observer => {\n observer.error(error);\n });\n this.close(error);\n }\n complete() {\n this.forEachObserver(observer => {\n observer.complete();\n });\n this.close();\n }\n /**\r\n * Subscribe function that can be used to add an Observer to the fan-out list.\r\n *\r\n * - We require that no event is sent to a subscriber sychronously to their\r\n * call to subscribe().\r\n */\n subscribe(nextOrObserver, error, complete) {\n let observer;\n if (nextOrObserver === undefined && error === undefined && complete === undefined) {\n throw new Error('Missing Observer.');\n }\n // Assemble an Observer object when passed as callback functions.\n if (implementsAnyMethods(nextOrObserver, ['next', 'error', 'complete'])) {\n observer = nextOrObserver;\n } else {\n observer = {\n next: nextOrObserver,\n error,\n complete\n };\n }\n if (observer.next === undefined) {\n observer.next = noop;\n }\n if (observer.error === undefined) {\n observer.error = noop;\n }\n if (observer.complete === undefined) {\n observer.complete = noop;\n }\n const unsub = this.unsubscribeOne.bind(this, this.observers.length);\n // Attempt to subscribe to a terminated Observable - we\n // just respond to the Observer with the final error or complete\n // event.\n if (this.finalized) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.task.then(() => {\n try {\n if (this.finalError) {\n observer.error(this.finalError);\n } else {\n observer.complete();\n }\n } catch (e) {\n // nothing\n }\n return;\n });\n }\n this.observers.push(observer);\n return unsub;\n }\n // Unsubscribe is synchronous - we guarantee that no events are sent to\n // any unsubscribed Observer.\n unsubscribeOne(i) {\n if (this.observers === undefined || this.observers[i] === undefined) {\n return;\n }\n delete this.observers[i];\n this.observerCount -= 1;\n if (this.observerCount === 0 && this.onNoObservers !== undefined) {\n this.onNoObservers(this);\n }\n }\n forEachObserver(fn) {\n if (this.finalized) {\n // Already closed by previous event....just eat the additional values.\n return;\n }\n // Since sendOne calls asynchronously - there is no chance that\n // this.observers will become undefined.\n for (let i = 0; i < this.observers.length; i++) {\n this.sendOne(i, fn);\n }\n }\n // Call the Observer via one of it's callback function. We are careful to\n // confirm that the observe has not been unsubscribed since this asynchronous\n // function had been queued.\n sendOne(i, fn) {\n // Execute the callback asynchronously\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.task.then(() => {\n if (this.observers !== undefined && this.observers[i] !== undefined) {\n try {\n fn(this.observers[i]);\n } catch (e) {\n // Ignore exceptions raised in Observers or missing methods of an\n // Observer.\n // Log error to console. b/31404806\n if (typeof console !== 'undefined' && console.error) {\n console.error(e);\n }\n }\n }\n });\n }\n close(err) {\n if (this.finalized) {\n return;\n }\n this.finalized = true;\n if (err !== undefined) {\n this.finalError = err;\n }\n // Proxy is no longer needed - garbage collect references\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.task.then(() => {\n this.observers = undefined;\n this.onNoObservers = undefined;\n });\n }\n}\n/** Turn synchronous function into one called asynchronously. */\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction async(fn, onError) {\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n Promise.resolve(true).then(() => {\n fn(...args);\n }).catch(error => {\n if (onError) {\n onError(error);\n }\n });\n };\n}\n/**\r\n * Return true if the object passed in implements any of the named methods.\r\n */\nfunction implementsAnyMethods(obj, methods) {\n if (typeof obj !== 'object' || obj === null) {\n return false;\n }\n for (const method of methods) {\n if (method in obj && typeof obj[method] === 'function') {\n return true;\n }\n }\n return false;\n}\nfunction noop() {\n // do nothing\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n/**\r\n * Check to make sure the appropriate number of arguments are provided for a public function.\r\n * Throws an error if it fails.\r\n *\r\n * @param fnName The function name\r\n * @param minCount The minimum number of arguments to allow for the function call\r\n * @param maxCount The maximum number of argument to allow for the function call\r\n * @param argCount The actual number of arguments provided.\r\n */\nconst validateArgCount = function (fnName, minCount, maxCount, argCount) {\n let argError;\n if (argCount < minCount) {\n argError = 'at least ' + minCount;\n } else if (argCount > maxCount) {\n argError = maxCount === 0 ? 'none' : 'no more than ' + maxCount;\n }\n if (argError) {\n const error = fnName + ' failed: Was called with ' + argCount + (argCount === 1 ? ' argument.' : ' arguments.') + ' Expects ' + argError + '.';\n throw new Error(error);\n }\n};\n/**\r\n * Generates a string to prefix an error message about failed argument validation\r\n *\r\n * @param fnName The function name\r\n * @param argName The name of the argument\r\n * @return The prefix to add to the error thrown for validation.\r\n */\nfunction errorPrefix(fnName, argName) {\n return `${fnName} failed: ${argName} argument `;\n}\n/**\r\n * @param fnName\r\n * @param argumentNumber\r\n * @param namespace\r\n * @param optional\r\n */\nfunction validateNamespace(fnName, namespace, optional) {\n if (optional && !namespace) {\n return;\n }\n if (typeof namespace !== 'string') {\n //TODO: I should do more validation here. We only allow certain chars in namespaces.\n throw new Error(errorPrefix(fnName, 'namespace') + 'must be a valid firebase namespace.');\n }\n}\nfunction validateCallback(fnName, argumentName,\n// eslint-disable-next-line @typescript-eslint/ban-types\ncallback, optional) {\n if (optional && !callback) {\n return;\n }\n if (typeof callback !== 'function') {\n throw new Error(errorPrefix(fnName, argumentName) + 'must be a valid function.');\n }\n}\nfunction validateContextObject(fnName, argumentName, context, optional) {\n if (optional && !context) {\n return;\n }\n if (typeof context !== 'object' || context === null) {\n throw new Error(errorPrefix(fnName, argumentName) + 'must be a valid context object.');\n }\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n// Code originally came from goog.crypt.stringToUtf8ByteArray, but for some reason they\n// automatically replaced '\\r\\n' with '\\n', and they didn't handle surrogate pairs,\n// so it's been modified.\n// Note that not all Unicode characters appear as single characters in JavaScript strings.\n// fromCharCode returns the UTF-16 encoding of a character - so some Unicode characters\n// use 2 characters in Javascript. All 4-byte UTF-8 characters begin with a first\n// character in the range 0xD800 - 0xDBFF (the first character of a so-called surrogate\n// pair).\n// See http://www.ecma-international.org/ecma-262/5.1/#sec-15.1.3\n/**\r\n * @param {string} str\r\n * @return {Array}\r\n */\nconst stringToByteArray = function (str) {\n const out = [];\n let p = 0;\n for (let i = 0; i < str.length; i++) {\n let c = str.charCodeAt(i);\n // Is this the lead surrogate in a surrogate pair?\n if (c >= 0xd800 && c <= 0xdbff) {\n const high = c - 0xd800; // the high 10 bits.\n i++;\n assert(i < str.length, 'Surrogate pair missing trail surrogate.');\n const low = str.charCodeAt(i) - 0xdc00; // the low 10 bits.\n c = 0x10000 + (high << 10) + low;\n }\n if (c < 128) {\n out[p++] = c;\n } else if (c < 2048) {\n out[p++] = c >> 6 | 192;\n out[p++] = c & 63 | 128;\n } else if (c < 65536) {\n out[p++] = c >> 12 | 224;\n out[p++] = c >> 6 & 63 | 128;\n out[p++] = c & 63 | 128;\n } else {\n out[p++] = c >> 18 | 240;\n out[p++] = c >> 12 & 63 | 128;\n out[p++] = c >> 6 & 63 | 128;\n out[p++] = c & 63 | 128;\n }\n }\n return out;\n};\n/**\r\n * Calculate length without actually converting; useful for doing cheaper validation.\r\n * @param {string} str\r\n * @return {number}\r\n */\nconst stringLength = function (str) {\n let p = 0;\n for (let i = 0; i < str.length; i++) {\n const c = str.charCodeAt(i);\n if (c < 128) {\n p++;\n } else if (c < 2048) {\n p += 2;\n } else if (c >= 0xd800 && c <= 0xdbff) {\n // Lead surrogate of a surrogate pair. The pair together will take 4 bytes to represent.\n p += 4;\n i++; // skip trail surrogate.\n } else {\n p += 3;\n }\n }\n return p;\n};\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n/**\r\n * Copied from https://stackoverflow.com/a/2117523\r\n * Generates a new uuid.\r\n * @public\r\n */\nconst uuidv4 = function () {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {\n const r = Math.random() * 16 | 0,\n v = c === 'x' ? r : r & 0x3 | 0x8;\n return v.toString(16);\n });\n};\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n/**\r\n * The amount of milliseconds to exponentially increase.\r\n */\nconst DEFAULT_INTERVAL_MILLIS = 1000;\n/**\r\n * The factor to backoff by.\r\n * Should be a number greater than 1.\r\n */\nconst DEFAULT_BACKOFF_FACTOR = 2;\n/**\r\n * The maximum milliseconds to increase to.\r\n *\r\n *

Visible for testing\r\n */\nconst MAX_VALUE_MILLIS = 4 * 60 * 60 * 1000; // Four hours, like iOS and Android.\n/**\r\n * The percentage of backoff time to randomize by.\r\n * See\r\n * http://go/safe-client-behavior#step-1-determine-the-appropriate-retry-interval-to-handle-spike-traffic\r\n * for context.\r\n *\r\n *

Visible for testing\r\n */\nconst RANDOM_FACTOR = 0.5;\n/**\r\n * Based on the backoff method from\r\n * https://github.com/google/closure-library/blob/master/closure/goog/math/exponentialbackoff.js.\r\n * Extracted here so we don't need to pass metadata and a stateful ExponentialBackoff object around.\r\n */\nfunction calculateBackoffMillis(backoffCount) {\n let intervalMillis = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_INTERVAL_MILLIS;\n let backoffFactor = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_BACKOFF_FACTOR;\n // Calculates an exponentially increasing value.\n // Deviation: calculates value from count and a constant interval, so we only need to save value\n // and count to restore state.\n const currBaseValue = intervalMillis * Math.pow(backoffFactor, backoffCount);\n // A random \"fuzz\" to avoid waves of retries.\n // Deviation: randomFactor is required.\n const randomWait = Math.round(\n // A fraction of the backoff value to add/subtract.\n // Deviation: changes multiplication order to improve readability.\n RANDOM_FACTOR * currBaseValue * (\n // A random float (rounded to int by Math.round above) in the range [-1, 1]. Determines\n // if we add or subtract.\n Math.random() - 0.5) * 2);\n // Limits backoff to max to avoid effectively permanent backoff.\n return Math.min(MAX_VALUE_MILLIS, currBaseValue + randomWait);\n}\n\n/**\r\n * @license\r\n * Copyright 2020 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n/**\r\n * Provide English ordinal letters after a number\r\n */\nfunction ordinal(i) {\n if (!Number.isFinite(i)) {\n return `${i}`;\n }\n return i + indicator(i);\n}\nfunction indicator(i) {\n i = Math.abs(i);\n const cent = i % 100;\n if (cent >= 10 && cent <= 20) {\n return 'th';\n }\n const dec = i % 10;\n if (dec === 1) {\n return 'st';\n }\n if (dec === 2) {\n return 'nd';\n }\n if (dec === 3) {\n return 'rd';\n }\n return 'th';\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\nfunction getModularInstance(service) {\n if (service && service._delegate) {\n return service._delegate;\n } else {\n return service;\n }\n}\nexport { CONSTANTS, DecodeBase64StringError, Deferred, ErrorFactory, FirebaseError, MAX_VALUE_MILLIS, RANDOM_FACTOR, Sha1, areCookiesEnabled, assert, assertionError, async, base64, base64Decode, base64Encode, base64urlEncodeWithoutPadding, calculateBackoffMillis, contains, createMockUserToken, createSubscribe, decode, deepCopy, deepEqual, deepExtend, errorPrefix, extractQuerystring, getDefaultAppConfig, getDefaultEmulatorHost, getDefaultEmulatorHostnameAndPort, getDefaults, getExperimentalSetting, getGlobal, getModularInstance, getUA, isAdmin, isBrowser, isBrowserExtension, isElectron, isEmpty, isIE, isIndexedDBAvailable, isMobileCordova, isNode, isNodeSdk, isReactNative, isSafari, isUWP, isValidFormat, isValidTimestamp, issuedAtTime, jsonEval, map, ordinal, promiseWithTimeout, querystring, querystringDecode, safeGet, stringLength, stringToByteArray, stringify, uuidv4, validateArgCount, validateCallback, validateContextObject, validateIndexedDBOpenable, validateNamespace };","import React, { createElement } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { publicLoader } from \"./loader\"\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 pathContext: this.props.pageContext,\n }\n\n const [replacementElement] = apiRunner(`replaceComponentRenderer`, {\n props: this.props,\n loader: publicLoader,\n })\n\n const pageElement =\n replacementElement ||\n 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","import { Deferred } from '@firebase/util';\n\n/**\r\n * Component for service name T, e.g. `auth`, `auth-internal`\r\n */\nclass Component {\n /**\r\n *\r\n * @param name The public service name, e.g. app, auth, firestore, database\r\n * @param instanceFactory Service factory responsible for creating the public interface\r\n * @param type whether the service provided by the component is public or private\r\n */\n constructor(name, instanceFactory, type) {\n this.name = name;\n this.instanceFactory = instanceFactory;\n this.type = type;\n this.multipleInstances = false;\n /**\r\n * Properties to be added to the service namespace\r\n */\n this.serviceProps = {};\n this.instantiationMode = \"LAZY\" /* InstantiationMode.LAZY */;\n this.onInstanceCreated = null;\n }\n setInstantiationMode(mode) {\n this.instantiationMode = mode;\n return this;\n }\n setMultipleInstances(multipleInstances) {\n this.multipleInstances = multipleInstances;\n return this;\n }\n setServiceProps(props) {\n this.serviceProps = props;\n return this;\n }\n setInstanceCreatedCallback(callback) {\n this.onInstanceCreated = callback;\n return this;\n }\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\nconst DEFAULT_ENTRY_NAME = '[DEFAULT]';\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n/**\r\n * Provider for instance for service name T, e.g. 'auth', 'auth-internal'\r\n * NameServiceMapping[T] is an alias for the type of the instance\r\n */\nclass Provider {\n constructor(name, container) {\n this.name = name;\n this.container = container;\n this.component = null;\n this.instances = new Map();\n this.instancesDeferred = new Map();\n this.instancesOptions = new Map();\n this.onInitCallbacks = new Map();\n }\n /**\r\n * @param identifier A provider can provide mulitple instances of a service\r\n * if this.component.multipleInstances is true.\r\n */\n get(identifier) {\n // if multipleInstances is not supported, use the default name\n const normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\n if (!this.instancesDeferred.has(normalizedIdentifier)) {\n const deferred = new Deferred();\n this.instancesDeferred.set(normalizedIdentifier, deferred);\n if (this.isInitialized(normalizedIdentifier) || this.shouldAutoInitialize()) {\n // initialize the service if it can be auto-initialized\n try {\n const instance = this.getOrInitializeService({\n instanceIdentifier: normalizedIdentifier\n });\n if (instance) {\n deferred.resolve(instance);\n }\n } catch (e) {\n // when the instance factory throws an exception during get(), it should not cause\n // a fatal error. We just return the unresolved promise in this case.\n }\n }\n }\n return this.instancesDeferred.get(normalizedIdentifier).promise;\n }\n getImmediate(options) {\n var _a;\n // if multipleInstances is not supported, use the default name\n const normalizedIdentifier = this.normalizeInstanceIdentifier(options === null || options === void 0 ? void 0 : options.identifier);\n const optional = (_a = options === null || options === void 0 ? void 0 : options.optional) !== null && _a !== void 0 ? _a : false;\n if (this.isInitialized(normalizedIdentifier) || this.shouldAutoInitialize()) {\n try {\n return this.getOrInitializeService({\n instanceIdentifier: normalizedIdentifier\n });\n } catch (e) {\n if (optional) {\n return null;\n } else {\n throw e;\n }\n }\n } else {\n // In case a component is not initialized and should/can not be auto-initialized at the moment, return null if the optional flag is set, or throw\n if (optional) {\n return null;\n } else {\n throw Error(`Service ${this.name} is not available`);\n }\n }\n }\n getComponent() {\n return this.component;\n }\n setComponent(component) {\n if (component.name !== this.name) {\n throw Error(`Mismatching Component ${component.name} for Provider ${this.name}.`);\n }\n if (this.component) {\n throw Error(`Component for ${this.name} has already been provided`);\n }\n this.component = component;\n // return early without attempting to initialize the component if the component requires explicit initialization (calling `Provider.initialize()`)\n if (!this.shouldAutoInitialize()) {\n return;\n }\n // if the service is eager, initialize the default instance\n if (isComponentEager(component)) {\n try {\n this.getOrInitializeService({\n instanceIdentifier: DEFAULT_ENTRY_NAME\n });\n } catch (e) {\n // when the instance factory for an eager Component throws an exception during the eager\n // initialization, it should not cause a fatal error.\n // TODO: Investigate if we need to make it configurable, because some component may want to cause\n // a fatal error in this case?\n }\n }\n // Create service instances for the pending promises and resolve them\n // NOTE: if this.multipleInstances is false, only the default instance will be created\n // and all promises with resolve with it regardless of the identifier.\n for (const [instanceIdentifier, instanceDeferred] of this.instancesDeferred.entries()) {\n const normalizedIdentifier = this.normalizeInstanceIdentifier(instanceIdentifier);\n try {\n // `getOrInitializeService()` should always return a valid instance since a component is guaranteed. use ! to make typescript happy.\n const instance = this.getOrInitializeService({\n instanceIdentifier: normalizedIdentifier\n });\n instanceDeferred.resolve(instance);\n } catch (e) {\n // when the instance factory throws an exception, it should not cause\n // a fatal error. We just leave the promise unresolved.\n }\n }\n }\n clearInstance() {\n let identifier = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_ENTRY_NAME;\n this.instancesDeferred.delete(identifier);\n this.instancesOptions.delete(identifier);\n this.instances.delete(identifier);\n }\n // app.delete() will call this method on every provider to delete the services\n // TODO: should we mark the provider as deleted?\n async delete() {\n const services = Array.from(this.instances.values());\n await Promise.all([...services.filter(service => 'INTERNAL' in service) // legacy services\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .map(service => service.INTERNAL.delete()), ...services.filter(service => '_delete' in service) // modularized services\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .map(service => service._delete())]);\n }\n isComponentSet() {\n return this.component != null;\n }\n isInitialized() {\n let identifier = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_ENTRY_NAME;\n return this.instances.has(identifier);\n }\n getOptions() {\n let identifier = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_ENTRY_NAME;\n return this.instancesOptions.get(identifier) || {};\n }\n initialize() {\n let opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const {\n options = {}\n } = opts;\n const normalizedIdentifier = this.normalizeInstanceIdentifier(opts.instanceIdentifier);\n if (this.isInitialized(normalizedIdentifier)) {\n throw Error(`${this.name}(${normalizedIdentifier}) has already been initialized`);\n }\n if (!this.isComponentSet()) {\n throw Error(`Component ${this.name} has not been registered yet`);\n }\n const instance = this.getOrInitializeService({\n instanceIdentifier: normalizedIdentifier,\n options\n });\n // resolve any pending promise waiting for the service instance\n for (const [instanceIdentifier, instanceDeferred] of this.instancesDeferred.entries()) {\n const normalizedDeferredIdentifier = this.normalizeInstanceIdentifier(instanceIdentifier);\n if (normalizedIdentifier === normalizedDeferredIdentifier) {\n instanceDeferred.resolve(instance);\n }\n }\n return instance;\n }\n /**\r\n *\r\n * @param callback - a function that will be invoked after the provider has been initialized by calling provider.initialize().\r\n * The function is invoked SYNCHRONOUSLY, so it should not execute any longrunning tasks in order to not block the program.\r\n *\r\n * @param identifier An optional instance identifier\r\n * @returns a function to unregister the callback\r\n */\n onInit(callback, identifier) {\n var _a;\n const normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\n const existingCallbacks = (_a = this.onInitCallbacks.get(normalizedIdentifier)) !== null && _a !== void 0 ? _a : new Set();\n existingCallbacks.add(callback);\n this.onInitCallbacks.set(normalizedIdentifier, existingCallbacks);\n const existingInstance = this.instances.get(normalizedIdentifier);\n if (existingInstance) {\n callback(existingInstance, normalizedIdentifier);\n }\n return () => {\n existingCallbacks.delete(callback);\n };\n }\n /**\r\n * Invoke onInit callbacks synchronously\r\n * @param instance the service instance`\r\n */\n invokeOnInitCallbacks(instance, identifier) {\n const callbacks = this.onInitCallbacks.get(identifier);\n if (!callbacks) {\n return;\n }\n for (const callback of callbacks) {\n try {\n callback(instance, identifier);\n } catch (_a) {\n // ignore errors in the onInit callback\n }\n }\n }\n getOrInitializeService(_ref) {\n let {\n instanceIdentifier,\n options = {}\n } = _ref;\n let instance = this.instances.get(instanceIdentifier);\n if (!instance && this.component) {\n instance = this.component.instanceFactory(this.container, {\n instanceIdentifier: normalizeIdentifierForFactory(instanceIdentifier),\n options\n });\n this.instances.set(instanceIdentifier, instance);\n this.instancesOptions.set(instanceIdentifier, options);\n /**\r\n * Invoke onInit listeners.\r\n * Note this.component.onInstanceCreated is different, which is used by the component creator,\r\n * while onInit listeners are registered by consumers of the provider.\r\n */\n this.invokeOnInitCallbacks(instance, instanceIdentifier);\n /**\r\n * Order is important\r\n * onInstanceCreated() should be called after this.instances.set(instanceIdentifier, instance); which\r\n * makes `isInitialized()` return true.\r\n */\n if (this.component.onInstanceCreated) {\n try {\n this.component.onInstanceCreated(this.container, instanceIdentifier, instance);\n } catch (_a) {\n // ignore errors in the onInstanceCreatedCallback\n }\n }\n }\n return instance || null;\n }\n normalizeInstanceIdentifier() {\n let identifier = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_ENTRY_NAME;\n if (this.component) {\n return this.component.multipleInstances ? identifier : DEFAULT_ENTRY_NAME;\n } else {\n return identifier; // assume multiple instances are supported before the component is provided.\n }\n }\n shouldAutoInitialize() {\n return !!this.component && this.component.instantiationMode !== \"EXPLICIT\" /* InstantiationMode.EXPLICIT */;\n }\n}\n// undefined should be passed to the service factory for the default instance\nfunction normalizeIdentifierForFactory(identifier) {\n return identifier === DEFAULT_ENTRY_NAME ? undefined : identifier;\n}\nfunction isComponentEager(component) {\n return component.instantiationMode === \"EAGER\" /* InstantiationMode.EAGER */;\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n/**\r\n * ComponentContainer that provides Providers for service name T, e.g. `auth`, `auth-internal`\r\n */\nclass ComponentContainer {\n constructor(name) {\n this.name = name;\n this.providers = new Map();\n }\n /**\r\n *\r\n * @param component Component being added\r\n * @param overwrite When a component with the same name has already been registered,\r\n * if overwrite is true: overwrite the existing component with the new component and create a new\r\n * provider with the new component. It can be useful in tests where you want to use different mocks\r\n * for different tests.\r\n * if overwrite is false: throw an exception\r\n */\n addComponent(component) {\n const provider = this.getProvider(component.name);\n if (provider.isComponentSet()) {\n throw new Error(`Component ${component.name} has already been registered with ${this.name}`);\n }\n provider.setComponent(component);\n }\n addOrOverwriteComponent(component) {\n const provider = this.getProvider(component.name);\n if (provider.isComponentSet()) {\n // delete the existing provider from the container, so we can register the new component\n this.providers.delete(component.name);\n }\n this.addComponent(component);\n }\n /**\r\n * getProvider provides a type safe interface where it can only be called with a field name\r\n * present in NameServiceMapping interface.\r\n *\r\n * Firebase SDKs providing services should extend NameServiceMapping interface to register\r\n * themselves.\r\n */\n getProvider(name) {\n if (this.providers.has(name)) {\n return this.providers.get(name);\n }\n // create a Provider for a service that hasn't registered with Firebase\n const provider = new Provider(name, this);\n this.providers.set(name, provider);\n return provider;\n }\n getProviders() {\n return Array.from(this.providers.values());\n }\n}\nexport { Component, ComponentContainer, Provider };","\"use strict\";\n\nexports.onRouteUpdate = function (_, 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(function () {\n var data = pluginOptions.dataLayerName ? window[pluginOptions.dataLayerName] : window.dataLayer;\n var eventName = pluginOptions.routeChangeEventName ? pluginOptions.routeChangeEventName : \"gatsby-route-change\";\n data.push({\n event: eventName\n });\n }, 50);\n }\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 };","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\n var _uri$split = uri.split(\"?\"),\n uriPathname = _uri$split[0];\n\n var uriSegments = segmentize(uriPathname);\n var isRootUri = uriSegments[0] === \"\";\n var ranked = rankRoutes(routes);\n\n for (var i = 0, l = ranked.length; i < l; i++) {\n var missed = false;\n var route = ranked[i].route;\n\n if (route.default) {\n default_ = {\n route: route,\n params: {},\n uri: uri\n };\n continue;\n }\n\n var routeSegments = segmentize(route.path);\n var params = {};\n var max = Math.max(uriSegments.length, routeSegments.length);\n var index = 0;\n\n for (; index < max; index++) {\n var routeSegment = routeSegments[index];\n var uriSegment = uriSegments[index];\n\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\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\n var dynamicMatch = paramRe.exec(routeSegment);\n\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\n if (!missed) {\n match = {\n route: route,\n params: params,\n uri: \"/\" + uriSegments.slice(0, index).join(\"/\")\n };\n break;\n }\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([{ path: path }], 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\n var _to$split = to.split(\"?\"),\n toPathname = _to$split[0],\n toQuery = _to$split[1];\n\n var _base$split = base.split(\"?\"),\n basePathname = _base$split[0];\n\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\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\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\n var searchSplit = search.split(\"?\")[1] || \"\";\n constructedPath = addQuery(constructedPath, query, searchSplit);\n return constructedPath;\n};\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 = /^:(.+)/;\n\nvar SEGMENT_POINTS = 4;\nvar STATIC_POINTS = 3;\nvar DYNAMIC_POINTS = 2;\nvar SPLAT_PENALTY = 1;\nvar ROOT_POINTS = 1;\n\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};\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 { route: route, score: score, 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};\n\nvar segmentize = function segmentize(uri) {\n return uri\n // strip starting/ending slashes\n .replace(/(^\\/+|\\/+$)/g, \"\").split(\"/\");\n};\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\n query = query.filter(function (q) {\n return q && q.length > 0;\n });\n return pathname + (query && query.length > 0 ? \"?\" + query.join(\"&\") : \"\");\n};\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 };","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\":\"#e1002f\",\"theme_color\":\"#e1002f\",\"display\":\"minimal-ui\",\"icon\":\"src/images/icons/logoBud.png\",\"legacy\":true,\"theme_color_in_head\":true,\"cache_busting_mode\":\"query\",\"crossOrigin\":\"anonymous\",\"include_favicon\":true,\"cacheDigest\":\"7bb55d69dee457840b0573f57b33fb7d\"},\n },{\n plugin: require('../node_modules/gatsby-plugin-google-tagmanager/gatsby-browser.js'),\n options: {\"plugins\":[],\"id\":\"GTM-K57XFLK\",\"includeInDevelopment\":true,\"defaultDataLayer\":{\"type\":\"object\",\"value\":{\"platform\":\"gatsby\"}},\"routeChangeEventName\":\"gatsby-route-change\"},\n },{\n plugin: require('../gatsby-browser.js'),\n options: {\"plugins\":[]},\n }]\n","/*!\n * domready (c) Dustin Diaz 2014 - License MIT\n * ie10 fix - Mikael Kristiansson 2019\n */\n!(function(name, definition) {\n if (typeof module != \"undefined\") module.exports = definition();\n else if (typeof define == \"function\" && typeof define.amd == \"object\")\n define(definition);\n else this[name] = definition();\n})(\"domready\", function() {\n var ie10 = false;\n if (navigator.appVersion.indexOf(\"MSIE 10\") !== -1) {\n ie10 = true;\n }\n\n var fns = [],\n listener,\n doc = typeof document === \"object\" && document,\n hack = ie10\n ? doc.documentElement.doScroll(\"left\")\n : doc.documentElement.doScroll,\n domContentLoaded = \"DOMContentLoaded\",\n loaded =\n doc && (hack ? /^loaded|^c/ : /^loaded|^i|^c/).test(doc.readyState);\n\n if (!loaded && doc)\n doc.addEventListener(\n domContentLoaded,\n (listener = function() {\n doc.removeEventListener(domContentLoaded, listener);\n loaded = 1;\n while ((listener = fns.shift())) listener();\n })\n );\n\n return function(fn) {\n loaded ? setTimeout(fn, 0) : fns.push(fn);\n };\n});\n","import { apiRunner } from \"./api-runner-browser\"\n\nif (\n window.location.protocol !== `https:` &&\n window.location.hostname !== `localhost`\n) {\n console.error(\n `Service workers can only be used over HTTPS, or on localhost for development`\n )\n} else if (`serviceWorker` in navigator) {\n navigator.serviceWorker\n .register(`${__BASE_PATH__}/sw.js`)\n .then(function (reg) {\n reg.addEventListener(`updatefound`, () => {\n apiRunner(`onServiceWorkerUpdateFound`, { serviceWorker: reg })\n // The updatefound event implies that reg.installing is set; see\n // https://w3c.github.io/ServiceWorker/#service-worker-registration-updatefound-event\n const installingWorker = reg.installing\n console.log(`installingWorker`, installingWorker)\n installingWorker.addEventListener(`statechange`, () => {\n switch (installingWorker.state) {\n case `installed`:\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and the fresh content will\n // have been added to the cache.\n\n // We set a flag so Gatsby Link knows to refresh the page on next navigation attempt\n window.___swUpdated = true\n // We call the onServiceWorkerUpdateReady API so users can show update prompts.\n apiRunner(`onServiceWorkerUpdateReady`, { serviceWorker: reg })\n\n // If resources failed for the current page, reload.\n if (window.___failedResources) {\n console.log(`resources failed, SW updated - reloading`)\n window.location.reload()\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a \"Content is cached for offline use.\" message.\n console.log(`Content is now available offline!`)\n\n // Post to service worker that install is complete.\n // Delay to allow time for the event listener to be added --\n // otherwise fetch is called too soon and resources aren't cached.\n apiRunner(`onServiceWorkerInstalled`, { serviceWorker: reg })\n }\n break\n\n case `redundant`:\n console.error(`The installing service worker became redundant.`)\n apiRunner(`onServiceWorkerRedundant`, { serviceWorker: reg })\n break\n\n case `activated`:\n apiRunner(`onServiceWorkerActive`, { serviceWorker: reg })\n break\n }\n })\n })\n })\n .catch(function (e) {\n console.error(`Error during service worker registration:`, e)\n })\n}\n","// 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-acreditacionlolla-js\": () => import(\"./../../../src/pages/acreditacionlolla.js\" /* webpackChunkName: \"component---src-pages-acreditacionlolla-js\" */),\n \"component---src-pages-agegate-jsx\": () => import(\"./../../../src/pages/agegate.jsx\" /* webpackChunkName: \"component---src-pages-agegate-jsx\" */),\n \"component---src-pages-backtolive-js\": () => import(\"./../../../src/pages/backtolive.js\" /* webpackChunkName: \"component---src-pages-backtolive-js\" */),\n \"component---src-pages-budstage-404-js\": () => import(\"./../../../src/pages/budstage/404.js\" /* webpackChunkName: \"component---src-pages-budstage-404-js\" */),\n \"component---src-pages-budstage-index-js\": () => import(\"./../../../src/pages/budstage/index.js\" /* webpackChunkName: \"component---src-pages-budstage-index-js\" */),\n \"component---src-pages-budstage-loading-js\": () => import(\"./../../../src/pages/budstage/loading.js\" /* webpackChunkName: \"component---src-pages-budstage-loading-js\" */),\n \"component---src-pages-budstage-mis-temas-js\": () => import(\"./../../../src/pages/budstage/mis-temas.js\" /* webpackChunkName: \"component---src-pages-budstage-mis-temas-js\" */),\n \"component---src-pages-budstage-participate-js\": () => import(\"./../../../src/pages/budstage/participate.js\" /* webpackChunkName: \"component---src-pages-budstage-participate-js\" */),\n \"component---src-pages-budstage-share-js\": () => import(\"./../../../src/pages/budstage/share.js\" /* webpackChunkName: \"component---src-pages-budstage-share-js\" */),\n \"component---src-pages-budstage-success-js\": () => import(\"./../../../src/pages/budstage/success.js\" /* webpackChunkName: \"component---src-pages-budstage-success-js\" */),\n \"component---src-pages-budstage-tema-js\": () => import(\"./../../../src/pages/budstage/tema.js\" /* webpackChunkName: \"component---src-pages-budstage-tema-js\" */),\n \"component---src-pages-budstage-temas-js\": () => import(\"./../../../src/pages/budstage/temas.js\" /* webpackChunkName: \"component---src-pages-budstage-temas-js\" */),\n \"component---src-pages-budstage-tyc-js\": () => import(\"./../../../src/pages/budstage/tyc.js\" /* webpackChunkName: \"component---src-pages-budstage-tyc-js\" */),\n \"component---src-pages-budsummer-js\": () => import(\"./../../../src/pages/budsummer.js\" /* webpackChunkName: \"component---src-pages-budsummer-js\" */),\n \"component---src-pages-budx-js\": () => import(\"./../../../src/pages/budx.js\" /* webpackChunkName: \"component---src-pages-budx-js\" */),\n \"component---src-pages-cattaneo-js\": () => import(\"./../../../src/pages/cattaneo.js\" /* webpackChunkName: \"component---src-pages-cattaneo-js\" */),\n \"component---src-pages-entradaslolla-js\": () => import(\"./../../../src/pages/entradaslolla.js\" /* webpackChunkName: \"component---src-pages-entradaslolla-js\" */),\n \"component---src-pages-esports-js\": () => import(\"./../../../src/pages/esports.js\" /* webpackChunkName: \"component---src-pages-esports-js\" */),\n \"component---src-pages-eventos-js\": () => import(\"./../../../src/pages/eventos.js\" /* webpackChunkName: \"component---src-pages-eventos-js\" */),\n \"component---src-pages-fanfest-js\": () => import(\"./../../../src/pages/fanfest.js\" /* webpackChunkName: \"component---src-pages-fanfest-js\" */),\n \"component---src-pages-festejomundial-js\": () => import(\"./../../../src/pages/festejomundial.js\" /* webpackChunkName: \"component---src-pages-festejomundial-js\" */),\n \"component---src-pages-futbol-js\": () => import(\"./../../../src/pages/futbol.js\" /* webpackChunkName: \"component---src-pages-futbol-js\" */),\n \"component---src-pages-index-js\": () => import(\"./../../../src/pages/index.js\" /* webpackChunkName: \"component---src-pages-index-js\" */),\n \"component---src-pages-labanderaentusmanos-js\": () => import(\"./../../../src/pages/labanderaentusmanos.js\" /* webpackChunkName: \"component---src-pages-labanderaentusmanos-js\" */),\n \"component---src-pages-lamusicaentusmanos-js\": () => import(\"./../../../src/pages/lamusicaentusmanos.js\" /* webpackChunkName: \"component---src-pages-lamusicaentusmanos-js\" */),\n \"component---src-pages-lamusicaentusmanos-lolla-index-js\": () => import(\"./../../../src/pages/lamusicaentusmanos/lolla/index.js\" /* webpackChunkName: \"component---src-pages-lamusicaentusmanos-lolla-index-js\" */),\n \"component---src-pages-lamusicaentusmanos-mute-index-js\": () => import(\"./../../../src/pages/lamusicaentusmanos/mute/index.js\" /* webpackChunkName: \"component---src-pages-lamusicaentusmanos-mute-index-js\" */),\n \"component---src-pages-lamusicaentusmanos-success-js\": () => import(\"./../../../src/pages/lamusicaentusmanos/success.js\" /* webpackChunkName: \"component---src-pages-lamusicaentusmanos-success-js\" */),\n \"component---src-pages-mapabudmundial-js\": () => import(\"./../../../src/pages/mapabudmundial.js\" /* webpackChunkName: \"component---src-pages-mapabudmundial-js\" */),\n \"component---src-pages-messi-644-js\": () => import(\"./../../../src/pages/messi644.js\" /* webpackChunkName: \"component---src-pages-messi-644-js\" */),\n \"component---src-pages-producto-js\": () => import(\"./../../../src/pages/producto.js\" /* webpackChunkName: \"component---src-pages-producto-js\" */),\n \"component---src-pages-sustentabilidad-js\": () => import(\"./../../../src/pages/sustentabilidad.js\" /* webpackChunkName: \"component---src-pages-sustentabilidad-js\" */),\n \"component---src-templates-lolla-event-js\": () => import(\"./../../../src/templates/lolla-event.js\" /* webpackChunkName: \"component---src-templates-lolla-event-js\" */),\n \"component---src-templates-mute-event-js\": () => import(\"./../../../src/templates/mute-event.js\" /* webpackChunkName: \"component---src-templates-mute-event-js\" */)\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;","/**\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","import React from \"react\"\n\nexport const GlobalStateContext = React.createContext()\nexport const GlobalDispatchContext = React.createContext()\n\nconst initialState = {\n showModalRegister: true,\n user: false,\n events:[],\n venues:[],\n}\n\nconst reducer = (state, action) => {\n switch (action.type) {\n case \"CHANGE_MODALREGISTER\": {\n return {\n ...state,\n showModalRegister: state.showModalRegister ? false : true,\n }\n }\n case \"SET_USER\": {\n return {\n ...state,\n user: action.user,\n }\n }\n case \"ADD_EVENTS\":{\n return {\n ...state,\n events:action.events\n }\n }\n case \"ADD_VENUES\":{\n return {\n ...state,\n venues:action.venues\n }\n }\n default:\n throw new Error(\"Bad Action Type\")\n }\n}\n\nconst GlobalContextProvider = ({ children }) => {\n const [state, dispatch] = React.useReducer(reducer, initialState)\n return (\n \n \n {children}\n \n \n )\n}\n\nexport default GlobalContextProvider\n","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;","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;","// 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 redirects from \"./redirects.json\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport emitter from \"./emitter\"\nimport { RouteAnnouncerProps } from \"./route-announcer-props\"\nimport { navigate as reachNavigate } from \"@reach/router\"\nimport { globalHistory } from \"@reach/router/lib/history\"\nimport { parsePath } from \"gatsby-link\"\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\nfunction maybeRedirect(pathname) {\n let redirect = redirectMap.get(pathname)\n if (!redirect) {\n redirect = redirectIgnoreCaseMap.get(pathname.toLowerCase())\n }\n\n if (redirect != null) {\n if (process.env.NODE_ENV !== `production`) {\n if (!loader.isPageNotFound(pathname)) {\n console.error(\n `The route \"${pathname}\" matches both a page and a redirect; this is probably not intentional.`\n )\n }\n }\n\n window.___replace(redirect.toPath)\n return true\n } else {\n return false\n }\n}\n\nconst onPreRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(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 let { pathname } = parsePath(to)\n let redirect = redirectMap.get(pathname)\n if (!redirect) {\n redirect = redirectIgnoreCaseMap.get(pathname.toLowerCase())\n }\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\n pathname = parsePath(to).pathname\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\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 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\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 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 }\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: pageResources || loader.loadPageSync(location.pathname),\n }\n }\n\n static getDerivedStateFromProps({ location }, prevState) {\n if (prevState.location.href !== location.href) {\n const pageResources = loader.loadPageSync(location.pathname)\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 (process.env.NODE_ENV !== `production` && !this.state.pageResources) {\n throw new Error(\n `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 )\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 \"@reach/router\"\nimport { ScrollContext } from \"gatsby-react-router-scroll\"\nimport domReady from \"@mikaelkristiansson/domready\"\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)\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`).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 throw new Error(\n `page resources for ${browserLoc.pathname} not found. Not rendering React`\n )\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 = () => {SiteRoot}\n\n const renderer = apiRunner(\n `replaceHydrateFunction`,\n undefined,\n ReactDOM.hydrate\n )[0]\n\n domReady(() => {\n renderer(\n ,\n typeof window !== `undefined`\n ? document.getElementById(`___gatsby`)\n : void 0,\n () => {\n apiRunner(`onInitialClientRender`)\n }\n )\n })\n })\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;","const instanceOfAny = (object, constructors) => constructors.some(c => object instanceof c);\nlet idbProxyableTypes;\nlet cursorAdvanceMethods;\n// This is a function to prevent it throwing up in node environments.\nfunction getIdbProxyableTypes() {\n return idbProxyableTypes || (idbProxyableTypes = [IDBDatabase, IDBObjectStore, IDBIndex, IDBCursor, IDBTransaction]);\n}\n// This is a function to prevent it throwing up in node environments.\nfunction getCursorAdvanceMethods() {\n return cursorAdvanceMethods || (cursorAdvanceMethods = [IDBCursor.prototype.advance, IDBCursor.prototype.continue, IDBCursor.prototype.continuePrimaryKey]);\n}\nconst cursorRequestMap = new WeakMap();\nconst transactionDoneMap = new WeakMap();\nconst transactionStoreNamesMap = new WeakMap();\nconst transformCache = new WeakMap();\nconst reverseTransformCache = new WeakMap();\nfunction promisifyRequest(request) {\n const promise = new Promise((resolve, reject) => {\n const unlisten = () => {\n request.removeEventListener('success', success);\n request.removeEventListener('error', error);\n };\n const success = () => {\n resolve(wrap(request.result));\n unlisten();\n };\n const error = () => {\n reject(request.error);\n unlisten();\n };\n request.addEventListener('success', success);\n request.addEventListener('error', error);\n });\n promise.then(value => {\n // Since cursoring reuses the IDBRequest (*sigh*), we cache it for later retrieval\n // (see wrapFunction).\n if (value instanceof IDBCursor) {\n cursorRequestMap.set(value, request);\n }\n // Catching to avoid \"Uncaught Promise exceptions\"\n }).catch(() => {});\n // This mapping exists in reverseTransformCache but doesn't doesn't exist in transformCache. This\n // is because we create many promises from a single IDBRequest.\n reverseTransformCache.set(promise, request);\n return promise;\n}\nfunction cacheDonePromiseForTransaction(tx) {\n // Early bail if we've already created a done promise for this transaction.\n if (transactionDoneMap.has(tx)) return;\n const done = new Promise((resolve, reject) => {\n const unlisten = () => {\n tx.removeEventListener('complete', complete);\n tx.removeEventListener('error', error);\n tx.removeEventListener('abort', error);\n };\n const complete = () => {\n resolve();\n unlisten();\n };\n const error = () => {\n reject(tx.error || new DOMException('AbortError', 'AbortError'));\n unlisten();\n };\n tx.addEventListener('complete', complete);\n tx.addEventListener('error', error);\n tx.addEventListener('abort', error);\n });\n // Cache it for later retrieval.\n transactionDoneMap.set(tx, done);\n}\nlet idbProxyTraps = {\n get(target, prop, receiver) {\n if (target instanceof IDBTransaction) {\n // Special handling for transaction.done.\n if (prop === 'done') return transactionDoneMap.get(target);\n // Polyfill for objectStoreNames because of Edge.\n if (prop === 'objectStoreNames') {\n return target.objectStoreNames || transactionStoreNamesMap.get(target);\n }\n // Make tx.store return the only store in the transaction, or undefined if there are many.\n if (prop === 'store') {\n return receiver.objectStoreNames[1] ? undefined : receiver.objectStore(receiver.objectStoreNames[0]);\n }\n }\n // Else transform whatever we get back.\n return wrap(target[prop]);\n },\n set(target, prop, value) {\n target[prop] = value;\n return true;\n },\n has(target, prop) {\n if (target instanceof IDBTransaction && (prop === 'done' || prop === 'store')) {\n return true;\n }\n return prop in target;\n }\n};\nfunction replaceTraps(callback) {\n idbProxyTraps = callback(idbProxyTraps);\n}\nfunction wrapFunction(func) {\n // Due to expected object equality (which is enforced by the caching in `wrap`), we\n // only create one new func per func.\n // Edge doesn't support objectStoreNames (booo), so we polyfill it here.\n if (func === IDBDatabase.prototype.transaction && !('objectStoreNames' in IDBTransaction.prototype)) {\n return function (storeNames) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n const tx = func.call(unwrap(this), storeNames, ...args);\n transactionStoreNamesMap.set(tx, storeNames.sort ? storeNames.sort() : [storeNames]);\n return wrap(tx);\n };\n }\n // Cursor methods are special, as the behaviour is a little more different to standard IDB. In\n // IDB, you advance the cursor and wait for a new 'success' on the IDBRequest that gave you the\n // cursor. It's kinda like a promise that can resolve with many values. That doesn't make sense\n // with real promises, so each advance methods returns a new promise for the cursor object, or\n // undefined if the end of the cursor has been reached.\n if (getCursorAdvanceMethods().includes(func)) {\n return function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n func.apply(unwrap(this), args);\n return wrap(cursorRequestMap.get(this));\n };\n }\n return function () {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n return wrap(func.apply(unwrap(this), args));\n };\n}\nfunction transformCachableValue(value) {\n if (typeof value === 'function') return wrapFunction(value);\n // This doesn't return, it just creates a 'done' promise for the transaction,\n // which is later returned for transaction.done (see idbObjectHandler).\n if (value instanceof IDBTransaction) cacheDonePromiseForTransaction(value);\n if (instanceOfAny(value, getIdbProxyableTypes())) return new Proxy(value, idbProxyTraps);\n // Return the same value back if we're not going to transform it.\n return value;\n}\nfunction wrap(value) {\n // We sometimes generate multiple promises from a single IDBRequest (eg when cursoring), because\n // IDB is weird and a single IDBRequest can yield many responses, so these can't be cached.\n if (value instanceof IDBRequest) return promisifyRequest(value);\n // If we've already transformed this value before, reuse the transformed value.\n // This is faster, but it also provides object equality.\n if (transformCache.has(value)) return transformCache.get(value);\n const newValue = transformCachableValue(value);\n // Not all types are transformed.\n // These may be primitive types, so they can't be WeakMap keys.\n if (newValue !== value) {\n transformCache.set(value, newValue);\n reverseTransformCache.set(newValue, value);\n }\n return newValue;\n}\nconst unwrap = value => reverseTransformCache.get(value);\nexport { reverseTransformCache as a, instanceOfAny as i, replaceTraps as r, unwrap as u, wrap as w };","import { w as wrap, r as replaceTraps } from './wrap-idb-value.js';\nexport { u as unwrap, w as wrap } from './wrap-idb-value.js';\n\n/**\n * Open a database.\n *\n * @param name Name of the database.\n * @param version Schema version.\n * @param callbacks Additional callbacks.\n */\nfunction openDB(name, version) {\n let {\n blocked,\n upgrade,\n blocking,\n terminated\n } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n const request = indexedDB.open(name, version);\n const openPromise = wrap(request);\n if (upgrade) {\n request.addEventListener('upgradeneeded', event => {\n upgrade(wrap(request.result), event.oldVersion, event.newVersion, wrap(request.transaction), event);\n });\n }\n if (blocked) {\n request.addEventListener('blocked', event => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event.newVersion, event));\n }\n openPromise.then(db => {\n if (terminated) db.addEventListener('close', () => terminated());\n if (blocking) {\n db.addEventListener('versionchange', event => blocking(event.oldVersion, event.newVersion, event));\n }\n }).catch(() => {});\n return openPromise;\n}\n/**\n * Delete a database.\n *\n * @param name Name of the database.\n */\nfunction deleteDB(name) {\n let {\n blocked\n } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const request = indexedDB.deleteDatabase(name);\n if (blocked) {\n request.addEventListener('blocked', event => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event));\n }\n return wrap(request).then(() => undefined);\n}\nconst readMethods = ['get', 'getKey', 'getAll', 'getAllKeys', 'count'];\nconst writeMethods = ['put', 'add', 'delete', 'clear'];\nconst cachedMethods = new Map();\nfunction getMethod(target, prop) {\n if (!(target instanceof IDBDatabase && !(prop in target) && typeof prop === 'string')) {\n return;\n }\n if (cachedMethods.get(prop)) return cachedMethods.get(prop);\n const targetFuncName = prop.replace(/FromIndex$/, '');\n const useIndex = prop !== targetFuncName;\n const isWrite = writeMethods.includes(targetFuncName);\n if (\n // Bail if the target doesn't exist on the target. Eg, getAll isn't in Edge.\n !(targetFuncName in (useIndex ? IDBIndex : IDBObjectStore).prototype) || !(isWrite || readMethods.includes(targetFuncName))) {\n return;\n }\n const method = async function (storeName) {\n // isWrite ? 'readwrite' : undefined gzipps better, but fails in Edge :(\n const tx = this.transaction(storeName, isWrite ? 'readwrite' : 'readonly');\n let target = tx.store;\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (useIndex) target = target.index(args.shift());\n // Must reject if op rejects.\n // If it's a write operation, must reject if tx.done rejects.\n // Must reject with op rejection first.\n // Must resolve with op value.\n // Must handle both promises (no unhandled rejections)\n return (await Promise.all([target[targetFuncName](...args), isWrite && tx.done]))[0];\n };\n cachedMethods.set(prop, method);\n return method;\n}\nreplaceTraps(oldTraps => ({\n ...oldTraps,\n get: (target, prop, receiver) => getMethod(target, prop) || oldTraps.get(target, prop, receiver),\n has: (target, prop) => !!getMethod(target, prop) || oldTraps.has(target, prop)\n}));\nexport { deleteDB, openDB };","import { Component, ComponentContainer } from '@firebase/component';\nimport { Logger, setUserLogHandler, setLogLevel as setLogLevel$1 } from '@firebase/logger';\nimport { ErrorFactory, getDefaultAppConfig, deepEqual, FirebaseError, base64urlEncodeWithoutPadding, isIndexedDBAvailable, validateIndexedDBOpenable } from '@firebase/util';\nexport { FirebaseError } from '@firebase/util';\nimport { openDB } from 'idb';\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\nclass PlatformLoggerServiceImpl {\n constructor(container) {\n this.container = container;\n }\n // In initial implementation, this will be called by installations on\n // auth token refresh, and installations will send this string.\n getPlatformInfoString() {\n const providers = this.container.getProviders();\n // Loop through providers and get library/version pairs from any that are\n // version components.\n return providers.map(provider => {\n if (isVersionServiceProvider(provider)) {\n const service = provider.getImmediate();\n return `${service.library}/${service.version}`;\n } else {\n return null;\n }\n }).filter(logString => logString).join(' ');\n }\n}\n/**\r\n *\r\n * @param provider check if this provider provides a VersionService\r\n *\r\n * NOTE: Using Provider<'app-version'> is a hack to indicate that the provider\r\n * provides VersionService. The provider is not necessarily a 'app-version'\r\n * provider.\r\n */\nfunction isVersionServiceProvider(provider) {\n const component = provider.getComponent();\n return (component === null || component === void 0 ? void 0 : component.type) === \"VERSION\" /* ComponentType.VERSION */;\n}\nconst name$o = \"@firebase/app\";\nconst version$1 = \"0.9.13\";\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\nconst logger = new Logger('@firebase/app');\nconst name$n = \"@firebase/app-compat\";\nconst name$m = \"@firebase/analytics-compat\";\nconst name$l = \"@firebase/analytics\";\nconst name$k = \"@firebase/app-check-compat\";\nconst name$j = \"@firebase/app-check\";\nconst name$i = \"@firebase/auth\";\nconst name$h = \"@firebase/auth-compat\";\nconst name$g = \"@firebase/database\";\nconst name$f = \"@firebase/database-compat\";\nconst name$e = \"@firebase/functions\";\nconst name$d = \"@firebase/functions-compat\";\nconst name$c = \"@firebase/installations\";\nconst name$b = \"@firebase/installations-compat\";\nconst name$a = \"@firebase/messaging\";\nconst name$9 = \"@firebase/messaging-compat\";\nconst name$8 = \"@firebase/performance\";\nconst name$7 = \"@firebase/performance-compat\";\nconst name$6 = \"@firebase/remote-config\";\nconst name$5 = \"@firebase/remote-config-compat\";\nconst name$4 = \"@firebase/storage\";\nconst name$3 = \"@firebase/storage-compat\";\nconst name$2 = \"@firebase/firestore\";\nconst name$1 = \"@firebase/firestore-compat\";\nconst name = \"firebase\";\nconst version = \"9.23.0\";\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n/**\r\n * The default app name\r\n *\r\n * @internal\r\n */\nconst DEFAULT_ENTRY_NAME = '[DEFAULT]';\nconst PLATFORM_LOG_STRING = {\n [name$o]: 'fire-core',\n [name$n]: 'fire-core-compat',\n [name$l]: 'fire-analytics',\n [name$m]: 'fire-analytics-compat',\n [name$j]: 'fire-app-check',\n [name$k]: 'fire-app-check-compat',\n [name$i]: 'fire-auth',\n [name$h]: 'fire-auth-compat',\n [name$g]: 'fire-rtdb',\n [name$f]: 'fire-rtdb-compat',\n [name$e]: 'fire-fn',\n [name$d]: 'fire-fn-compat',\n [name$c]: 'fire-iid',\n [name$b]: 'fire-iid-compat',\n [name$a]: 'fire-fcm',\n [name$9]: 'fire-fcm-compat',\n [name$8]: 'fire-perf',\n [name$7]: 'fire-perf-compat',\n [name$6]: 'fire-rc',\n [name$5]: 'fire-rc-compat',\n [name$4]: 'fire-gcs',\n [name$3]: 'fire-gcs-compat',\n [name$2]: 'fire-fst',\n [name$1]: 'fire-fst-compat',\n 'fire-js': 'fire-js',\n [name]: 'fire-js-all'\n};\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n/**\r\n * @internal\r\n */\nconst _apps = new Map();\n/**\r\n * Registered components.\r\n *\r\n * @internal\r\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst _components = new Map();\n/**\r\n * @param component - the component being added to this app's container\r\n *\r\n * @internal\r\n */\nfunction _addComponent(app, component) {\n try {\n app.container.addComponent(component);\n } catch (e) {\n logger.debug(`Component ${component.name} failed to register with FirebaseApp ${app.name}`, e);\n }\n}\n/**\r\n *\r\n * @internal\r\n */\nfunction _addOrOverwriteComponent(app, component) {\n app.container.addOrOverwriteComponent(component);\n}\n/**\r\n *\r\n * @param component - the component to register\r\n * @returns whether or not the component is registered successfully\r\n *\r\n * @internal\r\n */\nfunction _registerComponent(component) {\n const componentName = component.name;\n if (_components.has(componentName)) {\n logger.debug(`There were multiple attempts to register component ${componentName}.`);\n return false;\n }\n _components.set(componentName, component);\n // add the component to existing app instances\n for (const app of _apps.values()) {\n _addComponent(app, component);\n }\n return true;\n}\n/**\r\n *\r\n * @param app - FirebaseApp instance\r\n * @param name - service name\r\n *\r\n * @returns the provider for the service with the matching name\r\n *\r\n * @internal\r\n */\nfunction _getProvider(app, name) {\n const heartbeatController = app.container.getProvider('heartbeat').getImmediate({\n optional: true\n });\n if (heartbeatController) {\n void heartbeatController.triggerHeartbeat();\n }\n return app.container.getProvider(name);\n}\n/**\r\n *\r\n * @param app - FirebaseApp instance\r\n * @param name - service name\r\n * @param instanceIdentifier - service instance identifier in case the service supports multiple instances\r\n *\r\n * @internal\r\n */\nfunction _removeServiceInstance(app, name) {\n let instanceIdentifier = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_ENTRY_NAME;\n _getProvider(app, name).clearInstance(instanceIdentifier);\n}\n/**\r\n * Test only\r\n *\r\n * @internal\r\n */\nfunction _clearComponents() {\n _components.clear();\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\nconst ERRORS = {\n [\"no-app\" /* AppError.NO_APP */]: \"No Firebase App '{$appName}' has been created - \" + 'call initializeApp() first',\n [\"bad-app-name\" /* AppError.BAD_APP_NAME */]: \"Illegal App name: '{$appName}\",\n [\"duplicate-app\" /* AppError.DUPLICATE_APP */]: \"Firebase App named '{$appName}' already exists with different options or config\",\n [\"app-deleted\" /* AppError.APP_DELETED */]: \"Firebase App named '{$appName}' already deleted\",\n [\"no-options\" /* AppError.NO_OPTIONS */]: 'Need to provide options, when not being deployed to hosting via source.',\n [\"invalid-app-argument\" /* AppError.INVALID_APP_ARGUMENT */]: 'firebase.{$appName}() takes either no argument or a ' + 'Firebase App instance.',\n [\"invalid-log-argument\" /* AppError.INVALID_LOG_ARGUMENT */]: 'First argument to `onLog` must be null or a function.',\n [\"idb-open\" /* AppError.IDB_OPEN */]: 'Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.',\n [\"idb-get\" /* AppError.IDB_GET */]: 'Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.',\n [\"idb-set\" /* AppError.IDB_WRITE */]: 'Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.',\n [\"idb-delete\" /* AppError.IDB_DELETE */]: 'Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.'\n};\nconst ERROR_FACTORY = new ErrorFactory('app', 'Firebase', ERRORS);\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\nclass FirebaseAppImpl {\n constructor(options, config, container) {\n this._isDeleted = false;\n this._options = Object.assign({}, options);\n this._config = Object.assign({}, config);\n this._name = config.name;\n this._automaticDataCollectionEnabled = config.automaticDataCollectionEnabled;\n this._container = container;\n this.container.addComponent(new Component('app', () => this, \"PUBLIC\" /* ComponentType.PUBLIC */));\n }\n get automaticDataCollectionEnabled() {\n this.checkDestroyed();\n return this._automaticDataCollectionEnabled;\n }\n set automaticDataCollectionEnabled(val) {\n this.checkDestroyed();\n this._automaticDataCollectionEnabled = val;\n }\n get name() {\n this.checkDestroyed();\n return this._name;\n }\n get options() {\n this.checkDestroyed();\n return this._options;\n }\n get config() {\n this.checkDestroyed();\n return this._config;\n }\n get container() {\n return this._container;\n }\n get isDeleted() {\n return this._isDeleted;\n }\n set isDeleted(val) {\n this._isDeleted = val;\n }\n /**\r\n * This function will throw an Error if the App has already been deleted -\r\n * use before performing API actions on the App.\r\n */\n checkDestroyed() {\n if (this.isDeleted) {\n throw ERROR_FACTORY.create(\"app-deleted\" /* AppError.APP_DELETED */, {\n appName: this._name\n });\n }\n }\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n/**\r\n * The current SDK version.\r\n *\r\n * @public\r\n */\nconst SDK_VERSION = version;\nfunction initializeApp(_options) {\n let rawConfig = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let options = _options;\n if (typeof rawConfig !== 'object') {\n const name = rawConfig;\n rawConfig = {\n name\n };\n }\n const config = Object.assign({\n name: DEFAULT_ENTRY_NAME,\n automaticDataCollectionEnabled: false\n }, rawConfig);\n const name = config.name;\n if (typeof name !== 'string' || !name) {\n throw ERROR_FACTORY.create(\"bad-app-name\" /* AppError.BAD_APP_NAME */, {\n appName: String(name)\n });\n }\n options || (options = getDefaultAppConfig());\n if (!options) {\n throw ERROR_FACTORY.create(\"no-options\" /* AppError.NO_OPTIONS */);\n }\n const existingApp = _apps.get(name);\n if (existingApp) {\n // return the existing app if options and config deep equal the ones in the existing app.\n if (deepEqual(options, existingApp.options) && deepEqual(config, existingApp.config)) {\n return existingApp;\n } else {\n throw ERROR_FACTORY.create(\"duplicate-app\" /* AppError.DUPLICATE_APP */, {\n appName: name\n });\n }\n }\n const container = new ComponentContainer(name);\n for (const component of _components.values()) {\n container.addComponent(component);\n }\n const newApp = new FirebaseAppImpl(options, config, container);\n _apps.set(name, newApp);\n return newApp;\n}\n/**\r\n * Retrieves a {@link @firebase/app#FirebaseApp} instance.\r\n *\r\n * When called with no arguments, the default app is returned. When an app name\r\n * is provided, the app corresponding to that name is returned.\r\n *\r\n * An exception is thrown if the app being retrieved has not yet been\r\n * initialized.\r\n *\r\n * @example\r\n * ```javascript\r\n * // Return the default app\r\n * const app = getApp();\r\n * ```\r\n *\r\n * @example\r\n * ```javascript\r\n * // Return a named app\r\n * const otherApp = getApp(\"otherApp\");\r\n * ```\r\n *\r\n * @param name - Optional name of the app to return. If no name is\r\n * provided, the default is `\"[DEFAULT]\"`.\r\n *\r\n * @returns The app corresponding to the provided app name.\r\n * If no app name is provided, the default app is returned.\r\n *\r\n * @public\r\n */\nfunction getApp() {\n let name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_ENTRY_NAME;\n const app = _apps.get(name);\n if (!app && name === DEFAULT_ENTRY_NAME && getDefaultAppConfig()) {\n return initializeApp();\n }\n if (!app) {\n throw ERROR_FACTORY.create(\"no-app\" /* AppError.NO_APP */, {\n appName: name\n });\n }\n return app;\n}\n/**\r\n * A (read-only) array of all initialized apps.\r\n * @public\r\n */\nfunction getApps() {\n return Array.from(_apps.values());\n}\n/**\r\n * Renders this app unusable and frees the resources of all associated\r\n * services.\r\n *\r\n * @example\r\n * ```javascript\r\n * deleteApp(app)\r\n * .then(function() {\r\n * console.log(\"App deleted successfully\");\r\n * })\r\n * .catch(function(error) {\r\n * console.log(\"Error deleting app:\", error);\r\n * });\r\n * ```\r\n *\r\n * @public\r\n */\nasync function deleteApp(app) {\n const name = app.name;\n if (_apps.has(name)) {\n _apps.delete(name);\n await Promise.all(app.container.getProviders().map(provider => provider.delete()));\n app.isDeleted = true;\n }\n}\n/**\r\n * Registers a library's name and version for platform logging purposes.\r\n * @param library - Name of 1p or 3p library (e.g. firestore, angularfire)\r\n * @param version - Current version of that library.\r\n * @param variant - Bundle variant, e.g., node, rn, etc.\r\n *\r\n * @public\r\n */\nfunction registerVersion(libraryKeyOrName, version, variant) {\n var _a;\n // TODO: We can use this check to whitelist strings when/if we set up\n // a good whitelist system.\n let library = (_a = PLATFORM_LOG_STRING[libraryKeyOrName]) !== null && _a !== void 0 ? _a : libraryKeyOrName;\n if (variant) {\n library += `-${variant}`;\n }\n const libraryMismatch = library.match(/\\s|\\//);\n const versionMismatch = version.match(/\\s|\\//);\n if (libraryMismatch || versionMismatch) {\n const warning = [`Unable to register library \"${library}\" with version \"${version}\":`];\n if (libraryMismatch) {\n warning.push(`library name \"${library}\" contains illegal characters (whitespace or \"/\")`);\n }\n if (libraryMismatch && versionMismatch) {\n warning.push('and');\n }\n if (versionMismatch) {\n warning.push(`version name \"${version}\" contains illegal characters (whitespace or \"/\")`);\n }\n logger.warn(warning.join(' '));\n return;\n }\n _registerComponent(new Component(`${library}-version`, () => ({\n library,\n version\n }), \"VERSION\" /* ComponentType.VERSION */));\n}\n/**\r\n * Sets log handler for all Firebase SDKs.\r\n * @param logCallback - An optional custom log handler that executes user code whenever\r\n * the Firebase SDK makes a logging call.\r\n *\r\n * @public\r\n */\nfunction onLog(logCallback, options) {\n if (logCallback !== null && typeof logCallback !== 'function') {\n throw ERROR_FACTORY.create(\"invalid-log-argument\" /* AppError.INVALID_LOG_ARGUMENT */);\n }\n setUserLogHandler(logCallback, options);\n}\n/**\r\n * Sets log level for all Firebase SDKs.\r\n *\r\n * All of the log types above the current log level are captured (i.e. if\r\n * you set the log level to `info`, errors are logged, but `debug` and\r\n * `verbose` logs are not).\r\n *\r\n * @public\r\n */\nfunction setLogLevel(logLevel) {\n setLogLevel$1(logLevel);\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\nconst DB_NAME = 'firebase-heartbeat-database';\nconst DB_VERSION = 1;\nconst STORE_NAME = 'firebase-heartbeat-store';\nlet dbPromise = null;\nfunction getDbPromise() {\n if (!dbPromise) {\n dbPromise = openDB(DB_NAME, DB_VERSION, {\n upgrade: (db, oldVersion) => {\n // We don't use 'break' in this switch statement, the fall-through\n // behavior is what we want, because if there are multiple versions between\n // the old version and the current version, we want ALL the migrations\n // that correspond to those versions to run, not only the last one.\n // eslint-disable-next-line default-case\n switch (oldVersion) {\n case 0:\n db.createObjectStore(STORE_NAME);\n }\n }\n }).catch(e => {\n throw ERROR_FACTORY.create(\"idb-open\" /* AppError.IDB_OPEN */, {\n originalErrorMessage: e.message\n });\n });\n }\n return dbPromise;\n}\nasync function readHeartbeatsFromIndexedDB(app) {\n try {\n const db = await getDbPromise();\n const result = await db.transaction(STORE_NAME).objectStore(STORE_NAME).get(computeKey(app));\n return result;\n } catch (e) {\n if (e instanceof FirebaseError) {\n logger.warn(e.message);\n } else {\n const idbGetError = ERROR_FACTORY.create(\"idb-get\" /* AppError.IDB_GET */, {\n originalErrorMessage: e === null || e === void 0 ? void 0 : e.message\n });\n logger.warn(idbGetError.message);\n }\n }\n}\nasync function writeHeartbeatsToIndexedDB(app, heartbeatObject) {\n try {\n const db = await getDbPromise();\n const tx = db.transaction(STORE_NAME, 'readwrite');\n const objectStore = tx.objectStore(STORE_NAME);\n await objectStore.put(heartbeatObject, computeKey(app));\n await tx.done;\n } catch (e) {\n if (e instanceof FirebaseError) {\n logger.warn(e.message);\n } else {\n const idbGetError = ERROR_FACTORY.create(\"idb-set\" /* AppError.IDB_WRITE */, {\n originalErrorMessage: e === null || e === void 0 ? void 0 : e.message\n });\n logger.warn(idbGetError.message);\n }\n }\n}\nfunction computeKey(app) {\n return `${app.name}!${app.options.appId}`;\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\nconst MAX_HEADER_BYTES = 1024;\n// 30 days\nconst STORED_HEARTBEAT_RETENTION_MAX_MILLIS = 30 * 24 * 60 * 60 * 1000;\nclass HeartbeatServiceImpl {\n constructor(container) {\n this.container = container;\n /**\r\n * In-memory cache for heartbeats, used by getHeartbeatsHeader() to generate\r\n * the header string.\r\n * Stores one record per date. This will be consolidated into the standard\r\n * format of one record per user agent string before being sent as a header.\r\n * Populated from indexedDB when the controller is instantiated and should\r\n * be kept in sync with indexedDB.\r\n * Leave public for easier testing.\r\n */\n this._heartbeatsCache = null;\n const app = this.container.getProvider('app').getImmediate();\n this._storage = new HeartbeatStorageImpl(app);\n this._heartbeatsCachePromise = this._storage.read().then(result => {\n this._heartbeatsCache = result;\n return result;\n });\n }\n /**\r\n * Called to report a heartbeat. The function will generate\r\n * a HeartbeatsByUserAgent object, update heartbeatsCache, and persist it\r\n * to IndexedDB.\r\n * Note that we only store one heartbeat per day. So if a heartbeat for today is\r\n * already logged, subsequent calls to this function in the same day will be ignored.\r\n */\n async triggerHeartbeat() {\n const platformLogger = this.container.getProvider('platform-logger').getImmediate();\n // This is the \"Firebase user agent\" string from the platform logger\n // service, not the browser user agent.\n const agent = platformLogger.getPlatformInfoString();\n const date = getUTCDateString();\n if (this._heartbeatsCache === null) {\n this._heartbeatsCache = await this._heartbeatsCachePromise;\n }\n // Do not store a heartbeat if one is already stored for this day\n // or if a header has already been sent today.\n if (this._heartbeatsCache.lastSentHeartbeatDate === date || this._heartbeatsCache.heartbeats.some(singleDateHeartbeat => singleDateHeartbeat.date === date)) {\n return;\n } else {\n // There is no entry for this date. Create one.\n this._heartbeatsCache.heartbeats.push({\n date,\n agent\n });\n }\n // Remove entries older than 30 days.\n this._heartbeatsCache.heartbeats = this._heartbeatsCache.heartbeats.filter(singleDateHeartbeat => {\n const hbTimestamp = new Date(singleDateHeartbeat.date).valueOf();\n const now = Date.now();\n return now - hbTimestamp <= STORED_HEARTBEAT_RETENTION_MAX_MILLIS;\n });\n return this._storage.overwrite(this._heartbeatsCache);\n }\n /**\r\n * Returns a base64 encoded string which can be attached to the heartbeat-specific header directly.\r\n * It also clears all heartbeats from memory as well as in IndexedDB.\r\n *\r\n * NOTE: Consuming product SDKs should not send the header if this method\r\n * returns an empty string.\r\n */\n async getHeartbeatsHeader() {\n if (this._heartbeatsCache === null) {\n await this._heartbeatsCachePromise;\n }\n // If it's still null or the array is empty, there is no data to send.\n if (this._heartbeatsCache === null || this._heartbeatsCache.heartbeats.length === 0) {\n return '';\n }\n const date = getUTCDateString();\n // Extract as many heartbeats from the cache as will fit under the size limit.\n const {\n heartbeatsToSend,\n unsentEntries\n } = extractHeartbeatsForHeader(this._heartbeatsCache.heartbeats);\n const headerString = base64urlEncodeWithoutPadding(JSON.stringify({\n version: 2,\n heartbeats: heartbeatsToSend\n }));\n // Store last sent date to prevent another being logged/sent for the same day.\n this._heartbeatsCache.lastSentHeartbeatDate = date;\n if (unsentEntries.length > 0) {\n // Store any unsent entries if they exist.\n this._heartbeatsCache.heartbeats = unsentEntries;\n // This seems more likely than emptying the array (below) to lead to some odd state\n // since the cache isn't empty and this will be called again on the next request,\n // and is probably safest if we await it.\n await this._storage.overwrite(this._heartbeatsCache);\n } else {\n this._heartbeatsCache.heartbeats = [];\n // Do not wait for this, to reduce latency.\n void this._storage.overwrite(this._heartbeatsCache);\n }\n return headerString;\n }\n}\nfunction getUTCDateString() {\n const today = new Date();\n // Returns date format 'YYYY-MM-DD'\n return today.toISOString().substring(0, 10);\n}\nfunction extractHeartbeatsForHeader(heartbeatsCache) {\n let maxSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : MAX_HEADER_BYTES;\n // Heartbeats grouped by user agent in the standard format to be sent in\n // the header.\n const heartbeatsToSend = [];\n // Single date format heartbeats that are not sent.\n let unsentEntries = heartbeatsCache.slice();\n for (const singleDateHeartbeat of heartbeatsCache) {\n // Look for an existing entry with the same user agent.\n const heartbeatEntry = heartbeatsToSend.find(hb => hb.agent === singleDateHeartbeat.agent);\n if (!heartbeatEntry) {\n // If no entry for this user agent exists, create one.\n heartbeatsToSend.push({\n agent: singleDateHeartbeat.agent,\n dates: [singleDateHeartbeat.date]\n });\n if (countBytes(heartbeatsToSend) > maxSize) {\n // If the header would exceed max size, remove the added heartbeat\n // entry and stop adding to the header.\n heartbeatsToSend.pop();\n break;\n }\n } else {\n heartbeatEntry.dates.push(singleDateHeartbeat.date);\n // If the header would exceed max size, remove the added date\n // and stop adding to the header.\n if (countBytes(heartbeatsToSend) > maxSize) {\n heartbeatEntry.dates.pop();\n break;\n }\n }\n // Pop unsent entry from queue. (Skipped if adding the entry exceeded\n // quota and the loop breaks early.)\n unsentEntries = unsentEntries.slice(1);\n }\n return {\n heartbeatsToSend,\n unsentEntries\n };\n}\nclass HeartbeatStorageImpl {\n constructor(app) {\n this.app = app;\n this._canUseIndexedDBPromise = this.runIndexedDBEnvironmentCheck();\n }\n async runIndexedDBEnvironmentCheck() {\n if (!isIndexedDBAvailable()) {\n return false;\n } else {\n return validateIndexedDBOpenable().then(() => true).catch(() => false);\n }\n }\n /**\r\n * Read all heartbeats.\r\n */\n async read() {\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\n if (!canUseIndexedDB) {\n return {\n heartbeats: []\n };\n } else {\n const idbHeartbeatObject = await readHeartbeatsFromIndexedDB(this.app);\n return idbHeartbeatObject || {\n heartbeats: []\n };\n }\n }\n // overwrite the storage with the provided heartbeats\n async overwrite(heartbeatsObject) {\n var _a;\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\n if (!canUseIndexedDB) {\n return;\n } else {\n const existingHeartbeatsObject = await this.read();\n return writeHeartbeatsToIndexedDB(this.app, {\n lastSentHeartbeatDate: (_a = heartbeatsObject.lastSentHeartbeatDate) !== null && _a !== void 0 ? _a : existingHeartbeatsObject.lastSentHeartbeatDate,\n heartbeats: heartbeatsObject.heartbeats\n });\n }\n }\n // add heartbeats\n async add(heartbeatsObject) {\n var _a;\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\n if (!canUseIndexedDB) {\n return;\n } else {\n const existingHeartbeatsObject = await this.read();\n return writeHeartbeatsToIndexedDB(this.app, {\n lastSentHeartbeatDate: (_a = heartbeatsObject.lastSentHeartbeatDate) !== null && _a !== void 0 ? _a : existingHeartbeatsObject.lastSentHeartbeatDate,\n heartbeats: [...existingHeartbeatsObject.heartbeats, ...heartbeatsObject.heartbeats]\n });\n }\n }\n}\n/**\r\n * Calculate bytes of a HeartbeatsByUserAgent array after being wrapped\r\n * in a platform logging header JSON object, stringified, and converted\r\n * to base 64.\r\n */\nfunction countBytes(heartbeatsCache) {\n // base64 has a restricted set of characters, all of which should be 1 byte.\n return base64urlEncodeWithoutPadding(\n // heartbeatsCache wrapper properties\n JSON.stringify({\n version: 2,\n heartbeats: heartbeatsCache\n })).length;\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\nfunction registerCoreComponents(variant) {\n _registerComponent(new Component('platform-logger', container => new PlatformLoggerServiceImpl(container), \"PRIVATE\" /* ComponentType.PRIVATE */));\n _registerComponent(new Component('heartbeat', container => new HeartbeatServiceImpl(container), \"PRIVATE\" /* ComponentType.PRIVATE */));\n // Register `app` package.\n registerVersion(name$o, version$1, variant);\n // BUILD_TARGET will be replaced by values like esm5, esm2017, cjs5, etc during the compilation\n registerVersion(name$o, version$1, 'esm2017');\n // Register platform SDK identifier (no version).\n registerVersion('fire-js', '');\n}\n\n/**\r\n * Firebase App\r\n *\r\n * @remarks This package coordinates the communication between the different Firebase components\r\n * @packageDocumentation\r\n */\nregisterCoreComponents('');\nexport { SDK_VERSION, DEFAULT_ENTRY_NAME as _DEFAULT_ENTRY_NAME, _addComponent, _addOrOverwriteComponent, _apps, _clearComponents, _components, _getProvider, _registerComponent, _removeServiceInstance, deleteApp, getApp, getApps, initializeApp, onLog, registerVersion, setLogLevel };","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 push, // TODO replace for v3\n replace, // TODO remove replace for v3\n navigateTo, // TODO: remove navigateTo for v3\n useScrollRestoration,\n StaticQueryContext,\n StaticQuery,\n PageRenderer,\n useStaticQuery,\n prefetchPathname,\n}\n","\"use strict\";\n\nmodule.exports = Object.assign;","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/* eslint-disable jsx-a11y/anchor-has-content */\nimport React, { useContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"invariant\";\nimport createContext from \"create-react-context\";\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(\n LocationContext.Consumer,\n null,\n function (context) {\n return context ? children(context) : React.createElement(\n LocationProvider,\n null,\n children\n );\n }\n );\n};\n\nvar LocationProvider = function (_React$Component) {\n _inherits(LocationProvider, _React$Component);\n\n function LocationProvider() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, LocationProvider);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\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: { unlisten: null }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\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\n return { navigate: navigate, location: location };\n };\n\n LocationProvider.prototype.componentDidCatch = function componentDidCatch(error, info) {\n if (isRedirect(error)) {\n var _navigate = this.props.history.navigate;\n\n _navigate(error.uri, { replace: true });\n } else {\n throw error;\n }\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\n LocationProvider.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n var refs = this.state.refs,\n history = this.props.history;\n\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 { context: _this2.getContext() };\n });\n }\n });\n });\n });\n };\n\n LocationProvider.prototype.componentWillUnmount = function componentWillUnmount() {\n var refs = this.state.refs;\n\n this.unmounted = true;\n refs.unlisten();\n };\n\n LocationProvider.prototype.render = function render() {\n var context = this.state.context,\n children = this.props.children;\n\n return React.createElement(\n LocationContext.Provider,\n { value: context },\n typeof children === \"function\" ? children(context) : children || null\n );\n };\n\n return LocationProvider;\n}(React.Component);\n\n////////////////////////////////////////////////////////////////////////////////\n\n\nLocationProvider.defaultProps = {\n history: globalHistory\n};\nprocess.env.NODE_ENV !== \"production\" ? LocationProvider.propTypes = {\n history: PropTypes.object.isRequired\n} : void 0;\nvar ServerLocation = function ServerLocation(_ref2) {\n var url = _ref2.url,\n children = _ref2.children;\n\n var searchIndex = url.indexOf(\"?\");\n var searchExists = searchIndex > -1;\n var pathname = void 0;\n var search = \"\";\n var hash = \"\";\n\n if (searchExists) {\n pathname = url.substring(0, searchIndex);\n search = url.substring(searchIndex);\n } else {\n pathname = url;\n }\n\n return React.createElement(\n LocationContext.Provider,\n {\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 },\n children\n );\n};\n////////////////////////////////////////////////////////////////////////////////\n// Sets baseuri and basepath for nested routers and links\nvar BaseContext = createNamedContext(\"Base\", { baseuri: \"/\", basepath: \"/\" });\n\n////////////////////////////////////////////////////////////////////////////////\n// The main event, welcome to the show everybody.\nvar Router = function Router(props) {\n return React.createElement(\n BaseContext.Consumer,\n null,\n function (baseContext) {\n return React.createElement(\n Location,\n null,\n function (locationContext) {\n return React.createElement(RouterImpl, _extends({}, baseContext, locationContext, props));\n }\n );\n }\n );\n};\n\nvar RouterImpl = function (_React$PureComponent) {\n _inherits(RouterImpl, _React$PureComponent);\n\n function RouterImpl() {\n _classCallCheck(this, RouterImpl);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\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\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\n\n var match = pick(routes, pathname);\n\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\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\n var clone = React.cloneElement(element, props, element.props.children ? React.createElement(\n Router,\n { location: location, primary: primary },\n element.props.children\n ) : 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({ uri: uri, location: location, component: component }, domProps) : domProps;\n\n return React.createElement(\n BaseContext.Provider,\n { value: { baseuri: uri, basepath: basepath } },\n React.createElement(\n FocusWrapper,\n wrapperProps,\n clone\n )\n );\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\n return RouterImpl;\n}(React.PureComponent);\n\nRouterImpl.defaultProps = {\n primary: true\n};\n\n\nvar FocusContext = createNamedContext(\"Focus\");\n\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\n return React.createElement(\n FocusContext.Consumer,\n null,\n 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\n// don't focus on initial render\nvar initialRender = true;\nvar focusHandlerCount = 0;\n\nvar FocusHandlerImpl = function (_React$Component2) {\n _inherits(FocusHandlerImpl, _React$Component2);\n\n function FocusHandlerImpl() {\n var _temp2, _this4, _ret2;\n\n _classCallCheck(this, FocusHandlerImpl);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\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\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\n FocusHandlerImpl.prototype.componentDidMount = function componentDidMount() {\n focusHandlerCount++;\n this.focus();\n };\n\n FocusHandlerImpl.prototype.componentWillUnmount = function componentWillUnmount() {\n focusHandlerCount--;\n if (focusHandlerCount === 0) {\n initialRender = true;\n }\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\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\n var requestFocus = this.props.requestFocus;\n\n\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\n FocusHandlerImpl.prototype.render = function render() {\n var _this5 = this;\n\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\n return React.createElement(\n Comp,\n _extends({\n style: _extends({ outline: \"none\" }, style),\n tabIndex: \"-1\",\n ref: function ref(n) {\n return _this5.node = n;\n }\n }, domProps),\n React.createElement(\n FocusContext.Provider,\n { value: this.requestFocus },\n this.props.children\n )\n );\n };\n\n return FocusHandlerImpl;\n}(React.Component);\n\npolyfill(FocusHandlerImpl);\n\nvar k = function k() {};\n\n////////////////////////////////////////////////////////////////////////////////\nvar forwardRef = React.forwardRef;\n\nif (typeof forwardRef === \"undefined\") {\n forwardRef = function forwardRef(C) {\n return C;\n };\n}\n\nvar Link = forwardRef(function (_ref4, ref) {\n var innerRef = _ref4.innerRef,\n props = _objectWithoutProperties(_ref4, [\"innerRef\"]);\n\n return React.createElement(\n BaseContext.Consumer,\n null,\n function (_ref5) {\n var basepath = _ref5.basepath,\n baseuri = _ref5.baseuri;\n return React.createElement(\n Location,\n null,\n function (_ref6) {\n var location = _ref6.location,\n navigate = _ref6.navigate;\n\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\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\n return React.createElement(\"a\", _extends({\n ref: ref || innerRef,\n \"aria-current\": isCurrent ? \"page\" : undefined\n }, anchorProps, getProps({ isCurrent: isCurrent, isPartiallyCurrent: isPartiallyCurrent, href: href, location: location }), {\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\n shouldReplace = shallowCompare(_extends({}, state), restState);\n }\n navigate(href, {\n state: state,\n replace: shouldReplace\n });\n }\n }\n }));\n }\n );\n }\n );\n});\n\nLink.displayName = \"Link\";\n\nprocess.env.NODE_ENV !== \"production\" ? Link.propTypes = {\n to: PropTypes.string.isRequired\n} : void 0;\n\n////////////////////////////////////////////////////////////////////////////////\nfunction RedirectRequest(uri) {\n this.uri = uri;\n}\n\nvar isRedirect = function isRedirect(o) {\n return o instanceof RedirectRequest;\n};\n\nvar redirectTo = function redirectTo(to) {\n throw new RedirectRequest(to);\n};\n\nvar RedirectImpl = function (_React$Component3) {\n _inherits(RedirectImpl, _React$Component3);\n\n function RedirectImpl() {\n _classCallCheck(this, RedirectImpl);\n\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\n Promise.resolve().then(function () {\n var resolvedTo = resolve(to, baseuri);\n navigate(insertParams(resolvedTo, props), { replace: replace, 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\n var resolvedTo = resolve(to, baseuri);\n if (!noThrow) redirectTo(insertParams(resolvedTo, props));\n return null;\n };\n\n return RedirectImpl;\n}(React.Component);\n\nvar Redirect = function Redirect(props) {\n return React.createElement(\n BaseContext.Consumer,\n null,\n function (_ref7) {\n var baseuri = _ref7.baseuri;\n return React.createElement(\n Location,\n null,\n function (locationContext) {\n return React.createElement(RedirectImpl, _extends({}, locationContext, { baseuri: baseuri }, props));\n }\n );\n }\n );\n};\n\nprocess.env.NODE_ENV !== \"production\" ? Redirect.propTypes = {\n from: PropTypes.string,\n to: PropTypes.string.isRequired\n} : void 0;\n\n////////////////////////////////////////////////////////////////////////////////\nvar Match = function Match(_ref8) {\n var path = _ref8.path,\n children = _ref8.children;\n return React.createElement(\n BaseContext.Consumer,\n null,\n function (_ref9) {\n var baseuri = _ref9.baseuri;\n return React.createElement(\n Location,\n null,\n function (_ref10) {\n var navigate = _ref10.navigate,\n location = _ref10.location;\n\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\n////////////////////////////////////////////////////////////////////////////////\n// Hooks\n\nvar useLocation = function useLocation() {\n var context = useContext(LocationContext);\n\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\n return context.location;\n};\n\nvar useNavigate = function useNavigate() {\n var context = useContext(LocationContext);\n\n if (!context) {\n throw new Error(\"useNavigate 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\n return context.navigate;\n};\n\nvar useParams = function useParams() {\n var context = useContext(BaseContext);\n\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\n var location = useLocation();\n\n var results = match(context.basepath, location.pathname);\n\n return results ? results.params : null;\n};\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\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\n var location = useLocation();\n\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};\n\nvar createRoute = function createRoute(basepath) {\n return function (element) {\n if (!element) {\n return null;\n }\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\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\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\n if (element.props.default) {\n return { value: element, default: true };\n }\n\n var elementPath = element.type === Redirect ? element.props.from : element.props.path;\n\n var path = elementPath === \"/\" ? basepath : stripSlashes(basepath) + \"/\" + stripSlashes(elementPath);\n\n return {\n value: element,\n default: element.props.default,\n path: element.props.children ? stripSlashes(path) + \"/*\" : path\n };\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 , BaseContext };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/**\n * Remove a prefix from a string. Return the input string if the given prefix\n * isn't found.\n */\n\nexport default function stripPrefix(str, prefix = ``) {\n if (!prefix) {\n return str\n }\n\n if (str === prefix) {\n return `/`\n }\n\n if (str.startsWith(`${prefix}/`)) {\n return str.slice(prefix.length)\n }\n\n return str\n}\n","\"use strict\";\n\nexports.__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}","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 };","/* smoothscroll v0.4.4 - 2019 - Dustan Kasten, Jeremias Menichelli - MIT License */\n(function () {\n 'use strict';\n\n // polyfill\n function polyfill() {\n // aliases\n var w = window;\n var d = document;\n\n // return if scroll behavior is supported and polyfill is not forced\n if ('scrollBehavior' in d.documentElement.style && w.__forceSmoothScrollPolyfill__ !== true) {\n return;\n }\n\n // globals\n var Element = w.HTMLElement || w.Element;\n var SCROLL_TIME = 468;\n\n // object gathering original scroll methods\n var original = {\n scroll: w.scroll || w.scrollTo,\n scrollBy: w.scrollBy,\n elementScroll: Element.prototype.scroll || scrollElement,\n scrollIntoView: Element.prototype.scrollIntoView\n };\n\n // define timing method\n var now = w.performance && w.performance.now ? w.performance.now.bind(w.performance) : Date.now;\n\n /**\n * indicates if a the current browser is made by Microsoft\n * @method isMicrosoftBrowser\n * @param {String} userAgent\n * @returns {Boolean}\n */\n function isMicrosoftBrowser(userAgent) {\n var userAgentPatterns = ['MSIE ', 'Trident/', 'Edge/'];\n return new RegExp(userAgentPatterns.join('|')).test(userAgent);\n }\n\n /*\n * IE has rounding bug rounding down clientHeight and clientWidth and\n * rounding up scrollHeight and scrollWidth causing false positives\n * on hasScrollableSpace\n */\n var ROUNDING_TOLERANCE = isMicrosoftBrowser(w.navigator.userAgent) ? 1 : 0;\n\n /**\n * changes scroll position inside an element\n * @method scrollElement\n * @param {Number} x\n * @param {Number} y\n * @returns {undefined}\n */\n function scrollElement(x, y) {\n this.scrollLeft = x;\n this.scrollTop = y;\n }\n\n /**\n * returns result of applying ease math function to a number\n * @method ease\n * @param {Number} k\n * @returns {Number}\n */\n function ease(k) {\n return 0.5 * (1 - Math.cos(Math.PI * k));\n }\n\n /**\n * indicates if a smooth behavior should be applied\n * @method shouldBailOut\n * @param {Number|Object} firstArg\n * @returns {Boolean}\n */\n function shouldBailOut(firstArg) {\n if (firstArg === null || typeof firstArg !== 'object' || firstArg.behavior === undefined || firstArg.behavior === 'auto' || firstArg.behavior === 'instant') {\n // first argument is not an object/null\n // or behavior is auto, instant or undefined\n return true;\n }\n if (typeof firstArg === 'object' && firstArg.behavior === 'smooth') {\n // first argument is an object and behavior is smooth\n return false;\n }\n\n // throw error when behavior is not supported\n throw new TypeError('behavior member of ScrollOptions ' + firstArg.behavior + ' is not a valid value for enumeration ScrollBehavior.');\n }\n\n /**\n * indicates if an element has scrollable space in the provided axis\n * @method hasScrollableSpace\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n function hasScrollableSpace(el, axis) {\n if (axis === 'Y') {\n return el.clientHeight + ROUNDING_TOLERANCE < el.scrollHeight;\n }\n if (axis === 'X') {\n return el.clientWidth + ROUNDING_TOLERANCE < el.scrollWidth;\n }\n }\n\n /**\n * indicates if an element has a scrollable overflow property in the axis\n * @method canOverflow\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n function canOverflow(el, axis) {\n var overflowValue = w.getComputedStyle(el, null)['overflow' + axis];\n return overflowValue === 'auto' || overflowValue === 'scroll';\n }\n\n /**\n * indicates if an element can be scrolled in either axis\n * @method isScrollable\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n function isScrollable(el) {\n var isScrollableY = hasScrollableSpace(el, 'Y') && canOverflow(el, 'Y');\n var isScrollableX = hasScrollableSpace(el, 'X') && canOverflow(el, 'X');\n return isScrollableY || isScrollableX;\n }\n\n /**\n * finds scrollable parent of an element\n * @method findScrollableParent\n * @param {Node} el\n * @returns {Node} el\n */\n function findScrollableParent(el) {\n while (el !== d.body && isScrollable(el) === false) {\n el = el.parentNode || el.host;\n }\n return el;\n }\n\n /**\n * self invoked function that, given a context, steps through scrolling\n * @method step\n * @param {Object} context\n * @returns {undefined}\n */\n function step(context) {\n var time = now();\n var value;\n var currentX;\n var currentY;\n var elapsed = (time - context.startTime) / SCROLL_TIME;\n\n // avoid elapsed times higher than one\n elapsed = elapsed > 1 ? 1 : elapsed;\n\n // apply easing to elapsed time\n value = ease(elapsed);\n currentX = context.startX + (context.x - context.startX) * value;\n currentY = context.startY + (context.y - context.startY) * value;\n context.method.call(context.scrollable, currentX, currentY);\n\n // scroll more if we have not reached our destination\n if (currentX !== context.x || currentY !== context.y) {\n w.requestAnimationFrame(step.bind(w, context));\n }\n }\n\n /**\n * scrolls window or element with a smooth behavior\n * @method smoothScroll\n * @param {Object|Node} el\n * @param {Number} x\n * @param {Number} y\n * @returns {undefined}\n */\n function smoothScroll(el, x, y) {\n var scrollable;\n var startX;\n var startY;\n var method;\n var startTime = now();\n\n // define scroll context\n if (el === d.body) {\n scrollable = w;\n startX = w.scrollX || w.pageXOffset;\n startY = w.scrollY || w.pageYOffset;\n method = original.scroll;\n } else {\n scrollable = el;\n startX = el.scrollLeft;\n startY = el.scrollTop;\n method = scrollElement;\n }\n\n // scroll looping over a frame\n step({\n scrollable: scrollable,\n method: method,\n startTime: startTime,\n startX: startX,\n startY: startY,\n x: x,\n y: y\n });\n }\n\n // ORIGINAL METHODS OVERRIDES\n // w.scroll and w.scrollTo\n w.scroll = w.scrollTo = function () {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.scroll.call(w, arguments[0].left !== undefined ? arguments[0].left : typeof arguments[0] !== 'object' ? arguments[0] : w.scrollX || w.pageXOffset,\n // use top prop, second argument if present or fallback to scrollY\n arguments[0].top !== undefined ? arguments[0].top : arguments[1] !== undefined ? arguments[1] : w.scrollY || w.pageYOffset);\n return;\n }\n\n // LET THE SMOOTHNESS BEGIN!\n smoothScroll.call(w, d.body, arguments[0].left !== undefined ? ~~arguments[0].left : w.scrollX || w.pageXOffset, arguments[0].top !== undefined ? ~~arguments[0].top : w.scrollY || w.pageYOffset);\n };\n\n // w.scrollBy\n w.scrollBy = function () {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0])) {\n original.scrollBy.call(w, arguments[0].left !== undefined ? arguments[0].left : typeof arguments[0] !== 'object' ? arguments[0] : 0, arguments[0].top !== undefined ? arguments[0].top : arguments[1] !== undefined ? arguments[1] : 0);\n return;\n }\n\n // LET THE SMOOTHNESS BEGIN!\n smoothScroll.call(w, d.body, ~~arguments[0].left + (w.scrollX || w.pageXOffset), ~~arguments[0].top + (w.scrollY || w.pageYOffset));\n };\n\n // Element.prototype.scroll and Element.prototype.scrollTo\n Element.prototype.scroll = Element.prototype.scrollTo = function () {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n // if one number is passed, throw error to match Firefox implementation\n if (typeof arguments[0] === 'number' && arguments[1] === undefined) {\n throw new SyntaxError('Value could not be converted');\n }\n original.elementScroll.call(this,\n // use left prop, first number argument or fallback to scrollLeft\n arguments[0].left !== undefined ? ~~arguments[0].left : typeof arguments[0] !== 'object' ? ~~arguments[0] : this.scrollLeft,\n // use top prop, second argument or fallback to scrollTop\n arguments[0].top !== undefined ? ~~arguments[0].top : arguments[1] !== undefined ? ~~arguments[1] : this.scrollTop);\n return;\n }\n var left = arguments[0].left;\n var top = arguments[0].top;\n\n // LET THE SMOOTHNESS BEGIN!\n smoothScroll.call(this, this, typeof left === 'undefined' ? this.scrollLeft : ~~left, typeof top === 'undefined' ? this.scrollTop : ~~top);\n };\n\n // Element.prototype.scrollBy\n Element.prototype.scrollBy = function () {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.elementScroll.call(this, arguments[0].left !== undefined ? ~~arguments[0].left + this.scrollLeft : ~~arguments[0] + this.scrollLeft, arguments[0].top !== undefined ? ~~arguments[0].top + this.scrollTop : ~~arguments[1] + this.scrollTop);\n return;\n }\n this.scroll({\n left: ~~arguments[0].left + this.scrollLeft,\n top: ~~arguments[0].top + this.scrollTop,\n behavior: arguments[0].behavior\n });\n };\n\n // Element.prototype.scrollIntoView\n Element.prototype.scrollIntoView = function () {\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.scrollIntoView.call(this, arguments[0] === undefined ? true : arguments[0]);\n return;\n }\n\n // LET THE SMOOTHNESS BEGIN!\n var scrollableParent = findScrollableParent(this);\n var parentRects = scrollableParent.getBoundingClientRect();\n var clientRects = this.getBoundingClientRect();\n if (scrollableParent !== d.body) {\n // reveal element inside parent\n smoothScroll.call(this, scrollableParent, scrollableParent.scrollLeft + clientRects.left - parentRects.left, scrollableParent.scrollTop + clientRects.top - parentRects.top);\n\n // reveal parent in viewport unless is fixed\n if (w.getComputedStyle(scrollableParent).position !== 'fixed') {\n w.scrollBy({\n left: parentRects.left,\n top: parentRects.top,\n behavior: 'smooth'\n });\n }\n } else {\n // reveal element in viewport\n w.scrollBy({\n left: clientRects.left,\n top: clientRects.top,\n behavior: 'smooth'\n });\n }\n };\n }\n if (typeof exports === 'object' && typeof module !== 'undefined') {\n // commonjs\n module.exports = {\n polyfill: polyfill\n };\n } else {\n // global\n polyfill();\n }\n})();","const support = function (feature) {\n if (typeof document === `undefined`) {\n return false\n }\n const fakeLink = document.createElement(`link`)\n try {\n if (fakeLink.relList && typeof fakeLink.relList.supports === `function`) {\n return fakeLink.relList.supports(feature)\n }\n } catch (err) {\n return false\n }\n return false\n}\n\nconst linkPrefetchStrategy = function (url, options) {\n return new Promise((resolve, reject) => {\n if (typeof document === `undefined`) {\n reject()\n return\n }\n\n const link = document.createElement(`link`)\n link.setAttribute(`rel`, `prefetch`)\n link.setAttribute(`href`, url)\n\n Object.keys(options).forEach(key => {\n link.setAttribute(key, options[key])\n })\n\n link.onload = resolve\n link.onerror = reject\n\n const parentElement =\n document.getElementsByTagName(`head`)[0] ||\n document.getElementsByName(`script`)[0].parentNode\n parentElement.appendChild(link)\n })\n}\n\nconst xhrPrefetchStrategy = function (url) {\n return new Promise((resolve, reject) => {\n const req = new XMLHttpRequest()\n req.open(`GET`, url, true)\n\n req.onload = () => {\n if (req.status === 200) {\n resolve()\n } else {\n reject()\n }\n }\n\n req.send(null)\n })\n}\n\nconst supportedPrefetchStrategy = support(`prefetch`)\n ? linkPrefetchStrategy\n : xhrPrefetchStrategy\n\nconst preFetched = {}\n\nconst prefetch = function (url, options) {\n return new Promise(resolve => {\n if (preFetched[url]) {\n resolve()\n return\n }\n\n supportedPrefetchStrategy(url, options)\n .then(() => {\n resolve()\n preFetched[url] = true\n })\n .catch(() => {}) // 404s are logged to the console anyway\n })\n}\n\nexport default prefetch\n","import 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 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) {\n finalResult.status = PageResourceStatus.Error\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 ).then(req => {\n const jsonPayload = JSON.parse(req.responseText)\n return { staticQueryHash, jsonPayload }\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 Promise.all([componentChunkPromise, staticQueryBatchPromise]).then(\n ([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 return payload\n }\n )\n })\n\n inFlightPromise\n .then(response => {\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 loading page ran into errors\n loadPageSync(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const pageData = this.pageDb.get(pagePath).payload\n return pageData\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) {\n const loadComponent = chunkName =>\n asyncRequires.components[chunkName]\n ? asyncRequires.components[chunkName]()\n .then(preferDefault)\n // loader will handle the case when component is null\n .catch(() => null)\n : Promise.resolve()\n\n super(loadComponent, matchPaths)\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 // Deprecated methods. As far as we're aware, these are only used by\n // core gatsby and the offline plugin, however there's a very small\n // chance they're called by others.\n getResourcesForPathname: rawPath => {\n console.warn(\n `Warning: getResourcesForPathname is deprecated. Use loadPage instead`\n )\n return instance.i.loadPage(rawPath)\n },\n getResourcesForPathnameSync: rawPath => {\n console.warn(\n `Warning: getResourcesForPathnameSync is deprecated. Use loadPageSync instead`\n )\n return instance.i.loadPageSync(rawPath)\n },\n enqueue: rawPath => instance.prefetch(rawPath),\n\n // Real methods\n getResourceURLsForPathname: rawPath =>\n instance.getResourceURLsForPathname(rawPath),\n loadPage: rawPath => instance.loadPage(rawPath),\n loadPageSync: rawPath => instance.loadPageSync(rawPath),\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","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.ScrollContainer = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nvar _router = require(\"@reach/router\");\n\n// TODO: In Gatsby v3, this file should be removed.\n// We are deprecating this in V2 in favor of useScrollRestoration\nvar propTypes = {\n scrollKey: _propTypes.default.string.isRequired,\n shouldUpdateScroll: _propTypes.default.func,\n children: _propTypes.default.element.isRequired\n};\nvar hasNotWarnedDeprecation = true;\n\nvar ScrollContainerImplementation = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(ScrollContainerImplementation, _React$Component);\n\n function ScrollContainerImplementation(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n\n if (process.env.NODE_ENV !== \"production\" && hasNotWarnedDeprecation) {\n hasNotWarnedDeprecation = false;\n console.log(\"Deprecation Warning:\\n\\n Gatsby is deprecated in Gatsby v2 and will be removed in Gatsby v3.\\n Update to the React hook alternative useScrollRestoration, like this:.\\n \\n ```\\n import React from 'react';\\n import { useScrollRestoration } from 'gatsby-react-router-scroll';\\n\\n function Component() {\\n const scrollRestoration = useScrollRestoration('\" + _this.props.scrollKey + \"');\\n\\n return
    ;\\n }\\n ```\\n \");\n }\n\n return _this;\n }\n\n var _proto = ScrollContainerImplementation.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n // eslint-disable-next-line react/no-find-dom-node\n var node = _reactDom.default.findDOMNode(this);\n\n var _this$props = this.props,\n location = _this$props.location,\n scrollKey = _this$props.scrollKey;\n if (!node) return;\n node.addEventListener(\"scroll\", function () {\n _this2.props.context.save(location, scrollKey, node.scrollTop);\n });\n var position = this.props.context.read(location, scrollKey);\n node.scrollTo(0, position || 0);\n };\n\n _proto.render = function render() {\n return this.props.children;\n };\n\n return ScrollContainerImplementation;\n}(React.Component);\n\nvar ScrollContainer = function ScrollContainer(props) {\n return /*#__PURE__*/React.createElement(_router.Location, null, function (_ref) {\n var location = _ref.location;\n return /*#__PURE__*/React.createElement(_scrollHandler.ScrollContext.Consumer, null, function (context) {\n return /*#__PURE__*/React.createElement(ScrollContainerImplementation, (0, _extends2.default)({}, props, {\n context: context,\n location: location\n }));\n });\n });\n};\n\nexports.ScrollContainer = ScrollContainer;\nScrollContainer.propTypes = propTypes;","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","var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\nvar esm = {};\n\n/*\n\n Copyright The Closure Library Authors.\n SPDX-License-Identifier: Apache-2.0\n*/\n\nvar k,\n goog = goog || {},\n l = commonjsGlobal || self;\nfunction aa(a) {\n var b = typeof a;\n b = \"object\" != b ? b : a ? Array.isArray(a) ? \"array\" : b : \"null\";\n return \"array\" == b || \"object\" == b && \"number\" == typeof a.length;\n}\nfunction p(a) {\n var b = typeof a;\n return \"object\" == b && null != a || \"function\" == b;\n}\nfunction ba(a) {\n return Object.prototype.hasOwnProperty.call(a, ca) && a[ca] || (a[ca] = ++da);\n}\nvar ca = \"closure_uid_\" + (1E9 * Math.random() >>> 0),\n da = 0;\nfunction ea(a, b, c) {\n return a.call.apply(a.bind, arguments);\n}\nfunction fa(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 e = Array.prototype.slice.call(arguments);\n Array.prototype.unshift.apply(e, d);\n return a.apply(b, e);\n };\n }\n return function () {\n return a.apply(b, arguments);\n };\n}\nfunction q(a, b, c) {\n Function.prototype.bind && -1 != Function.prototype.bind.toString().indexOf(\"native code\") ? q = ea : q = fa;\n return q.apply(null, arguments);\n}\nfunction ha(a, b) {\n var c = Array.prototype.slice.call(arguments, 1);\n return function () {\n var d = c.slice();\n d.push.apply(d, arguments);\n return a.apply(this, d);\n };\n}\nfunction r(a, b) {\n function c() {}\n c.prototype = b.prototype;\n a.$ = b.prototype;\n a.prototype = new c();\n a.prototype.constructor = a;\n a.ac = function (d, e, f) {\n for (var h = Array(arguments.length - 2), n = 2; n < arguments.length; n++) h[n - 2] = arguments[n];\n return b.prototype[e].apply(d, h);\n };\n}\nfunction v() {\n this.s = this.s;\n this.o = this.o;\n}\nvar ia = 0;\nv.prototype.s = !1;\nv.prototype.sa = function () {\n if (!this.s && (this.s = !0, this.N(), 0 != ia)) {\n ba(this);\n }\n};\nv.prototype.N = function () {\n if (this.o) for (; this.o.length;) this.o.shift()();\n};\nconst ka = Array.prototype.indexOf ? function (a, b) {\n return Array.prototype.indexOf.call(a, b, void 0);\n} : function (a, b) {\n if (\"string\" === typeof a) return \"string\" !== typeof b || 1 != b.length ? -1 : a.indexOf(b, 0);\n for (let c = 0; c < a.length; c++) if (c in a && a[c] === b) return c;\n return -1;\n};\nfunction ma(a) {\n const b = a.length;\n if (0 < b) {\n const c = Array(b);\n for (let d = 0; d < b; d++) c[d] = a[d];\n return c;\n }\n return [];\n}\nfunction na(a, b) {\n for (let c = 1; c < arguments.length; c++) {\n const d = arguments[c];\n if (aa(d)) {\n const e = a.length || 0,\n f = d.length || 0;\n a.length = e + f;\n for (let h = 0; h < f; h++) a[e + h] = d[h];\n } else a.push(d);\n }\n}\nfunction w(a, b) {\n this.type = a;\n this.g = this.target = b;\n this.defaultPrevented = !1;\n}\nw.prototype.h = function () {\n this.defaultPrevented = !0;\n};\nvar oa = function () {\n if (!l.addEventListener || !Object.defineProperty) return !1;\n var a = !1,\n b = Object.defineProperty({}, \"passive\", {\n get: function () {\n a = !0;\n }\n });\n try {\n l.addEventListener(\"test\", () => {}, b), l.removeEventListener(\"test\", () => {}, b);\n } catch (c) {}\n return a;\n}();\nfunction x(a) {\n return /^[\\s\\xa0]*$/.test(a);\n}\nfunction pa() {\n var a = l.navigator;\n return a && (a = a.userAgent) ? a : \"\";\n}\nfunction y(a) {\n return -1 != pa().indexOf(a);\n}\nfunction qa(a) {\n qa[\" \"](a);\n return a;\n}\nqa[\" \"] = function () {};\nfunction ra(a, b) {\n var c = sa;\n return Object.prototype.hasOwnProperty.call(c, a) ? c[a] : c[a] = b(a);\n}\nvar ta = y(\"Opera\"),\n z = y(\"Trident\") || y(\"MSIE\"),\n ua = y(\"Edge\"),\n va = ua || z,\n wa = y(\"Gecko\") && !(-1 != pa().toLowerCase().indexOf(\"webkit\") && !y(\"Edge\")) && !(y(\"Trident\") || y(\"MSIE\")) && !y(\"Edge\"),\n xa = -1 != pa().toLowerCase().indexOf(\"webkit\") && !y(\"Edge\");\nfunction ya() {\n var a = l.document;\n return a ? a.documentMode : void 0;\n}\nvar za;\na: {\n var Aa = \"\",\n Ba = function () {\n var a = pa();\n if (wa) return /rv:([^\\);]+)(\\)|;)/.exec(a);\n if (ua) return /Edge\\/([\\d\\.]+)/.exec(a);\n if (z) return /\\b(?:MSIE|rv)[: ]([^\\);]+)(\\)|;)/.exec(a);\n if (xa) return /WebKit\\/(\\S+)/.exec(a);\n if (ta) return /(?:Version)[ \\/]?(\\S+)/.exec(a);\n }();\n Ba && (Aa = Ba ? Ba[1] : \"\");\n if (z) {\n var Ca = ya();\n if (null != Ca && Ca > parseFloat(Aa)) {\n za = String(Ca);\n break a;\n }\n }\n za = Aa;\n}\nvar Da;\nif (l.document && z) {\n var Ea = ya();\n Da = Ea ? Ea : parseInt(za, 10) || void 0;\n} else Da = void 0;\nvar Fa = Da;\nfunction A(a, b) {\n w.call(this, a ? a.type : \"\");\n this.relatedTarget = this.g = this.target = null;\n this.button = this.screenY = this.screenX = this.clientY = this.clientX = 0;\n this.key = \"\";\n this.metaKey = this.shiftKey = this.altKey = this.ctrlKey = !1;\n this.state = null;\n this.pointerId = 0;\n this.pointerType = \"\";\n this.i = null;\n if (a) {\n var c = this.type = a.type,\n d = a.changedTouches && a.changedTouches.length ? a.changedTouches[0] : null;\n this.target = a.target || a.srcElement;\n this.g = b;\n if (b = a.relatedTarget) {\n if (wa) {\n a: {\n try {\n qa(b.nodeName);\n var e = !0;\n break a;\n } catch (f) {}\n e = !1;\n }\n e || (b = null);\n }\n } else \"mouseover\" == c ? b = a.fromElement : \"mouseout\" == c && (b = a.toElement);\n this.relatedTarget = b;\n d ? (this.clientX = void 0 !== d.clientX ? d.clientX : d.pageX, this.clientY = void 0 !== d.clientY ? d.clientY : d.pageY, this.screenX = d.screenX || 0, this.screenY = d.screenY || 0) : (this.clientX = void 0 !== a.clientX ? a.clientX : a.pageX, this.clientY = void 0 !== a.clientY ? a.clientY : a.pageY, this.screenX = a.screenX || 0, this.screenY = a.screenY || 0);\n this.button = a.button;\n this.key = a.key || \"\";\n this.ctrlKey = a.ctrlKey;\n this.altKey = a.altKey;\n this.shiftKey = a.shiftKey;\n this.metaKey = a.metaKey;\n this.pointerId = a.pointerId || 0;\n this.pointerType = \"string\" === typeof a.pointerType ? a.pointerType : Ga[a.pointerType] || \"\";\n this.state = a.state;\n this.i = a;\n a.defaultPrevented && A.$.h.call(this);\n }\n}\nr(A, w);\nvar Ga = {\n 2: \"touch\",\n 3: \"pen\",\n 4: \"mouse\"\n};\nA.prototype.h = function () {\n A.$.h.call(this);\n var a = this.i;\n a.preventDefault ? a.preventDefault() : a.returnValue = !1;\n};\nvar Ha = \"closure_listenable_\" + (1E6 * Math.random() | 0);\nvar Ia = 0;\nfunction Ja(a, b, c, d, e) {\n this.listener = a;\n this.proxy = null;\n this.src = b;\n this.type = c;\n this.capture = !!d;\n this.la = e;\n this.key = ++Ia;\n this.fa = this.ia = !1;\n}\nfunction Ka(a) {\n a.fa = !0;\n a.listener = null;\n a.proxy = null;\n a.src = null;\n a.la = null;\n}\nfunction Na(a, b, c) {\n for (const d in a) b.call(c, a[d], d, a);\n}\nfunction Oa(a, b) {\n for (const c in a) b.call(void 0, a[c], c, a);\n}\nfunction Pa(a) {\n const b = {};\n for (const c in a) b[c] = a[c];\n return b;\n}\nconst Qa = \"constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf\".split(\" \");\nfunction Ra(a, b) {\n let c, d;\n for (let e = 1; e < arguments.length; e++) {\n d = arguments[e];\n for (c in d) a[c] = d[c];\n for (let f = 0; f < Qa.length; f++) c = Qa[f], Object.prototype.hasOwnProperty.call(d, c) && (a[c] = d[c]);\n }\n}\nfunction Sa(a) {\n this.src = a;\n this.g = {};\n this.h = 0;\n}\nSa.prototype.add = function (a, b, c, d, e) {\n var f = a.toString();\n a = this.g[f];\n a || (a = this.g[f] = [], this.h++);\n var h = Ta(a, b, d, e);\n -1 < h ? (b = a[h], c || (b.ia = !1)) : (b = new Ja(b, this.src, f, !!d, e), b.ia = c, a.push(b));\n return b;\n};\nfunction Ua(a, b) {\n var c = b.type;\n if (c in a.g) {\n var d = a.g[c],\n e = ka(d, b),\n f;\n (f = 0 <= e) && Array.prototype.splice.call(d, e, 1);\n f && (Ka(b), 0 == a.g[c].length && (delete a.g[c], a.h--));\n }\n}\nfunction Ta(a, b, c, d) {\n for (var e = 0; e < a.length; ++e) {\n var f = a[e];\n if (!f.fa && f.listener == b && f.capture == !!c && f.la == d) return e;\n }\n return -1;\n}\nvar Va = \"closure_lm_\" + (1E6 * Math.random() | 0),\n Wa = {};\nfunction Ya(a, b, c, d, e) {\n if (d && d.once) return Za(a, b, c, d, e);\n if (Array.isArray(b)) {\n for (var f = 0; f < b.length; f++) Ya(a, b[f], c, d, e);\n return null;\n }\n c = $a(c);\n return a && a[Ha] ? a.O(b, c, p(d) ? !!d.capture : !!d, e) : ab(a, b, c, !1, d, e);\n}\nfunction ab(a, b, c, d, e, f) {\n if (!b) throw Error(\"Invalid event type\");\n var h = p(e) ? !!e.capture : !!e,\n n = bb(a);\n n || (a[Va] = n = new Sa(a));\n c = n.add(b, c, d, h, f);\n if (c.proxy) return c;\n d = cb();\n c.proxy = d;\n d.src = a;\n d.listener = c;\n if (a.addEventListener) oa || (e = h), void 0 === e && (e = !1), a.addEventListener(b.toString(), d, e);else if (a.attachEvent) a.attachEvent(db(b.toString()), d);else if (a.addListener && a.removeListener) a.addListener(d);else throw Error(\"addEventListener and attachEvent are unavailable.\");\n return c;\n}\nfunction cb() {\n function a(c) {\n return b.call(a.src, a.listener, c);\n }\n const b = eb;\n return a;\n}\nfunction Za(a, b, c, d, e) {\n if (Array.isArray(b)) {\n for (var f = 0; f < b.length; f++) Za(a, b[f], c, d, e);\n return null;\n }\n c = $a(c);\n return a && a[Ha] ? a.P(b, c, p(d) ? !!d.capture : !!d, e) : ab(a, b, c, !0, d, e);\n}\nfunction fb(a, b, c, d, e) {\n if (Array.isArray(b)) for (var f = 0; f < b.length; f++) fb(a, b[f], c, d, e);else (d = p(d) ? !!d.capture : !!d, c = $a(c), a && a[Ha]) ? (a = a.i, b = String(b).toString(), b in a.g && (f = a.g[b], c = Ta(f, c, d, e), -1 < c && (Ka(f[c]), Array.prototype.splice.call(f, c, 1), 0 == f.length && (delete a.g[b], a.h--)))) : a && (a = bb(a)) && (b = a.g[b.toString()], a = -1, b && (a = Ta(b, c, d, e)), (c = -1 < a ? b[a] : null) && gb(c));\n}\nfunction gb(a) {\n if (\"number\" !== typeof a && a && !a.fa) {\n var b = a.src;\n if (b && b[Ha]) Ua(b.i, a);else {\n var c = a.type,\n d = a.proxy;\n b.removeEventListener ? b.removeEventListener(c, d, a.capture) : b.detachEvent ? b.detachEvent(db(c), d) : b.addListener && b.removeListener && b.removeListener(d);\n (c = bb(b)) ? (Ua(c, a), 0 == c.h && (c.src = null, b[Va] = null)) : Ka(a);\n }\n }\n}\nfunction db(a) {\n return a in Wa ? Wa[a] : Wa[a] = \"on\" + a;\n}\nfunction eb(a, b) {\n if (a.fa) a = !0;else {\n b = new A(b, this);\n var c = a.listener,\n d = a.la || a.src;\n a.ia && gb(a);\n a = c.call(d, b);\n }\n return a;\n}\nfunction bb(a) {\n a = a[Va];\n return a instanceof Sa ? a : null;\n}\nvar hb = \"__closure_events_fn_\" + (1E9 * Math.random() >>> 0);\nfunction $a(a) {\n if (\"function\" === typeof a) return a;\n a[hb] || (a[hb] = function (b) {\n return a.handleEvent(b);\n });\n return a[hb];\n}\nfunction B() {\n v.call(this);\n this.i = new Sa(this);\n this.S = this;\n this.J = null;\n}\nr(B, v);\nB.prototype[Ha] = !0;\nB.prototype.removeEventListener = function (a, b, c, d) {\n fb(this, a, b, c, d);\n};\nfunction C(a, b) {\n var c,\n d = a.J;\n if (d) for (c = []; d; d = d.J) c.push(d);\n a = a.S;\n d = b.type || b;\n if (\"string\" === typeof b) b = new w(b, a);else if (b instanceof w) b.target = b.target || a;else {\n var e = b;\n b = new w(d, a);\n Ra(b, e);\n }\n e = !0;\n if (c) for (var f = c.length - 1; 0 <= f; f--) {\n var h = b.g = c[f];\n e = ib(h, d, !0, b) && e;\n }\n h = b.g = a;\n e = ib(h, d, !0, b) && e;\n e = ib(h, d, !1, b) && e;\n if (c) for (f = 0; f < c.length; f++) h = b.g = c[f], e = ib(h, d, !1, b) && e;\n}\nB.prototype.N = function () {\n B.$.N.call(this);\n if (this.i) {\n var a = this.i,\n c;\n for (c in a.g) {\n for (var d = a.g[c], e = 0; e < d.length; e++) Ka(d[e]);\n delete a.g[c];\n a.h--;\n }\n }\n this.J = null;\n};\nB.prototype.O = function (a, b, c, d) {\n return this.i.add(String(a), b, !1, c, d);\n};\nB.prototype.P = function (a, b, c, d) {\n return this.i.add(String(a), b, !0, c, d);\n};\nfunction ib(a, b, c, d) {\n b = a.i.g[String(b)];\n if (!b) return !0;\n b = b.concat();\n for (var e = !0, f = 0; f < b.length; ++f) {\n var h = b[f];\n if (h && !h.fa && h.capture == c) {\n var n = h.listener,\n t = h.la || h.src;\n h.ia && Ua(a.i, h);\n e = !1 !== n.call(t, d) && e;\n }\n }\n return e && !d.defaultPrevented;\n}\nvar jb = l.JSON.stringify;\nclass kb {\n constructor(a, b) {\n this.i = a;\n this.j = b;\n this.h = 0;\n this.g = null;\n }\n get() {\n let a;\n 0 < this.h ? (this.h--, a = this.g, this.g = a.next, a.next = null) : a = this.i();\n return a;\n }\n}\nfunction lb() {\n var a = mb;\n let b = null;\n a.g && (b = a.g, a.g = a.g.next, a.g || (a.h = null), b.next = null);\n return b;\n}\nclass nb {\n constructor() {\n this.h = this.g = null;\n }\n add(a, b) {\n const c = ob.get();\n c.set(a, b);\n this.h ? this.h.next = c : this.g = c;\n this.h = c;\n }\n}\nvar ob = new kb(() => new pb(), a => a.reset());\nclass pb {\n constructor() {\n this.next = this.g = this.h = null;\n }\n set(a, b) {\n this.h = a;\n this.g = b;\n this.next = null;\n }\n reset() {\n this.next = this.g = this.h = null;\n }\n}\nfunction qb(a) {\n var b = 1;\n a = a.split(\":\");\n const c = [];\n for (; 0 < b && a.length;) c.push(a.shift()), b--;\n a.length && c.push(a.join(\":\"));\n return c;\n}\nfunction rb(a) {\n l.setTimeout(() => {\n throw a;\n }, 0);\n}\nlet sb,\n tb = !1,\n mb = new nb(),\n vb = () => {\n const a = l.Promise.resolve(void 0);\n sb = () => {\n a.then(ub);\n };\n };\nvar ub = () => {\n for (var a; a = lb();) {\n try {\n a.h.call(a.g);\n } catch (c) {\n rb(c);\n }\n var b = ob;\n b.j(a);\n 100 > b.h && (b.h++, a.next = b.g, b.g = a);\n }\n tb = !1;\n};\nfunction wb(a, b) {\n B.call(this);\n this.h = a || 1;\n this.g = b || l;\n this.j = q(this.qb, this);\n this.l = Date.now();\n}\nr(wb, B);\nk = wb.prototype;\nk.ga = !1;\nk.T = null;\nk.qb = function () {\n if (this.ga) {\n var a = Date.now() - this.l;\n 0 < a && a < .8 * this.h ? this.T = this.g.setTimeout(this.j, this.h - a) : (this.T && (this.g.clearTimeout(this.T), this.T = null), C(this, \"tick\"), this.ga && (xb(this), this.start()));\n }\n};\nk.start = function () {\n this.ga = !0;\n this.T || (this.T = this.g.setTimeout(this.j, this.h), this.l = Date.now());\n};\nfunction xb(a) {\n a.ga = !1;\n a.T && (a.g.clearTimeout(a.T), a.T = null);\n}\nk.N = function () {\n wb.$.N.call(this);\n xb(this);\n delete this.g;\n};\nfunction yb(a, b, c) {\n if (\"function\" === typeof a) c && (a = q(a, c));else if (a && \"function\" == typeof a.handleEvent) a = q(a.handleEvent, a);else throw Error(\"Invalid listener argument\");\n return 2147483647 < Number(b) ? -1 : l.setTimeout(a, b || 0);\n}\nfunction zb(a) {\n a.g = yb(() => {\n a.g = null;\n a.i && (a.i = !1, zb(a));\n }, a.j);\n const b = a.h;\n a.h = null;\n a.m.apply(null, b);\n}\nclass Ab extends v {\n constructor(a, b) {\n super();\n this.m = a;\n this.j = b;\n this.h = null;\n this.i = !1;\n this.g = null;\n }\n l(a) {\n this.h = arguments;\n this.g ? this.i = !0 : zb(this);\n }\n N() {\n super.N();\n this.g && (l.clearTimeout(this.g), this.g = null, this.i = !1, this.h = null);\n }\n}\nfunction Bb(a) {\n v.call(this);\n this.h = a;\n this.g = {};\n}\nr(Bb, v);\nvar Cb = [];\nfunction Db(a, b, c, d) {\n Array.isArray(c) || (c && (Cb[0] = c.toString()), c = Cb);\n for (var e = 0; e < c.length; e++) {\n var f = Ya(b, c[e], d || a.handleEvent, !1, a.h || a);\n if (!f) break;\n a.g[f.key] = f;\n }\n}\nfunction Fb(a) {\n Na(a.g, function (b, c) {\n this.g.hasOwnProperty(c) && gb(b);\n }, a);\n a.g = {};\n}\nBb.prototype.N = function () {\n Bb.$.N.call(this);\n Fb(this);\n};\nBb.prototype.handleEvent = function () {\n throw Error(\"EventHandler.handleEvent not implemented\");\n};\nfunction Gb() {\n this.g = !0;\n}\nGb.prototype.Ea = function () {\n this.g = !1;\n};\nfunction Hb(a, b, c, d, e, f) {\n a.info(function () {\n if (a.g) {\n if (f) {\n var h = \"\";\n for (var n = f.split(\"&\"), t = 0; t < n.length; t++) {\n var m = n[t].split(\"=\");\n if (1 < m.length) {\n var u = m[0];\n m = m[1];\n var L = u.split(\"_\");\n h = 2 <= L.length && \"type\" == L[1] ? h + (u + \"=\" + m + \"&\") : h + (u + \"=redacted&\");\n }\n }\n } else h = null;\n } else h = f;\n return \"XMLHTTP REQ (\" + d + \") [attempt \" + e + \"]: \" + b + \"\\n\" + c + \"\\n\" + h;\n });\n}\nfunction Ib(a, b, c, d, e, f, h) {\n a.info(function () {\n return \"XMLHTTP RESP (\" + d + \") [ attempt \" + e + \"]: \" + b + \"\\n\" + c + \"\\n\" + f + \" \" + h;\n });\n}\nfunction D(a, b, c, d) {\n a.info(function () {\n return \"XMLHTTP TEXT (\" + b + \"): \" + Jb(a, c) + (d ? \" \" + d : \"\");\n });\n}\nfunction Kb(a, b) {\n a.info(function () {\n return \"TIMEOUT: \" + b;\n });\n}\nGb.prototype.info = function () {};\nfunction Jb(a, b) {\n if (!a.g) return b;\n if (!b) return null;\n try {\n var c = JSON.parse(b);\n if (c) for (a = 0; a < c.length; a++) if (Array.isArray(c[a])) {\n var d = c[a];\n if (!(2 > d.length)) {\n var e = d[1];\n if (Array.isArray(e) && !(1 > e.length)) {\n var f = e[0];\n if (\"noop\" != f && \"stop\" != f && \"close\" != f) for (var h = 1; h < e.length; h++) e[h] = \"\";\n }\n }\n }\n return jb(c);\n } catch (n) {\n return b;\n }\n}\nvar E = {},\n Lb = null;\nfunction Mb() {\n return Lb = Lb || new B();\n}\nE.Ta = \"serverreachability\";\nfunction Nb(a) {\n w.call(this, E.Ta, a);\n}\nr(Nb, w);\nfunction Ob(a) {\n const b = Mb();\n C(b, new Nb(b));\n}\nE.STAT_EVENT = \"statevent\";\nfunction Pb(a, b) {\n w.call(this, E.STAT_EVENT, a);\n this.stat = b;\n}\nr(Pb, w);\nfunction F(a) {\n const b = Mb();\n C(b, new Pb(b, a));\n}\nE.Ua = \"timingevent\";\nfunction Qb(a, b) {\n w.call(this, E.Ua, a);\n this.size = b;\n}\nr(Qb, w);\nfunction Rb(a, b) {\n if (\"function\" !== typeof a) throw Error(\"Fn must not be null and must be a function\");\n return l.setTimeout(function () {\n a();\n }, b);\n}\nvar Sb = {\n NO_ERROR: 0,\n rb: 1,\n Eb: 2,\n Db: 3,\n yb: 4,\n Cb: 5,\n Fb: 6,\n Qa: 7,\n TIMEOUT: 8,\n Ib: 9\n};\nvar Tb = {\n wb: \"complete\",\n Sb: \"success\",\n Ra: \"error\",\n Qa: \"abort\",\n Kb: \"ready\",\n Lb: \"readystatechange\",\n TIMEOUT: \"timeout\",\n Gb: \"incrementaldata\",\n Jb: \"progress\",\n zb: \"downloadprogress\",\n $b: \"uploadprogress\"\n};\nfunction Ub() {}\nUb.prototype.h = null;\nfunction Vb(a) {\n return a.h || (a.h = a.i());\n}\nfunction Wb() {}\nvar Xb = {\n OPEN: \"a\",\n vb: \"b\",\n Ra: \"c\",\n Hb: \"d\"\n};\nfunction Yb() {\n w.call(this, \"d\");\n}\nr(Yb, w);\nfunction Zb() {\n w.call(this, \"c\");\n}\nr(Zb, w);\nvar $b;\nfunction ac() {}\nr(ac, Ub);\nac.prototype.g = function () {\n return new XMLHttpRequest();\n};\nac.prototype.i = function () {\n return {};\n};\n$b = new ac();\nfunction bc(a, b, c, d) {\n this.l = a;\n this.j = b;\n this.m = c;\n this.W = d || 1;\n this.U = new Bb(this);\n this.P = cc;\n a = va ? 125 : void 0;\n this.V = new wb(a);\n this.I = null;\n this.i = !1;\n this.s = this.A = this.v = this.L = this.G = this.Y = this.B = null;\n this.F = [];\n this.g = null;\n this.C = 0;\n this.o = this.u = null;\n this.ca = -1;\n this.J = !1;\n this.O = 0;\n this.M = null;\n this.ba = this.K = this.aa = this.S = !1;\n this.h = new dc();\n}\nfunction dc() {\n this.i = null;\n this.g = \"\";\n this.h = !1;\n}\nvar cc = 45E3,\n ec = {},\n fc = {};\nk = bc.prototype;\nk.setTimeout = function (a) {\n this.P = a;\n};\nfunction gc(a, b, c) {\n a.L = 1;\n a.v = hc(G(b));\n a.s = c;\n a.S = !0;\n ic(a, null);\n}\nfunction ic(a, b) {\n a.G = Date.now();\n jc(a);\n a.A = G(a.v);\n var c = a.A,\n d = a.W;\n Array.isArray(d) || (d = [String(d)]);\n kc(c.i, \"t\", d);\n a.C = 0;\n c = a.l.J;\n a.h = new dc();\n a.g = lc(a.l, c ? b : null, !a.s);\n 0 < a.O && (a.M = new Ab(q(a.Pa, a, a.g), a.O));\n Db(a.U, a.g, \"readystatechange\", a.nb);\n b = a.I ? Pa(a.I) : {};\n a.s ? (a.u || (a.u = \"POST\"), b[\"Content-Type\"] = \"application/x-www-form-urlencoded\", a.g.ha(a.A, a.u, a.s, b)) : (a.u = \"GET\", a.g.ha(a.A, a.u, null, b));\n Ob();\n Hb(a.j, a.u, a.A, a.m, a.W, a.s);\n}\nk.nb = function (a) {\n a = a.target;\n const b = this.M;\n b && 3 == H(a) ? b.l() : this.Pa(a);\n};\nk.Pa = function (a) {\n try {\n if (a == this.g) a: {\n const u = H(this.g);\n var b = this.g.Ia();\n const L = this.g.da();\n if (!(3 > u) && (3 != u || va || this.g && (this.h.h || this.g.ja() || mc(this.g)))) {\n this.J || 4 != u || 7 == b || (8 == b || 0 >= L ? Ob(3) : Ob(2));\n nc(this);\n var c = this.g.da();\n this.ca = c;\n b: if (oc(this)) {\n var d = mc(this.g);\n a = \"\";\n var e = d.length,\n f = 4 == H(this.g);\n if (!this.h.i) {\n if (\"undefined\" === typeof TextDecoder) {\n I(this);\n pc(this);\n var h = \"\";\n break b;\n }\n this.h.i = new l.TextDecoder();\n }\n for (b = 0; b < e; b++) this.h.h = !0, a += this.h.i.decode(d[b], {\n stream: f && b == e - 1\n });\n d.splice(0, e);\n this.h.g += a;\n this.C = 0;\n h = this.h.g;\n } else h = this.g.ja();\n this.i = 200 == c;\n Ib(this.j, this.u, this.A, this.m, this.W, u, c);\n if (this.i) {\n if (this.aa && !this.K) {\n b: {\n if (this.g) {\n var n,\n t = this.g;\n if ((n = t.g ? t.g.getResponseHeader(\"X-HTTP-Initial-Response\") : null) && !x(n)) {\n var m = n;\n break b;\n }\n }\n m = null;\n }\n if (c = m) D(this.j, this.m, c, \"Initial handshake response via X-HTTP-Initial-Response\"), this.K = !0, qc(this, c);else {\n this.i = !1;\n this.o = 3;\n F(12);\n I(this);\n pc(this);\n break a;\n }\n }\n this.S ? (rc(this, u, h), va && this.i && 3 == u && (Db(this.U, this.V, \"tick\", this.mb), this.V.start())) : (D(this.j, this.m, h, null), qc(this, h));\n 4 == u && I(this);\n this.i && !this.J && (4 == u ? sc(this.l, this) : (this.i = !1, jc(this)));\n } else tc(this.g), 400 == c && 0 < h.indexOf(\"Unknown SID\") ? (this.o = 3, F(12)) : (this.o = 0, F(13)), I(this), pc(this);\n }\n }\n } catch (u) {} finally {}\n};\nfunction oc(a) {\n return a.g ? \"GET\" == a.u && 2 != a.L && a.l.Ha : !1;\n}\nfunction rc(a, b, c) {\n let d = !0,\n e;\n for (; !a.J && a.C < c.length;) if (e = uc(a, c), e == fc) {\n 4 == b && (a.o = 4, F(14), d = !1);\n D(a.j, a.m, null, \"[Incomplete Response]\");\n break;\n } else if (e == ec) {\n a.o = 4;\n F(15);\n D(a.j, a.m, c, \"[Invalid Chunk]\");\n d = !1;\n break;\n } else D(a.j, a.m, e, null), qc(a, e);\n oc(a) && e != fc && e != ec && (a.h.g = \"\", a.C = 0);\n 4 != b || 0 != c.length || a.h.h || (a.o = 1, F(16), d = !1);\n a.i = a.i && d;\n d ? 0 < c.length && !a.ba && (a.ba = !0, b = a.l, b.g == a && b.ca && !b.M && (b.l.info(\"Great, no buffering proxy detected. Bytes received: \" + c.length), vc(b), b.M = !0, F(11))) : (D(a.j, a.m, c, \"[Invalid Chunked Response]\"), I(a), pc(a));\n}\nk.mb = function () {\n if (this.g) {\n var a = H(this.g),\n b = this.g.ja();\n this.C < b.length && (nc(this), rc(this, a, b), this.i && 4 != a && jc(this));\n }\n};\nfunction uc(a, b) {\n var c = a.C,\n d = b.indexOf(\"\\n\", c);\n if (-1 == d) return fc;\n c = Number(b.substring(c, d));\n if (isNaN(c)) return ec;\n d += 1;\n if (d + c > b.length) return fc;\n b = b.slice(d, d + c);\n a.C = d + c;\n return b;\n}\nk.cancel = function () {\n this.J = !0;\n I(this);\n};\nfunction jc(a) {\n a.Y = Date.now() + a.P;\n wc(a, a.P);\n}\nfunction wc(a, b) {\n if (null != a.B) throw Error(\"WatchDog timer not null\");\n a.B = Rb(q(a.lb, a), b);\n}\nfunction nc(a) {\n a.B && (l.clearTimeout(a.B), a.B = null);\n}\nk.lb = function () {\n this.B = null;\n const a = Date.now();\n 0 <= a - this.Y ? (Kb(this.j, this.A), 2 != this.L && (Ob(), F(17)), I(this), this.o = 2, pc(this)) : wc(this, this.Y - a);\n};\nfunction pc(a) {\n 0 == a.l.H || a.J || sc(a.l, a);\n}\nfunction I(a) {\n nc(a);\n var b = a.M;\n b && \"function\" == typeof b.sa && b.sa();\n a.M = null;\n xb(a.V);\n Fb(a.U);\n a.g && (b = a.g, a.g = null, b.abort(), b.sa());\n}\nfunction qc(a, b) {\n try {\n var c = a.l;\n if (0 != c.H && (c.g == a || xc(c.i, a))) if (!a.K && xc(c.i, a) && 3 == c.H) {\n try {\n var d = c.Ja.g.parse(b);\n } catch (m) {\n d = null;\n }\n if (Array.isArray(d) && 3 == d.length) {\n var e = d;\n if (0 == e[0]) a: {\n if (!c.u) {\n if (c.g) if (c.g.G + 3E3 < a.G) yc(c), zc(c);else break a;\n Ac(c);\n F(18);\n }\n } else c.Fa = e[1], 0 < c.Fa - c.V && 37500 > e[2] && c.G && 0 == c.A && !c.v && (c.v = Rb(q(c.ib, c), 6E3));\n if (1 >= Bc(c.i) && c.oa) {\n try {\n c.oa();\n } catch (m) {}\n c.oa = void 0;\n }\n } else J(c, 11);\n } else if ((a.K || c.g == a) && yc(c), !x(b)) for (e = c.Ja.g.parse(b), b = 0; b < e.length; b++) {\n let m = e[b];\n c.V = m[0];\n m = m[1];\n if (2 == c.H) {\n if (\"c\" == m[0]) {\n c.K = m[1];\n c.pa = m[2];\n const u = m[3];\n null != u && (c.ra = u, c.l.info(\"VER=\" + c.ra));\n const L = m[4];\n null != L && (c.Ga = L, c.l.info(\"SVER=\" + c.Ga));\n const La = m[5];\n null != La && \"number\" === typeof La && 0 < La && (d = 1.5 * La, c.L = d, c.l.info(\"backChannelRequestTimeoutMs_=\" + d));\n d = c;\n const la = a.g;\n if (la) {\n const Ma = la.g ? la.g.getResponseHeader(\"X-Client-Wire-Protocol\") : null;\n if (Ma) {\n var f = d.i;\n f.g || -1 == Ma.indexOf(\"spdy\") && -1 == Ma.indexOf(\"quic\") && -1 == Ma.indexOf(\"h2\") || (f.j = f.l, f.g = new Set(), f.h && (Cc(f, f.h), f.h = null));\n }\n if (d.F) {\n const Eb = la.g ? la.g.getResponseHeader(\"X-HTTP-Session-Id\") : null;\n Eb && (d.Da = Eb, K(d.I, d.F, Eb));\n }\n }\n c.H = 3;\n c.h && c.h.Ba();\n c.ca && (c.S = Date.now() - a.G, c.l.info(\"Handshake RTT: \" + c.S + \"ms\"));\n d = c;\n var h = a;\n d.wa = Dc(d, d.J ? d.pa : null, d.Y);\n if (h.K) {\n Ec(d.i, h);\n var n = h,\n t = d.L;\n t && n.setTimeout(t);\n n.B && (nc(n), jc(n));\n d.g = h;\n } else Fc(d);\n 0 < c.j.length && Gc(c);\n } else \"stop\" != m[0] && \"close\" != m[0] || J(c, 7);\n } else 3 == c.H && (\"stop\" == m[0] || \"close\" == m[0] ? \"stop\" == m[0] ? J(c, 7) : Hc(c) : \"noop\" != m[0] && c.h && c.h.Aa(m), c.A = 0);\n }\n Ob(4);\n } catch (m) {}\n}\nfunction Ic(a) {\n if (a.Z && \"function\" == typeof a.Z) return a.Z();\n if (\"undefined\" !== typeof Map && a instanceof Map || \"undefined\" !== typeof Set && a instanceof Set) return Array.from(a.values());\n if (\"string\" === typeof a) return a.split(\"\");\n if (aa(a)) {\n for (var b = [], c = a.length, d = 0; d < c; d++) b.push(a[d]);\n return b;\n }\n b = [];\n c = 0;\n for (d in a) b[c++] = a[d];\n return b;\n}\nfunction Jc(a) {\n if (a.ta && \"function\" == typeof a.ta) return a.ta();\n if (!a.Z || \"function\" != typeof a.Z) {\n if (\"undefined\" !== typeof Map && a instanceof Map) return Array.from(a.keys());\n if (!(\"undefined\" !== typeof Set && a instanceof Set)) {\n if (aa(a) || \"string\" === typeof a) {\n var b = [];\n a = a.length;\n for (var c = 0; c < a; c++) b.push(c);\n return b;\n }\n b = [];\n c = 0;\n for (const d in a) b[c++] = d;\n return b;\n }\n }\n}\nfunction Kc(a, b) {\n if (a.forEach && \"function\" == typeof a.forEach) a.forEach(b, void 0);else if (aa(a) || \"string\" === typeof a) Array.prototype.forEach.call(a, b, void 0);else for (var c = Jc(a), d = Ic(a), e = d.length, f = 0; f < e; f++) b.call(void 0, d[f], c && c[f], a);\n}\nvar Lc = RegExp(\"^(?:([^:/?#.]+):)?(?://(?:([^\\\\\\\\/?#]*)@)?([^\\\\\\\\/?#]*?)(?::([0-9]+))?(?=[\\\\\\\\/?#]|$))?([^?#]+)?(?:\\\\?([^#]*))?(?:#([\\\\s\\\\S]*))?$\");\nfunction Mc(a, b) {\n if (a) {\n a = a.split(\"&\");\n for (var c = 0; c < a.length; c++) {\n var d = a[c].indexOf(\"=\"),\n e = null;\n if (0 <= d) {\n var f = a[c].substring(0, d);\n e = a[c].substring(d + 1);\n } else f = a[c];\n b(f, e ? decodeURIComponent(e.replace(/\\+/g, \" \")) : \"\");\n }\n }\n}\nfunction M(a) {\n this.g = this.s = this.j = \"\";\n this.m = null;\n this.o = this.l = \"\";\n this.h = !1;\n if (a instanceof M) {\n this.h = a.h;\n Nc(this, a.j);\n this.s = a.s;\n this.g = a.g;\n Oc(this, a.m);\n this.l = a.l;\n var b = a.i;\n var c = new Pc();\n c.i = b.i;\n b.g && (c.g = new Map(b.g), c.h = b.h);\n Qc(this, c);\n this.o = a.o;\n } else a && (b = String(a).match(Lc)) ? (this.h = !1, Nc(this, b[1] || \"\", !0), this.s = Rc(b[2] || \"\"), this.g = Rc(b[3] || \"\", !0), Oc(this, b[4]), this.l = Rc(b[5] || \"\", !0), Qc(this, b[6] || \"\", !0), this.o = Rc(b[7] || \"\")) : (this.h = !1, this.i = new Pc(null, this.h));\n}\nM.prototype.toString = function () {\n var a = [],\n b = this.j;\n b && a.push(Sc(b, Tc, !0), \":\");\n var c = this.g;\n if (c || \"file\" == b) a.push(\"//\"), (b = this.s) && a.push(Sc(b, Tc, !0), \"@\"), a.push(encodeURIComponent(String(c)).replace(/%25([0-9a-fA-F]{2})/g, \"%$1\")), c = this.m, null != c && a.push(\":\", String(c));\n if (c = this.l) this.g && \"/\" != c.charAt(0) && a.push(\"/\"), a.push(Sc(c, \"/\" == c.charAt(0) ? Uc : Vc, !0));\n (c = this.i.toString()) && a.push(\"?\", c);\n (c = this.o) && a.push(\"#\", Sc(c, Wc));\n return a.join(\"\");\n};\nfunction G(a) {\n return new M(a);\n}\nfunction Nc(a, b, c) {\n a.j = c ? Rc(b, !0) : b;\n a.j && (a.j = a.j.replace(/:$/, \"\"));\n}\nfunction Oc(a, b) {\n if (b) {\n b = Number(b);\n if (isNaN(b) || 0 > b) throw Error(\"Bad port number \" + b);\n a.m = b;\n } else a.m = null;\n}\nfunction Qc(a, b, c) {\n b instanceof Pc ? (a.i = b, Xc(a.i, a.h)) : (c || (b = Sc(b, Yc)), a.i = new Pc(b, a.h));\n}\nfunction K(a, b, c) {\n a.i.set(b, c);\n}\nfunction hc(a) {\n K(a, \"zx\", Math.floor(2147483648 * Math.random()).toString(36) + Math.abs(Math.floor(2147483648 * Math.random()) ^ Date.now()).toString(36));\n return a;\n}\nfunction Rc(a, b) {\n return a ? b ? decodeURI(a.replace(/%25/g, \"%2525\")) : decodeURIComponent(a) : \"\";\n}\nfunction Sc(a, b, c) {\n return \"string\" === typeof a ? (a = encodeURI(a).replace(b, Zc), c && (a = a.replace(/%25([0-9a-fA-F]{2})/g, \"%$1\")), a) : null;\n}\nfunction Zc(a) {\n a = a.charCodeAt(0);\n return \"%\" + (a >> 4 & 15).toString(16) + (a & 15).toString(16);\n}\nvar Tc = /[#\\/\\?@]/g,\n Vc = /[#\\?:]/g,\n Uc = /[#\\?]/g,\n Yc = /[#\\?@]/g,\n Wc = /#/g;\nfunction Pc(a, b) {\n this.h = this.g = null;\n this.i = a || null;\n this.j = !!b;\n}\nfunction N(a) {\n a.g || (a.g = new Map(), a.h = 0, a.i && Mc(a.i, function (b, c) {\n a.add(decodeURIComponent(b.replace(/\\+/g, \" \")), c);\n }));\n}\nk = Pc.prototype;\nk.add = function (a, b) {\n N(this);\n this.i = null;\n a = O(this, a);\n var c = this.g.get(a);\n c || this.g.set(a, c = []);\n c.push(b);\n this.h += 1;\n return this;\n};\nfunction $c(a, b) {\n N(a);\n b = O(a, b);\n a.g.has(b) && (a.i = null, a.h -= a.g.get(b).length, a.g.delete(b));\n}\nfunction ad(a, b) {\n N(a);\n b = O(a, b);\n return a.g.has(b);\n}\nk.forEach = function (a, b) {\n N(this);\n this.g.forEach(function (c, d) {\n c.forEach(function (e) {\n a.call(b, e, d, this);\n }, this);\n }, this);\n};\nk.ta = function () {\n N(this);\n const a = Array.from(this.g.values()),\n b = Array.from(this.g.keys()),\n c = [];\n for (let d = 0; d < b.length; d++) {\n const e = a[d];\n for (let f = 0; f < e.length; f++) c.push(b[d]);\n }\n return c;\n};\nk.Z = function (a) {\n N(this);\n let b = [];\n if (\"string\" === typeof a) ad(this, a) && (b = b.concat(this.g.get(O(this, a))));else {\n a = Array.from(this.g.values());\n for (let c = 0; c < a.length; c++) b = b.concat(a[c]);\n }\n return b;\n};\nk.set = function (a, b) {\n N(this);\n this.i = null;\n a = O(this, a);\n ad(this, a) && (this.h -= this.g.get(a).length);\n this.g.set(a, [b]);\n this.h += 1;\n return this;\n};\nk.get = function (a, b) {\n if (!a) return b;\n a = this.Z(a);\n return 0 < a.length ? String(a[0]) : b;\n};\nfunction kc(a, b, c) {\n $c(a, b);\n 0 < c.length && (a.i = null, a.g.set(O(a, b), ma(c)), a.h += c.length);\n}\nk.toString = function () {\n if (this.i) return this.i;\n if (!this.g) return \"\";\n const a = [],\n b = Array.from(this.g.keys());\n for (var c = 0; c < b.length; c++) {\n var d = b[c];\n const f = encodeURIComponent(String(d)),\n h = this.Z(d);\n for (d = 0; d < h.length; d++) {\n var e = f;\n \"\" !== h[d] && (e += \"=\" + encodeURIComponent(String(h[d])));\n a.push(e);\n }\n }\n return this.i = a.join(\"&\");\n};\nfunction O(a, b) {\n b = String(b);\n a.j && (b = b.toLowerCase());\n return b;\n}\nfunction Xc(a, b) {\n b && !a.j && (N(a), a.i = null, a.g.forEach(function (c, d) {\n var e = d.toLowerCase();\n d != e && ($c(this, d), kc(this, e, c));\n }, a));\n a.j = b;\n}\nvar bd = class {\n constructor(a, b) {\n this.g = a;\n this.map = b;\n }\n};\nfunction cd(a) {\n this.l = a || dd;\n l.PerformanceNavigationTiming ? (a = l.performance.getEntriesByType(\"navigation\"), a = 0 < a.length && (\"hq\" == a[0].nextHopProtocol || \"h2\" == a[0].nextHopProtocol)) : a = !!(l.g && l.g.Ka && l.g.Ka() && l.g.Ka().ec);\n this.j = a ? this.l : 1;\n this.g = null;\n 1 < this.j && (this.g = new Set());\n this.h = null;\n this.i = [];\n}\nvar dd = 10;\nfunction ed(a) {\n return a.h ? !0 : a.g ? a.g.size >= a.j : !1;\n}\nfunction Bc(a) {\n return a.h ? 1 : a.g ? a.g.size : 0;\n}\nfunction xc(a, b) {\n return a.h ? a.h == b : a.g ? a.g.has(b) : !1;\n}\nfunction Cc(a, b) {\n a.g ? a.g.add(b) : a.h = b;\n}\nfunction Ec(a, b) {\n a.h && a.h == b ? a.h = null : a.g && a.g.has(b) && a.g.delete(b);\n}\ncd.prototype.cancel = function () {\n this.i = fd(this);\n if (this.h) this.h.cancel(), this.h = null;else if (this.g && 0 !== this.g.size) {\n for (const a of this.g.values()) a.cancel();\n this.g.clear();\n }\n};\nfunction fd(a) {\n if (null != a.h) return a.i.concat(a.h.F);\n if (null != a.g && 0 !== a.g.size) {\n let b = a.i;\n for (const c of a.g.values()) b = b.concat(c.F);\n return b;\n }\n return ma(a.i);\n}\nvar gd = class {\n stringify(a) {\n return l.JSON.stringify(a, void 0);\n }\n parse(a) {\n return l.JSON.parse(a, void 0);\n }\n};\nfunction hd() {\n this.g = new gd();\n}\nfunction id(a, b, c) {\n const d = c || \"\";\n try {\n Kc(a, function (e, f) {\n let h = e;\n p(e) && (h = jb(e));\n b.push(d + f + \"=\" + encodeURIComponent(h));\n });\n } catch (e) {\n throw b.push(d + \"type=\" + encodeURIComponent(\"_badmap\")), e;\n }\n}\nfunction jd(a, b) {\n const c = new Gb();\n if (l.Image) {\n const d = new Image();\n d.onload = ha(kd, c, d, \"TestLoadImage: loaded\", !0, b);\n d.onerror = ha(kd, c, d, \"TestLoadImage: error\", !1, b);\n d.onabort = ha(kd, c, d, \"TestLoadImage: abort\", !1, b);\n d.ontimeout = ha(kd, c, d, \"TestLoadImage: timeout\", !1, b);\n l.setTimeout(function () {\n if (d.ontimeout) d.ontimeout();\n }, 1E4);\n d.src = a;\n } else b(!1);\n}\nfunction kd(a, b, c, d, e) {\n try {\n b.onload = null, b.onerror = null, b.onabort = null, b.ontimeout = null, e(d);\n } catch (f) {}\n}\nfunction ld(a) {\n this.l = a.fc || null;\n this.j = a.ob || !1;\n}\nr(ld, Ub);\nld.prototype.g = function () {\n return new md(this.l, this.j);\n};\nld.prototype.i = function (a) {\n return function () {\n return a;\n };\n}({});\nfunction md(a, b) {\n B.call(this);\n this.F = a;\n this.u = b;\n this.m = void 0;\n this.readyState = nd;\n this.status = 0;\n this.responseType = this.responseText = this.response = this.statusText = \"\";\n this.onreadystatechange = null;\n this.v = new Headers();\n this.h = null;\n this.C = \"GET\";\n this.B = \"\";\n this.g = !1;\n this.A = this.j = this.l = null;\n}\nr(md, B);\nvar nd = 0;\nk = md.prototype;\nk.open = function (a, b) {\n if (this.readyState != nd) throw this.abort(), Error(\"Error reopening a connection\");\n this.C = a;\n this.B = b;\n this.readyState = 1;\n od(this);\n};\nk.send = function (a) {\n if (1 != this.readyState) throw this.abort(), Error(\"need to call open() first. \");\n this.g = !0;\n const b = {\n headers: this.v,\n method: this.C,\n credentials: this.m,\n cache: void 0\n };\n a && (b.body = a);\n (this.F || l).fetch(new Request(this.B, b)).then(this.$a.bind(this), this.ka.bind(this));\n};\nk.abort = function () {\n this.response = this.responseText = \"\";\n this.v = new Headers();\n this.status = 0;\n this.j && this.j.cancel(\"Request was aborted.\").catch(() => {});\n 1 <= this.readyState && this.g && 4 != this.readyState && (this.g = !1, pd(this));\n this.readyState = nd;\n};\nk.$a = function (a) {\n if (this.g && (this.l = a, this.h || (this.status = this.l.status, this.statusText = this.l.statusText, this.h = a.headers, this.readyState = 2, od(this)), this.g && (this.readyState = 3, od(this), this.g))) if (\"arraybuffer\" === this.responseType) a.arrayBuffer().then(this.Ya.bind(this), this.ka.bind(this));else if (\"undefined\" !== typeof l.ReadableStream && \"body\" in a) {\n this.j = a.body.getReader();\n if (this.u) {\n if (this.responseType) throw Error('responseType must be empty for \"streamBinaryChunks\" mode responses.');\n this.response = [];\n } else this.response = this.responseText = \"\", this.A = new TextDecoder();\n qd(this);\n } else a.text().then(this.Za.bind(this), this.ka.bind(this));\n};\nfunction qd(a) {\n a.j.read().then(a.Xa.bind(a)).catch(a.ka.bind(a));\n}\nk.Xa = function (a) {\n if (this.g) {\n if (this.u && a.value) this.response.push(a.value);else if (!this.u) {\n var b = a.value ? a.value : new Uint8Array(0);\n if (b = this.A.decode(b, {\n stream: !a.done\n })) this.response = this.responseText += b;\n }\n a.done ? pd(this) : od(this);\n 3 == this.readyState && qd(this);\n }\n};\nk.Za = function (a) {\n this.g && (this.response = this.responseText = a, pd(this));\n};\nk.Ya = function (a) {\n this.g && (this.response = a, pd(this));\n};\nk.ka = function () {\n this.g && pd(this);\n};\nfunction pd(a) {\n a.readyState = 4;\n a.l = null;\n a.j = null;\n a.A = null;\n od(a);\n}\nk.setRequestHeader = function (a, b) {\n this.v.append(a, b);\n};\nk.getResponseHeader = function (a) {\n return this.h ? this.h.get(a.toLowerCase()) || \"\" : \"\";\n};\nk.getAllResponseHeaders = function () {\n if (!this.h) return \"\";\n const a = [],\n b = this.h.entries();\n for (var c = b.next(); !c.done;) c = c.value, a.push(c[0] + \": \" + c[1]), c = b.next();\n return a.join(\"\\r\\n\");\n};\nfunction od(a) {\n a.onreadystatechange && a.onreadystatechange.call(a);\n}\nObject.defineProperty(md.prototype, \"withCredentials\", {\n get: function () {\n return \"include\" === this.m;\n },\n set: function (a) {\n this.m = a ? \"include\" : \"same-origin\";\n }\n});\nvar rd = l.JSON.parse;\nfunction P(a) {\n B.call(this);\n this.headers = new Map();\n this.u = a || null;\n this.h = !1;\n this.C = this.g = null;\n this.I = \"\";\n this.m = 0;\n this.j = \"\";\n this.l = this.G = this.v = this.F = !1;\n this.B = 0;\n this.A = null;\n this.K = sd;\n this.L = this.M = !1;\n}\nr(P, B);\nvar sd = \"\",\n td = /^https?$/i,\n ud = [\"POST\", \"PUT\"];\nk = P.prototype;\nk.Oa = function (a) {\n this.M = a;\n};\nk.ha = function (a, b, c, d) {\n if (this.g) throw Error(\"[goog.net.XhrIo] Object is active with another request=\" + this.I + \"; newUri=\" + a);\n b = b ? b.toUpperCase() : \"GET\";\n this.I = a;\n this.j = \"\";\n this.m = 0;\n this.F = !1;\n this.h = !0;\n this.g = this.u ? this.u.g() : $b.g();\n this.C = this.u ? Vb(this.u) : Vb($b);\n this.g.onreadystatechange = q(this.La, this);\n try {\n this.G = !0, this.g.open(b, String(a), !0), this.G = !1;\n } catch (f) {\n vd(this, f);\n return;\n }\n a = c || \"\";\n c = new Map(this.headers);\n if (d) if (Object.getPrototypeOf(d) === Object.prototype) for (var e in d) c.set(e, d[e]);else if (\"function\" === typeof d.keys && \"function\" === typeof d.get) for (const f of d.keys()) c.set(f, d.get(f));else throw Error(\"Unknown input type for opt_headers: \" + String(d));\n d = Array.from(c.keys()).find(f => \"content-type\" == f.toLowerCase());\n e = l.FormData && a instanceof l.FormData;\n !(0 <= ka(ud, b)) || d || e || c.set(\"Content-Type\", \"application/x-www-form-urlencoded;charset=utf-8\");\n for (const [f, h] of c) this.g.setRequestHeader(f, h);\n this.K && (this.g.responseType = this.K);\n \"withCredentials\" in this.g && this.g.withCredentials !== this.M && (this.g.withCredentials = this.M);\n try {\n wd(this), 0 < this.B && ((this.L = xd(this.g)) ? (this.g.timeout = this.B, this.g.ontimeout = q(this.ua, this)) : this.A = yb(this.ua, this.B, this)), this.v = !0, this.g.send(a), this.v = !1;\n } catch (f) {\n vd(this, f);\n }\n};\nfunction xd(a) {\n return z && \"number\" === typeof a.timeout && void 0 !== a.ontimeout;\n}\nk.ua = function () {\n \"undefined\" != typeof goog && this.g && (this.j = \"Timed out after \" + this.B + \"ms, aborting\", this.m = 8, C(this, \"timeout\"), this.abort(8));\n};\nfunction vd(a, b) {\n a.h = !1;\n a.g && (a.l = !0, a.g.abort(), a.l = !1);\n a.j = b;\n a.m = 5;\n yd(a);\n zd(a);\n}\nfunction yd(a) {\n a.F || (a.F = !0, C(a, \"complete\"), C(a, \"error\"));\n}\nk.abort = function (a) {\n this.g && this.h && (this.h = !1, this.l = !0, this.g.abort(), this.l = !1, this.m = a || 7, C(this, \"complete\"), C(this, \"abort\"), zd(this));\n};\nk.N = function () {\n this.g && (this.h && (this.h = !1, this.l = !0, this.g.abort(), this.l = !1), zd(this, !0));\n P.$.N.call(this);\n};\nk.La = function () {\n this.s || (this.G || this.v || this.l ? Ad(this) : this.kb());\n};\nk.kb = function () {\n Ad(this);\n};\nfunction Ad(a) {\n if (a.h && \"undefined\" != typeof goog && (!a.C[1] || 4 != H(a) || 2 != a.da())) if (a.v && 4 == H(a)) yb(a.La, 0, a);else if (C(a, \"readystatechange\"), 4 == H(a)) {\n a.h = !1;\n try {\n const h = a.da();\n a: switch (h) {\n case 200:\n case 201:\n case 202:\n case 204:\n case 206:\n case 304:\n case 1223:\n var b = !0;\n break a;\n default:\n b = !1;\n }\n var c;\n if (!(c = b)) {\n var d;\n if (d = 0 === h) {\n var e = String(a.I).match(Lc)[1] || null;\n !e && l.self && l.self.location && (e = l.self.location.protocol.slice(0, -1));\n d = !td.test(e ? e.toLowerCase() : \"\");\n }\n c = d;\n }\n if (c) C(a, \"complete\"), C(a, \"success\");else {\n a.m = 6;\n try {\n var f = 2 < H(a) ? a.g.statusText : \"\";\n } catch (n) {\n f = \"\";\n }\n a.j = f + \" [\" + a.da() + \"]\";\n yd(a);\n }\n } finally {\n zd(a);\n }\n }\n}\nfunction zd(a, b) {\n if (a.g) {\n wd(a);\n const c = a.g,\n d = a.C[0] ? () => {} : null;\n a.g = null;\n a.C = null;\n b || C(a, \"ready\");\n try {\n c.onreadystatechange = d;\n } catch (e) {}\n }\n}\nfunction wd(a) {\n a.g && a.L && (a.g.ontimeout = null);\n a.A && (l.clearTimeout(a.A), a.A = null);\n}\nk.isActive = function () {\n return !!this.g;\n};\nfunction H(a) {\n return a.g ? a.g.readyState : 0;\n}\nk.da = function () {\n try {\n return 2 < H(this) ? this.g.status : -1;\n } catch (a) {\n return -1;\n }\n};\nk.ja = function () {\n try {\n return this.g ? this.g.responseText : \"\";\n } catch (a) {\n return \"\";\n }\n};\nk.Wa = function (a) {\n if (this.g) {\n var b = this.g.responseText;\n a && 0 == b.indexOf(a) && (b = b.substring(a.length));\n return rd(b);\n }\n};\nfunction mc(a) {\n try {\n if (!a.g) return null;\n if (\"response\" in a.g) return a.g.response;\n switch (a.K) {\n case sd:\n case \"text\":\n return a.g.responseText;\n case \"arraybuffer\":\n if (\"mozResponseArrayBuffer\" in a.g) return a.g.mozResponseArrayBuffer;\n }\n return null;\n } catch (b) {\n return null;\n }\n}\nfunction tc(a) {\n const b = {};\n a = (a.g && 2 <= H(a) ? a.g.getAllResponseHeaders() || \"\" : \"\").split(\"\\r\\n\");\n for (let d = 0; d < a.length; d++) {\n if (x(a[d])) continue;\n var c = qb(a[d]);\n const e = c[0];\n c = c[1];\n if (\"string\" !== typeof c) continue;\n c = c.trim();\n const f = b[e] || [];\n b[e] = f;\n f.push(c);\n }\n Oa(b, function (d) {\n return d.join(\", \");\n });\n}\nk.Ia = function () {\n return this.m;\n};\nk.Sa = function () {\n return \"string\" === typeof this.j ? this.j : String(this.j);\n};\nfunction Bd(a) {\n let b = \"\";\n Na(a, function (c, d) {\n b += d;\n b += \":\";\n b += c;\n b += \"\\r\\n\";\n });\n return b;\n}\nfunction Cd(a, b, c) {\n a: {\n for (d in c) {\n var d = !1;\n break a;\n }\n d = !0;\n }\n d || (c = Bd(c), \"string\" === typeof a ? null != c && encodeURIComponent(String(c)) : K(a, b, c));\n}\nfunction Dd(a, b, c) {\n return c && c.internalChannelParams ? c.internalChannelParams[a] || b : b;\n}\nfunction Ed(a) {\n this.Ga = 0;\n this.j = [];\n this.l = new Gb();\n this.pa = this.wa = this.I = this.Y = this.g = this.Da = this.F = this.na = this.o = this.U = this.s = null;\n this.fb = this.W = 0;\n this.cb = Dd(\"failFast\", !1, a);\n this.G = this.v = this.u = this.m = this.h = null;\n this.aa = !0;\n this.Fa = this.V = -1;\n this.ba = this.A = this.C = 0;\n this.ab = Dd(\"baseRetryDelayMs\", 5E3, a);\n this.hb = Dd(\"retryDelaySeedMs\", 1E4, a);\n this.eb = Dd(\"forwardChannelMaxRetries\", 2, a);\n this.xa = Dd(\"forwardChannelRequestTimeoutMs\", 2E4, a);\n this.va = a && a.xmlHttpFactory || void 0;\n this.Ha = a && a.dc || !1;\n this.L = void 0;\n this.J = a && a.supportsCrossDomainXhr || !1;\n this.K = \"\";\n this.i = new cd(a && a.concurrentRequestLimit);\n this.Ja = new hd();\n this.P = a && a.fastHandshake || !1;\n this.O = a && a.encodeInitMessageHeaders || !1;\n this.P && this.O && (this.O = !1);\n this.bb = a && a.bc || !1;\n a && a.Ea && this.l.Ea();\n a && a.forceLongPolling && (this.aa = !1);\n this.ca = !this.P && this.aa && a && a.detectBufferingProxy || !1;\n this.qa = void 0;\n a && a.longPollingTimeout && 0 < a.longPollingTimeout && (this.qa = a.longPollingTimeout);\n this.oa = void 0;\n this.S = 0;\n this.M = !1;\n this.ma = this.B = null;\n}\nk = Ed.prototype;\nk.ra = 8;\nk.H = 1;\nfunction Hc(a) {\n Fd(a);\n if (3 == a.H) {\n var b = a.W++,\n c = G(a.I);\n K(c, \"SID\", a.K);\n K(c, \"RID\", b);\n K(c, \"TYPE\", \"terminate\");\n Gd(a, c);\n b = new bc(a, a.l, b);\n b.L = 2;\n b.v = hc(G(c));\n c = !1;\n if (l.navigator && l.navigator.sendBeacon) try {\n c = l.navigator.sendBeacon(b.v.toString(), \"\");\n } catch (d) {}\n !c && l.Image && (new Image().src = b.v, c = !0);\n c || (b.g = lc(b.l, null), b.g.ha(b.v));\n b.G = Date.now();\n jc(b);\n }\n Hd(a);\n}\nfunction zc(a) {\n a.g && (vc(a), a.g.cancel(), a.g = null);\n}\nfunction Fd(a) {\n zc(a);\n a.u && (l.clearTimeout(a.u), a.u = null);\n yc(a);\n a.i.cancel();\n a.m && (\"number\" === typeof a.m && l.clearTimeout(a.m), a.m = null);\n}\nfunction Gc(a) {\n if (!ed(a.i) && !a.m) {\n a.m = !0;\n var b = a.Na;\n sb || vb();\n tb || (sb(), tb = !0);\n mb.add(b, a);\n a.C = 0;\n }\n}\nfunction Id(a, b) {\n if (Bc(a.i) >= a.i.j - (a.m ? 1 : 0)) return !1;\n if (a.m) return a.j = b.F.concat(a.j), !0;\n if (1 == a.H || 2 == a.H || a.C >= (a.cb ? 0 : a.eb)) return !1;\n a.m = Rb(q(a.Na, a, b), Jd(a, a.C));\n a.C++;\n return !0;\n}\nk.Na = function (a) {\n if (this.m) if (this.m = null, 1 == this.H) {\n if (!a) {\n this.W = Math.floor(1E5 * Math.random());\n a = this.W++;\n const e = new bc(this, this.l, a);\n let f = this.s;\n this.U && (f ? (f = Pa(f), Ra(f, this.U)) : f = this.U);\n null !== this.o || this.O || (e.I = f, f = null);\n if (this.P) a: {\n var b = 0;\n for (var c = 0; c < this.j.length; c++) {\n b: {\n var d = this.j[c];\n if (\"__data__\" in d.map && (d = d.map.__data__, \"string\" === typeof d)) {\n d = d.length;\n break b;\n }\n d = void 0;\n }\n if (void 0 === d) break;\n b += d;\n if (4096 < b) {\n b = c;\n break a;\n }\n if (4096 === b || c === this.j.length - 1) {\n b = c + 1;\n break a;\n }\n }\n b = 1E3;\n } else b = 1E3;\n b = Kd(this, e, b);\n c = G(this.I);\n K(c, \"RID\", a);\n K(c, \"CVER\", 22);\n this.F && K(c, \"X-HTTP-Session-Id\", this.F);\n Gd(this, c);\n f && (this.O ? b = \"headers=\" + encodeURIComponent(String(Bd(f))) + \"&\" + b : this.o && Cd(c, this.o, f));\n Cc(this.i, e);\n this.bb && K(c, \"TYPE\", \"init\");\n this.P ? (K(c, \"$req\", b), K(c, \"SID\", \"null\"), e.aa = !0, gc(e, c, null)) : gc(e, c, b);\n this.H = 2;\n }\n } else 3 == this.H && (a ? Ld(this, a) : 0 == this.j.length || ed(this.i) || Ld(this));\n};\nfunction Ld(a, b) {\n var c;\n b ? c = b.m : c = a.W++;\n const d = G(a.I);\n K(d, \"SID\", a.K);\n K(d, \"RID\", c);\n K(d, \"AID\", a.V);\n Gd(a, d);\n a.o && a.s && Cd(d, a.o, a.s);\n c = new bc(a, a.l, c, a.C + 1);\n null === a.o && (c.I = a.s);\n b && (a.j = b.F.concat(a.j));\n b = Kd(a, c, 1E3);\n c.setTimeout(Math.round(.5 * a.xa) + Math.round(.5 * a.xa * Math.random()));\n Cc(a.i, c);\n gc(c, d, b);\n}\nfunction Gd(a, b) {\n a.na && Na(a.na, function (c, d) {\n K(b, d, c);\n });\n a.h && Kc({}, function (c, d) {\n K(b, d, c);\n });\n}\nfunction Kd(a, b, c) {\n c = Math.min(a.j.length, c);\n var d = a.h ? q(a.h.Va, a.h, a) : null;\n a: {\n var e = a.j;\n let f = -1;\n for (;;) {\n const h = [\"count=\" + c];\n -1 == f ? 0 < c ? (f = e[0].g, h.push(\"ofs=\" + f)) : f = 0 : h.push(\"ofs=\" + f);\n let n = !0;\n for (let t = 0; t < c; t++) {\n let m = e[t].g;\n const u = e[t].map;\n m -= f;\n if (0 > m) f = Math.max(0, e[t].g - 100), n = !1;else try {\n id(u, h, \"req\" + m + \"_\");\n } catch (L) {\n d && d(u);\n }\n }\n if (n) {\n d = h.join(\"&\");\n break a;\n }\n }\n }\n a = a.j.splice(0, c);\n b.F = a;\n return d;\n}\nfunction Fc(a) {\n if (!a.g && !a.u) {\n a.ba = 1;\n var b = a.Ma;\n sb || vb();\n tb || (sb(), tb = !0);\n mb.add(b, a);\n a.A = 0;\n }\n}\nfunction Ac(a) {\n if (a.g || a.u || 3 <= a.A) return !1;\n a.ba++;\n a.u = Rb(q(a.Ma, a), Jd(a, a.A));\n a.A++;\n return !0;\n}\nk.Ma = function () {\n this.u = null;\n Md(this);\n if (this.ca && !(this.M || null == this.g || 0 >= this.S)) {\n var a = 2 * this.S;\n this.l.info(\"BP detection timer enabled: \" + a);\n this.B = Rb(q(this.jb, this), a);\n }\n};\nk.jb = function () {\n this.B && (this.B = null, this.l.info(\"BP detection timeout reached.\"), this.l.info(\"Buffering proxy detected and switch to long-polling!\"), this.G = !1, this.M = !0, F(10), zc(this), Md(this));\n};\nfunction vc(a) {\n null != a.B && (l.clearTimeout(a.B), a.B = null);\n}\nfunction Md(a) {\n a.g = new bc(a, a.l, \"rpc\", a.ba);\n null === a.o && (a.g.I = a.s);\n a.g.O = 0;\n var b = G(a.wa);\n K(b, \"RID\", \"rpc\");\n K(b, \"SID\", a.K);\n K(b, \"AID\", a.V);\n K(b, \"CI\", a.G ? \"0\" : \"1\");\n !a.G && a.qa && K(b, \"TO\", a.qa);\n K(b, \"TYPE\", \"xmlhttp\");\n Gd(a, b);\n a.o && a.s && Cd(b, a.o, a.s);\n a.L && a.g.setTimeout(a.L);\n var c = a.g;\n a = a.pa;\n c.L = 1;\n c.v = hc(G(b));\n c.s = null;\n c.S = !0;\n ic(c, a);\n}\nk.ib = function () {\n null != this.v && (this.v = null, zc(this), Ac(this), F(19));\n};\nfunction yc(a) {\n null != a.v && (l.clearTimeout(a.v), a.v = null);\n}\nfunction sc(a, b) {\n var c = null;\n if (a.g == b) {\n yc(a);\n vc(a);\n a.g = null;\n var d = 2;\n } else if (xc(a.i, b)) c = b.F, Ec(a.i, b), d = 1;else return;\n if (0 != a.H) if (b.i) {\n if (1 == d) {\n c = b.s ? b.s.length : 0;\n b = Date.now() - b.G;\n var e = a.C;\n d = Mb();\n C(d, new Qb(d, c));\n Gc(a);\n } else Fc(a);\n } else if (e = b.o, 3 == e || 0 == e && 0 < b.ca || !(1 == d && Id(a, b) || 2 == d && Ac(a))) switch (c && 0 < c.length && (b = a.i, b.i = b.i.concat(c)), e) {\n case 1:\n J(a, 5);\n break;\n case 4:\n J(a, 10);\n break;\n case 3:\n J(a, 6);\n break;\n default:\n J(a, 2);\n }\n}\nfunction Jd(a, b) {\n let c = a.ab + Math.floor(Math.random() * a.hb);\n a.isActive() || (c *= 2);\n return c * b;\n}\nfunction J(a, b) {\n a.l.info(\"Error code \" + b);\n if (2 == b) {\n var c = null;\n a.h && (c = null);\n var d = q(a.pb, a);\n c || (c = new M(\"//www.google.com/images/cleardot.gif\"), l.location && \"http\" == l.location.protocol || Nc(c, \"https\"), hc(c));\n jd(c.toString(), d);\n } else F(2);\n a.H = 0;\n a.h && a.h.za(b);\n Hd(a);\n Fd(a);\n}\nk.pb = function (a) {\n a ? (this.l.info(\"Successfully pinged google.com\"), F(2)) : (this.l.info(\"Failed to ping google.com\"), F(1));\n};\nfunction Hd(a) {\n a.H = 0;\n a.ma = [];\n if (a.h) {\n const b = fd(a.i);\n if (0 != b.length || 0 != a.j.length) na(a.ma, b), na(a.ma, a.j), a.i.i.length = 0, ma(a.j), a.j.length = 0;\n a.h.ya();\n }\n}\nfunction Dc(a, b, c) {\n var d = c instanceof M ? G(c) : new M(c);\n if (\"\" != d.g) b && (d.g = b + \".\" + d.g), Oc(d, d.m);else {\n var e = l.location;\n d = e.protocol;\n b = b ? b + \".\" + e.hostname : e.hostname;\n e = +e.port;\n var f = new M(null);\n d && Nc(f, d);\n b && (f.g = b);\n e && Oc(f, e);\n c && (f.l = c);\n d = f;\n }\n c = a.F;\n b = a.Da;\n c && b && K(d, c, b);\n K(d, \"VER\", a.ra);\n Gd(a, d);\n return d;\n}\nfunction lc(a, b, c) {\n if (b && !a.J) throw Error(\"Can't create secondary domain capable XhrIo object.\");\n b = c && a.Ha && !a.va ? new P(new ld({\n ob: !0\n })) : new P(a.va);\n b.Oa(a.J);\n return b;\n}\nk.isActive = function () {\n return !!this.h && this.h.isActive(this);\n};\nfunction Nd() {}\nk = Nd.prototype;\nk.Ba = function () {};\nk.Aa = function () {};\nk.za = function () {};\nk.ya = function () {};\nk.isActive = function () {\n return !0;\n};\nk.Va = function () {};\nfunction Od() {\n if (z && !(10 <= Number(Fa))) throw Error(\"Environmental error: no available transport.\");\n}\nOd.prototype.g = function (a, b) {\n return new Q(a, b);\n};\nfunction Q(a, b) {\n B.call(this);\n this.g = new Ed(b);\n this.l = a;\n this.h = b && b.messageUrlParams || null;\n a = b && b.messageHeaders || null;\n b && b.clientProtocolHeaderRequired && (a ? a[\"X-Client-Protocol\"] = \"webchannel\" : a = {\n \"X-Client-Protocol\": \"webchannel\"\n });\n this.g.s = a;\n a = b && b.initMessageHeaders || null;\n b && b.messageContentType && (a ? a[\"X-WebChannel-Content-Type\"] = b.messageContentType : a = {\n \"X-WebChannel-Content-Type\": b.messageContentType\n });\n b && b.Ca && (a ? a[\"X-WebChannel-Client-Profile\"] = b.Ca : a = {\n \"X-WebChannel-Client-Profile\": b.Ca\n });\n this.g.U = a;\n (a = b && b.cc) && !x(a) && (this.g.o = a);\n this.A = b && b.supportsCrossDomainXhr || !1;\n this.v = b && b.sendRawJson || !1;\n (b = b && b.httpSessionIdParam) && !x(b) && (this.g.F = b, a = this.h, null !== a && b in a && (a = this.h, b in a && delete a[b]));\n this.j = new R(this);\n}\nr(Q, B);\nQ.prototype.m = function () {\n this.g.h = this.j;\n this.A && (this.g.J = !0);\n var a = this.g,\n b = this.l,\n c = this.h || void 0;\n F(0);\n a.Y = b;\n a.na = c || {};\n a.G = a.aa;\n a.I = Dc(a, null, a.Y);\n Gc(a);\n};\nQ.prototype.close = function () {\n Hc(this.g);\n};\nQ.prototype.u = function (a) {\n var b = this.g;\n if (\"string\" === typeof a) {\n var c = {};\n c.__data__ = a;\n a = c;\n } else this.v && (c = {}, c.__data__ = jb(a), a = c);\n b.j.push(new bd(b.fb++, a));\n 3 == b.H && Gc(b);\n};\nQ.prototype.N = function () {\n this.g.h = null;\n delete this.j;\n Hc(this.g);\n delete this.g;\n Q.$.N.call(this);\n};\nfunction Pd(a) {\n Yb.call(this);\n a.__headers__ && (this.headers = a.__headers__, this.statusCode = a.__status__, delete a.__headers__, delete a.__status__);\n var b = a.__sm__;\n if (b) {\n a: {\n for (const c in b) {\n a = c;\n break a;\n }\n a = void 0;\n }\n if (this.i = a) a = this.i, b = null !== b && a in b ? b[a] : void 0;\n this.data = b;\n } else this.data = a;\n}\nr(Pd, Yb);\nfunction Qd() {\n Zb.call(this);\n this.status = 1;\n}\nr(Qd, Zb);\nfunction R(a) {\n this.g = a;\n}\nr(R, Nd);\nR.prototype.Ba = function () {\n C(this.g, \"a\");\n};\nR.prototype.Aa = function (a) {\n C(this.g, new Pd(a));\n};\nR.prototype.za = function (a) {\n C(this.g, new Qd());\n};\nR.prototype.ya = function () {\n C(this.g, \"b\");\n};\nfunction Rd() {\n this.blockSize = -1;\n}\nfunction S() {\n this.blockSize = -1;\n this.blockSize = 64;\n this.g = Array(4);\n this.m = Array(this.blockSize);\n this.i = this.h = 0;\n this.reset();\n}\nr(S, Rd);\nS.prototype.reset = function () {\n this.g[0] = 1732584193;\n this.g[1] = 4023233417;\n this.g[2] = 2562383102;\n this.g[3] = 271733878;\n this.i = this.h = 0;\n};\nfunction Sd(a, b, c) {\n c || (c = 0);\n var d = Array(16);\n if (\"string\" === typeof b) for (var e = 0; 16 > e; ++e) d[e] = b.charCodeAt(c++) | b.charCodeAt(c++) << 8 | b.charCodeAt(c++) << 16 | b.charCodeAt(c++) << 24;else for (e = 0; 16 > e; ++e) d[e] = b[c++] | b[c++] << 8 | b[c++] << 16 | b[c++] << 24;\n b = a.g[0];\n c = a.g[1];\n e = a.g[2];\n var f = a.g[3];\n var h = b + (f ^ c & (e ^ f)) + d[0] + 3614090360 & 4294967295;\n b = c + (h << 7 & 4294967295 | h >>> 25);\n h = f + (e ^ b & (c ^ e)) + d[1] + 3905402710 & 4294967295;\n f = b + (h << 12 & 4294967295 | h >>> 20);\n h = e + (c ^ f & (b ^ c)) + d[2] + 606105819 & 4294967295;\n e = f + (h << 17 & 4294967295 | h >>> 15);\n h = c + (b ^ e & (f ^ b)) + d[3] + 3250441966 & 4294967295;\n c = e + (h << 22 & 4294967295 | h >>> 10);\n h = b + (f ^ c & (e ^ f)) + d[4] + 4118548399 & 4294967295;\n b = c + (h << 7 & 4294967295 | h >>> 25);\n h = f + (e ^ b & (c ^ e)) + d[5] + 1200080426 & 4294967295;\n f = b + (h << 12 & 4294967295 | h >>> 20);\n h = e + (c ^ f & (b ^ c)) + d[6] + 2821735955 & 4294967295;\n e = f + (h << 17 & 4294967295 | h >>> 15);\n h = c + (b ^ e & (f ^ b)) + d[7] + 4249261313 & 4294967295;\n c = e + (h << 22 & 4294967295 | h >>> 10);\n h = b + (f ^ c & (e ^ f)) + d[8] + 1770035416 & 4294967295;\n b = c + (h << 7 & 4294967295 | h >>> 25);\n h = f + (e ^ b & (c ^ e)) + d[9] + 2336552879 & 4294967295;\n f = b + (h << 12 & 4294967295 | h >>> 20);\n h = e + (c ^ f & (b ^ c)) + d[10] + 4294925233 & 4294967295;\n e = f + (h << 17 & 4294967295 | h >>> 15);\n h = c + (b ^ e & (f ^ b)) + d[11] + 2304563134 & 4294967295;\n c = e + (h << 22 & 4294967295 | h >>> 10);\n h = b + (f ^ c & (e ^ f)) + d[12] + 1804603682 & 4294967295;\n b = c + (h << 7 & 4294967295 | h >>> 25);\n h = f + (e ^ b & (c ^ e)) + d[13] + 4254626195 & 4294967295;\n f = b + (h << 12 & 4294967295 | h >>> 20);\n h = e + (c ^ f & (b ^ c)) + d[14] + 2792965006 & 4294967295;\n e = f + (h << 17 & 4294967295 | h >>> 15);\n h = c + (b ^ e & (f ^ b)) + d[15] + 1236535329 & 4294967295;\n c = e + (h << 22 & 4294967295 | h >>> 10);\n h = b + (e ^ f & (c ^ e)) + d[1] + 4129170786 & 4294967295;\n b = c + (h << 5 & 4294967295 | h >>> 27);\n h = f + (c ^ e & (b ^ c)) + d[6] + 3225465664 & 4294967295;\n f = b + (h << 9 & 4294967295 | h >>> 23);\n h = e + (b ^ c & (f ^ b)) + d[11] + 643717713 & 4294967295;\n e = f + (h << 14 & 4294967295 | h >>> 18);\n h = c + (f ^ b & (e ^ f)) + d[0] + 3921069994 & 4294967295;\n c = e + (h << 20 & 4294967295 | h >>> 12);\n h = b + (e ^ f & (c ^ e)) + d[5] + 3593408605 & 4294967295;\n b = c + (h << 5 & 4294967295 | h >>> 27);\n h = f + (c ^ e & (b ^ c)) + d[10] + 38016083 & 4294967295;\n f = b + (h << 9 & 4294967295 | h >>> 23);\n h = e + (b ^ c & (f ^ b)) + d[15] + 3634488961 & 4294967295;\n e = f + (h << 14 & 4294967295 | h >>> 18);\n h = c + (f ^ b & (e ^ f)) + d[4] + 3889429448 & 4294967295;\n c = e + (h << 20 & 4294967295 | h >>> 12);\n h = b + (e ^ f & (c ^ e)) + d[9] + 568446438 & 4294967295;\n b = c + (h << 5 & 4294967295 | h >>> 27);\n h = f + (c ^ e & (b ^ c)) + d[14] + 3275163606 & 4294967295;\n f = b + (h << 9 & 4294967295 | h >>> 23);\n h = e + (b ^ c & (f ^ b)) + d[3] + 4107603335 & 4294967295;\n e = f + (h << 14 & 4294967295 | h >>> 18);\n h = c + (f ^ b & (e ^ f)) + d[8] + 1163531501 & 4294967295;\n c = e + (h << 20 & 4294967295 | h >>> 12);\n h = b + (e ^ f & (c ^ e)) + d[13] + 2850285829 & 4294967295;\n b = c + (h << 5 & 4294967295 | h >>> 27);\n h = f + (c ^ e & (b ^ c)) + d[2] + 4243563512 & 4294967295;\n f = b + (h << 9 & 4294967295 | h >>> 23);\n h = e + (b ^ c & (f ^ b)) + d[7] + 1735328473 & 4294967295;\n e = f + (h << 14 & 4294967295 | h >>> 18);\n h = c + (f ^ b & (e ^ f)) + d[12] + 2368359562 & 4294967295;\n c = e + (h << 20 & 4294967295 | h >>> 12);\n h = b + (c ^ e ^ f) + d[5] + 4294588738 & 4294967295;\n b = c + (h << 4 & 4294967295 | h >>> 28);\n h = f + (b ^ c ^ e) + d[8] + 2272392833 & 4294967295;\n f = b + (h << 11 & 4294967295 | h >>> 21);\n h = e + (f ^ b ^ c) + d[11] + 1839030562 & 4294967295;\n e = f + (h << 16 & 4294967295 | h >>> 16);\n h = c + (e ^ f ^ b) + d[14] + 4259657740 & 4294967295;\n c = e + (h << 23 & 4294967295 | h >>> 9);\n h = b + (c ^ e ^ f) + d[1] + 2763975236 & 4294967295;\n b = c + (h << 4 & 4294967295 | h >>> 28);\n h = f + (b ^ c ^ e) + d[4] + 1272893353 & 4294967295;\n f = b + (h << 11 & 4294967295 | h >>> 21);\n h = e + (f ^ b ^ c) + d[7] + 4139469664 & 4294967295;\n e = f + (h << 16 & 4294967295 | h >>> 16);\n h = c + (e ^ f ^ b) + d[10] + 3200236656 & 4294967295;\n c = e + (h << 23 & 4294967295 | h >>> 9);\n h = b + (c ^ e ^ f) + d[13] + 681279174 & 4294967295;\n b = c + (h << 4 & 4294967295 | h >>> 28);\n h = f + (b ^ c ^ e) + d[0] + 3936430074 & 4294967295;\n f = b + (h << 11 & 4294967295 | h >>> 21);\n h = e + (f ^ b ^ c) + d[3] + 3572445317 & 4294967295;\n e = f + (h << 16 & 4294967295 | h >>> 16);\n h = c + (e ^ f ^ b) + d[6] + 76029189 & 4294967295;\n c = e + (h << 23 & 4294967295 | h >>> 9);\n h = b + (c ^ e ^ f) + d[9] + 3654602809 & 4294967295;\n b = c + (h << 4 & 4294967295 | h >>> 28);\n h = f + (b ^ c ^ e) + d[12] + 3873151461 & 4294967295;\n f = b + (h << 11 & 4294967295 | h >>> 21);\n h = e + (f ^ b ^ c) + d[15] + 530742520 & 4294967295;\n e = f + (h << 16 & 4294967295 | h >>> 16);\n h = c + (e ^ f ^ b) + d[2] + 3299628645 & 4294967295;\n c = e + (h << 23 & 4294967295 | h >>> 9);\n h = b + (e ^ (c | ~f)) + d[0] + 4096336452 & 4294967295;\n b = c + (h << 6 & 4294967295 | h >>> 26);\n h = f + (c ^ (b | ~e)) + d[7] + 1126891415 & 4294967295;\n f = b + (h << 10 & 4294967295 | h >>> 22);\n h = e + (b ^ (f | ~c)) + d[14] + 2878612391 & 4294967295;\n e = f + (h << 15 & 4294967295 | h >>> 17);\n h = c + (f ^ (e | ~b)) + d[5] + 4237533241 & 4294967295;\n c = e + (h << 21 & 4294967295 | h >>> 11);\n h = b + (e ^ (c | ~f)) + d[12] + 1700485571 & 4294967295;\n b = c + (h << 6 & 4294967295 | h >>> 26);\n h = f + (c ^ (b | ~e)) + d[3] + 2399980690 & 4294967295;\n f = b + (h << 10 & 4294967295 | h >>> 22);\n h = e + (b ^ (f | ~c)) + d[10] + 4293915773 & 4294967295;\n e = f + (h << 15 & 4294967295 | h >>> 17);\n h = c + (f ^ (e | ~b)) + d[1] + 2240044497 & 4294967295;\n c = e + (h << 21 & 4294967295 | h >>> 11);\n h = b + (e ^ (c | ~f)) + d[8] + 1873313359 & 4294967295;\n b = c + (h << 6 & 4294967295 | h >>> 26);\n h = f + (c ^ (b | ~e)) + d[15] + 4264355552 & 4294967295;\n f = b + (h << 10 & 4294967295 | h >>> 22);\n h = e + (b ^ (f | ~c)) + d[6] + 2734768916 & 4294967295;\n e = f + (h << 15 & 4294967295 | h >>> 17);\n h = c + (f ^ (e | ~b)) + d[13] + 1309151649 & 4294967295;\n c = e + (h << 21 & 4294967295 | h >>> 11);\n h = b + (e ^ (c | ~f)) + d[4] + 4149444226 & 4294967295;\n b = c + (h << 6 & 4294967295 | h >>> 26);\n h = f + (c ^ (b | ~e)) + d[11] + 3174756917 & 4294967295;\n f = b + (h << 10 & 4294967295 | h >>> 22);\n h = e + (b ^ (f | ~c)) + d[2] + 718787259 & 4294967295;\n e = f + (h << 15 & 4294967295 | h >>> 17);\n h = c + (f ^ (e | ~b)) + d[9] + 3951481745 & 4294967295;\n a.g[0] = a.g[0] + b & 4294967295;\n a.g[1] = a.g[1] + (e + (h << 21 & 4294967295 | h >>> 11)) & 4294967295;\n a.g[2] = a.g[2] + e & 4294967295;\n a.g[3] = a.g[3] + f & 4294967295;\n}\nS.prototype.j = function (a, b) {\n void 0 === b && (b = a.length);\n for (var c = b - this.blockSize, d = this.m, e = this.h, f = 0; f < b;) {\n if (0 == e) for (; f <= c;) Sd(this, a, f), f += this.blockSize;\n if (\"string\" === typeof a) for (; f < b;) {\n if (d[e++] = a.charCodeAt(f++), e == this.blockSize) {\n Sd(this, d);\n e = 0;\n break;\n }\n } else for (; f < b;) if (d[e++] = a[f++], e == this.blockSize) {\n Sd(this, d);\n e = 0;\n break;\n }\n }\n this.h = e;\n this.i += b;\n};\nS.prototype.l = function () {\n var a = Array((56 > this.h ? this.blockSize : 2 * this.blockSize) - this.h);\n a[0] = 128;\n for (var b = 1; b < a.length - 8; ++b) a[b] = 0;\n var c = 8 * this.i;\n for (b = a.length - 8; b < a.length; ++b) a[b] = c & 255, c /= 256;\n this.j(a);\n a = Array(16);\n for (b = c = 0; 4 > b; ++b) for (var d = 0; 32 > d; d += 8) a[c++] = this.g[b] >>> d & 255;\n return a;\n};\nfunction T(a, b) {\n this.h = b;\n for (var c = [], d = !0, e = a.length - 1; 0 <= e; e--) {\n var f = a[e] | 0;\n d && f == b || (c[e] = f, d = !1);\n }\n this.g = c;\n}\nvar sa = {};\nfunction Td(a) {\n return -128 <= a && 128 > a ? ra(a, function (b) {\n return new T([b | 0], 0 > b ? -1 : 0);\n }) : new T([a | 0], 0 > a ? -1 : 0);\n}\nfunction U(a) {\n if (isNaN(a) || !isFinite(a)) return V;\n if (0 > a) return W(U(-a));\n for (var b = [], c = 1, d = 0; a >= c; d++) b[d] = a / c | 0, c *= Ud;\n return new T(b, 0);\n}\nfunction Vd(a, b) {\n if (0 == a.length) throw Error(\"number format error: empty string\");\n b = b || 10;\n if (2 > b || 36 < b) throw Error(\"radix out of range: \" + b);\n if (\"-\" == a.charAt(0)) return W(Vd(a.substring(1), b));\n if (0 <= a.indexOf(\"-\")) throw Error('number format error: interior \"-\" character');\n for (var c = U(Math.pow(b, 8)), d = V, e = 0; e < a.length; e += 8) {\n var f = Math.min(8, a.length - e),\n h = parseInt(a.substring(e, e + f), b);\n 8 > f ? (f = U(Math.pow(b, f)), d = d.R(f).add(U(h))) : (d = d.R(c), d = d.add(U(h)));\n }\n return d;\n}\nvar Ud = 4294967296,\n V = Td(0),\n Wd = Td(1),\n Xd = Td(16777216);\nk = T.prototype;\nk.ea = function () {\n if (X(this)) return -W(this).ea();\n for (var a = 0, b = 1, c = 0; c < this.g.length; c++) {\n var d = this.D(c);\n a += (0 <= d ? d : Ud + d) * b;\n b *= Ud;\n }\n return a;\n};\nk.toString = function (a) {\n a = a || 10;\n if (2 > a || 36 < a) throw Error(\"radix out of range: \" + a);\n if (Y(this)) return \"0\";\n if (X(this)) return \"-\" + W(this).toString(a);\n for (var b = U(Math.pow(a, 6)), c = this, d = \"\";;) {\n var e = Yd(c, b).g;\n c = Zd(c, e.R(b));\n var f = ((0 < c.g.length ? c.g[0] : c.h) >>> 0).toString(a);\n c = e;\n if (Y(c)) return f + d;\n for (; 6 > f.length;) f = \"0\" + f;\n d = f + d;\n }\n};\nk.D = function (a) {\n return 0 > a ? 0 : a < this.g.length ? this.g[a] : this.h;\n};\nfunction Y(a) {\n if (0 != a.h) return !1;\n for (var b = 0; b < a.g.length; b++) if (0 != a.g[b]) return !1;\n return !0;\n}\nfunction X(a) {\n return -1 == a.h;\n}\nk.X = function (a) {\n a = Zd(this, a);\n return X(a) ? -1 : Y(a) ? 0 : 1;\n};\nfunction W(a) {\n for (var b = a.g.length, c = [], d = 0; d < b; d++) c[d] = ~a.g[d];\n return new T(c, ~a.h).add(Wd);\n}\nk.abs = function () {\n return X(this) ? W(this) : this;\n};\nk.add = function (a) {\n for (var b = Math.max(this.g.length, a.g.length), c = [], d = 0, e = 0; e <= b; e++) {\n var f = d + (this.D(e) & 65535) + (a.D(e) & 65535),\n h = (f >>> 16) + (this.D(e) >>> 16) + (a.D(e) >>> 16);\n d = h >>> 16;\n f &= 65535;\n h &= 65535;\n c[e] = h << 16 | f;\n }\n return new T(c, c[c.length - 1] & -2147483648 ? -1 : 0);\n};\nfunction Zd(a, b) {\n return a.add(W(b));\n}\nk.R = function (a) {\n if (Y(this) || Y(a)) return V;\n if (X(this)) return X(a) ? W(this).R(W(a)) : W(W(this).R(a));\n if (X(a)) return W(this.R(W(a)));\n if (0 > this.X(Xd) && 0 > a.X(Xd)) return U(this.ea() * a.ea());\n for (var b = this.g.length + a.g.length, c = [], d = 0; d < 2 * b; d++) c[d] = 0;\n for (d = 0; d < this.g.length; d++) for (var e = 0; e < a.g.length; e++) {\n var f = this.D(d) >>> 16,\n h = this.D(d) & 65535,\n n = a.D(e) >>> 16,\n t = a.D(e) & 65535;\n c[2 * d + 2 * e] += h * t;\n $d(c, 2 * d + 2 * e);\n c[2 * d + 2 * e + 1] += f * t;\n $d(c, 2 * d + 2 * e + 1);\n c[2 * d + 2 * e + 1] += h * n;\n $d(c, 2 * d + 2 * e + 1);\n c[2 * d + 2 * e + 2] += f * n;\n $d(c, 2 * d + 2 * e + 2);\n }\n for (d = 0; d < b; d++) c[d] = c[2 * d + 1] << 16 | c[2 * d];\n for (d = b; d < 2 * b; d++) c[d] = 0;\n return new T(c, 0);\n};\nfunction $d(a, b) {\n for (; (a[b] & 65535) != a[b];) a[b + 1] += a[b] >>> 16, a[b] &= 65535, b++;\n}\nfunction ae(a, b) {\n this.g = a;\n this.h = b;\n}\nfunction Yd(a, b) {\n if (Y(b)) throw Error(\"division by zero\");\n if (Y(a)) return new ae(V, V);\n if (X(a)) return b = Yd(W(a), b), new ae(W(b.g), W(b.h));\n if (X(b)) return b = Yd(a, W(b)), new ae(W(b.g), b.h);\n if (30 < a.g.length) {\n if (X(a) || X(b)) throw Error(\"slowDivide_ only works with positive integers.\");\n for (var c = Wd, d = b; 0 >= d.X(a);) c = be(c), d = be(d);\n var e = Z(c, 1),\n f = Z(d, 1);\n d = Z(d, 2);\n for (c = Z(c, 2); !Y(d);) {\n var h = f.add(d);\n 0 >= h.X(a) && (e = e.add(c), f = h);\n d = Z(d, 1);\n c = Z(c, 1);\n }\n b = Zd(a, e.R(b));\n return new ae(e, b);\n }\n for (e = V; 0 <= a.X(b);) {\n c = Math.max(1, Math.floor(a.ea() / b.ea()));\n d = Math.ceil(Math.log(c) / Math.LN2);\n d = 48 >= d ? 1 : Math.pow(2, d - 48);\n f = U(c);\n for (h = f.R(b); X(h) || 0 < h.X(a);) c -= d, f = U(c), h = f.R(b);\n Y(f) && (f = Wd);\n e = e.add(f);\n a = Zd(a, h);\n }\n return new ae(e, a);\n}\nk.gb = function (a) {\n return Yd(this, a).h;\n};\nk.and = function (a) {\n for (var b = Math.max(this.g.length, a.g.length), c = [], d = 0; d < b; d++) c[d] = this.D(d) & a.D(d);\n return new T(c, this.h & a.h);\n};\nk.or = function (a) {\n for (var b = Math.max(this.g.length, a.g.length), c = [], d = 0; d < b; d++) c[d] = this.D(d) | a.D(d);\n return new T(c, this.h | a.h);\n};\nk.xor = function (a) {\n for (var b = Math.max(this.g.length, a.g.length), c = [], d = 0; d < b; d++) c[d] = this.D(d) ^ a.D(d);\n return new T(c, this.h ^ a.h);\n};\nfunction be(a) {\n for (var b = a.g.length + 1, c = [], d = 0; d < b; d++) c[d] = a.D(d) << 1 | a.D(d - 1) >>> 31;\n return new T(c, a.h);\n}\nfunction Z(a, b) {\n var c = b >> 5;\n b %= 32;\n for (var d = a.g.length - c, e = [], f = 0; f < d; f++) e[f] = 0 < b ? a.D(f + c) >>> b | a.D(f + c + 1) << 32 - b : a.D(f + c);\n return new T(e, a.h);\n}\nOd.prototype.createWebChannel = Od.prototype.g;\nQ.prototype.send = Q.prototype.u;\nQ.prototype.open = Q.prototype.m;\nQ.prototype.close = Q.prototype.close;\nSb.NO_ERROR = 0;\nSb.TIMEOUT = 8;\nSb.HTTP_ERROR = 6;\nTb.COMPLETE = \"complete\";\nWb.EventType = Xb;\nXb.OPEN = \"a\";\nXb.CLOSE = \"b\";\nXb.ERROR = \"c\";\nXb.MESSAGE = \"d\";\nB.prototype.listen = B.prototype.O;\nP.prototype.listenOnce = P.prototype.P;\nP.prototype.getLastError = P.prototype.Sa;\nP.prototype.getLastErrorCode = P.prototype.Ia;\nP.prototype.getStatus = P.prototype.da;\nP.prototype.getResponseJson = P.prototype.Wa;\nP.prototype.getResponseText = P.prototype.ja;\nP.prototype.send = P.prototype.ha;\nP.prototype.setWithCredentials = P.prototype.Oa;\nS.prototype.digest = S.prototype.l;\nS.prototype.reset = S.prototype.reset;\nS.prototype.update = S.prototype.j;\nT.prototype.add = T.prototype.add;\nT.prototype.multiply = T.prototype.R;\nT.prototype.modulo = T.prototype.gb;\nT.prototype.compare = T.prototype.X;\nT.prototype.toNumber = T.prototype.ea;\nT.prototype.toString = T.prototype.toString;\nT.prototype.getBits = T.prototype.D;\nT.fromNumber = U;\nT.fromString = Vd;\nvar createWebChannelTransport = esm.createWebChannelTransport = function () {\n return new Od();\n};\nvar getStatEventTarget = esm.getStatEventTarget = function () {\n return Mb();\n};\nvar ErrorCode = esm.ErrorCode = Sb;\nvar EventType = esm.EventType = Tb;\nvar Event = esm.Event = E;\nvar Stat = esm.Stat = {\n xb: 0,\n Ab: 1,\n Bb: 2,\n Ub: 3,\n Zb: 4,\n Wb: 5,\n Xb: 6,\n Vb: 7,\n Tb: 8,\n Yb: 9,\n PROXY: 10,\n NOPROXY: 11,\n Rb: 12,\n Nb: 13,\n Ob: 14,\n Mb: 15,\n Pb: 16,\n Qb: 17,\n tb: 18,\n sb: 19,\n ub: 20\n};\nvar FetchXmlHttpFactory = esm.FetchXmlHttpFactory = ld;\nvar WebChannel = esm.WebChannel = Wb;\nvar XhrIo = esm.XhrIo = P;\nvar Md5 = esm.Md5 = S;\nvar Integer = esm.Integer = T;\nexport { ErrorCode, Event, EventType, FetchXmlHttpFactory, Integer, Md5, Stat, WebChannel, XhrIo, createWebChannelTransport, esm as default, getStatEventTarget };","\"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}","/*\n Why commonjs and not ES imports/exports?\n\n This module is used to alias `create-react-context` package, but drop the the actual implementation part\n because Gatsby requires version of react that has implementatoin baked in.\n \n Package source is using ES modules:\n - https://github.com/jamiebuilds/create-react-context/blob/v0.3.0/src/index.js\n \n But to build this package `babel-plugin-add-module-exports` is used ( https://www.npmjs.com/package/babel-plugin-add-module-exports).\n Which result in both `module.exports` and `exports.default` being set to same thing.\n\n We don't use that babel plugin so we only have `exports.default`.\n\n This cause problems in various 3rd party react components that rely on `module.exports` being set.\n See https://github.com/gatsbyjs/gatsby/issues/23645 for example of it.\n \n Instead of adding same babel plugin we mimic output here. Adding babel plugin just for this would:\n a) unnecesairly slow down compilation for all other files (if we just apply it everywhere)\n b) or complicate babel-loader configuration with overwrite specifically for this file\n*/\n\nconst { createContext } = require(`react`)\n\nmodule.exports = createContext\nmodule.exports.default = createContext\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;","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport loader from \"./loader\"\nimport InternalPageRenderer from \"./page-renderer\"\n\nconst ProdPageRenderer = ({ location }) => {\n const pageResources = loader.loadPageSync(location.pathname)\n if (!pageResources) {\n return null\n }\n return React.createElement(InternalPageRenderer, {\n location,\n pageResources,\n ...pageResources.json,\n })\n}\n\nProdPageRenderer.propTypes = {\n location: PropTypes.shape({\n pathname: PropTypes.string.isRequired,\n }).isRequired,\n}\n\nexport default ProdPageRenderer\n","const plugins = require(`./api-runner-browser-plugins`)\nconst {\n getResourcesForPathname,\n getResourcesForPathnameSync,\n getResourceURLsForPathname,\n loadPage,\n 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 // Deprecated April 2019. Use `loadPageSync` instead\n args.getResourcesForPathnameSync = getResourcesForPathnameSync\n // Deprecated April 2019. Use `loadPage` instead\n args.getResourcesForPathname = getResourcesForPathname\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","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n"],"sourceRoot":""}