{"version":3,"sources":["webpack:///./node_modules/fp-ts/lib/Either.js","webpack:///./node_modules/gatsby-link/index.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///./node_modules/gatsby-react-router-scroll/session-storage.js","webpack:///./node_modules/core-js/internals/native-promise-constructor.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/fp-ts/lib/Record.js","webpack:///./node_modules/core-js/internals/array-reduce.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/interopRequireWildcard.js","webpack:///./node_modules/lodash.omit/index.js","webpack:///./node_modules/core-js/internals/global.js","webpack:///./.cache/normalize-page-path.js","webpack:///./.cache/find-path.js","webpack:///./node_modules/gatsby-plugin-google-gtag/gatsby-browser.js","webpack:///./node_modules/gatsby-react-router-scroll/use-scroll-restoration.js","webpack:///./node_modules/fp-ts/lib/Array.js","webpack:///./node_modules/es-cookie/src/es-cookie.js","webpack:///./node_modules/mitt/dist/mitt.es.js","webpack:///./.cache/emitter.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/gatsby-react-router-scroll/index.js","webpack:///./node_modules/core-js/internals/new-promise-capability.js","webpack:///./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./.cache/react-lifecycles-compat.js","webpack:///./node_modules/core-js/modules/es.array.reduce-right.js","webpack:///./node_modules/@reach/router/es/lib/history.js","webpack:///./node_modules/gatsby-plugin-manifest/get-manifest-pathname.js","webpack:///./node_modules/crypt/crypt.js","webpack:///./node_modules/is-buffer/index.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/modules/es.array.reduce.js","webpack:///./node_modules/gatsby-source-prismic/gatsby-browser.js","webpack:///./node_modules/gatsby-react-router-scroll/scroll-handler.js","webpack:///./node_modules/fp-ts/lib/TaskEither.js","webpack:///./gatsby-browser.js","webpack:///./node_modules/core-js/internals/a-function.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./.cache/page-renderer.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.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/nonIterableSpread.js","webpack:///./node_modules/fp-ts/lib/Ordering.js","webpack:///./node_modules/core-js/internals/engine-v8-version.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:///./node_modules/core-js/internals/engine-user-agent.js","webpack:///./.cache/register-service-worker.js","webpack:///./.cache/_this_is_virtual_fs_path_/$virtual/async-requires.js","webpack:///./node_modules/prismic-dom/dist/prismic-dom.min.js","webpack:///./node_modules/fp-ts/lib/function.js","webpack:///./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack:///./node_modules/invariant/browser.js","webpack:///./node_modules/fp-ts/lib/Eq.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/species-constructor.js","webpack:///./node_modules/core-js/internals/native-symbol.js","webpack:///./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/has.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/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/fp-ts/lib/Ord.js","webpack:///./.cache/gatsby-browser-entry.js","webpack:///./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///./node_modules/camel-case/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/pascal-case/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/lower-case/dist.es2015/index.js","webpack:///./node_modules/no-case/dist.es2015/index.js","webpack:///./node_modules/pascal-case/dist.es2015/index.js","webpack:///./node_modules/camel-case/dist.es2015/index.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack:///./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack:///./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack:///./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack:///./node_modules/@babel/runtime/helpers/esm/construct.js","webpack:///./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack:///./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack:///./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack:///./node_modules/superstruct/lib/index.es.js","webpack:///./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toArray.js","webpack:///../src/utils.ts","webpack:///../src/builders.ts","webpack:///./node_modules/gatsby-source-prismic/node_modules/uuid/dist/esm-browser/regex.js","webpack:///./node_modules/gatsby-source-prismic/node_modules/uuid/dist/esm-browser/stringify.js","webpack:///./node_modules/gatsby-source-prismic/node_modules/uuid/dist/esm-browser/validate.js","webpack:///./node_modules/gatsby-source-prismic/node_modules/uuid/dist/esm-browser/parse.js","webpack:///./node_modules/gatsby-source-prismic/node_modules/uuid/dist/esm-browser/sha1.js","webpack:///../src/types.ts","webpack:///./node_modules/gatsby-source-prismic/node_modules/uuid/dist/esm-browser/v5.js","webpack:///./node_modules/gatsby-source-prismic/node_modules/uuid/dist/esm-browser/v35.js","webpack:///../src/validateOptions.ts","webpack:///../src/constants.ts","webpack:///../src/api.ts","webpack:///../src/usePrismicPreview.ts","webpack:///../src/documentsToNodes.ts","webpack:///../src/environment.browser.ts","webpack:///../src/usePreviewStore.tsx","webpack:///../src/mergePrismicPreviewData.ts","webpack:///../src/withPreview.tsx","webpack:///../src/withPreviewResolver.tsx","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/core-js/internals/engine-is-node.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/esm/arrayLikeToArray.js","webpack:///./node_modules/md5/md5.js","webpack:///./node_modules/fp-ts/lib/Task.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/redefine.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/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./.cache/prefetch.js","webpack:///./.cache/loader.js","webpack:///./node_modules/core-js/internals/to-object.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/fp-ts/lib/pipeable.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/gatsby-react-router-scroll/scroll-container.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/fp-ts/lib/Filterable.js","webpack:///./node_modules/lodash.pick/index.js","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///../src/gatsby-browser.ts","webpack:///./node_modules/fp-ts/lib/Compactable.js","webpack:///./node_modules/fp-ts/lib/Option.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./.cache/public-page-renderer.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/charenc/charenc.js","webpack:///./node_modules/gatsby-plugin-manifest/gatsby-browser.js","webpack:///./.cache/create-react-context.js","webpack:///./node_modules/@babel/runtime/regenerator/index.js","webpack:///./node_modules/node-fetch/browser.js","webpack:///./node_modules/fp-ts/lib/ReadonlyArray.js","webpack:///./node_modules/fp-ts/lib/ReadonlyRecord.js","webpack:///./node_modules/core-js/modules/es.promise.finally.js","webpack:///./node_modules/@babel/runtime/helpers/extends.js","webpack:///./node_modules/core-js/internals/array-method-is-strict.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./node_modules/core-js/internals/array-method-uses-to-length.js","webpack:///./.cache/public-page-renderer-prod.js","webpack:///./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack:///./node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/fp-ts/lib/Functor.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/fp-ts/lib/Semigroup.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/fp-ts/lib/ChainRec.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/shared-store.js","webpack:///./.cache/api-runner-browser.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/prismic-javascript/dist/prismic-javascript.min.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/lodash.isplainobject/index.js","webpack:///./node_modules/core-js/internals/promise-resolve.js","webpack:///./node_modules/prismic-javascript/node_modules/cross-fetch/dist/browser-polyfill.js","webpack:///./node_modules/core-js/internals/set-global.js"],"names":["Object","defineProperty","exports","value","getWitherable","getFilterable","getApplyMonoid","getApplySemigroup","getSemigroup","getEq","getShow","URI","throwError","sequence","traverse","reduceRight","foldMap","reduce","duplicate","extend","alt","altW","flatten","chainFirst","chainFirstW","chain","chainW","of","apSecond","apFirst","ap","apW","mapLeft","bimap","map","filterOrElse","filterOrElseW","orElse","swap","chainNullableK","fromNullableK","getOrElse","getOrElseW","fold","fromPredicate","fromOption","stringifyJSON","parseJSON","tryCatch","fromNullable","right","left","isRight","isLeft","sequenceArray","traverseArray","traverseArrayWithIndex","apS","apSW","bind","bindW","bindTo","Do","exists","elem","toError","either","getValidationMonoid","MonadThrow","ChainRec","Extend","Alt","Bifunctor","Traversable","Foldable","Monad","Applicative","Functor","getValidationSemigroup","getValidation","getAltValidation","getApplicativeValidation","ChainRec_1","function_1","ma","_tag","e","a","f","onError","s","JSON","parse","u","stringify","onNone","predicate","onFalse","onLeft","onRight","from","_i","arguments","length","apply","map_","fa","pipe","ap_","fab","chain_","reduce_","b","foldMap_","M","foldMapM","reduceRight_","traverse_","F","traverseF","ta","bimap_","g","mapLeft_","alt_","that","extend_","wa","chainRec_","tailRec","fb","flow","identity","empty","S","concat","x","y","_E","undefined","compact","separate","filter","filterMap","ob","partition","p","partitionMap","SE","me","ea","SA","show","EL","EA","equals","F_","wither","wilt","applicativeValidation","altValidation","chainRec","Error","String","E","name","bindTo_","bind_","arr","result","i","push","_","_interopRequireDefault","__esModule","withPrefix","withAssetPrefix","path","getGlobalPathPrefix","navigateTo","replace","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","Boolean","join","style","IOSupported","window","IntersectionObserver","state","handleRef","_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","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","IndexedObject","requireObjectCoercible","module","it","NATIVE_SYMBOL","Symbol","sham","iterator","SessionStorage","read","key","stateKey","getStateKey","sessionStorage","getItem","save","storedValue","setItem","stateKeyBase","global","Promise","exec","error","aFunction","variable","namespace","method","nativePropertyIsEnumerable","propertyIsEnumerable","getOwnPropertyDescriptor","NASHORN_BUG","1","V","descriptor","enumerable","__createBinding","create","o","m","k","k2","get","__setModuleDefault","v","__importStar","mod","FunctorWithIndex","some","every","fromFoldableMap","fromFoldable","filterWithIndex","filterMapWithIndex","partitionWithIndex","partitionMapWithIndex","traverseWithIndex","singleton","reduceRightWithIndex","foldMapWithIndex","reduceWithIndex","mapWithIndex","lookup","getMonoid","isSubrecord","pop","modifyAt","updateAt","deleteAt","insertAt","toUnfoldable","toArray","collect","keys","isEmpty","size","record","Witherable","TraversableWithIndex","FilterableWithIndex","Filterable","Compactable","FoldableWithIndex","RR","toReadonlyArray","U","predicateWithIndex","mapWithIndex_","reduceWithIndex_","foldMapWithIndex_","reduceRightWithIndex_","filter_","filterMap_","partition_","partitionMap_","filterWithIndex_","filterMapWithIndex_","partitionWithIndex_","partitionMapWithIndex_","traverseWithIndex_","wither_","wilt_","toObject","toLength","createMethod","IS_RIGHT","callbackfn","argumentsLength","memo","O","self","index","TypeError","_iterableToArray","iter","Array","_typeof","_getRequireWildcardCache","WeakMap","cache","obj","has","newObj","hasPropertyDescriptor","desc","set","reIsHostCtor","reIsUint","freeGlobal","freeSelf","root","Function","thisArg","args","arrayIncludes","array","fromIndex","fromRight","baseFindIndex","baseIsNaN","baseIndexOf","arrayIncludesWith","comparator","arrayMap","iteratee","arrayPush","values","offset","cacheHas","overArg","transform","arg","uid","arrayProto","funcProto","objectProto","coreJsData","maskSrcKey","IE_PROTO","funcToString","toString","objectToString","reIsNative","RegExp","getPrototype","getPrototypeOf","splice","spreadableSymbol","isConcatSpreadable","nativeGetSymbols","getOwnPropertySymbols","nativeMax","Math","max","Map","getNative","nativeCreate","Hash","clear","ListCache","MapCache","SetCache","__data__","add","arrayLikeKeys","inherited","isArray","isArguments","n","baseTimes","skipIndexes","isIndex","assocIndexOf","other","baseIsNative","isObject","isFunction","isHostObject","test","toSource","baseKeysIn","nativeKeysIn","Ctor","proto","isProto","constructor","getAllKeysIn","keysFunc","symbolsFunc","baseGetAllKeys","keysIn","getSymbolsIn","getMapData","type","data","getValue","getSymbols","stubArray","isFlattenable","toKey","isObjectLike","isSymbol","isArrayLike","isArrayLikeObject","isLength","tag","start","omit","baseFlatten","depth","isStrict","basePickBy","basePick","includes","isCommon","valuesLength","outer","computed","valuesIndex","baseDifference","otherArgs","check","globalThis","charAt","pathCache","matchPaths","trimPathname","rawPathname","decodeURIComponent","stripPrefix","__BASE_PATH__","split","URL","setMatchPaths","findMatchPath","trimmedPathname","cleanPath","pickPaths","matchPath","originalPath","pick","normalizePagePath","route","grabMatchParams","params","findPath","foundPath","onRouteUpdate","gtag","excludeGtagPaths","rx","sendPageView","pagePath","search","hash","page_path","requestAnimationFrame","setTimeout","useScrollRestoration","identifier","useLocation","useContext","_scrollHandler","ScrollContext","useRef","useLayoutEffect","position","scrollTo","onScroll","scrollTop","rotate","intersperse","prependToAll","unzip","zip","zipWith","sort","lefts","rights","reverse","copy","findLastIndex","findLastMap","findLast","findFirstMap","findFirst","findIndex","dropLeftWhile","dropRight","dropLeft","spanLeft","takeLeftWhile","takeRight","takeLeft","init","tail","last","head","snoc","cons","isOutOfBound","isNonEmpty","scanRight","scanLeft","foldRight","foldLeft","replicate","range","makeBy","getOrd","zero","unfold","chainWithIndex","difference","intersection","union","comprehension","chunksOf","splitAt","chop","sortBy","uniq","unsafeDeleteAt","unsafeUpdateAt","unsafeInsertAt","Alternative","Unfoldable","RA","input","__assign","assign","t","stringifyAttribute","stringified","encode","attributes","encodeURIComponent","expires","Date","setMilliseconds","getMilliseconds","toUTCString","domain","secure","sameSite","stringifyAttributes","cookieString","cookies","rdecode","parts","cookie","getAll","document","remove","emitter","all","on","handler","off","indexOf","emit","evt","mitt","ownKeys","getOwnPropertyDescriptorModule","definePropertyModule","source","ScrollContainer","ScrollHandler","_scrollContainer","_useScrollRestoration","PromiseCapability","C","reject","promise","$$resolve","$$reject","excluded","sourceKeys","shared","polyfill","$","$reduceRight","arrayMethodIsStrict","arrayMethodUsesToLength","CHROME_VERSION","IS_NODE","STRICT_METHOD","USES_TO_LENGTH","forced","_extends","getLocation","_source$location","origin","protocol","host","hostname","port","canUseDOM","decodeURI","history","createHistory","listeners","transitioning","resolveTransition","_onTransitionComplete","listen","listener","popstateListener","action","addEventListener","removeEventListener","fn","_ref$replace","go","now","replaceState","pushState","transition","res","createMemorySource","initialPath","searchIndex","initialLocation","substr","stack","states","uri","_uri$split","_uri$split$","_uri$split2","_uri$split2$","newIndex","globalHistory","localizedManifests","localizedManifest","find","app","start_url","lang","base64map","crypt","rotl","rotr","endian","Number","randomBytes","bytes","floor","random","bytesToWords","words","wordsToBytes","bytesToHex","hex","hexToBytes","c","parseInt","bytesToBase64","base64","triplet","j","base64ToBytes","imod4","pow","isBuffer","readFloatLE","isSlowBuffer","_isBuffer","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPrimitive","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","P","_unsupportedIterableToArray","minLen","fails","$reduce","require","_interopRequireWildcard","React","_sessionStorage","createContext","displayName","_len","_key","_stateStorage","scrollListener","scrollY","windowScroll","shouldUpdateScroll","scrollToHash","node","getElementById","substring","scrollIntoView","prevRouterProps","routerProps","scrollPosition","_this$props$location","_this$props$location2","Provider","children","element","__awaiter","_arguments","generator","fulfilled","step","next","rejected","done","then","__generator","body","label","sent","trys","ops","verb","op","getTaskValidation","getAltTaskValidation","getApplicativeTaskValidation","fromTask","fromIO","chainIOEitherK","chainIOEitherKW","chainEitherK","chainEitherKW","fromIOEitherK","fromEitherK","tryCatchK","fromEither","fromIOEither","leftIO","rightIO","leftTask","rightTask","sequenceSeqArray","traverseSeqArray","traverseSeqArrayWithIndex","bracket","taskify","taskEitherSeq","taskEither","ApplicativeSeq","ApplicativePar","Filterable_1","T","onRejected","reason","apPar_","apSeq_","gab","ga","A","AV","fga","fgab","h","e1","e2","applicativeTaskValidation","altTaskValidation","W","getFilterableComposition","r","acquire","use","release","_a","wrapRootElement","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","noTargetGet","toInteger","min","integer","PageRenderer","pageResources","json","pageContext","__params","pathContext","pageElement","apiRunner","loader","publicLoader","component","page","internalObjectKeys","hiddenKeys","getOwnPropertyNames","_toConsumableArray","arrayLikeToArray","iterableToArray","unsupportedIterableToArray","invert","monoidOrdering","semigroupOrdering","eqOrdering","sign","match","userAgent","process","versions","v8","routes","default_","uriPathname","uriSegments","segmentize","isRootUri","ranked","rankRoutes","l","missed","routeSegments","routeSegment","uriSegment","isSplat","dynamicMatch","paramRe","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","rankRoute","score","isRootSegment","SEGMENT_POINTS","q","shallowCompare","obj1","obj2","obj1Keys","plugin","ie10","navigator","appVersion","fns","doc","hack","documentElement","doScroll","loaded","readyState","shift","definition","getBuiltIn","serviceWorker","register","reg","installingWorker","installing","log","controller","___swUpdated","___failedResources","reload","catch","components","d","toStringTag","url","link_type","_linkType","linkType","RichText","Elements","heading1","heading2","heading3","heading4","heading5","heading6","paragraph","preformatted","text","strong","em","listItem","oListItem","list","oList","image","linkTo","copyright","embed","oembed","embed_url","provider_name","html","hyperlink","span","asText","asHtml","serialize","configurable","writable","PRIORITIES","NODE_TYPES","isParentOf","elected","others","lower","upper","end","TextNode","inner","SpanNode","setChildren","boundaries","RichTextBlock","isEmbedBlock","isImageBlock","BlockNode","spans","isListItem","ListBlockNode","ListItemBlockNode","addChild","isOrderedListItem","OrderedListBlockNode","OrderedListItemBlockNode","emptyList","emptyOrderedList","Node","setPrototypeOf","__proto__","Reflect","construct","Proxy","ReferenceError","getTime","asTree","fromRichText","return","charCodeAt","constant","absurd","hole","untupled","tupled","decrement","increment","tuple","flip","constVoid","constUndefined","constNull","constFalse","constTrue","not","unsafeCoerce","ab","bc","cd","de","ef","fg","gh","hi","ij","jk","kl","lm","mn","no","pq","qr","rs","st","condition","format","argIndex","framesToPop","eq","Contravariant","eqDate","getTupleEq","getStructEq","eqBoolean","eqNumber","eqString","strictEqual","eqStrict","contramap","fromEquals","_equals","eqs","valueOf","classof","anObject","SPECIES","wellKnownSymbol","defaultConstructor","_setPrototypeOf","toAbsoluteIndex","IS_INCLUDES","$this","argument","RouteAnnouncerProps","id","top","width","height","padding","overflow","clip","whiteSpace","border","redirectMap","redirects","redirect","fromPath","maybeRedirect","toPath","onPreRouteUpdate","prevLocation","timeoutId","loadPage","status","PageResourceStatus","clearTimeout","webpackCompilationHash","___webpackCompilationHash","postMessage","gatsbyApi","reachNavigate","results","getSavedScrollPosition","RouteAnnouncer","announcementRef","createRef","nextProps","pageName","title","pageHeadings","querySelectorAll","textContent","newAnnouncement","innerText","compareLocationProps","nextLocation","RouteUpdates","shouldComponentUpdate","Fragment","shallowDiffers","EnsureResources","loadPageSync","getDerivedStateFromProps","loadResources","rawPath","setState","nextState","ProdLoader","asyncRequires","setLoader","setApiRunner","___emitter","apiRunnerAsync","RouteHandler","baseuri","basepath","DataContext","GatsbyRoot","staticQueryResults","getStaticQueryResults","LocationHandler","Consumer","browserLoc","SiteRoot","App","renderer","ReactDOM","hydrate","domReady","subClass","superClass","IS_PURE","store","mode","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","ord","ordDate","getDualOrd","getTupleOrd","fromCompare","between","clamp","geq","leq","gt","lt","ordBoolean","ordNumber","ordString","Ordering_1","compare","optimizedCompare","minO","maxO","low","lessThanO","greaterThanO","ords","len","date","prefetchPathname","StaticQueryContext","StaticQueryDataRenderer","staticQueryData","finalData","StaticQuery","useStaticQuery","context","isNaN","graphql","asyncGeneratorStep","gen","_next","_throw","info","_asyncToGenerator","err","_assign","lowerCase","str","toLowerCase","DEFAULT_SPLIT_REGEXP","DEFAULT_STRIP_REGEXP","re","pascalCaseTransform","firstChar","lowerChars","toUpperCase","pascalCaseTransformMerge","pascalCase","splitRegexp","_b","stripRegexp","_c","_d","delimiter","noCase","camelCaseTransform","_arrayWithHoles","_nonIterableRest","_slicedToArray","_arr","_n","_e","_s","_assertThisInitialized","_possibleConstructorReturn","_getPrototypeOf","_isNativeReflectConstruct","Parent","Class","_cache","Wrapper","_classCallCheck","Constructor","_createForOfIteratorHelper","allowArrayLike","_arrayLikeToArray","normalCompletion","didErr","_e2","arr2","_createSuper","Derived","hasNativeReflectConstruct","Super","NewTarget","_marked","mark","toFailures","_marked2","_check","_defineProperty","enumerableOnly","symbols","sym","_objectSpread2","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","_objectWithoutPropertiesLoose","sourceSymbolKeys","wrap","_context","prev","fail","delegateYield","stop","iteratorShift","_input$next","Struct","schema","_props$coercer","coercer","_props$validator","validator","_props$refiner","refiner","_TypeError","_inherits","StructError","_super","failure","moreFailures","failuresResult","branch","message","failures","assert","struct","validate","coerce","ret","coercing","ctx","_args2","_context2","parent","coercion","_coercer","defaulted","fallback","strict","isPlainObject","changed","refinement","_refiner","_context3","Element","_iterator","_step","_step$value","_context4","abrupt","t1","finish","never","number","Structs","knowns","Never","createObjectCoercer","unknowns","_iterator4","_step4","Value","_iterator5","_step5","_v","_context7","Set","delete","t3","optional","Key","_callee3","_context9","t0","_callee6","_iterator11","_step11","_ctx$check3","_ctx$check4","_context12","toLiteralString","_step12","_iterator12","_step13","_iterator13","_key3","semigroupImgixUrlParams","TE","_fetch","buffer","getObjectSemigroup","separator","FIXED_RESOLUTIONS","FLUID_BREAKPOINT_FACTORS","DEFAULT_LQIP_PARAMS","w","blur","buildImgixUrl","secureUrlToken","R","param","undefParams","acc","defParams","mergedParams","product","URLSearchParams","searchParams","token","md5","createURLSignature","append","buildImgixLqipUrl","buildImgixFixed","sourceWidth","sourceHeight","aspectRatio","round","imgixParams","placeholderImgixParams","src","srcSet","baseUrl","dpr","buildImgixFixedSrcSet","srcWebp","srcSetWebp","buildImgixFluid","maxWidth","maxHeight","srcSetBreakpoints","breakpoint","buildImgixFluidSrcSet","sizes","uuid","REGEX","byteToHex","Uint8Array","z","ROTL","sha1","LinkFieldType","FieldType","GraphQLType","SliceChoiceDisplay","v5","hashfunc","generateUUID","buf","unescape","stringToBytes","DNS","v35","K","H","msg","N","ceil","Uint32Array","_i2","_t","_t2","baseSchema","repositoryName","accessToken","releaseID","schemas","linkResolver","htmlSerializer","fetchLinks","typePathsFilenamePrefix","prismicToolbar","imageImgixParams","auto","fit","imagePlaceholderImgixParams","plugins","BrowserPluginOptions","shouldDownloadImage","webhookSecret","pathResolver","schemasDigest","mapObjValsP","async","buildSchemaTypeName","apiId","isBrowser","getComponentDisplayName","WrappedComponent","IMAGE_FIELD_KEYS","createClient","nameOrUrl","addr","getApi","ActionType","normalizeField","field","env","createNodeId","createNode","createContentDigest","typePaths","normalizeStructuredTextField","normalizeLinkField","normalizeImageField","normalizeSlicesField","stringifiedPath","def","Group","Slices","Image","StructuredText","AlternateLanguages","baseObj","thumbsObj","thumb","thumbnails","normalizeObjs","sliceNodeId","normalizeObj","primary","slice_type","normalizedPrimary","items","normalizedItems","slice_label","internal","contentDigest","sliceNodeIds","item","Document","fieldApiId","objs","documentToNodes","pluginOptions","linkResolverForDoc","docNodeId","docUrl","normalizedData","alternate_languages","normalizedAlernativeLanguages","prismicId","dataString","dataRaw","_previewable","_apiId","_path","_doc","fixed","dimensions","fluid","getNodeById","linkResolverForField","linkedDocId","isBroken","hasNodeById","queryOptions","client","getByID","PrismicDOMLink","raw","prop","__typename","htmlSerializerForField","PrismicDOMRichText","initialState","isPreview","isLoading","previewData","reducer","IS_NOT_PREVIEW","IS_PREVIEW","DOCUMENT_LOADED","payload","rootNode","RESET","mergePrismicPreviewData","staticData","strategy","previewDataRootNodeKey","traverseAndReplace","replacementNode","newNode","subnodeKey","subnode","DEFAULT_INITIAL_PAGES","createInitialState","pages","enabled","AddPage","EnablePreviews","DisablePreviews","PreviewStoreContext","PreviewStoreProvider","initialPages","initialEnabled","reducerTuple","usePreviewStore","withPreview","WithPreview","mergeStrategy","withPreviewResolver","WithPreviewResolver","dispatch","useReducer","hydratedOptions","useMemo","browserOptions","coerced","documentId","useEffect","asyncEffect","useCallback","setCookie","previewCookie","fetch","headers","Content-Type","typePathsRes","nodeStore","uuidv5","resolvedPathResolver","usePrismicPreview","bitmap","createNamedContext","defaultValue","Ctx","LocationContext","LocationProvider","_temp","getContext","refs","unlisten","_props$history","componentDidCatch","isRedirect","_navigate","unmounted","defaultProps","ServerLocation","BaseContext","Router","baseContext","locationContext","RouterImpl","_React$PureComponent","_props","_navigate2","_props$component","domProps","Children","child","createRoute","clone","cloneElement","FocusWrapper","FocusHandler","wrapperProps","PureComponent","FocusContext","requestFocus","FocusHandlerImpl","initialRender","focusHandlerCount","_React$Component2","_temp2","_this4","_len2","_key2","shouldFocus","focus","myURIChanged","navigatedUpToMe","contains","activeElement","_this5","_props2","_props2$component","Comp","outline","tabIndex","_ref4","_ref5","_ref6","_props$getProps","anchorProps","encodedHref","event","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","utf8","bin","encoding","FF","_ff","GG","_gg","HH","_hh","II","_ii","aa","bb","cc","dd","_blocksize","_digestsize","digestbytes","asBytes","asString","bytesToString","taskSeq","task","getRaceMonoid","chainIOK","fromIOK","delay","millis","ry","race","NATIVE_WEAK_MAP","objectHas","sharedKey","wmget","wmhas","wmset","metadata","facade","STATE","enforce","getterFor","TYPE","inspectSource","InternalStateModule","getInternalState","enforceInternalState","TEMPLATE","unsafe","simple","hashIndex","_inheritsLoose","supportedPrefetchStrategy","feature","fakeLink","relList","supports","support","link","setAttribute","onload","onerror","getElementsByTagName","getElementsByName","parentNode","appendChild","req","XMLHttpRequest","open","send","preFetched","prefetch","Success","preferDefault","createPageDataUrl","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","connection","effectiveType","saveData","doesConnectionSupportPrefetch","realPath","doPrefetch","pageDataUrl","prefetchHelper","crossOrigin","as","getResourceURLsForPathname","createComponentUrls","isPageNotFound","appData","___chunkMapping","chunk","__PATH_PREFIX__","chunkName","componentUrls","_loader","getResourcesForPathname","getResourcesForPathnameSync","pipeable","I","isFunctor","isContravariant","isFunctorWithIndex","isApply","isChain","mma","isBifunctor","isExtend","isFoldable","isFoldableWithIndex","isAlt","isCompactable","isFilterable","isFilterableWithIndex","promap","isProfunctor","compose","isSemigroupoid","isMonadThrow","_reactDom","scrollKey","ScrollContainerImplementation","findDOMNode","Compactable_1","Option_1","G","CC","getCompactableComposition","FC","getLeft","getRight","functionToString","_gatsbyContext","prismic","endpoint","Functor_1","getFunctorComposition","fge","mapNullable","toUndefined","toNullable","none","isNone","isSome","getRefinement","option","getLastMonoid","getFirstMonoid","onSome","witherF","wiltF","defaultSeparate","getOption","postfix","replacement","detection","normalize","POLYFILL","NATIVE","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","define","innerFn","outerFn","tryLocsList","protoGenerator","Generator","Context","_invoke","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","_sent","dispatchException","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","invoke","__await","unwrapped","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isGeneratorFunction","genFun","ctor","awrap","skipTempReset","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","thrown","regeneratorRuntime","accidentalStrictMode","nativeDefineProperty","Attributes","charenc","escape","fromCharCode","getGlobal","Headers","Request","Response","fromArray","readonlyArray","Ord_1","ras","lenx","leny","xs","ys","aLen","bLen","ordering","rLen","onEmpty","onCons","spanIndexUncurry","fc","bs","elemE_1","xs_1","abs","elemS","cs","scope","elemE","unionE_1","intersectionE_1","differenceE_1","traverseWithIndexF","outLen","temp","out","l_1","fa_1","optionB","foldMapWithIndexM","fas","fbs","mt","b_1","toRecord","fromRecord","readonlyRecord","Eq_1","elements","_hasOwnProperty","isSubrecordE_1","keys_1","ks","fr","_loop_1","ks_1","deleteAtk","oa","isSubrecordE","keys_2","keys_3","keys_4","fromFoldableMapM","fka","keys_5","optionA","keys_6","NativePromise","speciesConstructor","promiseResolve","real","onFinally","METHOD_NAME","thrower","ACCESSORS","argument0","argument1","ProdPageRenderer","InternalPageRenderer","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","PREFERRED_STRING","val","getIntercalateSemigroup","semigroupVoid","semigroupString","semigroupProduct","semigroupSum","semigroupAny","semigroupAll","getJoinSemigroup","getMeetSemigroup","getStructSemigroup","getFunctionSemigroup","getDualSemigroup","getTupleSemigroup","getLastSemigroup","getFirstSemigroup","startWith","foldS_1","semigroups","api","defaultReturn","argTransform","previous","createPreviewResolver","PREVIEW_COOKIE","EXPERIMENT_COOKIE","masterRef","isMasterRef","experiments","Experiments","bookmarks","httpClient","tags","types","languages","form","forms","SearchForm","everything","master","currentExperiment","callback","refFromCookie","submit","queryFirst","pageSize","at","getByIDs","in","getByUID","getSingle","getBookmark","getPreviewResolver","previewSession","request","mainDocument","apiDataTTL","requestHandler","apiCache","proxyAgent","timeoutInMs","cachedRequest","ttl","fields","graphQuery","after","orderings","toSearchForm","LazySearchForm","multiple","Variation","variations","googleId","Experiment","drafts","running","trim","near","before","dayOfMonth","dayOfMonthAfter","dayOfMonthBefore","dayOfWeek","dayOfWeekAfter","dayOfWeekBefore","month","monthBefore","monthAfter","year","hour","hourBefore","hourAfter","inRange","missing","any","fulltext","similar","dateBefore","dateAfter","dateBetween","geopoint","_state","_handled","_value","_deferreds","_immediateFn","onFulfilled","_unhandledRejectionFn","finally","setImmediate","Accept","agent","DefaultRequestHandler","limit","_keymap","MakeLRUCache","put","newer","older","removeAll","lru","isExpired","expiredIn","DefaultApiCache","cacheKey","decode","DefaultClient","experimentCookie","Predicates","Api","run","fun","nextTick","browser","argv","addListener","once","removeListener","removeAllListeners","prependListener","prependOnceListener","binding","cwd","chdir","umask","importScripts","onmessage","attachEvent","MessageChannel","port1","port2","removeChild","clearImmediate","_id","_clearFn","setInterval","clearInterval","close","unref","enroll","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","names","EXISTS","objectCtorString","newPromiseCapability","promiseCapability","Blob","viewClasses","isDataView","DataView","isPrototypeOf","isArrayBufferView","ArrayBuffer","isView","normalizeName","normalizeValue","oldValue","iteratorFor","methods","_bodyInit","Body","statusText","redirectStatuses","RangeError","xhr","rawHeaders","getAllResponseHeaders","line","responseURL","ontimeout","credentials","withCredentials","responseType","setRequestHeader","header","consumed","bodyUsed","fileReaderReady","reader","readBlobAsArrayBuffer","blob","FileReader","readAsArrayBuffer","bufferClone","view","byteLength","_initBody","_bodyText","_bodyBlob","FormData","_bodyFormData","_bodyArrayBuffer","arrayBuffer","readAsText","chars","readArrayBufferAsText","formData","upcased","referrer","bodyInit","ok"],"mappings":"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","file":"app-0394cfdb8438a70c83d0.js","sourcesContent":["\"use strict\";\n\nrequire(\"core-js/modules/es.array.reduce.js\");\n\nrequire(\"core-js/modules/es.array.reduce-right.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getWitherable = exports.getFilterable = exports.getApplyMonoid = exports.getApplySemigroup = exports.getSemigroup = exports.getEq = exports.getShow = exports.URI = exports.throwError = exports.sequence = exports.traverse = exports.reduceRight = exports.foldMap = exports.reduce = exports.duplicate = exports.extend = exports.alt = exports.altW = exports.flatten = exports.chainFirst = exports.chainFirstW = exports.chain = exports.chainW = exports.of = exports.apSecond = exports.apFirst = exports.ap = exports.apW = exports.mapLeft = exports.bimap = exports.map = exports.filterOrElse = exports.filterOrElseW = exports.orElse = exports.swap = exports.chainNullableK = exports.fromNullableK = exports.getOrElse = exports.getOrElseW = exports.fold = exports.fromPredicate = exports.fromOption = exports.stringifyJSON = exports.parseJSON = exports.tryCatch = exports.fromNullable = exports.right = exports.left = exports.isRight = exports.isLeft = void 0;\nexports.sequenceArray = exports.traverseArray = exports.traverseArrayWithIndex = exports.apS = exports.apSW = exports.bind = exports.bindW = exports.bindTo = exports.Do = exports.exists = exports.elem = exports.toError = exports.either = exports.getValidationMonoid = exports.MonadThrow = exports.ChainRec = exports.Extend = exports.Alt = exports.Bifunctor = exports.Traversable = exports.Foldable = exports.Monad = exports.Applicative = exports.Functor = exports.getValidationSemigroup = exports.getValidation = exports.getAltValidation = exports.getApplicativeValidation = void 0;\n\nvar ChainRec_1 = require(\"./ChainRec\");\n\nvar function_1 = require(\"./function\"); // -------------------------------------------------------------------------------------\n// guards\n// -------------------------------------------------------------------------------------\n\n/**\n * Returns `true` if the either is an instance of `Left`, `false` otherwise.\n *\n * @category guards\n * @since 2.0.0\n */\n\n\nvar isLeft = function isLeft(ma) {\n return ma._tag === 'Left';\n};\n\nexports.isLeft = isLeft;\n/**\n * Returns `true` if the either is an instance of `Right`, `false` otherwise.\n *\n * @category guards\n * @since 2.0.0\n */\n\nvar isRight = function isRight(ma) {\n return ma._tag === 'Right';\n};\n\nexports.isRight = isRight; // -------------------------------------------------------------------------------------\n// constructors\n// -------------------------------------------------------------------------------------\n\n/**\n * Constructs a new `Either` holding a `Left` value. This usually represents a failure, due to the right-bias of this\n * structure.\n *\n * @category constructors\n * @since 2.0.0\n */\n\nvar left = function left(e) {\n return {\n _tag: 'Left',\n left: e\n };\n};\n\nexports.left = left;\n/**\n * Constructs a new `Either` holding a `Right` value. This usually represents a successful value due to the right bias\n * of this structure.\n *\n * @category constructors\n * @since 2.0.0\n */\n\nvar right = function right(a) {\n return {\n _tag: 'Right',\n right: a\n };\n};\n\nexports.right = right; // TODO: make lazy in v3\n\n/**\n * Takes a default and a nullable value, if the value is not nully, turn it into a `Right`, if the value is nully use\n * the provided default as a `Left`.\n *\n * @example\n * import { fromNullable, left, right } from 'fp-ts/Either'\n *\n * const parse = fromNullable('nully')\n *\n * assert.deepStrictEqual(parse(1), right(1))\n * assert.deepStrictEqual(parse(null), left('nully'))\n *\n * @category constructors\n * @since 2.0.0\n */\n\nfunction fromNullable(e) {\n return function (a) {\n return a == null ? exports.left(e) : exports.right(a);\n };\n}\n\nexports.fromNullable = fromNullable; // TODO: `onError => Lazy => Either` in v3\n\n/**\n * Constructs a new `Either` from a function that might throw.\n *\n * @example\n * import { Either, left, right, tryCatch } from 'fp-ts/Either'\n *\n * const unsafeHead = (as: Array): A => {\n * if (as.length > 0) {\n * return as[0]\n * } else {\n * throw new Error('empty array')\n * }\n * }\n *\n * const head = (as: Array): Either => {\n * return tryCatch(() => unsafeHead(as), e => (e instanceof Error ? e : new Error('unknown error')))\n * }\n *\n * assert.deepStrictEqual(head([]), left(new Error('empty array')))\n * assert.deepStrictEqual(head([1, 2, 3]), right(1))\n *\n * @category constructors\n * @since 2.0.0\n */\n\nfunction tryCatch(f, onError) {\n try {\n return exports.right(f());\n } catch (e) {\n return exports.left(onError(e));\n }\n}\n\nexports.tryCatch = tryCatch; // TODO curry in v3\n\n/**\n * Converts a JavaScript Object Notation (JSON) string into an object.\n *\n * @example\n * import { parseJSON, toError, right, left } from 'fp-ts/Either'\n *\n * assert.deepStrictEqual(parseJSON('{\"a\":1}', toError), right({ a: 1 }))\n * assert.deepStrictEqual(parseJSON('{\"a\":}', toError), left(new SyntaxError('Unexpected token } in JSON at position 5')))\n *\n * @category constructors\n * @since 2.0.0\n */\n\nfunction parseJSON(s, onError) {\n return tryCatch(function () {\n return JSON.parse(s);\n }, onError);\n}\n\nexports.parseJSON = parseJSON; // TODO curry in v3\n\n/**\n * Converts a JavaScript value to a JavaScript Object Notation (JSON) string.\n *\n * @example\n * import * as E from 'fp-ts/Either'\n * import { pipe } from 'fp-ts/function'\n *\n * assert.deepStrictEqual(E.stringifyJSON({ a: 1 }, E.toError), E.right('{\"a\":1}'))\n * const circular: any = { ref: null }\n * circular.ref = circular\n * assert.deepStrictEqual(\n * pipe(\n * E.stringifyJSON(circular, E.toError),\n * E.mapLeft(e => e.message.includes('Converting circular structure to JSON'))\n * ),\n * E.left(true)\n * )\n *\n * @category constructors\n * @since 2.0.0\n */\n\nfunction stringifyJSON(u, onError) {\n return tryCatch(function () {\n return JSON.stringify(u);\n }, onError);\n}\n\nexports.stringifyJSON = stringifyJSON;\n/**\n * Derivable from `MonadThrow`.\n *\n * @example\n * import { fromOption, left, right } from 'fp-ts/Either'\n * import { pipe } from 'fp-ts/function'\n * import { none, some } from 'fp-ts/Option'\n *\n * assert.deepStrictEqual(\n * pipe(\n * some(1),\n * fromOption(() => 'error')\n * ),\n * right(1)\n * )\n * assert.deepStrictEqual(\n * pipe(\n * none,\n * fromOption(() => 'error')\n * ),\n * left('error')\n * )\n *\n * @category constructors\n * @since 2.0.0\n */\n\nvar fromOption = function fromOption(onNone) {\n return function (ma) {\n return ma._tag === 'None' ? exports.left(onNone()) : exports.right(ma.value);\n };\n};\n\nexports.fromOption = fromOption;\n/**\n * Derivable from `MonadThrow`.\n *\n * @example\n * import { fromPredicate, left, right } from 'fp-ts/Either'\n * import { pipe } from 'fp-ts/function'\n *\n * assert.deepStrictEqual(\n * pipe(\n * 1,\n * fromPredicate(\n * (n) => n > 0,\n * () => 'error'\n * )\n * ),\n * right(1)\n * )\n * assert.deepStrictEqual(\n * pipe(\n * -1,\n * fromPredicate(\n * (n) => n > 0,\n * () => 'error'\n * )\n * ),\n * left('error')\n * )\n *\n * @category constructors\n * @since 2.0.0\n */\n\nvar fromPredicate = function fromPredicate(predicate, onFalse) {\n return function (a) {\n return predicate(a) ? exports.right(a) : exports.left(onFalse(a));\n };\n};\n\nexports.fromPredicate = fromPredicate; // -------------------------------------------------------------------------------------\n// destructors\n// -------------------------------------------------------------------------------------\n\n/**\n * Takes two functions and an `Either` value, if the value is a `Left` the inner value is applied to the first function,\n * if the value is a `Right` the inner value is applied to the second function.\n *\n * @example\n * import { fold, left, right } from 'fp-ts/Either'\n * import { pipe } from 'fp-ts/function'\n *\n * function onLeft(errors: Array): string {\n * return `Errors: ${errors.join(', ')}`\n * }\n *\n * function onRight(value: number): string {\n * return `Ok: ${value}`\n * }\n *\n * assert.strictEqual(\n * pipe(\n * right(1),\n * fold(onLeft, onRight)\n * ),\n * 'Ok: 1'\n * )\n * assert.strictEqual(\n * pipe(\n * left(['error 1', 'error 2']),\n * fold(onLeft, onRight)\n * ),\n * 'Errors: error 1, error 2'\n * )\n *\n * @category destructors\n * @since 2.0.0\n */\n\nfunction fold(onLeft, onRight) {\n return function (ma) {\n return exports.isLeft(ma) ? onLeft(ma.left) : onRight(ma.right);\n };\n}\n\nexports.fold = fold;\n/**\n * Less strict version of [`getOrElse`](#getOrElse).\n *\n * @category destructors\n * @since 2.6.0\n */\n\nvar getOrElseW = function getOrElseW(onLeft) {\n return function (ma) {\n return exports.isLeft(ma) ? onLeft(ma.left) : ma.right;\n };\n};\n\nexports.getOrElseW = getOrElseW;\n/**\n * Returns the wrapped value if it's a `Right` or a default value if is a `Left`.\n *\n * @example\n * import { getOrElse, left, right } from 'fp-ts/Either'\n * import { pipe } from 'fp-ts/function'\n *\n * assert.deepStrictEqual(\n * pipe(\n * right(1),\n * getOrElse(() => 0)\n * ),\n * 1\n * )\n * assert.deepStrictEqual(\n * pipe(\n * left('error'),\n * getOrElse(() => 0)\n * ),\n * 0\n * )\n *\n * @category destructors\n * @since 2.0.0\n */\n\nexports.getOrElse = exports.getOrElseW; // -------------------------------------------------------------------------------------\n// combinators\n// -------------------------------------------------------------------------------------\n\n/**\n * @category combinators\n * @since 2.9.0\n */\n\nfunction fromNullableK(e) {\n var from = fromNullable(e);\n return function (f) {\n return function () {\n var a = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n a[_i] = arguments[_i];\n }\n\n return from(f.apply(void 0, a));\n };\n };\n}\n\nexports.fromNullableK = fromNullableK;\n/**\n * @category combinators\n * @since 2.9.0\n */\n\nfunction chainNullableK(e) {\n var from = fromNullableK(e);\n return function (f) {\n return exports.chain(from(f));\n };\n}\n\nexports.chainNullableK = chainNullableK;\n/**\n * Returns a `Right` if is a `Left` (and vice versa).\n *\n * @category combinators\n * @since 2.0.0\n */\n\nfunction swap(ma) {\n return exports.isLeft(ma) ? exports.right(ma.left) : exports.left(ma.right);\n}\n\nexports.swap = swap;\n/**\n * Useful for recovering from errors.\n *\n * @category combinators\n * @since 2.0.0\n */\n\nfunction orElse(onLeft) {\n return function (ma) {\n return exports.isLeft(ma) ? onLeft(ma.left) : ma;\n };\n}\n\nexports.orElse = orElse;\n/**\n * Less strict version of [`filterOrElse`](#filterOrElse).\n *\n * @since 2.9.0\n */\n\nvar filterOrElseW = function filterOrElseW(predicate, onFalse) {\n return exports.chainW(function (a) {\n return predicate(a) ? exports.right(a) : exports.left(onFalse(a));\n });\n};\n\nexports.filterOrElseW = filterOrElseW;\n/**\n * Derivable from `MonadThrow`.\n *\n * @example\n * import { filterOrElse, left, right } from 'fp-ts/Either'\n * import { pipe } from 'fp-ts/function'\n *\n * assert.deepStrictEqual(\n * pipe(\n * right(1),\n * filterOrElse(\n * (n) => n > 0,\n * () => 'error'\n * )\n * ),\n * right(1)\n * )\n * assert.deepStrictEqual(\n * pipe(\n * right(-1),\n * filterOrElse(\n * (n) => n > 0,\n * () => 'error'\n * )\n * ),\n * left('error')\n * )\n * assert.deepStrictEqual(\n * pipe(\n * left('a'),\n * filterOrElse(\n * (n) => n > 0,\n * () => 'error'\n * )\n * ),\n * left('a')\n * )\n *\n * @category combinators\n * @since 2.0.0\n */\n\nexports.filterOrElse = exports.filterOrElseW; // -------------------------------------------------------------------------------------\n// non-pipeables\n// -------------------------------------------------------------------------------------\n\nvar map_ = function map_(fa, f) {\n return function_1.pipe(fa, exports.map(f));\n};\n\nvar ap_ = function ap_(fab, fa) {\n return function_1.pipe(fab, exports.ap(fa));\n};\n/* istanbul ignore next */\n\n\nvar chain_ = function chain_(ma, f) {\n return function_1.pipe(ma, exports.chain(f));\n};\n/* istanbul ignore next */\n\n\nvar reduce_ = function reduce_(fa, b, f) {\n return function_1.pipe(fa, exports.reduce(b, f));\n};\n/* istanbul ignore next */\n\n\nvar foldMap_ = function foldMap_(M) {\n return function (fa, f) {\n var foldMapM = exports.foldMap(M);\n return function_1.pipe(fa, foldMapM(f));\n };\n};\n/* istanbul ignore next */\n\n\nvar reduceRight_ = function reduceRight_(fa, b, f) {\n return function_1.pipe(fa, exports.reduceRight(b, f));\n};\n\nvar traverse_ = function traverse_(F) {\n var traverseF = exports.traverse(F);\n return function (ta, f) {\n return function_1.pipe(ta, traverseF(f));\n };\n};\n\nvar bimap_ = function bimap_(fa, f, g) {\n return function_1.pipe(fa, exports.bimap(f, g));\n};\n\nvar mapLeft_ = function mapLeft_(fa, f) {\n return function_1.pipe(fa, exports.mapLeft(f));\n};\n/* istanbul ignore next */\n\n\nvar alt_ = function alt_(fa, that) {\n return function_1.pipe(fa, exports.alt(that));\n};\n/* istanbul ignore next */\n\n\nvar extend_ = function extend_(wa, f) {\n return function_1.pipe(wa, exports.extend(f));\n};\n\nvar chainRec_ = function chainRec_(a, f) {\n return ChainRec_1.tailRec(f(a), function (e) {\n return exports.isLeft(e) ? exports.right(exports.left(e.left)) : exports.isLeft(e.right) ? exports.left(f(e.right.left)) : exports.right(exports.right(e.right.right));\n });\n}; // -------------------------------------------------------------------------------------\n// pipeables\n// -------------------------------------------------------------------------------------\n\n/**\n * `map` can be used to turn functions `(a: A) => B` into functions `(fa: F) => F` whose argument and return types\n * use the type constructor `F` to represent some computational context.\n *\n * @category Functor\n * @since 2.0.0\n */\n\n\nvar map = function map(f) {\n return function (fa) {\n return exports.isLeft(fa) ? fa : exports.right(f(fa.right));\n };\n};\n\nexports.map = map;\n/**\n * Map a pair of functions over the two type arguments of the bifunctor.\n *\n * @category Bifunctor\n * @since 2.0.0\n */\n\nvar bimap = function bimap(f, g) {\n return function (fa) {\n return exports.isLeft(fa) ? exports.left(f(fa.left)) : exports.right(g(fa.right));\n };\n};\n\nexports.bimap = bimap;\n/**\n * Map a function over the first type argument of a bifunctor.\n *\n * @category Bifunctor\n * @since 2.0.0\n */\n\nvar mapLeft = function mapLeft(f) {\n return function (fa) {\n return exports.isLeft(fa) ? exports.left(f(fa.left)) : fa;\n };\n};\n\nexports.mapLeft = mapLeft;\n/**\n * Less strict version of [`ap`](#ap).\n *\n * @category Apply\n * @since 2.8.0\n */\n\nvar apW = function apW(fa) {\n return function (fab) {\n return exports.isLeft(fab) ? fab : exports.isLeft(fa) ? fa : exports.right(fab.right(fa.right));\n };\n};\n\nexports.apW = apW;\n/**\n * Apply a function to an argument under a type constructor.\n *\n * @category Apply\n * @since 2.0.0\n */\n\nexports.ap = exports.apW;\n/**\n * Combine two effectful actions, keeping only the result of the first.\n *\n * Derivable from `Apply`.\n *\n * @category combinators\n * @since 2.0.0\n */\n\nvar apFirst = function apFirst(fb) {\n return function_1.flow(exports.map(function (a) {\n return function () {\n return a;\n };\n }), exports.ap(fb));\n};\n\nexports.apFirst = apFirst;\n/**\n * Combine two effectful actions, keeping only the result of the second.\n *\n * Derivable from `Apply`.\n *\n * @category combinators\n * @since 2.0.0\n */\n\nvar apSecond = function apSecond(fb) {\n return function_1.flow(exports.map(function () {\n return function (b) {\n return b;\n };\n }), exports.ap(fb));\n};\n\nexports.apSecond = apSecond;\n/**\n * Wrap a value into the type constructor.\n *\n * Equivalent to [`right`](#right).\n *\n * @example\n * import * as E from 'fp-ts/Either'\n *\n * assert.deepStrictEqual(E.of('a'), E.right('a'))\n *\n * @category Applicative\n * @since 2.7.0\n */\n\nexports.of = exports.right;\n/**\n * Less strict version of [`chain`](#chain).\n *\n * @category Monad\n * @since 2.6.0\n */\n\nvar chainW = function chainW(f) {\n return function (ma) {\n return exports.isLeft(ma) ? ma : f(ma.right);\n };\n};\n\nexports.chainW = chainW;\n/**\n * Composes computations in sequence, using the return value of one computation to determine the next computation.\n *\n * @category Monad\n * @since 2.0.0\n */\n\nexports.chain = exports.chainW;\n/**\n * Less strict version of [`chainFirst`](#chainFirst)\n *\n * Derivable from `Monad`.\n *\n * @category combinators\n * @since 2.8.0\n */\n\nvar chainFirstW = function chainFirstW(f) {\n return function (ma) {\n return function_1.pipe(ma, exports.chainW(function (a) {\n return function_1.pipe(f(a), exports.map(function () {\n return a;\n }));\n }));\n };\n};\n\nexports.chainFirstW = chainFirstW;\n/**\n * Composes computations in sequence, using the return value of one computation to determine the next computation and\n * keeping only the result of the first.\n *\n * Derivable from `Monad`.\n *\n * @category combinators\n * @since 2.0.0\n */\n\nexports.chainFirst = exports.chainFirstW;\n/**\n * The `flatten` function is the conventional monad join operator. It is used to remove one level of monadic structure, projecting its bound argument into the outer level.\n *\n * Derivable from `Monad`.\n *\n * @example\n * import * as E from 'fp-ts/Either'\n *\n * assert.deepStrictEqual(E.flatten(E.right(E.right('a'))), E.right('a'))\n * assert.deepStrictEqual(E.flatten(E.right(E.left('e'))), E.left('e'))\n * assert.deepStrictEqual(E.flatten(E.left('e')), E.left('e'))\n *\n * @category combinators\n * @since 2.0.0\n */\n\nexports.flatten = /*#__PURE__*/exports.chain(function_1.identity);\n/**\n * Less strict version of [`alt`](#alt).\n *\n * @category Alt\n * @since 2.9.0\n */\n\nvar altW = function altW(that) {\n return function (fa) {\n return exports.isLeft(fa) ? that() : fa;\n };\n};\n\nexports.altW = altW;\n/**\n * Identifies an associative operation on a type constructor. It is similar to `Semigroup`, except that it applies to\n * types of kind `* -> *`.\n *\n * @category Alt\n * @since 2.0.0\n */\n\nexports.alt = exports.altW;\n/**\n * @category Extend\n * @since 2.0.0\n */\n\nvar extend = function extend(f) {\n return function (wa) {\n return exports.isLeft(wa) ? wa : exports.right(f(wa));\n };\n};\n\nexports.extend = extend;\n/**\n * Derivable from `Extend`.\n *\n * @category combinators\n * @since 2.0.0\n */\n\nexports.duplicate = /*#__PURE__*/exports.extend(function_1.identity);\n/**\n * Left-associative fold of a structure.\n *\n * @example\n * import { pipe } from 'fp-ts/function'\n * import * as E from 'fp-ts/Either'\n *\n * const startWith = 'prefix'\n * const concat = (a: string, b: string) => `${a}:${b}`\n *\n * assert.deepStrictEqual(\n * pipe(E.right('a'), E.reduce(startWith, concat)),\n * 'prefix:a',\n * )\n *\n * assert.deepStrictEqual(\n * pipe(E.left('e'), E.reduce(startWith, concat)),\n * 'prefix',\n * )\n *\n * @category Foldable\n * @since 2.0.0\n */\n\nvar reduce = function reduce(b, f) {\n return function (fa) {\n return exports.isLeft(fa) ? b : f(b, fa.right);\n };\n};\n\nexports.reduce = reduce;\n/**\n * Map each element of the structure to a monoid, and combine the results.\n *\n * @example\n * import { pipe } from 'fp-ts/function';\n * import * as E from 'fp-ts/Either'\n * import { monoidString } from 'fp-ts/Monoid'\n *\n * const yell = (a: string) => `${a}!`\n *\n * assert.deepStrictEqual(\n * pipe(E.right('a'), E.foldMap(monoidString)(yell)),\n * 'a!',\n * )\n *\n * assert.deepStrictEqual(\n * pipe(E.left('e'), E.foldMap(monoidString)(yell)),\n * monoidString.empty,\n * )\n *\n * @category Foldable\n * @since 2.0.0\n */\n\nvar foldMap = function foldMap(M) {\n return function (f) {\n return function (fa) {\n return exports.isLeft(fa) ? M.empty : f(fa.right);\n };\n };\n};\n\nexports.foldMap = foldMap;\n/**\n * Right-associative fold of a structure.\n *\n * @example\n * import { pipe } from 'fp-ts/function'\n * import * as E from 'fp-ts/Either'\n *\n * const startWith = 'postfix'\n * const concat = (a: string, b: string) => `${a}:${b}`\n *\n * assert.deepStrictEqual(\n * pipe(E.right('a'), E.reduceRight(startWith, concat)),\n * 'a:postfix',\n * )\n *\n * assert.deepStrictEqual(\n * pipe(E.left('e'), E.reduceRight(startWith, concat)),\n * 'postfix',\n * )\n *\n * @category Foldable\n * @since 2.0.0\n */\n\nvar reduceRight = function reduceRight(b, f) {\n return function (fa) {\n return exports.isLeft(fa) ? b : f(fa.right, b);\n };\n};\n\nexports.reduceRight = reduceRight;\n/**\n * Map each element of a structure to an action, evaluate these actions from left to right, and collect the results.\n *\n * @example\n * import { pipe } from 'fp-ts/function'\n * import * as A from 'fp-ts/Array'\n * import * as E from 'fp-ts/Either'\n * import * as O from 'fp-ts/Option'\n *\n * assert.deepStrictEqual(\n * pipe(E.right(['a']), E.traverse(O.option)(A.head)),\n * O.some(E.right('a')),\n * )\n *\n * assert.deepStrictEqual(\n * pipe(E.right([]), E.traverse(O.option)(A.head)),\n * O.none,\n * )\n *\n * @category Traversable\n * @since 2.6.3\n */\n\nvar traverse = function traverse(F) {\n return function (f) {\n return function (ta) {\n return exports.isLeft(ta) ? F.of(exports.left(ta.left)) : F.map(f(ta.right), exports.right);\n };\n };\n};\n\nexports.traverse = traverse;\n/**\n * Evaluate each monadic action in the structure from left to right, and collect the results.\n *\n * @example\n * import { pipe } from 'fp-ts/function'\n * import * as E from 'fp-ts/Either'\n * import * as O from 'fp-ts/Option'\n *\n * assert.deepStrictEqual(\n * pipe(E.right(O.some('a')), E.sequence(O.option)),\n * O.some(E.right('a')),\n * )\n *\n * assert.deepStrictEqual(\n * pipe(E.right(O.none), E.sequence(O.option)),\n * O.none\n * )\n *\n * @category Traversable\n * @since 2.6.3\n */\n\nvar sequence = function sequence(F) {\n return function (ma) {\n return exports.isLeft(ma) ? F.of(exports.left(ma.left)) : F.map(ma.right, exports.right);\n };\n};\n\nexports.sequence = sequence;\n/**\n * @category MonadThrow\n * @since 2.6.3\n */\n\nexports.throwError = exports.left; // -------------------------------------------------------------------------------------\n// instances\n// -------------------------------------------------------------------------------------\n\n/**\n * @category instances\n * @since 2.0.0\n */\n\nexports.URI = 'Either';\n/**\n * @category instances\n * @since 2.0.0\n */\n\nfunction getShow(SE, SA) {\n return {\n show: function show(ma) {\n return exports.isLeft(ma) ? \"left(\" + SE.show(ma.left) + \")\" : \"right(\" + SA.show(ma.right) + \")\";\n }\n };\n}\n\nexports.getShow = getShow;\n/**\n * @category instances\n * @since 2.0.0\n */\n\nfunction getEq(EL, EA) {\n return {\n equals: function equals(x, y) {\n return x === y || (exports.isLeft(x) ? exports.isLeft(y) && EL.equals(x.left, y.left) : exports.isRight(y) && EA.equals(x.right, y.right));\n }\n };\n}\n\nexports.getEq = getEq;\n/**\n * Semigroup returning the left-most non-`Left` value. If both operands are `Right`s then the inner values are\n * concatenated using the provided `Semigroup`\n *\n * @example\n * import { getSemigroup, left, right } from 'fp-ts/Either'\n * import { semigroupSum } from 'fp-ts/Semigroup'\n *\n * const S = getSemigroup(semigroupSum)\n * assert.deepStrictEqual(S.concat(left('a'), left('b')), left('a'))\n * assert.deepStrictEqual(S.concat(left('a'), right(2)), right(2))\n * assert.deepStrictEqual(S.concat(right(1), left('b')), right(1))\n * assert.deepStrictEqual(S.concat(right(1), right(2)), right(3))\n *\n * @category instances\n * @since 2.0.0\n */\n\nfunction getSemigroup(S) {\n return {\n concat: function concat(x, y) {\n return exports.isLeft(y) ? x : exports.isLeft(x) ? y : exports.right(S.concat(x.right, y.right));\n }\n };\n}\n\nexports.getSemigroup = getSemigroup;\n/**\n * Semigroup returning the left-most `Left` value. If both operands are `Right`s then the inner values\n * are concatenated using the provided `Semigroup`\n *\n * @example\n * import { getApplySemigroup, left, right } from 'fp-ts/Either'\n * import { semigroupSum } from 'fp-ts/Semigroup'\n *\n * const S = getApplySemigroup(semigroupSum)\n * assert.deepStrictEqual(S.concat(left('a'), left('b')), left('a'))\n * assert.deepStrictEqual(S.concat(left('a'), right(2)), left('a'))\n * assert.deepStrictEqual(S.concat(right(1), left('b')), left('b'))\n * assert.deepStrictEqual(S.concat(right(1), right(2)), right(3))\n *\n * @category instances\n * @since 2.0.0\n */\n\nfunction getApplySemigroup(S) {\n return {\n concat: function concat(x, y) {\n return exports.isLeft(x) ? x : exports.isLeft(y) ? y : exports.right(S.concat(x.right, y.right));\n }\n };\n}\n\nexports.getApplySemigroup = getApplySemigroup;\n/**\n * @category instances\n * @since 2.0.0\n */\n\nfunction getApplyMonoid(M) {\n return {\n concat: getApplySemigroup(M).concat,\n empty: exports.right(M.empty)\n };\n}\n\nexports.getApplyMonoid = getApplyMonoid;\n/**\n * Builds a `Filterable` instance for `Either` given `Monoid` for the left side\n *\n * @category instances\n * @since 3.0.0\n */\n\nfunction getFilterable(M) {\n var empty = exports.left(M.empty);\n\n var compact = function compact(ma) {\n return exports.isLeft(ma) ? ma : ma.right._tag === 'None' ? empty : exports.right(ma.right.value);\n };\n\n var separate = function separate(ma) {\n return exports.isLeft(ma) ? {\n left: ma,\n right: ma\n } : exports.isLeft(ma.right) ? {\n left: exports.right(ma.right.left),\n right: empty\n } : {\n left: empty,\n right: exports.right(ma.right.right)\n };\n };\n\n var partitionMap = function partitionMap(ma, f) {\n if (exports.isLeft(ma)) {\n return {\n left: ma,\n right: ma\n };\n }\n\n var e = f(ma.right);\n return exports.isLeft(e) ? {\n left: exports.right(e.left),\n right: empty\n } : {\n left: empty,\n right: exports.right(e.right)\n };\n };\n\n var partition = function partition(ma, p) {\n return exports.isLeft(ma) ? {\n left: ma,\n right: ma\n } : p(ma.right) ? {\n left: empty,\n right: exports.right(ma.right)\n } : {\n left: exports.right(ma.right),\n right: empty\n };\n };\n\n var filterMap = function filterMap(ma, f) {\n if (exports.isLeft(ma)) {\n return ma;\n }\n\n var ob = f(ma.right);\n return ob._tag === 'None' ? empty : exports.right(ob.value);\n };\n\n var filter = function filter(ma, predicate) {\n return exports.isLeft(ma) ? ma : predicate(ma.right) ? ma : empty;\n };\n\n return {\n URI: exports.URI,\n _E: undefined,\n map: map_,\n compact: compact,\n separate: separate,\n filter: filter,\n filterMap: filterMap,\n partition: partition,\n partitionMap: partitionMap\n };\n}\n\nexports.getFilterable = getFilterable;\n/**\n * Builds `Witherable` instance for `Either` given `Monoid` for the left side\n *\n * @category instances\n * @since 2.0.0\n */\n\nfunction getWitherable(M) {\n var F_ = getFilterable(M);\n\n var wither = function wither(F) {\n var traverseF = traverse_(F);\n return function (ma, f) {\n return F.map(traverseF(ma, f), F_.compact);\n };\n };\n\n var wilt = function wilt(F) {\n var traverseF = traverse_(F);\n return function (ma, f) {\n return F.map(traverseF(ma, f), F_.separate);\n };\n };\n\n return {\n URI: exports.URI,\n _E: undefined,\n map: map_,\n compact: F_.compact,\n separate: F_.separate,\n filter: F_.filter,\n filterMap: F_.filterMap,\n partition: F_.partition,\n partitionMap: F_.partitionMap,\n traverse: traverse_,\n sequence: exports.sequence,\n reduce: reduce_,\n foldMap: foldMap_,\n reduceRight: reduceRight_,\n wither: wither,\n wilt: wilt\n };\n}\n\nexports.getWitherable = getWitherable;\n/**\n * @category instances\n * @since 2.7.0\n */\n\nfunction getApplicativeValidation(SE) {\n return {\n URI: exports.URI,\n _E: undefined,\n map: map_,\n ap: function ap(fab, fa) {\n return exports.isLeft(fab) ? exports.isLeft(fa) ? exports.left(SE.concat(fab.left, fa.left)) : fab : exports.isLeft(fa) ? fa : exports.right(fab.right(fa.right));\n },\n of: exports.of\n };\n}\n\nexports.getApplicativeValidation = getApplicativeValidation;\n/**\n * @category instances\n * @since 2.7.0\n */\n\nfunction getAltValidation(SE) {\n return {\n URI: exports.URI,\n _E: undefined,\n map: map_,\n alt: function alt(me, that) {\n if (exports.isRight(me)) {\n return me;\n }\n\n var ea = that();\n return exports.isLeft(ea) ? exports.left(SE.concat(me.left, ea.left)) : ea;\n }\n };\n}\n\nexports.getAltValidation = getAltValidation; // TODO: remove in v3\n\n/**\n * @category instances\n * @since 2.0.0\n */\n\nfunction getValidation(SE) {\n var applicativeValidation = getApplicativeValidation(SE);\n var altValidation = getAltValidation(SE);\n return {\n URI: exports.URI,\n _E: undefined,\n map: map_,\n of: exports.of,\n chain: chain_,\n bimap: bimap_,\n mapLeft: mapLeft_,\n reduce: reduce_,\n foldMap: foldMap_,\n reduceRight: reduceRight_,\n extend: extend_,\n traverse: traverse_,\n sequence: exports.sequence,\n chainRec: chainRec_,\n throwError: exports.throwError,\n ap: applicativeValidation.ap,\n alt: altValidation.alt\n };\n}\n\nexports.getValidation = getValidation;\n/**\n * @category instances\n * @since 2.0.0\n */\n\nfunction getValidationSemigroup(SE, SA) {\n return {\n concat: function concat(x, y) {\n return exports.isLeft(x) ? exports.isLeft(y) ? exports.left(SE.concat(x.left, y.left)) : x : exports.isLeft(y) ? y : exports.right(SA.concat(x.right, y.right));\n }\n };\n}\n\nexports.getValidationSemigroup = getValidationSemigroup;\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.Functor = {\n URI: exports.URI,\n map: map_\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.Applicative = {\n URI: exports.URI,\n map: map_,\n ap: ap_,\n of: exports.of\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.Monad = {\n URI: exports.URI,\n map: map_,\n ap: ap_,\n of: exports.of,\n chain: chain_\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.Foldable = {\n URI: exports.URI,\n reduce: reduce_,\n foldMap: foldMap_,\n reduceRight: reduceRight_\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.Traversable = {\n URI: exports.URI,\n map: map_,\n reduce: reduce_,\n foldMap: foldMap_,\n reduceRight: reduceRight_,\n traverse: traverse_,\n sequence: exports.sequence\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.Bifunctor = {\n URI: exports.URI,\n bimap: bimap_,\n mapLeft: mapLeft_\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.Alt = {\n URI: exports.URI,\n map: map_,\n alt: alt_\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.Extend = {\n URI: exports.URI,\n map: map_,\n extend: extend_\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.ChainRec = {\n URI: exports.URI,\n map: map_,\n ap: ap_,\n chain: chain_,\n chainRec: chainRec_\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.MonadThrow = {\n URI: exports.URI,\n map: map_,\n ap: ap_,\n of: exports.of,\n chain: chain_,\n throwError: exports.throwError\n};\n/**\n * @category instances\n * @since 2.0.0\n */\n\nfunction getValidationMonoid(SE, SA) {\n return {\n concat: getValidationSemigroup(SE, SA).concat,\n empty: exports.right(SA.empty)\n };\n}\n\nexports.getValidationMonoid = getValidationMonoid;\n/**\n * @category instances\n * @since 2.0.0\n */\n\nexports.either = {\n URI: exports.URI,\n map: map_,\n of: exports.of,\n ap: ap_,\n chain: chain_,\n reduce: reduce_,\n foldMap: foldMap_,\n reduceRight: reduceRight_,\n traverse: traverse_,\n sequence: exports.sequence,\n bimap: bimap_,\n mapLeft: mapLeft_,\n alt: alt_,\n extend: extend_,\n chainRec: chainRec_,\n throwError: exports.throwError\n}; // -------------------------------------------------------------------------------------\n// utils\n// -------------------------------------------------------------------------------------\n\n/**\n * Default value for the `onError` argument of `tryCatch`\n *\n * @since 2.0.0\n */\n\nfunction toError(e) {\n return e instanceof Error ? e : new Error(String(e));\n}\n\nexports.toError = toError;\n/**\n * @since 2.0.0\n */\n\nfunction elem(E) {\n return function (a, ma) {\n return exports.isLeft(ma) ? false : E.equals(a, ma.right);\n };\n}\n\nexports.elem = elem;\n/**\n * Returns `false` if `Left` or returns the result of the application of the given predicate to the `Right` value.\n *\n * @example\n * import { exists, left, right } from 'fp-ts/Either'\n *\n * const gt2 = exists((n: number) => n > 2)\n *\n * assert.strictEqual(gt2(left('a')), false)\n * assert.strictEqual(gt2(right(1)), false)\n * assert.strictEqual(gt2(right(3)), true)\n *\n * @since 2.0.0\n */\n\nfunction exists(predicate) {\n return function (ma) {\n return exports.isLeft(ma) ? false : predicate(ma.right);\n };\n}\n\nexports.exists = exists; // -------------------------------------------------------------------------------------\n// do notation\n// -------------------------------------------------------------------------------------\n\n/**\n * @since 2.9.0\n */\n\nexports.Do = /*#__PURE__*/exports.of({});\n/**\n * @since 2.8.0\n */\n\nvar bindTo = function bindTo(name) {\n return exports.map(function_1.bindTo_(name));\n};\n\nexports.bindTo = bindTo;\n/**\n * @since 2.8.0\n */\n\nvar bindW = function bindW(name, f) {\n return exports.chainW(function (a) {\n return function_1.pipe(f(a), exports.map(function (b) {\n return function_1.bind_(a, name, b);\n }));\n });\n};\n\nexports.bindW = bindW;\n/**\n * @since 2.8.0\n */\n\nexports.bind = exports.bindW; // -------------------------------------------------------------------------------------\n// pipeable sequence S\n// -------------------------------------------------------------------------------------\n\n/**\n * @since 2.8.0\n */\n\nvar apSW = function apSW(name, fb) {\n return function_1.flow(exports.map(function (a) {\n return function (b) {\n return function_1.bind_(a, name, b);\n };\n }), exports.apW(fb));\n};\n\nexports.apSW = apSW;\n/**\n * @since 2.8.0\n */\n\nexports.apS = exports.apSW; // -------------------------------------------------------------------------------------\n// array utils\n// -------------------------------------------------------------------------------------\n\n/**\n *\n * @since 2.9.0\n */\n\nvar traverseArrayWithIndex = function traverseArrayWithIndex(f) {\n return function (arr) {\n // tslint:disable-next-line: readonly-array\n var result = [];\n\n for (var i = 0; i < arr.length; i++) {\n var e = f(i, arr[i]);\n\n if (e._tag === 'Left') {\n return e;\n }\n\n result.push(e.right);\n }\n\n return exports.right(result);\n };\n};\n\nexports.traverseArrayWithIndex = traverseArrayWithIndex;\n/**\n * map an array using provided function to Either then transform to Either of the array\n * this function has the same behavior of `A.traverse(E.either)` but it's optimized and performs better\n *\n * @example\n *\n *\n * import { traverseArray, left, right, fromPredicate } from 'fp-ts/Either'\n * import { pipe } from 'fp-ts/function'\n * import * as A from 'fp-ts/Array'\n *\n * const arr = A.range(0, 10)\n * assert.deepStrictEqual(\n * pipe(\n * arr,\n * traverseArray((x) => right(x))\n * ),\n * right(arr)\n * )\n * assert.deepStrictEqual(\n * pipe(\n * arr,\n * traverseArray(\n * fromPredicate(\n * (x) => x > 5,\n * () => 'a'\n * )\n * )\n * ),\n * left('a')\n * )\n * @since 2.9.0\n */\n\nvar traverseArray = function traverseArray(f) {\n return exports.traverseArrayWithIndex(function (_, a) {\n return f(a);\n });\n};\n\nexports.traverseArray = traverseArray;\n/**\n * convert an array of either to an either of array\n * this function has the same behavior of `A.sequence(E.either)` but it's optimized and performs better\n *\n * @example\n *\n * import { sequenceArray, left, right } from 'fp-ts/Either'\n * import { pipe } from 'fp-ts/function'\n * import * as A from 'fp-ts/Array'\n *\n * const arr = A.range(0, 10)\n * assert.deepStrictEqual(pipe(arr, A.map(right), sequenceArray), right(arr))\n * assert.deepStrictEqual(pipe(arr, A.map(right), A.cons(left('Error')), sequenceArray), left('Error'))\n *\n * @since 2.9.0\n */\n\nexports.sequenceArray = /*#__PURE__*/exports.traverseArray(function_1.identity);","\"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;","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol.iterator == 'symbol';\n","\"use strict\";\n\nexports.__esModule = true;\nexports.SessionStorage = void 0;\nvar STATE_KEY_PREFIX = \"@@scroll|\";\nvar GATSBY_ROUTER_SCROLL_STATE = \"___GATSBY_REACT_ROUTER_SCROLL\";\n\nvar SessionStorage = /*#__PURE__*/function () {\n function SessionStorage() {}\n\n var _proto = SessionStorage.prototype;\n\n _proto.read = function read(location, key) {\n var stateKey = this.getStateKey(location, key);\n\n try {\n var value = window.sessionStorage.getItem(stateKey);\n return value ? JSON.parse(value) : 0;\n } catch (e) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to access sessionStorage; sessionStorage is not available.\");\n }\n\n if (window && window[GATSBY_ROUTER_SCROLL_STATE] && window[GATSBY_ROUTER_SCROLL_STATE][stateKey]) {\n return window[GATSBY_ROUTER_SCROLL_STATE][stateKey];\n }\n\n return 0;\n }\n };\n\n _proto.save = function save(location, key, value) {\n var stateKey = this.getStateKey(location, key);\n var storedValue = JSON.stringify(value);\n\n try {\n window.sessionStorage.setItem(stateKey, storedValue);\n } catch (e) {\n if (window && window[GATSBY_ROUTER_SCROLL_STATE]) {\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n } else {\n window[GATSBY_ROUTER_SCROLL_STATE] = {};\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to save state in sessionStorage; sessionStorage is not available.\");\n }\n }\n };\n\n _proto.getStateKey = function getStateKey(location, key) {\n var stateKeyBase = \"\" + STATE_KEY_PREFIX + location.pathname;\n return key === null || typeof key === \"undefined\" ? stateKeyBase : stateKeyBase + \"|\" + key;\n };\n\n return SessionStorage;\n}();\n\nexports.SessionStorage = SessionStorage;","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","module.exports = {};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","\"use strict\";\n\nrequire(\"core-js/modules/es.array.reduce.js\");\n\nrequire(\"core-js/modules/es.array.reduce-right.js\");\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function (o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function (o, v) {\n o[\"default\"] = v;\n});\n\nvar __importStar = this && this.__importStar || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) {\n if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n }\n\n __setModuleDefault(result, mod);\n\n return result;\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FunctorWithIndex = exports.Functor = exports.URI = exports.separate = exports.compact = exports.reduceRight = exports.reduce = exports.partitionMap = exports.partition = exports.foldMap = exports.filterMap = exports.filter = exports.elem = exports.some = exports.every = exports.fromFoldableMap = exports.fromFoldable = exports.filterWithIndex = exports.filterMapWithIndex = exports.partitionWithIndex = exports.partitionMapWithIndex = exports.wilt = exports.wither = exports.sequence = exports.traverse = exports.traverseWithIndex = exports.singleton = exports.reduceRightWithIndex = exports.foldMapWithIndex = exports.reduceWithIndex = exports.map = exports.mapWithIndex = exports.empty = exports.lookup = exports.getMonoid = exports.getEq = exports.isSubrecord = exports.pop = exports.modifyAt = exports.updateAt = exports.deleteAt = exports.hasOwnProperty = exports.insertAt = exports.toUnfoldable = exports.toArray = exports.collect = exports.keys = exports.isEmpty = exports.size = exports.getShow = void 0;\nexports.record = exports.Witherable = exports.TraversableWithIndex = exports.Traversable = exports.FilterableWithIndex = exports.Filterable = exports.Compactable = exports.FoldableWithIndex = exports.Foldable = void 0;\n\nvar RR = __importStar(require(\"./ReadonlyRecord\"));\n/* tslint:disable:readonly-array */\n// -------------------------------------------------------------------------------------\n// model\n// -------------------------------------------------------------------------------------\n\n/**\n * @since 2.0.0\n */\n\n\nexports.getShow = RR.getShow;\n/**\n * Calculate the number of key/value pairs in a record\n *\n * @since 2.0.0\n */\n\nexports.size = RR.size;\n/**\n * Test whether a record is empty\n *\n * @since 2.0.0\n */\n\nexports.isEmpty = RR.isEmpty;\n/**\n * @since 2.0.0\n */\n\nexports.keys = RR.keys;\n/**\n * Map a record into an array\n *\n * @example\n * import {collect} from 'fp-ts/Record'\n *\n * const x: { a: string, b: boolean } = { a: 'foo', b: false }\n * assert.deepStrictEqual(\n * collect((key, val) => ({key: key, value: val}))(x),\n * [{key: 'a', value: 'foo'}, {key: 'b', value: false}]\n * )\n *\n * @since 2.0.0\n */\n\nexports.collect = RR.collect;\n/**\n * @since 2.0.0\n */\n\nexports.toArray = RR.toReadonlyArray;\n\nfunction toUnfoldable(U) {\n return RR.toUnfoldable(U);\n}\n\nexports.toUnfoldable = toUnfoldable;\n\nfunction insertAt(k, a) {\n return RR.insertAt(k, a);\n}\n\nexports.insertAt = insertAt;\n/**\n * @since 2.0.0\n */\n\nexports.hasOwnProperty = RR.hasOwnProperty;\n\nfunction deleteAt(k) {\n return RR.deleteAt(k);\n}\n\nexports.deleteAt = deleteAt;\n/**\n * @since 2.0.0\n */\n\nexports.updateAt = RR.updateAt;\n/**\n * @since 2.0.0\n */\n\nexports.modifyAt = RR.modifyAt;\n\nfunction pop(k) {\n return RR.pop(k);\n}\n\nexports.pop = pop; // TODO: remove non-curried overloading in v3\n\n/**\n * Test whether one record contains all of the keys and values contained in another record\n *\n * @since 2.0.0\n */\n\nexports.isSubrecord = RR.isSubrecord;\n\nfunction getEq(E) {\n return RR.getEq(E);\n}\n\nexports.getEq = getEq;\n\nfunction getMonoid(S) {\n return RR.getMonoid(S);\n}\n\nexports.getMonoid = getMonoid; // TODO: remove non-curried overloading in v3\n\n/**\n * Lookup the value for a key in a record\n *\n * @since 2.0.0\n */\n\nexports.lookup = RR.lookup;\n/**\n * @since 2.0.0\n */\n\nexports.empty = {};\n\nfunction mapWithIndex(f) {\n return RR.mapWithIndex(f);\n}\n\nexports.mapWithIndex = mapWithIndex;\n\nfunction map(f) {\n return RR.map(f);\n}\n\nexports.map = map;\n\nfunction reduceWithIndex(b, f) {\n return RR.reduceWithIndex(b, f);\n}\n\nexports.reduceWithIndex = reduceWithIndex;\n\nfunction foldMapWithIndex(M) {\n return RR.foldMapWithIndex(M);\n}\n\nexports.foldMapWithIndex = foldMapWithIndex;\n\nfunction reduceRightWithIndex(b, f) {\n return RR.reduceRightWithIndex(b, f);\n}\n\nexports.reduceRightWithIndex = reduceRightWithIndex;\n/**\n * Create a record with one key/value pair\n *\n * @since 2.0.0\n */\n\nexports.singleton = RR.singleton;\n\nfunction traverseWithIndex(F) {\n return RR.traverseWithIndex(F);\n}\n\nexports.traverseWithIndex = traverseWithIndex;\n\nfunction traverse(F) {\n return RR.traverse(F);\n}\n\nexports.traverse = traverse;\n\nfunction sequence(F) {\n return RR.sequence(F);\n}\n\nexports.sequence = sequence;\n/**\n * @category Witherable\n * @since 2.6.5\n */\n\nexports.wither = RR.wither;\n/**\n * @category Witherable\n * @since 2.6.5\n */\n\nexports.wilt = RR.wilt;\n\nfunction partitionMapWithIndex(f) {\n return RR.partitionMapWithIndex(f);\n}\n\nexports.partitionMapWithIndex = partitionMapWithIndex;\n\nfunction partitionWithIndex(predicateWithIndex) {\n return RR.partitionWithIndex(predicateWithIndex);\n}\n\nexports.partitionWithIndex = partitionWithIndex;\n\nfunction filterMapWithIndex(f) {\n return RR.filterMapWithIndex(f);\n}\n\nexports.filterMapWithIndex = filterMapWithIndex;\n\nfunction filterWithIndex(predicateWithIndex) {\n return RR.filterWithIndex(predicateWithIndex);\n}\n\nexports.filterWithIndex = filterWithIndex;\n\nfunction fromFoldable(M, F) {\n return RR.fromFoldable(M, F);\n}\n\nexports.fromFoldable = fromFoldable;\n\nfunction fromFoldableMap(M, F) {\n return RR.fromFoldableMap(M, F);\n}\n\nexports.fromFoldableMap = fromFoldableMap;\n/**\n * @since 2.0.0\n */\n\nexports.every = RR.every;\n/**\n * @since 2.0.0\n */\n\nexports.some = RR.some; // TODO: remove non-curried overloading in v3\n\n/**\n * @since 2.0.0\n */\n\nexports.elem = RR.elem; // -------------------------------------------------------------------------------------\n// non-pipeables\n// -------------------------------------------------------------------------------------\n\nvar map_ = RR.Functor.map;\nvar mapWithIndex_ = RR.FunctorWithIndex.mapWithIndex;\nvar reduce_ = RR.Foldable.reduce;\nvar foldMap_ = RR.Foldable.foldMap;\nvar reduceRight_ = RR.Foldable.reduceRight;\nvar reduceWithIndex_ = RR.FoldableWithIndex.reduceWithIndex;\nvar foldMapWithIndex_ = RR.FoldableWithIndex.foldMapWithIndex;\nvar reduceRightWithIndex_ = RR.FoldableWithIndex.reduceRightWithIndex;\nvar filter_ = RR.Filterable.filter;\nvar filterMap_ = RR.Filterable.filterMap;\nvar partition_ = RR.Filterable.partition;\nvar partitionMap_ = RR.Filterable.partitionMap;\nvar filterWithIndex_ = RR.FilterableWithIndex.filterWithIndex;\nvar filterMapWithIndex_ = RR.FilterableWithIndex.filterMapWithIndex;\nvar partitionWithIndex_ = RR.FilterableWithIndex.partitionWithIndex;\nvar partitionMapWithIndex_ = RR.FilterableWithIndex.partitionMapWithIndex;\nvar traverseWithIndex_ = RR.TraversableWithIndex.traverseWithIndex;\nvar wither_ = RR.Witherable.wither;\nvar wilt_ = RR.Witherable.wilt;\n\nvar traverse_ = function traverse_(F) {\n var traverseF = traverse(F);\n return function (ta, f) {\n return traverseF(f)(ta);\n };\n}; // -------------------------------------------------------------------------------------\n// pipeables\n// -------------------------------------------------------------------------------------\n\n/**\n * @category Filterable\n * @since 2.0.0\n */\n\n\nexports.filter = RR.filter;\n/**\n * @category Filterable\n * @since 2.0.0\n */\n\nexports.filterMap = RR.filterMap;\n/**\n * @category Foldable\n * @since 2.0.0\n */\n\nexports.foldMap = RR.foldMap;\n/**\n * @category Filterable\n * @since 2.0.0\n */\n\nexports.partition = RR.partition;\n/**\n * @category Filterable\n * @since 2.0.0\n */\n\nexports.partitionMap = RR.partitionMap;\n/**\n * @category Foldable\n * @since 2.0.0\n */\n\nexports.reduce = RR.reduce;\n/**\n * @category Foldable\n * @since 2.0.0\n */\n\nexports.reduceRight = RR.reduceRight;\n/**\n * @category Compactable\n * @since 2.0.0\n */\n\nexports.compact = RR.compact;\n/**\n * @category Compactable\n * @since 2.0.0\n */\n\nexports.separate = RR.separate; // -------------------------------------------------------------------------------------\n// instances\n// -------------------------------------------------------------------------------------\n\n/**\n * @category instances\n * @since 2.0.0\n */\n\nexports.URI = 'Record';\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.Functor = {\n URI: exports.URI,\n map: map_\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.FunctorWithIndex = {\n URI: exports.URI,\n map: map_,\n mapWithIndex: mapWithIndex_\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.Foldable = {\n URI: exports.URI,\n reduce: reduce_,\n foldMap: foldMap_,\n reduceRight: reduceRight_\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.FoldableWithIndex = {\n URI: exports.URI,\n reduce: reduce_,\n foldMap: foldMap_,\n reduceRight: reduceRight_,\n reduceWithIndex: reduceWithIndex_,\n foldMapWithIndex: foldMapWithIndex_,\n reduceRightWithIndex: reduceRightWithIndex_\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.Compactable = {\n URI: exports.URI,\n compact: exports.compact,\n separate: exports.separate\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.Filterable = {\n URI: exports.URI,\n map: map_,\n compact: exports.compact,\n separate: exports.separate,\n filter: filter_,\n filterMap: filterMap_,\n partition: partition_,\n partitionMap: partitionMap_\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.FilterableWithIndex = {\n URI: exports.URI,\n map: map_,\n mapWithIndex: mapWithIndex_,\n compact: exports.compact,\n separate: exports.separate,\n filter: filter_,\n filterMap: filterMap_,\n partition: partition_,\n partitionMap: partitionMap_,\n filterMapWithIndex: filterMapWithIndex_,\n filterWithIndex: filterWithIndex_,\n partitionMapWithIndex: partitionMapWithIndex_,\n partitionWithIndex: partitionWithIndex_\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.Traversable = {\n URI: exports.URI,\n map: map_,\n reduce: reduce_,\n foldMap: foldMap_,\n reduceRight: reduceRight_,\n traverse: traverse_,\n sequence: sequence\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.TraversableWithIndex = {\n URI: exports.URI,\n map: map_,\n mapWithIndex: mapWithIndex_,\n reduce: reduce_,\n foldMap: foldMap_,\n reduceRight: reduceRight_,\n reduceWithIndex: reduceWithIndex_,\n foldMapWithIndex: foldMapWithIndex_,\n reduceRightWithIndex: reduceRightWithIndex_,\n traverse: traverse_,\n sequence: sequence,\n traverseWithIndex: traverseWithIndex_\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.Witherable = {\n URI: exports.URI,\n map: map_,\n reduce: reduce_,\n foldMap: foldMap_,\n reduceRight: reduceRight_,\n traverse: traverse_,\n sequence: sequence,\n compact: exports.compact,\n separate: exports.separate,\n filter: filter_,\n filterMap: filterMap_,\n partition: partition_,\n partitionMap: partitionMap_,\n wither: wither_,\n wilt: wilt_\n}; // TODO: remove in v3\n\n/**\n * @category instances\n * @since 2.0.0\n */\n\nexports.record = {\n URI: exports.URI,\n map: map_,\n reduce: reduce_,\n foldMap: foldMap_,\n reduceRight: reduceRight_,\n traverse: traverse_,\n sequence: sequence,\n compact: exports.compact,\n separate: exports.separate,\n filter: filter_,\n filterMap: filterMap_,\n partition: partition_,\n partitionMap: partitionMap_,\n mapWithIndex: mapWithIndex_,\n reduceWithIndex: reduceWithIndex_,\n foldMapWithIndex: foldMapWithIndex_,\n reduceRightWithIndex: reduceRightWithIndex_,\n filterMapWithIndex: filterMapWithIndex_,\n filterWithIndex: filterWithIndex_,\n partitionMapWithIndex: partitionMapWithIndex_,\n partitionWithIndex: partitionWithIndex_,\n traverseWithIndex: traverseWithIndex_,\n wither: wither_,\n wilt: wilt_\n};","var aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = toLength(O.length);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\n};\n","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}","var _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nfunction _getRequireWildcardCache() {\n if (typeof WeakMap !== \"function\") return null;\n var cache = new WeakMap();\n\n _getRequireWildcardCache = function _getRequireWildcardCache() {\n return cache;\n };\n\n return cache;\n}\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") {\n return {\n \"default\": obj\n };\n }\n\n var cache = _getRequireWildcardCache();\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj[\"default\"] = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n}\n\nmodule.exports = _interopRequireWildcard;","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n/** Used to stand-in for `undefined` hash values. */\n\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n/** Used as references for various `Number` constants. */\n\nvar INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991;\n/** `Object#toString` result references. */\n\nvar argsTag = '[object Arguments]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n symbolTag = '[object Symbol]';\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\n\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n/** Used to detect host constructors (Safari). */\n\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n/** Used to detect unsigned integer values. */\n\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n/** Detect free variable `global` from Node.js. */\n\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n/** Detect free variable `self`. */\n\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n/** Used as a reference to the global object. */\n\nvar root = freeGlobal || freeSelf || Function('return this')();\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\n\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0:\n return func.call(thisArg);\n\n case 1:\n return func.call(thisArg, args[0]);\n\n case 2:\n return func.call(thisArg, args[0], args[1]);\n\n case 3:\n return func.call(thisArg, args[0], args[1], args[2]);\n }\n\n return func.apply(thisArg, args);\n}\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\n\n\nfunction arrayIncludes(array, value) {\n var length = array ? array.length : 0;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\n\n\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n\n return false;\n}\n/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\n\n\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n\n return result;\n}\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\n\n\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n\n return array;\n}\n/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n\n\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while (fromRight ? index-- : ++index < length) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n\n return -1;\n}\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n\n\nfunction baseIndexOf(array, value, fromIndex) {\n if (value !== value) {\n return baseFindIndex(array, baseIsNaN, fromIndex);\n }\n\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n\n return -1;\n}\n/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\n\n\nfunction baseIsNaN(value) {\n return value !== value;\n}\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\n\n\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n\n return result;\n}\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\n\n\nfunction baseUnary(func) {\n return function (value) {\n return func(value);\n };\n}\n/**\n * Checks if a cache value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n\n\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\n\n\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\n\n\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n\n return result;\n}\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\n\n\nfunction overArg(func, transform) {\n return function (arg) {\n return func(transform(arg));\n };\n}\n/** Used for built-in method references. */\n\n\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n/** Used to detect overreaching core-js shims. */\n\nvar coreJsData = root['__core-js_shared__'];\n/** Used to detect methods masquerading as native. */\n\nvar maskSrcKey = function () {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? 'Symbol(src)_1.' + uid : '';\n}();\n/** Used to resolve the decompiled source of functions. */\n\n\nvar funcToString = funcProto.toString;\n/** Used to check objects for own properties. */\n\nvar hasOwnProperty = objectProto.hasOwnProperty;\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\n\nvar objectToString = objectProto.toString;\n/** Used to detect if a method is native. */\n\nvar reIsNative = RegExp('^' + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&').replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$');\n/** Built-in value references. */\n\nvar Symbol = root.Symbol,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n/* Built-in method references for those with the same name as other `lodash` methods. */\n\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeMax = Math.max;\n/* Built-in method references that are verified to be native. */\n\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n this.clear();\n\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\n\n\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n\n\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n\n\nfunction hashGet(key) {\n var data = this.__data__;\n\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n\n\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\n\n\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = nativeCreate && value === undefined ? HASH_UNDEFINED : value;\n return this;\n} // Add methods to `Hash`.\n\n\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n this.clear();\n\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\n\n\nfunction listCacheClear() {\n this.__data__ = [];\n}\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n\n\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n\n var lastIndex = data.length - 1;\n\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n\n return true;\n}\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n\n\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n return index < 0 ? undefined : data[index][1];\n}\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n\n\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\n\n\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n\n return this;\n} // Add methods to `ListCache`.\n\n\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n this.clear();\n\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\n\n\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash(),\n 'map': new (Map || ListCache)(),\n 'string': new Hash()\n };\n}\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n\n\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n\n\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n\n\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\n\n\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n} // Add methods to `MapCache`.\n\n\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\n\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n this.__data__ = new MapCache();\n\n while (++index < length) {\n this.add(values[index]);\n }\n}\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\n\n\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n\n return this;\n}\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\n\n\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n} // Add methods to `SetCache`.\n\n\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\n\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = isArray(value) || isArguments(value) ? baseTimes(value.length, String) : [];\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n\n return result;\n}\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n\n\nfunction assocIndexOf(array, key) {\n var length = array.length;\n\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n\n return -1;\n}\n/**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\n\n\nfunction baseDifference(array, values, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n isCommon = true,\n length = array.length,\n result = [],\n valuesLength = values.length;\n\n if (!length) {\n return result;\n }\n\n if (iteratee) {\n values = arrayMap(values, baseUnary(iteratee));\n }\n\n if (comparator) {\n includes = arrayIncludesWith;\n isCommon = false;\n } else if (values.length >= LARGE_ARRAY_SIZE) {\n includes = cacheHas;\n isCommon = false;\n values = new SetCache(values);\n }\n\n outer: while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n value = comparator || value !== 0 ? value : 0;\n\n if (isCommon && computed === computed) {\n var valuesIndex = valuesLength;\n\n while (valuesIndex--) {\n if (values[valuesIndex] === computed) {\n continue outer;\n }\n }\n\n result.push(value);\n } else if (!includes(values, computed, comparator)) {\n result.push(value);\n }\n }\n\n return result;\n}\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\n\n\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n\n return result;\n}\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\n\n\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\n\n\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n\n var pattern = isFunction(value) || isHostObject(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n\n\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n\n return result;\n}\n/**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} props The property identifiers to pick.\n * @returns {Object} Returns the new object.\n */\n\n\nfunction basePick(object, props) {\n object = Object(object);\n return basePickBy(object, props, function (value, key) {\n return key in object;\n });\n}\n/**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} props The property identifiers to pick from.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\n\n\nfunction basePickBy(object, props, predicate) {\n var index = -1,\n length = props.length,\n result = {};\n\n while (++index < length) {\n var key = props[index],\n value = object[key];\n\n if (predicate(value, key)) {\n result[key] = value;\n }\n }\n\n return result;\n}\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\n\n\nfunction baseRest(func, start) {\n start = nativeMax(start === undefined ? func.length - 1 : start, 0);\n return function () {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n\n index = -1;\n var otherArgs = Array(start + 1);\n\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n\n otherArgs[start] = array;\n return apply(func, this, otherArgs);\n };\n}\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\n\n\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\n\n\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key) ? data[typeof key == 'string' ? 'string' : 'hash'] : data.map;\n}\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\n\n\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n/**\n * Creates an array of the own enumerable symbol properties of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\n\n\nvar getSymbols = nativeGetSymbols ? overArg(nativeGetSymbols, Object) : stubArray;\n/**\n * Creates an array of the own and inherited enumerable symbol properties\n * of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\n\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function (object) {\n var result = [];\n\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n\n return result;\n};\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\n\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\n\n\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length && (typeof value == 'number' || reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length;\n}\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\n\n\nfunction isKeyable(value) {\n var type = typeof value;\n return type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean' ? value !== '__proto__' : value === null;\n}\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\n\n\nfunction isMasked(func) {\n return !!maskSrcKey && maskSrcKey in func;\n}\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\n\n\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = typeof Ctor == 'function' && Ctor.prototype || objectProto;\n return value === proto;\n}\n/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n\n\nfunction nativeKeysIn(object) {\n var result = [];\n\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n\n return result;\n}\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\n\n\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n\n var result = value + '';\n return result == '0' && 1 / value == -INFINITY ? '-0' : result;\n}\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\n\n\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n\n try {\n return func + '';\n } catch (e) {}\n }\n\n return '';\n}\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\n\n\nfunction eq(value, other) {\n return value === other || value !== value && other !== other;\n}\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\n\n\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') && (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\n\n\nvar isArray = Array.isArray;\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\n\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\n\n\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\n\n\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\n\n\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\n\n\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\n\n\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\n\n\nfunction isSymbol(value) {\n return typeof value == 'symbol' || isObjectLike(value) && objectToString.call(value) == symbolTag;\n}\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\n\n\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n/**\n * The opposite of `_.pick`; this method creates an object composed of the\n * own and inherited enumerable string keyed properties of `object` that are\n * not omitted.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [props] The property identifiers to omit.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omit(object, ['a', 'c']);\n * // => { 'b': '2' }\n */\n\n\nvar omit = baseRest(function (object, props) {\n if (object == null) {\n return {};\n }\n\n props = arrayMap(baseFlatten(props, 1), toKey);\n return basePick(object, baseDifference(getAllKeysIn(object), props));\n});\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\n\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = omit;","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n (function () { return this; })() || Function('return this')();\n","export default path => {\n if (path === undefined) {\n return path\n }\n if (path === `/`) {\n return `/`\n }\n if (path.charAt(path.length - 1) === `/`) {\n return path.slice(0, -1)\n }\n return path\n}\n","import { pick } from \"@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.onRouteUpdate = function (_ref) {\n var location = _ref.location;\n\n if (process.env.NODE_ENV !== \"production\" || typeof gtag !== \"function\") {\n return null;\n }\n\n var pathIsExcluded = location && typeof window.excludeGtagPaths !== \"undefined\" && window.excludeGtagPaths.some(function (rx) {\n return rx.test(location.pathname);\n });\n if (pathIsExcluded) return null; // wrap inside a timeout to make sure react-helmet is done with its changes (https://github.com/gatsbyjs/gatsby/issues/11592)\n\n var sendPageView = function sendPageView() {\n var pagePath = location ? location.pathname + location.search + location.hash : undefined;\n window.gtag(\"event\", \"page_view\", {\n page_path: pagePath\n });\n };\n\n if (\"requestAnimationFrame\" in window) {\n requestAnimationFrame(function () {\n requestAnimationFrame(sendPageView);\n });\n } else {\n // simulate 2 rAF calls\n setTimeout(sendPageView, 32);\n }\n\n return null;\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}","\"use strict\";\n\nrequire(\"core-js/modules/es.array.reduce.js\");\n\nrequire(\"core-js/modules/es.array.reduce-right.js\");\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function (o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function (o, v) {\n o[\"default\"] = v;\n});\n\nvar __importStar = this && this.__importStar || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) {\n if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n }\n\n __setModuleDefault(result, mod);\n\n return result;\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.rotate = exports.intersperse = exports.prependToAll = exports.unzip = exports.zip = exports.zipWith = exports.sort = exports.lefts = exports.rights = exports.reverse = exports.modifyAt = exports.deleteAt = exports.updateAt = exports.insertAt = exports.copy = exports.findLastIndex = exports.findLastMap = exports.findLast = exports.findFirstMap = exports.findFirst = exports.findIndex = exports.dropLeftWhile = exports.dropRight = exports.dropLeft = exports.spanLeft = exports.takeLeftWhile = exports.takeRight = exports.takeLeft = exports.init = exports.tail = exports.last = exports.head = exports.snoc = exports.cons = exports.lookup = exports.isOutOfBound = exports.isNonEmpty = exports.isEmpty = exports.scanRight = exports.scanLeft = exports.foldRight = exports.foldLeft = exports.flatten = exports.replicate = exports.range = exports.makeBy = exports.getOrd = exports.getEq = exports.getMonoid = exports.getShow = void 0;\nexports.Applicative = exports.FunctorWithIndex = exports.Functor = exports.URI = exports.zero = exports.unfold = exports.wilt = exports.wither = exports.traverseWithIndex = exports.sequence = exports.traverse = exports.reduceRightWithIndex = exports.reduceRight = exports.reduceWithIndex = exports.reduce = exports.foldMapWithIndex = exports.foldMap = exports.duplicate = exports.extend = exports.filterWithIndex = exports.filterMapWithIndex = exports.alt = exports.altW = exports.partitionMapWithIndex = exports.partitionMap = exports.partitionWithIndex = exports.partition = exports.filterMap = exports.filter = exports.separate = exports.compact = exports.mapWithIndex = exports.chainFirst = exports.chainWithIndex = exports.chain = exports.apSecond = exports.apFirst = exports.ap = exports.map = exports.of = exports.difference = exports.intersection = exports.union = exports.comprehension = exports.chunksOf = exports.splitAt = exports.chop = exports.sortBy = exports.uniq = exports.elem = void 0;\nexports.apS = exports.bind = exports.bindTo = exports.Do = exports.some = exports.every = exports.empty = exports.unsafeDeleteAt = exports.unsafeUpdateAt = exports.unsafeInsertAt = exports.array = exports.Witherable = exports.TraversableWithIndex = exports.Traversable = exports.FoldableWithIndex = exports.Foldable = exports.FilterableWithIndex = exports.Filterable = exports.Compactable = exports.Extend = exports.Alternative = exports.Alt = exports.Unfoldable = exports.Monad = void 0;\n\nvar RA = __importStar(require(\"./ReadonlyArray\")); // -------------------------------------------------------------------------------------\n// model\n// -------------------------------------------------------------------------------------\n\n/* tslint:disable:readonly-array */\n\n/**\n * @category instances\n * @since 2.0.0\n */\n\n\nexports.getShow = RA.getShow;\n/**\n * Returns a `Monoid` for `Array`\n *\n * @example\n * import { getMonoid } from 'fp-ts/Array'\n *\n * const M = getMonoid()\n * assert.deepStrictEqual(M.concat([1, 2], [3, 4]), [1, 2, 3, 4])\n *\n * @category instances\n * @since 2.0.0\n */\n\nexports.getMonoid = RA.getMonoid;\n/**\n * Derives an `Eq` over the `Array` of a given element type from the `Eq` of that type. The derived `Eq` defines two\n * arrays as equal if all elements of both arrays are compared equal pairwise with the given `E`. In case of arrays of\n * different lengths, the result is non equality.\n *\n * @example\n * import { eqString } from 'fp-ts/Eq'\n * import { getEq } from 'fp-ts/Array'\n *\n * const E = getEq(eqString)\n * assert.strictEqual(E.equals(['a', 'b'], ['a', 'b']), true)\n * assert.strictEqual(E.equals(['a'], []), false)\n *\n * @category instances\n * @since 2.0.0\n */\n\nexports.getEq = RA.getEq;\n/**\n * Derives an `Ord` over the `Array` of a given element type from the `Ord` of that type. The ordering between two such\n * arrays is equal to: the first non equal comparison of each arrays elements taken pairwise in increasing order, in\n * case of equality over all the pairwise elements; the longest array is considered the greatest, if both arrays have\n * the same length, the result is equality.\n *\n * @example\n * import { getOrd } from 'fp-ts/Array'\n * import { ordString } from 'fp-ts/Ord'\n *\n * const O = getOrd(ordString)\n * assert.strictEqual(O.compare(['b'], ['a']), 1)\n * assert.strictEqual(O.compare(['a'], ['a']), 0)\n * assert.strictEqual(O.compare(['a'], ['b']), -1)\n *\n * @category instances\n * @since 2.0.0\n */\n\nexports.getOrd = RA.getOrd; // -------------------------------------------------------------------------------------\n// constructors\n// -------------------------------------------------------------------------------------\n\n/**\n * Return a list of length `n` with element `i` initialized with `f(i)`\n *\n * @example\n * import { makeBy } from 'fp-ts/Array'\n *\n * const double = (n: number): number => n * 2\n * assert.deepStrictEqual(makeBy(5, double), [0, 2, 4, 6, 8])\n *\n * @category constructors\n * @since 2.0.0\n */\n\nexports.makeBy = RA.makeBy;\n/**\n * Create an array containing a range of integers, including both endpoints\n *\n * @example\n * import { range } from 'fp-ts/Array'\n *\n * assert.deepStrictEqual(range(1, 5), [1, 2, 3, 4, 5])\n *\n * @category constructors\n * @since 2.0.0\n */\n\nexports.range = RA.range;\n/**\n * Create an array containing a value repeated the specified number of times\n *\n * @example\n * import { replicate } from 'fp-ts/Array'\n *\n * assert.deepStrictEqual(replicate(3, 'a'), ['a', 'a', 'a'])\n *\n * @category constructors\n * @since 2.0.0\n */\n\nexports.replicate = RA.replicate;\n/**\n * Removes one level of nesting.\n *\n * Derivable from `Monad`.\n *\n * @example\n * import { flatten } from 'fp-ts/Array'\n *\n * assert.deepStrictEqual(flatten([[1], [2], [3]]), [1, 2, 3])\n *\n * @category combinators\n * @since 2.0.0\n */\n\nexports.flatten = RA.flatten;\n/**\n * Break an array into its first element and remaining elements\n *\n * @example\n * import { foldLeft } from 'fp-ts/Array'\n *\n * const len: (as: Array) => number = foldLeft(() => 0, (_, tail) => 1 + len(tail))\n * assert.strictEqual(len([1, 2, 3]), 3)\n *\n * @category destructors\n * @since 2.0.0\n */\n\nexports.foldLeft = RA.foldLeft;\n/**\n * Break an array into its initial elements and the last element\n *\n * @category destructors\n * @since 2.0.0\n */\n\nexports.foldRight = RA.foldRight;\n/**\n * Same as `reduce` but it carries over the intermediate steps\n *\n * @example\n * import { scanLeft } from 'fp-ts/Array'\n *\n * assert.deepStrictEqual(scanLeft(10, (b, a: number) => b - a)([1, 2, 3]), [10, 9, 7, 4])\n *\n * @category combinators\n * @since 2.0.0\n */\n\nexports.scanLeft = RA.scanLeft;\n/**\n * Fold an array from the right, keeping all intermediate results instead of only the final result\n *\n * @example\n * import { scanRight } from 'fp-ts/Array'\n *\n * assert.deepStrictEqual(scanRight(10, (a: number, b) => b - a)([1, 2, 3]), [4, 5, 7, 10])\n *\n * @category combinators\n * @since 2.0.0\n */\n\nexports.scanRight = RA.scanRight;\n/**\n * Test whether an array is empty\n *\n * @example\n * import { isEmpty } from 'fp-ts/Array'\n *\n * assert.strictEqual(isEmpty([]), true)\n *\n * @since 2.0.0\n */\n\nexports.isEmpty = RA.isEmpty;\n/**\n * Test whether an array is non empty narrowing down the type to `NonEmptyArray`\n *\n * @category guards\n * @since 2.0.0\n */\n\nexports.isNonEmpty = RA.isNonEmpty;\n/**\n * Test whether an array contains a particular index\n *\n * @since 2.0.0\n */\n\nexports.isOutOfBound = RA.isOutOfBound; // TODO: remove non-curried overloading in v3\n\n/**\n * This function provides a safe way to read a value at a particular index from an array\n *\n * @example\n * import { lookup } from 'fp-ts/Array'\n * import { some, none } from 'fp-ts/Option'\n * import { pipe } from 'fp-ts/function'\n *\n * assert.deepStrictEqual(pipe([1, 2, 3], lookup(1)), some(2))\n * assert.deepStrictEqual(pipe([1, 2, 3], lookup(3)), none)\n *\n * @since 2.0.0\n */\n\nexports.lookup = RA.lookup; // TODO: remove non-curried overloading in v3\n\n/**\n * Attaches an element to the front of an array, creating a new non empty array\n *\n * @example\n * import { cons } from 'fp-ts/Array'\n * import { pipe } from 'fp-ts/function'\n *\n * assert.deepStrictEqual(pipe([1, 2, 3], cons(0)), [0, 1, 2, 3])\n *\n * @category constructors\n * @since 2.0.0\n */\n\nexports.cons = RA.cons; // TODO: curry in v3\n\n/**\n * Append an element to the end of an array, creating a new non empty array\n *\n * @example\n * import { snoc } from 'fp-ts/Array'\n *\n * assert.deepStrictEqual(snoc([1, 2, 3], 4), [1, 2, 3, 4])\n *\n * @category constructors\n * @since 2.0.0\n */\n\nexports.snoc = RA.snoc;\n/**\n * Get the first element in an array, or `None` if the array is empty\n *\n * @example\n * import { head } from 'fp-ts/Array'\n * import { some, none } from 'fp-ts/Option'\n *\n * assert.deepStrictEqual(head([1, 2, 3]), some(1))\n * assert.deepStrictEqual(head([]), none)\n *\n * @category destructors\n * @since 2.0.0\n */\n\nexports.head = RA.head;\n/**\n * Get the last element in an array, or `None` if the array is empty\n *\n * @example\n * import { last } from 'fp-ts/Array'\n * import { some, none } from 'fp-ts/Option'\n *\n * assert.deepStrictEqual(last([1, 2, 3]), some(3))\n * assert.deepStrictEqual(last([]), none)\n *\n * @category destructors\n * @since 2.0.0\n */\n\nexports.last = RA.last;\n/**\n * Get all but the first element of an array, creating a new array, or `None` if the array is empty\n *\n * @example\n * import { tail } from 'fp-ts/Array'\n * import { some, none } from 'fp-ts/Option'\n *\n * assert.deepStrictEqual(tail([1, 2, 3]), some([2, 3]))\n * assert.deepStrictEqual(tail([]), none)\n *\n * @category destructors\n * @since 2.0.0\n */\n\nexports.tail = RA.tail;\n/**\n * Get all but the last element of an array, creating a new array, or `None` if the array is empty\n *\n * @example\n * import { init } from 'fp-ts/Array'\n * import { some, none } from 'fp-ts/Option'\n *\n * assert.deepStrictEqual(init([1, 2, 3]), some([1, 2]))\n * assert.deepStrictEqual(init([]), none)\n *\n * @category destructors\n * @since 2.0.0\n */\n\nexports.init = RA.init;\n/**\n * Keep only a number of elements from the start of an array, creating a new array.\n * `n` must be a natural number\n *\n * @example\n * import { takeLeft } from 'fp-ts/Array'\n *\n * assert.deepStrictEqual(takeLeft(2)([1, 2, 3]), [1, 2])\n *\n * @category combinators\n * @since 2.0.0\n */\n\nexports.takeLeft = RA.takeLeft;\n/**\n * Keep only a number of elements from the end of an array, creating a new array.\n * `n` must be a natural number\n *\n * @example\n * import { takeRight } from 'fp-ts/Array'\n *\n * assert.deepStrictEqual(takeRight(2)([1, 2, 3, 4, 5]), [4, 5])\n *\n * @category combinators\n * @since 2.0.0\n */\n\nexports.takeRight = RA.takeRight;\n\nfunction takeLeftWhile(predicate) {\n return RA.takeLeftWhile(predicate);\n}\n\nexports.takeLeftWhile = takeLeftWhile;\n\nfunction spanLeft(predicate) {\n return RA.spanLeft(predicate);\n}\n\nexports.spanLeft = spanLeft;\n/* tslint:enable:readonly-keyword */\n\n/**\n * Drop a number of elements from the start of an array, creating a new array\n *\n * @example\n * import { dropLeft } from 'fp-ts/Array'\n *\n * assert.deepStrictEqual(dropLeft(2)([1, 2, 3]), [3])\n *\n * @category combinators\n * @since 2.0.0\n */\n\nexports.dropLeft = RA.dropLeft;\n/**\n * Drop a number of elements from the end of an array, creating a new array\n *\n * @example\n * import { dropRight } from 'fp-ts/Array'\n *\n * assert.deepStrictEqual(dropRight(2)([1, 2, 3, 4, 5]), [1, 2, 3])\n *\n * @category combinators\n * @since 2.0.0\n */\n\nexports.dropRight = RA.dropRight;\n/**\n * Remove the longest initial subarray for which all element satisfy the specified predicate, creating a new array\n *\n * @example\n * import { dropLeftWhile } from 'fp-ts/Array'\n *\n * assert.deepStrictEqual(dropLeftWhile((n: number) => n % 2 === 1)([1, 3, 2, 4, 5]), [2, 4, 5])\n *\n * @category combinators\n * @since 2.0.0\n */\n\nexports.dropLeftWhile = RA.dropLeftWhile;\n/**\n * Find the first index for which a predicate holds\n *\n * @example\n * import { findIndex } from 'fp-ts/Array'\n * import { some, none } from 'fp-ts/Option'\n *\n * assert.deepStrictEqual(findIndex((n: number) => n === 2)([1, 2, 3]), some(1))\n * assert.deepStrictEqual(findIndex((n: number) => n === 2)([]), none)\n *\n * @since 2.0.0\n */\n\nexports.findIndex = RA.findIndex;\n\nfunction findFirst(predicate) {\n return RA.findFirst(predicate);\n}\n\nexports.findFirst = findFirst;\n/**\n * Find the first element returned by an option based selector function\n *\n * @example\n * import { findFirstMap } from 'fp-ts/Array'\n * import { some, none } from 'fp-ts/Option'\n *\n * interface Person {\n * name: string\n * age?: number\n * }\n *\n * const persons: Array = [{ name: 'John' }, { name: 'Mary', age: 45 }, { name: 'Joey', age: 28 }]\n *\n * // returns the name of the first person that has an age\n * assert.deepStrictEqual(findFirstMap((p: Person) => (p.age === undefined ? none : some(p.name)))(persons), some('Mary'))\n *\n * @category destructors\n * @since 2.0.0\n */\n\nexports.findFirstMap = RA.findFirstMap;\n\nfunction findLast(predicate) {\n return RA.findLast(predicate);\n}\n\nexports.findLast = findLast;\n/**\n * Find the last element returned by an option based selector function\n *\n * @example\n * import { findLastMap } from 'fp-ts/Array'\n * import { some, none } from 'fp-ts/Option'\n *\n * interface Person {\n * name: string\n * age?: number\n * }\n *\n * const persons: Array = [{ name: 'John' }, { name: 'Mary', age: 45 }, { name: 'Joey', age: 28 }]\n *\n * // returns the name of the last person that has an age\n * assert.deepStrictEqual(findLastMap((p: Person) => (p.age === undefined ? none : some(p.name)))(persons), some('Joey'))\n *\n * @category destructors\n * @since 2.0.0\n */\n\nexports.findLastMap = RA.findLastMap;\n/**\n * Returns the index of the last element of the list which matches the predicate\n *\n * @example\n * import { findLastIndex } from 'fp-ts/Array'\n * import { some, none } from 'fp-ts/Option'\n *\n * interface X {\n * a: number\n * b: number\n * }\n * const xs: Array = [{ a: 1, b: 0 }, { a: 1, b: 1 }]\n * assert.deepStrictEqual(findLastIndex((x: { a: number }) => x.a === 1)(xs), some(1))\n * assert.deepStrictEqual(findLastIndex((x: { a: number }) => x.a === 4)(xs), none)\n *\n *\n * @since 2.0.0\n */\n\nexports.findLastIndex = RA.findLastIndex;\n/**\n * @category combinators\n * @since 2.0.0\n */\n\nexports.copy = RA.toArray;\n/**\n * Insert an element at the specified index, creating a new array, or returning `None` if the index is out of bounds\n *\n * @example\n * import { insertAt } from 'fp-ts/Array'\n * import { some } from 'fp-ts/Option'\n *\n * assert.deepStrictEqual(insertAt(2, 5)([1, 2, 3, 4]), some([1, 2, 5, 3, 4]))\n *\n * @since 2.0.0\n */\n\nexports.insertAt = RA.insertAt;\n/**\n * Change the element at the specified index, creating a new array, or returning `None` if the index is out of bounds\n *\n * @example\n * import { updateAt } from 'fp-ts/Array'\n * import { some, none } from 'fp-ts/Option'\n *\n * assert.deepStrictEqual(updateAt(1, 1)([1, 2, 3]), some([1, 1, 3]))\n * assert.deepStrictEqual(updateAt(1, 1)([]), none)\n *\n * @since 2.0.0\n */\n\nexports.updateAt = RA.updateAt;\n/**\n * Delete the element at the specified index, creating a new array, or returning `None` if the index is out of bounds\n *\n * @example\n * import { deleteAt } from 'fp-ts/Array'\n * import { some, none } from 'fp-ts/Option'\n *\n * assert.deepStrictEqual(deleteAt(0)([1, 2, 3]), some([2, 3]))\n * assert.deepStrictEqual(deleteAt(1)([]), none)\n *\n * @since 2.0.0\n */\n\nexports.deleteAt = RA.deleteAt;\n/**\n * Apply a function to the element at the specified index, creating a new array, or returning `None` if the index is out\n * of bounds\n *\n * @example\n * import { modifyAt } from 'fp-ts/Array'\n * import { some, none } from 'fp-ts/Option'\n *\n * const double = (x: number): number => x * 2\n * assert.deepStrictEqual(modifyAt(1, double)([1, 2, 3]), some([1, 4, 3]))\n * assert.deepStrictEqual(modifyAt(1, double)([]), none)\n *\n * @since 2.0.0\n */\n\nexports.modifyAt = RA.modifyAt;\n/**\n * Reverse an array, creating a new array\n *\n * @example\n * import { reverse } from 'fp-ts/Array'\n *\n * assert.deepStrictEqual(reverse([1, 2, 3]), [3, 2, 1])\n *\n * @category combinators\n * @since 2.0.0\n */\n\nexports.reverse = RA.reverse;\n/**\n * Extracts from an array of `Either` all the `Right` elements. All the `Right` elements are extracted in order\n *\n * @example\n * import { rights } from 'fp-ts/Array'\n * import { right, left } from 'fp-ts/Either'\n *\n * assert.deepStrictEqual(rights([right(1), left('foo'), right(2)]), [1, 2])\n *\n * @category combinators\n * @since 2.0.0\n */\n\nexports.rights = RA.rights;\n/**\n * Extracts from an array of `Either` all the `Left` elements. All the `Left` elements are extracted in order\n *\n * @example\n * import { lefts } from 'fp-ts/Array'\n * import { left, right } from 'fp-ts/Either'\n *\n * assert.deepStrictEqual(lefts([right(1), left('foo'), right(2)]), ['foo'])\n *\n * @category combinators\n * @since 2.0.0\n */\n\nexports.lefts = RA.lefts;\n/**\n * Sort the elements of an array in increasing order, creating a new array\n *\n * @example\n * import { sort } from 'fp-ts/Array'\n * import { ordNumber } from 'fp-ts/Ord'\n *\n * assert.deepStrictEqual(sort(ordNumber)([3, 2, 1]), [1, 2, 3])\n *\n * @category combinators\n * @since 2.0.0\n */\n\nexports.sort = RA.sort;\n/**\n * Apply a function to pairs of elements at the same index in two arrays, collecting the results in a new array. If one\n * input array is short, excess elements of the longer array are discarded.\n *\n * @example\n * import { zipWith } from 'fp-ts/Array'\n *\n * assert.deepStrictEqual(zipWith([1, 2, 3], ['a', 'b', 'c', 'd'], (n, s) => s + n), ['a1', 'b2', 'c3'])\n *\n * @category combinators\n * @since 2.0.0\n */\n\nexports.zipWith = RA.zipWith; // TODO: remove non-curried overloading in v3\n\n/**\n * Takes two arrays and returns an array of corresponding pairs. If one input array is short, excess elements of the\n * longer array are discarded\n *\n * @example\n * import { zip } from 'fp-ts/Array'\n * import { pipe } from 'fp-ts/function'\n *\n * assert.deepStrictEqual(pipe([1, 2, 3], zip(['a', 'b', 'c', 'd'])), [[1, 'a'], [2, 'b'], [3, 'c']])\n *\n * @category combinators\n * @since 2.0.0\n */\n\nexports.zip = RA.zip;\n/**\n * The function is reverse of `zip`. Takes an array of pairs and return two corresponding arrays\n *\n * @example\n * import { unzip } from 'fp-ts/Array'\n *\n * assert.deepStrictEqual(unzip([[1, 'a'], [2, 'b'], [3, 'c']]), [[1, 2, 3], ['a', 'b', 'c']])\n *\n * @since 2.0.0\n */\n\nexports.unzip = RA.unzip;\n/**\n * Prepend an element to every member of an array\n *\n * @example\n * import { prependToAll } from 'fp-ts/Array'\n *\n * assert.deepStrictEqual(prependToAll(9)([1, 2, 3, 4]), [9, 1, 9, 2, 9, 3, 9, 4])\n *\n * @category combinators\n * @since 2.9.0\n */\n\nexports.prependToAll = RA.prependToAll;\n/**\n * Places an element in between members of an array\n *\n * @example\n * import { intersperse } from 'fp-ts/Array'\n *\n * assert.deepStrictEqual(intersperse(9)([1, 2, 3, 4]), [1, 9, 2, 9, 3, 9, 4])\n *\n * @category combinators\n * @since 2.9.0\n */\n\nexports.intersperse = RA.intersperse;\n/**\n * Rotate an array to the right by `n` steps\n *\n * @example\n * import { rotate } from 'fp-ts/Array'\n *\n * assert.deepStrictEqual(rotate(2)([1, 2, 3, 4, 5]), [4, 5, 1, 2, 3])\n *\n * @category combinators\n * @since 2.0.0\n */\n\nexports.rotate = RA.rotate; // TODO: remove non-curried overloading in v3\n\n/**\n * Test if a value is a member of an array. Takes a `Eq` as a single\n * argument which returns the function to use to search for a value of type `A` in\n * an array of type `Array`.\n *\n * @example\n * import { elem } from 'fp-ts/Array'\n * import { eqNumber } from 'fp-ts/Eq'\n * import { pipe } from 'fp-ts/function'\n *\n * assert.strictEqual(pipe([1, 2, 3], elem(eqNumber)(2)), true)\n * assert.strictEqual(pipe([1, 2, 3], elem(eqNumber)(0)), false)\n *\n * @since 2.0.0\n */\n\nexports.elem = RA.elem;\n/**\n * Remove duplicates from an array, keeping the first occurrence of an element.\n *\n * @example\n * import { uniq } from 'fp-ts/Array'\n * import { eqNumber } from 'fp-ts/Eq'\n *\n * assert.deepStrictEqual(uniq(eqNumber)([1, 2, 1]), [1, 2])\n *\n * @category combinators\n * @since 2.0.0\n */\n\nexports.uniq = RA.uniq;\n/**\n * Sort the elements of an array in increasing order, where elements are compared using first `ords[0]`, then `ords[1]`,\n * etc...\n *\n * @example\n * import { sortBy } from 'fp-ts/Array'\n * import { ord, ordString, ordNumber } from 'fp-ts/Ord'\n *\n * interface Person {\n * name: string\n * age: number\n * }\n * const byName = ord.contramap(ordString, (p: Person) => p.name)\n * const byAge = ord.contramap(ordNumber, (p: Person) => p.age)\n *\n * const sortByNameByAge = sortBy([byName, byAge])\n *\n * const persons = [{ name: 'a', age: 1 }, { name: 'b', age: 3 }, { name: 'c', age: 2 }, { name: 'b', age: 2 }]\n * assert.deepStrictEqual(sortByNameByAge(persons), [\n * { name: 'a', age: 1 },\n * { name: 'b', age: 2 },\n * { name: 'b', age: 3 },\n * { name: 'c', age: 2 }\n * ])\n *\n * @category combinators\n * @since 2.0.0\n */\n\nexports.sortBy = RA.sortBy;\n/**\n * A useful recursion pattern for processing an array to produce a new array, often used for \"chopping\" up the input\n * array. Typically chop is called with some function that will consume an initial prefix of the array and produce a\n * value and the rest of the array.\n *\n * @example\n * import { Eq, eqNumber } from 'fp-ts/Eq'\n * import { chop, spanLeft } from 'fp-ts/Array'\n *\n * const group = (S: Eq): ((as: Array) => Array>) => {\n * return chop(as => {\n * const { init, rest } = spanLeft((a: A) => S.equals(a, as[0]))(as)\n * return [init, rest]\n * })\n * }\n * assert.deepStrictEqual(group(eqNumber)([1, 1, 2, 3, 3, 4]), [[1, 1], [2], [3, 3], [4]])\n *\n * @category combinators\n * @since 2.0.0\n */\n\nexports.chop = RA.chop;\n/**\n * Splits an array into two pieces, the first piece has `n` elements.\n *\n * @example\n * import { splitAt } from 'fp-ts/Array'\n *\n * assert.deepStrictEqual(splitAt(2)([1, 2, 3, 4, 5]), [[1, 2], [3, 4, 5]])\n *\n * @since 2.0.0\n */\n\nexports.splitAt = RA.splitAt;\n/**\n * Splits an array into length-`n` pieces. The last piece will be shorter if `n` does not evenly divide the length of\n * the array. Note that `chunksOf(n)([])` is `[]`, not `[[]]`. This is intentional, and is consistent with a recursive\n * definition of `chunksOf`; it satisfies the property that\n *\n * ```ts\n * chunksOf(n)(xs).concat(chunksOf(n)(ys)) == chunksOf(n)(xs.concat(ys)))\n * ```\n *\n * whenever `n` evenly divides the length of `xs`.\n *\n * @example\n * import { chunksOf } from 'fp-ts/Array'\n *\n * assert.deepStrictEqual(chunksOf(2)([1, 2, 3, 4, 5]), [[1, 2], [3, 4], [5]])\n *\n * @since 2.0.0\n */\n\nexports.chunksOf = RA.chunksOf;\n\nfunction comprehension(input, f, g) {\n if (g === void 0) {\n g = function g() {\n return true;\n };\n }\n\n return RA.comprehension(input, f, g);\n}\n\nexports.comprehension = comprehension; // TODO: remove non-curried overloading in v3\n\n/**\n * Creates an array of unique values, in order, from all given arrays using a `Eq` for equality comparisons\n *\n * @example\n * import { union } from 'fp-ts/Array'\n * import { eqNumber } from 'fp-ts/Eq'\n * import { pipe } from 'fp-ts/function'\n *\n * assert.deepStrictEqual(pipe([1, 2], union(eqNumber)([2, 3])), [1, 2, 3])\n *\n * @category combinators\n * @since 2.0.0\n */\n\nexports.union = RA.union; // TODO: remove non-curried overloading in v3\n\n/**\n * Creates an array of unique values that are included in all given arrays using a `Eq` for equality\n * comparisons. The order and references of result values are determined by the first array.\n *\n * @example\n * import { intersection } from 'fp-ts/Array'\n * import { eqNumber } from 'fp-ts/Eq'\n * import { pipe } from 'fp-ts/function'\n *\n * assert.deepStrictEqual(pipe([1, 2], intersection(eqNumber)([2, 3])), [2])\n *\n * @category combinators\n * @since 2.0.0\n */\n\nexports.intersection = RA.intersection; // TODO: remove non-curried overloading in v3\n\n/**\n * Creates an array of array values not included in the other given array using a `Eq` for equality\n * comparisons. The order and references of result values are determined by the first array.\n *\n * @example\n * import { difference } from 'fp-ts/Array'\n * import { eqNumber } from 'fp-ts/Eq'\n * import { pipe } from 'fp-ts/function'\n *\n * assert.deepStrictEqual(pipe([1, 2], difference(eqNumber)([2, 3])), [1])\n *\n * @category combinators\n * @since 2.0.0\n */\n\nexports.difference = RA.difference;\n/**\n * Wrap a value into the type constructor.\n *\n * @category Applicative\n * @since 2.0.0\n */\n\nexports.of = RA.of; // -------------------------------------------------------------------------------------\n// non-pipeables\n// -------------------------------------------------------------------------------------\n\nvar map_ = RA.Monad.map;\nvar ap_ = RA.Monad.ap;\nvar chain_ = RA.Monad.chain;\nvar mapWithIndex_ = RA.FunctorWithIndex.mapWithIndex;\nvar filter_ = RA.Filterable.filter;\nvar filterMap_ = RA.Filterable.filterMap;\nvar partition_ = RA.Filterable.partition;\nvar partitionMap_ = RA.Filterable.partitionMap;\nvar filterWithIndex_ = RA.FilterableWithIndex.filterWithIndex;\nvar filterMapWithIndex_ = RA.FilterableWithIndex.filterMapWithIndex;\nvar partitionWithIndex_ = RA.FilterableWithIndex.partitionWithIndex;\nvar partitionMapWithIndex_ = RA.FilterableWithIndex.partitionMapWithIndex;\nvar reduce_ = RA.Foldable.reduce;\nvar foldMap_ = RA.Foldable.foldMap;\nvar reduceRight_ = RA.Foldable.reduceRight;\nvar traverse_ = RA.Traversable.traverse;\nvar alt_ = RA.Alternative.alt;\nvar reduceWithIndex_ = RA.FoldableWithIndex.reduceWithIndex;\nvar foldMapWithIndex_ = RA.FoldableWithIndex.foldMapWithIndex;\nvar reduceRightWithIndex_ = RA.FoldableWithIndex.reduceRightWithIndex;\nvar traverseWithIndex_ = RA.TraversableWithIndex.traverseWithIndex;\nvar extend_ = RA.Extend.extend;\nvar wither_ = RA.Witherable.wither;\nvar wilt_ = RA.Witherable.wilt; // -------------------------------------------------------------------------------------\n// pipeables\n// -------------------------------------------------------------------------------------\n\n/**\n * `map` can be used to turn functions `(a: A) => B` into functions `(fa: F) => F` whose argument and return types\n * use the type constructor `F` to represent some computational context.\n *\n * @category Functor\n * @since 2.0.0\n */\n\nexports.map = RA.map;\n/**\n * Apply a function to an argument under a type constructor.\n *\n * @category Apply\n * @since 2.0.0\n */\n\nexports.ap = RA.ap;\n/**\n * Combine two effectful actions, keeping only the result of the first.\n *\n * Derivable from `Apply`.\n *\n * @category combinators\n * @since 2.0.0\n */\n\nexports.apFirst = RA.apFirst;\n/**\n * Combine two effectful actions, keeping only the result of the second.\n *\n * Derivable from `Apply`.\n *\n * @category combinators\n * @since 2.0.0\n */\n\nexports.apSecond = RA.apSecond;\n/**\n * Composes computations in sequence, using the return value of one computation to determine the next computation.\n *\n * @category Monad\n * @since 2.0.0\n */\n\nexports.chain = RA.chain;\n/**\n * @since 2.7.0\n */\n\nexports.chainWithIndex = RA.chainWithIndex;\n/**\n * Composes computations in sequence, using the return value of one computation to determine the next computation and\n * keeping only the result of the first.\n *\n * Derivable from `Monad`.\n *\n * @category combinators\n * @since 2.0.0\n */\n\nexports.chainFirst = RA.chainFirst;\n/**\n * @category FunctorWithIndex\n * @since 2.0.0\n */\n\nexports.mapWithIndex = RA.mapWithIndex;\n/**\n * @category Compactable\n * @since 2.0.0\n */\n\nexports.compact = RA.compact;\n/**\n * @category Compactable\n * @since 2.0.0\n */\n\nexports.separate = RA.separate;\n/**\n * @category Filterable\n * @since 2.0.0\n */\n\nexports.filter = RA.filter;\n/**\n * @category Filterable\n * @since 2.0.0\n */\n\nexports.filterMap = RA.filterMap;\n/**\n * @category Filterable\n * @since 2.0.0\n */\n\nexports.partition = RA.partition;\n/**\n * @category FilterableWithIndex\n * @since 2.0.0\n */\n\nexports.partitionWithIndex = RA.partitionWithIndex;\n/**\n * @category Filterable\n * @since 2.0.0\n */\n\nexports.partitionMap = RA.partitionMap;\n/**\n * @category FilterableWithIndex\n * @since 2.0.0\n */\n\nexports.partitionMapWithIndex = RA.partitionMapWithIndex;\n/**\n * Less strict version of [`alt`](#alt).\n *\n * @category Alt\n * @since 2.9.0\n */\n\nexports.altW = RA.altW;\n/**\n * Identifies an associative operation on a type constructor. It is similar to `Semigroup`, except that it applies to\n * types of kind `* -> *`.\n *\n * @category Alt\n * @since 2.0.0\n */\n\nexports.alt = RA.alt;\n/**\n * @category FilterableWithIndex\n * @since 2.0.0\n */\n\nexports.filterMapWithIndex = RA.filterMapWithIndex;\n/**\n * @category FilterableWithIndex\n * @since 2.0.0\n */\n\nexports.filterWithIndex = RA.filterWithIndex;\n/**\n * @category Extend\n * @since 2.0.0\n */\n\nexports.extend = RA.extend;\n/**\n * Derivable from `Extend`.\n *\n * @category combinators\n * @since 2.0.0\n */\n\nexports.duplicate = RA.duplicate;\n/**\n * @category Foldable\n * @since 2.0.0\n */\n\nexports.foldMap = RA.foldMap;\n/**\n * @category FoldableWithIndex\n * @since 2.0.0\n */\n\nexports.foldMapWithIndex = RA.foldMapWithIndex;\n/**\n * @category Foldable\n * @since 2.0.0\n */\n\nexports.reduce = RA.reduce;\n/**\n * @category FoldableWithIndex\n * @since 2.0.0\n */\n\nexports.reduceWithIndex = RA.reduceWithIndex;\n/**\n * @category Foldable\n * @since 2.0.0\n */\n\nexports.reduceRight = RA.reduceRight;\n/**\n * @category FoldableWithIndex\n * @since 2.0.0\n */\n\nexports.reduceRightWithIndex = RA.reduceRightWithIndex;\n/**\n * **for optimized and stack safe version check the data types `traverseArray` function**\n * @category Traversable\n * @since 2.6.3\n */\n\nexports.traverse = RA.traverse;\n/**\n * **for optimized and stack safe version check the data types `sequenceArray` function**\n * @category Traversable\n * @since 2.6.3\n */\n\nexports.sequence = RA.sequence;\n/**\n * **for optimized and stack safe version check the data types `traverseArrayWithIndex` function**\n * @category TraversableWithIndex\n * @since 2.6.3\n */\n\nexports.traverseWithIndex = RA.traverseWithIndex;\n/**\n * @category Witherable\n * @since 2.6.5\n */\n\nexports.wither = RA.wither;\n/**\n * @category Witherable\n * @since 2.6.5\n */\n\nexports.wilt = RA.wilt;\n/**\n * @category Unfoldable\n * @since 2.6.6\n */\n\nexports.unfold = RA.unfold;\n/**\n * @category Alternative\n * @since 2.7.0\n */\n\nexports.zero = RA.Alternative.zero; // -------------------------------------------------------------------------------------\n// instances\n// -------------------------------------------------------------------------------------\n\n/**\n * @category instances\n * @since 2.0.0\n */\n\nexports.URI = 'Array';\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.Functor = {\n URI: exports.URI,\n map: map_\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.FunctorWithIndex = {\n URI: exports.URI,\n map: map_,\n mapWithIndex: mapWithIndex_\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.Applicative = {\n URI: exports.URI,\n map: map_,\n ap: ap_,\n of: exports.of\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.Monad = {\n URI: exports.URI,\n map: map_,\n ap: ap_,\n of: exports.of,\n chain: chain_\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.Unfoldable = {\n URI: exports.URI,\n unfold: exports.unfold\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.Alt = {\n URI: exports.URI,\n map: map_,\n alt: alt_\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.Alternative = {\n URI: exports.URI,\n map: map_,\n ap: ap_,\n of: exports.of,\n alt: alt_,\n zero: exports.zero\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.Extend = {\n URI: exports.URI,\n map: map_,\n extend: extend_\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.Compactable = {\n URI: exports.URI,\n compact: exports.compact,\n separate: exports.separate\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.Filterable = {\n URI: exports.URI,\n map: map_,\n compact: exports.compact,\n separate: exports.separate,\n filter: filter_,\n filterMap: filterMap_,\n partition: partition_,\n partitionMap: partitionMap_\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.FilterableWithIndex = {\n URI: exports.URI,\n map: map_,\n mapWithIndex: mapWithIndex_,\n compact: exports.compact,\n separate: exports.separate,\n filter: filter_,\n filterMap: filterMap_,\n partition: partition_,\n partitionMap: partitionMap_,\n partitionMapWithIndex: partitionMapWithIndex_,\n partitionWithIndex: partitionWithIndex_,\n filterMapWithIndex: filterMapWithIndex_,\n filterWithIndex: filterWithIndex_\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.Foldable = {\n URI: exports.URI,\n reduce: reduce_,\n foldMap: foldMap_,\n reduceRight: reduceRight_\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.FoldableWithIndex = {\n URI: exports.URI,\n reduce: reduce_,\n foldMap: foldMap_,\n reduceRight: reduceRight_,\n reduceWithIndex: reduceWithIndex_,\n foldMapWithIndex: foldMapWithIndex_,\n reduceRightWithIndex: reduceRightWithIndex_\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.Traversable = {\n URI: exports.URI,\n map: map_,\n reduce: reduce_,\n foldMap: foldMap_,\n reduceRight: reduceRight_,\n traverse: traverse_,\n sequence: exports.sequence\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.TraversableWithIndex = {\n URI: exports.URI,\n map: map_,\n mapWithIndex: mapWithIndex_,\n reduce: reduce_,\n foldMap: foldMap_,\n reduceRight: reduceRight_,\n reduceWithIndex: reduceWithIndex_,\n foldMapWithIndex: foldMapWithIndex_,\n reduceRightWithIndex: reduceRightWithIndex_,\n traverse: traverse_,\n sequence: exports.sequence,\n traverseWithIndex: traverseWithIndex_\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.Witherable = {\n URI: exports.URI,\n map: map_,\n compact: exports.compact,\n separate: exports.separate,\n filter: filter_,\n filterMap: filterMap_,\n partition: partition_,\n partitionMap: partitionMap_,\n reduce: reduce_,\n foldMap: foldMap_,\n reduceRight: reduceRight_,\n traverse: traverse_,\n sequence: exports.sequence,\n wither: wither_,\n wilt: wilt_\n}; // TODO: remove in v3\n\n/**\n * @category instances\n * @since 2.0.0\n */\n\nexports.array = {\n URI: exports.URI,\n compact: exports.compact,\n separate: exports.separate,\n map: map_,\n ap: ap_,\n of: exports.of,\n chain: chain_,\n filter: filter_,\n filterMap: filterMap_,\n partition: partition_,\n partitionMap: partitionMap_,\n mapWithIndex: mapWithIndex_,\n partitionMapWithIndex: partitionMapWithIndex_,\n partitionWithIndex: partitionWithIndex_,\n filterMapWithIndex: filterMapWithIndex_,\n filterWithIndex: filterWithIndex_,\n alt: alt_,\n zero: exports.zero,\n unfold: exports.unfold,\n reduce: reduce_,\n foldMap: foldMap_,\n reduceRight: reduceRight_,\n traverse: traverse_,\n sequence: exports.sequence,\n reduceWithIndex: reduceWithIndex_,\n foldMapWithIndex: foldMapWithIndex_,\n reduceRightWithIndex: reduceRightWithIndex_,\n traverseWithIndex: traverseWithIndex_,\n extend: extend_,\n wither: wither_,\n wilt: wilt_\n}; // -------------------------------------------------------------------------------------\n// unsafe\n// -------------------------------------------------------------------------------------\n\n/**\n * @category unsafe\n * @since 2.0.0\n */\n\nexports.unsafeInsertAt = RA.unsafeInsertAt;\n/**\n * @category unsafe\n * @since 2.0.0\n */\n\nexports.unsafeUpdateAt = RA.unsafeUpdateAt;\n/**\n * @category unsafe\n * @since 2.0.0\n */\n\nexports.unsafeDeleteAt = RA.unsafeDeleteAt; // -------------------------------------------------------------------------------------\n// utils\n// -------------------------------------------------------------------------------------\n\n/**\n * An empty array\n *\n * @since 2.0.0\n */\n\nexports.empty = [];\n/**\n * @since 2.9.0\n */\n\nexports.every = RA.every;\n/**\n * @since 2.9.0\n */\n\nexports.some = RA.some; // -------------------------------------------------------------------------------------\n// do notation\n// -------------------------------------------------------------------------------------\n\n/**\n * @since 2.9.0\n */\n\nexports.Do = /*#__PURE__*/exports.of({});\n/**\n * @since 2.8.0\n */\n\nexports.bindTo = RA.bindTo;\n/**\n * @since 2.8.0\n */\n\nexports.bind = RA.bind; // -------------------------------------------------------------------------------------\n// pipeable sequence S\n// -------------------------------------------------------------------------------------\n\n/**\n * @since 2.8.0\n */\n\nexports.apS = RA.apS;","\"use strict\";\n\nvar __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nexports.__esModule = true;\n\nfunction stringifyAttribute(name, value) {\n if (!value) {\n return '';\n }\n\n var stringified = '; ' + name;\n\n if (value === true) {\n return stringified; // boolean attributes shouldn't have a value\n }\n\n return stringified + '=' + value;\n}\n\nfunction stringifyAttributes(attributes) {\n if (typeof attributes.expires === 'number') {\n var expires = new Date();\n expires.setMilliseconds(expires.getMilliseconds() + attributes.expires * 864e+5);\n attributes.expires = expires;\n }\n\n return stringifyAttribute('Expires', attributes.expires ? attributes.expires.toUTCString() : '') + stringifyAttribute('Domain', attributes.domain) + stringifyAttribute('Path', attributes.path) + stringifyAttribute('Secure', attributes.secure) + stringifyAttribute('SameSite', attributes.sameSite);\n}\n\nfunction encode(name, value, attributes) {\n return encodeURIComponent(name).replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent) // allowed special characters\n .replace(/\\(/g, '%28').replace(/\\)/g, '%29') // replace opening and closing parens\n + '=' + encodeURIComponent(value) // allowed special characters\n .replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent) + stringifyAttributes(attributes);\n}\n\nexports.encode = encode;\n\nfunction parse(cookieString) {\n var result = {};\n var cookies = cookieString ? cookieString.split('; ') : [];\n var rdecode = /(%[\\dA-F]{2})+/gi;\n\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var cookie = parts.slice(1).join('=');\n\n if (cookie.charAt(0) === '\"') {\n cookie = cookie.slice(1, -1);\n }\n\n try {\n var name_1 = parts[0].replace(rdecode, decodeURIComponent);\n result[name_1] = cookie.replace(rdecode, decodeURIComponent);\n } catch (e) {// ignore cookies with invalid name/value encoding\n }\n }\n\n return result;\n}\n\nexports.parse = parse;\n\nfunction getAll() {\n return parse(document.cookie);\n}\n\nexports.getAll = getAll;\n\nfunction get(name) {\n return getAll()[name];\n}\n\nexports.get = get;\n\nfunction set(name, value, attributes) {\n document.cookie = encode(name, value, __assign({\n path: '/'\n }, attributes));\n}\n\nexports.set = set;\n\nfunction remove(name, attributes) {\n set(name, '', __assign(__assign({}, attributes), {\n expires: -1\n }));\n}\n\nexports.remove = remove;","// \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","import mitt from \"mitt\"\n\nconst emitter = mitt()\nexport default emitter\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\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;","'use strict';\nvar aFunction = require('../internals/a-function');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\n\n// 25.4.1.5 NewPromiseCapability(C)\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","exports.polyfill = Component => Component\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduceRight = require('../internals/array-reduce').right;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduceRight');\n// For preventing possible almost infinite loop in non-standard implementations, test the forward version of the method\nvar USES_TO_LENGTH = arrayMethodUsesToLength('reduce', { 1: 0 });\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\n\n// `Array.prototype.reduceRight` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduceright\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH || CHROME_BUG }, {\n reduceRight: function reduceRight(callbackfn /* , initialValue */) {\n return $reduceRight(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\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;","(function () {\n var base64map = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n crypt = {\n // Bit-wise rotation left\n rotl: function rotl(n, b) {\n return n << b | n >>> 32 - b;\n },\n // Bit-wise rotation right\n rotr: function rotr(n, b) {\n return n << 32 - b | n >>> b;\n },\n // Swap big-endian to little-endian and vice versa\n endian: function endian(n) {\n // If number given, swap endian\n if (n.constructor == Number) {\n return crypt.rotl(n, 8) & 0x00FF00FF | crypt.rotl(n, 24) & 0xFF00FF00;\n } // Else, assume array and swap all items\n\n\n for (var i = 0; i < n.length; i++) {\n n[i] = crypt.endian(n[i]);\n }\n\n return n;\n },\n // Generate an array of any length of random bytes\n randomBytes: function randomBytes(n) {\n for (var bytes = []; n > 0; n--) {\n bytes.push(Math.floor(Math.random() * 256));\n }\n\n return bytes;\n },\n // Convert a byte array to big-endian 32-bit words\n bytesToWords: function bytesToWords(bytes) {\n for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8) {\n words[b >>> 5] |= bytes[i] << 24 - b % 32;\n }\n\n return words;\n },\n // Convert big-endian 32-bit words to a byte array\n wordsToBytes: function wordsToBytes(words) {\n for (var bytes = [], b = 0; b < words.length * 32; b += 8) {\n bytes.push(words[b >>> 5] >>> 24 - b % 32 & 0xFF);\n }\n\n return bytes;\n },\n // Convert a byte array to a hex string\n bytesToHex: function bytesToHex(bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xF).toString(16));\n }\n\n return hex.join('');\n },\n // Convert a hex string to a byte array\n hexToBytes: function hexToBytes(hex) {\n for (var bytes = [], c = 0; c < hex.length; c += 2) {\n bytes.push(parseInt(hex.substr(c, 2), 16));\n }\n\n return bytes;\n },\n // Convert a byte array to a base-64 string\n bytesToBase64: function bytesToBase64(bytes) {\n for (var base64 = [], i = 0; i < bytes.length; i += 3) {\n var triplet = bytes[i] << 16 | bytes[i + 1] << 8 | bytes[i + 2];\n\n for (var j = 0; j < 4; j++) {\n if (i * 8 + j * 6 <= bytes.length * 8) base64.push(base64map.charAt(triplet >>> 6 * (3 - j) & 0x3F));else base64.push('=');\n }\n }\n\n return base64.join('');\n },\n // Convert a base-64 string to a byte array\n base64ToBytes: function base64ToBytes(base64) {\n // Remove non-base-64 characters\n base64 = base64.replace(/[^A-Z0-9+\\/]/ig, '');\n\n for (var bytes = [], i = 0, imod4 = 0; i < base64.length; imod4 = ++i % 4) {\n if (imod4 == 0) continue;\n bytes.push((base64map.indexOf(base64.charAt(i - 1)) & Math.pow(2, -2 * imod4 + 8) - 1) << imod4 * 2 | base64map.indexOf(base64.charAt(i)) >>> 6 - imod4 * 2);\n }\n\n return bytes;\n }\n };\n module.exports = crypt;\n})();","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer);\n};\n\nfunction isBuffer(obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj);\n} // For Node v0.10 support. Remove this eventually.\n\n\nfunction isSlowBuffer(obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0));\n}","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","import arrayLikeToArray from \"@babel/runtime/helpers/esm/arrayLikeToArray\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduce');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('reduce', { 1: 0 });\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\n\n// `Array.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH || CHROME_BUG }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","module.exports = require('./dist/gatsby-browser')\n","\"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};","\"use strict\";\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function (o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function (o, v) {\n o[\"default\"] = v;\n});\n\nvar __importStar = this && this.__importStar || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) {\n if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n }\n\n __setModuleDefault(result, mod);\n\n return result;\n};\n\nvar __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\nvar __generator = this && this.__generator || function (thisArg, body) {\n var _ = {\n label: 0,\n sent: function sent() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n\n while (_) {\n try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n\n case 7:\n op = _.ops.pop();\n\n _.trys.pop();\n\n continue;\n\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n\n if (t && _.label < t[2]) {\n _.label = t[2];\n\n _.ops.push(op);\n\n break;\n }\n\n if (t[2]) _.ops.pop();\n\n _.trys.pop();\n\n continue;\n }\n\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n }\n\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getTaskValidation = exports.getAltTaskValidation = exports.getApplicativeTaskValidation = exports.getApplyMonoid = exports.getApplySemigroup = exports.getSemigroup = exports.URI = exports.throwError = exports.fromTask = exports.fromIO = exports.of = exports.alt = exports.altW = exports.flatten = exports.chainFirst = exports.chainFirstW = exports.chain = exports.chainW = exports.apSecond = exports.apFirst = exports.ap = exports.apW = exports.mapLeft = exports.bimap = exports.map = exports.chainIOEitherK = exports.chainIOEitherKW = exports.chainEitherK = exports.chainEitherKW = exports.fromIOEitherK = exports.fromEitherK = exports.tryCatchK = exports.filterOrElse = exports.filterOrElseW = exports.swap = exports.orElse = exports.getOrElse = exports.getOrElseW = exports.fold = exports.tryCatch = exports.fromPredicate = exports.fromOption = exports.fromEither = exports.fromIOEither = exports.leftIO = exports.rightIO = exports.leftTask = exports.rightTask = exports.right = exports.left = void 0;\nexports.sequenceSeqArray = exports.traverseSeqArray = exports.traverseSeqArrayWithIndex = exports.sequenceArray = exports.traverseArray = exports.traverseArrayWithIndex = exports.apS = exports.apSW = exports.bind = exports.bindW = exports.bindTo = exports.Do = exports.bracket = exports.taskify = exports.taskEitherSeq = exports.taskEither = exports.Alt = exports.Bifunctor = exports.ApplicativeSeq = exports.ApplicativePar = exports.Functor = exports.getFilterable = void 0;\n\nvar E = __importStar(require(\"./Either\"));\n\nvar Filterable_1 = require(\"./Filterable\");\n\nvar function_1 = require(\"./function\");\n\nvar T = __importStar(require(\"./Task\")); // -------------------------------------------------------------------------------------\n// constructors\n// -------------------------------------------------------------------------------------\n\n/**\n * @category constructors\n * @since 2.0.0\n */\n\n\nexports.left = /*#__PURE__*/function_1.flow(E.left, T.of);\n/**\n * @category constructors\n * @since 2.0.0\n */\n\nexports.right = /*#__PURE__*/function_1.flow(E.right, T.of);\n/**\n * @category constructors\n * @since 2.0.0\n */\n\nexports.rightTask = /*#__PURE__*/T.map(E.right);\n/**\n * @category constructors\n * @since 2.0.0\n */\n\nexports.leftTask = /*#__PURE__*/T.map(E.left);\n/**\n * @category constructors\n * @since 2.0.0\n */\n\nexports.rightIO = /*#__PURE__*/function_1.flow(T.fromIO, exports.rightTask);\n/**\n * @category constructors\n * @since 2.0.0\n */\n\nexports.leftIO = /*#__PURE__*/function_1.flow(T.fromIO, exports.leftTask);\n/**\n * @category constructors\n * @since 2.0.0\n */\n\nexports.fromIOEither = T.fromIO;\n/**\n * Derivable from `MonadThrow`.\n *\n * @category constructors\n * @since 2.0.0\n */\n\nexports.fromEither = /*#__PURE__*/E.fold(exports.left, function (a) {\n return exports.right(a);\n});\n/**\n * Derivable from `MonadThrow`.\n *\n * @category constructors\n * @since 2.0.0\n */\n\nvar fromOption = function fromOption(onNone) {\n return function (ma) {\n return ma._tag === 'None' ? exports.left(onNone()) : exports.right(ma.value);\n };\n};\n\nexports.fromOption = fromOption;\n/**\n * Derivable from `MonadThrow`.\n *\n * @category constructors\n * @since 2.0.0\n */\n\nvar fromPredicate = function fromPredicate(predicate, onFalse) {\n return function (a) {\n return predicate(a) ? exports.right(a) : exports.left(onFalse(a));\n };\n};\n\nexports.fromPredicate = fromPredicate;\n/**\n * Transforms a `Promise` that may reject to a `Promise` that never rejects and returns an `Either` instead.\n *\n * Note: `f` should never `throw` errors, they are not caught.\n *\n * @example\n * import { left, right } from 'fp-ts/Either'\n * import { tryCatch } from 'fp-ts/TaskEither'\n *\n * tryCatch(() => Promise.resolve(1), String)().then(result => {\n * assert.deepStrictEqual(result, right(1))\n * })\n * tryCatch(() => Promise.reject('error'), String)().then(result => {\n * assert.deepStrictEqual(result, left('error'))\n * })\n *\n * @category constructors\n * @since 2.0.0\n */\n\nfunction tryCatch(f, onRejected) {\n return function () {\n return f().then(E.right, function (reason) {\n return E.left(onRejected(reason));\n });\n };\n}\n\nexports.tryCatch = tryCatch; // -------------------------------------------------------------------------------------\n// destructors\n// -------------------------------------------------------------------------------------\n\n/**\n * @category destructors\n * @since 2.0.0\n */\n\nexports.fold = /*#__PURE__*/function_1.flow(E.fold, T.chain);\n/**\n * Less strict version of [`getOrElse`](#getOrElse).\n *\n * @category destructors\n * @since 2.6.0\n */\n\nvar getOrElseW = function getOrElseW(onLeft) {\n return function (ma) {\n return function_1.pipe(ma, T.chain(E.fold(onLeft, T.of)));\n };\n};\n\nexports.getOrElseW = getOrElseW;\n/**\n * @category destructors\n * @since 2.0.0\n */\n\nexports.getOrElse = exports.getOrElseW; // -------------------------------------------------------------------------------------\n// combinators\n// -------------------------------------------------------------------------------------\n\n/**\n * Returns `ma` if is a `Right` or the value returned by `onLeft` otherwise.\n *\n * See also [alt](#alt).\n *\n * @example\n * import * as E from 'fp-ts/Either'\n * import { pipe } from 'fp-ts/function'\n * import * as TE from 'fp-ts/TaskEither'\n *\n * async function test() {\n * const errorHandler = TE.orElse((error: string) => TE.right(`recovering from ${error}...`))\n * assert.deepStrictEqual(await pipe(TE.right('ok'), errorHandler)(), E.right('ok'))\n * assert.deepStrictEqual(await pipe(TE.left('ko'), errorHandler)(), E.right('recovering from ko...'))\n * }\n *\n * test()\n *\n * @category combinators\n * @since 2.0.0\n */\n\nvar orElse = function orElse(f) {\n return T.chain(E.fold(f, exports.right));\n};\n\nexports.orElse = orElse;\n/**\n * @category combinators\n * @since 2.0.0\n */\n\nexports.swap = /*#__PURE__*/T.map(E.swap);\n/**\n * Less strict version of [`filterOrElse`](#filterOrElse).\n *\n * @since 2.9.0\n */\n\nvar filterOrElseW = function filterOrElseW(predicate, onFalse) {\n return exports.chainW(function (a) {\n return predicate(a) ? exports.right(a) : exports.left(onFalse(a));\n });\n};\n\nexports.filterOrElseW = filterOrElseW;\n/**\n * Derivable from `MonadThrow`.\n *\n * @category combinators\n * @since 2.0.0\n */\n\nexports.filterOrElse = exports.filterOrElseW;\n/**\n * Converts a function returning a `Promise` to one returning a `TaskEither`.\n *\n * @category combinators\n * @since 2.5.0\n */\n\nfunction tryCatchK(f, onRejected) {\n return function () {\n var a = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n a[_i] = arguments[_i];\n }\n\n return tryCatch(function () {\n return f.apply(void 0, a);\n }, onRejected);\n };\n}\n\nexports.tryCatchK = tryCatchK;\n/**\n * @category combinators\n * @since 2.4.0\n */\n\nfunction fromEitherK(f) {\n return function () {\n var a = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n a[_i] = arguments[_i];\n }\n\n return exports.fromEither(f.apply(void 0, a));\n };\n}\n\nexports.fromEitherK = fromEitherK;\n/**\n * @category combinators\n * @since 2.4.0\n */\n\nfunction fromIOEitherK(f) {\n return function () {\n var a = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n a[_i] = arguments[_i];\n }\n\n return exports.fromIOEither(f.apply(void 0, a));\n };\n}\n\nexports.fromIOEitherK = fromIOEitherK;\n/**\n * Less strict version of [`chainEitherK`](#chainEitherK).\n *\n * @category combinators\n * @since 2.6.1\n */\n\nvar chainEitherKW = function chainEitherKW(f) {\n return exports.chainW(fromEitherK(f));\n};\n\nexports.chainEitherKW = chainEitherKW;\n/**\n * @category combinators\n * @since 2.4.0\n */\n\nexports.chainEitherK = exports.chainEitherKW;\n/**\n * Less strict version of [`chainIOEitherK`](#chainIOEitherK).\n *\n * @category combinators\n * @since 2.6.1\n */\n\nvar chainIOEitherKW = function chainIOEitherKW(f) {\n return exports.chainW(fromIOEitherK(f));\n};\n\nexports.chainIOEitherKW = chainIOEitherKW;\n/**\n * @category combinators\n * @since 2.4.0\n */\n\nexports.chainIOEitherK = exports.chainIOEitherKW; // -------------------------------------------------------------------------------------\n// non-pipeables\n// -------------------------------------------------------------------------------------\n\nvar map_ = function map_(fa, f) {\n return function_1.pipe(fa, exports.map(f));\n};\n/* istanbul ignore next */\n\n\nvar bimap_ = function bimap_(fa, f, g) {\n return function_1.pipe(fa, exports.bimap(f, g));\n};\n/* istanbul ignore next */\n\n\nvar mapLeft_ = function mapLeft_(fa, f) {\n return function_1.pipe(fa, exports.mapLeft(f));\n};\n\nvar apPar_ = function apPar_(fab, fa) {\n return function_1.pipe(fab, exports.ap(fa));\n};\n\nvar apSeq_ = function apSeq_(fab, fa) {\n return function_1.pipe(fab, exports.chain(function (f) {\n return function_1.pipe(fa, exports.map(f));\n }));\n};\n/* istanbul ignore next */\n\n\nvar chain_ = function chain_(ma, f) {\n return function_1.pipe(ma, exports.chain(f));\n};\n/* istanbul ignore next */\n\n\nvar alt_ = function alt_(fa, that) {\n return function_1.pipe(fa, exports.alt(that));\n}; // -------------------------------------------------------------------------------------\n// pipeables\n// -------------------------------------------------------------------------------------\n\n/**\n * `map` can be used to turn functions `(a: A) => B` into functions `(fa: F) => F` whose argument and return types\n * use the type constructor `F` to represent some computational context.\n *\n * @category Functor\n * @since 2.0.0\n */\n\n\nvar map = function map(f) {\n return T.map(E.map(f));\n};\n\nexports.map = map;\n/**\n * Map a pair of functions over the two type arguments of the bifunctor.\n *\n * @category Bifunctor\n * @since 2.0.0\n */\n\nexports.bimap = /*#__PURE__*/function_1.flow(E.bimap, T.map);\n/**\n * Map a function over the first type argument of a bifunctor.\n *\n * @category Bifunctor\n * @since 2.0.0\n */\n\nvar mapLeft = function mapLeft(f) {\n return T.map(E.mapLeft(f));\n};\n\nexports.mapLeft = mapLeft;\n/**\n * Less strict version of [`ap`](#ap).\n *\n * @category Apply\n * @since 2.8.0\n */\n\nvar apW = function apW(fa) {\n return function_1.flow(T.map(function (gab) {\n return function (ga) {\n return E.apW(ga)(gab);\n };\n }), T.ap(fa));\n};\n\nexports.apW = apW;\n/**\n * Apply a function to an argument under a type constructor.\n *\n * @category Apply\n * @since 2.0.0\n */\n\nexports.ap = exports.apW;\n/**\n * Combine two effectful actions, keeping only the result of the first.\n *\n * Derivable from `Apply`.\n *\n * @category combinators\n * @since 2.0.0\n */\n\nvar apFirst = function apFirst(fb) {\n return function_1.flow(exports.map(function (a) {\n return function () {\n return a;\n };\n }), exports.ap(fb));\n};\n\nexports.apFirst = apFirst;\n/**\n * Combine two effectful actions, keeping only the result of the second.\n *\n * Derivable from `Apply`.\n *\n * @category combinators\n * @since 2.0.0\n */\n\nvar apSecond = function apSecond(fb) {\n return function_1.flow(exports.map(function () {\n return function (b) {\n return b;\n };\n }), exports.ap(fb));\n};\n\nexports.apSecond = apSecond;\n/**\n * Less strict version of [`chain`](#chain).\n *\n * @category Monad\n * @since 2.6.0\n */\n\nvar chainW = function chainW(f) {\n return function (ma) {\n return function_1.pipe(ma, T.chain(E.fold(exports.left, f)));\n };\n};\n\nexports.chainW = chainW;\n/**\n * Composes computations in sequence, using the return value of one computation to determine the next computation.\n *\n * @category Monad\n * @since 2.0.0\n */\n\nexports.chain = exports.chainW;\n/**\n * Less strict version of [`chainFirst`](#chainFirst).\n *\n * Derivable from `Monad`.\n *\n * @category combinators\n * @since 2.8.0\n */\n\nvar chainFirstW = function chainFirstW(f) {\n return exports.chainW(function (a) {\n return function_1.pipe(f(a), exports.map(function () {\n return a;\n }));\n });\n};\n\nexports.chainFirstW = chainFirstW;\n/**\n * Composes computations in sequence, using the return value of one computation to determine the next computation and\n * keeping only the result of the first.\n *\n * Derivable from `Monad`.\n *\n * @category combinators\n * @since 2.0.0\n */\n\nexports.chainFirst = exports.chainFirstW;\n/**\n * Derivable from `Monad`.\n *\n * @category combinators\n * @since 2.0.0\n */\n\nexports.flatten = /*#__PURE__*/exports.chain(function_1.identity);\n/**\n * Less strict version of [`alt`](#alt).\n *\n * @category Alt\n * @since 2.9.0\n */\n\nvar altW = function altW(that) {\n return function (fa) {\n return function_1.pipe(fa, T.chain(E.fold(that, exports.right)));\n };\n};\n\nexports.altW = altW;\n/**\n * Identifies an associative operation on a type constructor. It is similar to `Semigroup`, except that it applies to\n * types of kind `* -> *`.\n *\n * In case of `TaskEither` returns `fa` if is a `Right` or the value returned by `that` otherwise.\n *\n * See also [orElse](#orElse).\n *\n * @example\n * import * as E from 'fp-ts/Either'\n * import { pipe } from 'fp-ts/function'\n * import * as TE from 'fp-ts/TaskEither'\n *\n * async function test() {\n * assert.deepStrictEqual(\n * await pipe(\n * TE.right(1),\n * TE.alt(() => TE.right(2))\n * )(),\n * E.right(1)\n * )\n * assert.deepStrictEqual(\n * await pipe(\n * TE.left('a'),\n * TE.alt(() => TE.right(2))\n * )(),\n * E.right(2)\n * )\n * assert.deepStrictEqual(\n * await pipe(\n * TE.left('a'),\n * TE.alt(() => TE.left('b'))\n * )(),\n * E.left('b')\n * )\n * }\n *\n * test()\n *\n * @category Alt\n * @since 2.0.0\n */\n\nexports.alt = exports.altW;\n/**\n * Wrap a value into the type constructor.\n *\n * Equivalent to [`right`](#right).\n *\n * @category Applicative\n * @since 2.0.0\n */\n\nexports.of = exports.right;\n/**\n * @category MonadIO\n * @since 2.7.0\n */\n\nexports.fromIO = exports.rightIO;\n/**\n * @category MonadTask\n * @since 2.7.0\n */\n\nexports.fromTask = exports.rightTask;\n/**\n * @category MonadTask\n * @since 2.7.0\n */\n\nexports.throwError = exports.left; // -------------------------------------------------------------------------------------\n// instances\n// -------------------------------------------------------------------------------------\n\n/**\n * @category instances\n * @since 2.0.0\n */\n\nexports.URI = 'TaskEither';\n/**\n * Semigroup returning the left-most non-`Left` value. If both operands are `Right`s then the inner values are\n * concatenated using the provided `Semigroup`\n *\n * @category instances\n * @since 2.0.0\n */\n\nfunction getSemigroup(S) {\n return T.getSemigroup(E.getSemigroup(S));\n}\n\nexports.getSemigroup = getSemigroup;\n/**\n * Semigroup returning the left-most `Left` value. If both operands are `Right`s then the inner values\n * are concatenated using the provided `Semigroup`\n *\n * @category instances\n * @since 2.0.0\n */\n\nfunction getApplySemigroup(S) {\n return T.getSemigroup(E.getApplySemigroup(S));\n}\n\nexports.getApplySemigroup = getApplySemigroup;\n/**\n * @category instances\n * @since 2.0.0\n */\n\nfunction getApplyMonoid(M) {\n return {\n concat: getApplySemigroup(M).concat,\n empty: exports.right(M.empty)\n };\n}\n\nexports.getApplyMonoid = getApplyMonoid;\n/**\n * @category instances\n * @since 2.7.0\n */\n\nfunction getApplicativeTaskValidation(A, SE) {\n var AV = E.getApplicativeValidation(SE);\n\n var _ap = function ap(fga) {\n return function (fgab) {\n return A.ap(A.map(fgab, function (h) {\n return function (ga) {\n return AV.ap(h, ga);\n };\n }), fga);\n };\n };\n\n return {\n URI: exports.URI,\n _E: undefined,\n map: map_,\n ap: function ap(fab, fa) {\n return function_1.pipe(fab, _ap(fa));\n },\n of: exports.of\n };\n}\n\nexports.getApplicativeTaskValidation = getApplicativeTaskValidation;\n/**\n * @category instances\n * @since 2.7.0\n */\n\nfunction getAltTaskValidation(SE) {\n return {\n URI: exports.URI,\n _E: undefined,\n map: map_,\n alt: function alt(me, that) {\n return function_1.pipe(me, T.chain(function (e1) {\n return E.isRight(e1) ? T.of(e1) : function_1.pipe(that(), T.map(function (e2) {\n return E.isLeft(e2) ? E.left(SE.concat(e1.left, e2.left)) : e2;\n }));\n }));\n }\n };\n}\n\nexports.getAltTaskValidation = getAltTaskValidation; // TODO: remove in v3\n\n/**\n * @category instances\n * @since 2.0.0\n */\n\nfunction getTaskValidation(SE) {\n var applicativeTaskValidation = getApplicativeTaskValidation(T.ApplicativePar, SE);\n var altTaskValidation = getAltTaskValidation(SE);\n return {\n URI: exports.URI,\n _E: undefined,\n map: map_,\n ap: applicativeTaskValidation.ap,\n of: exports.of,\n chain: chain_,\n bimap: bimap_,\n mapLeft: mapLeft_,\n alt: altTaskValidation.alt,\n fromIO: exports.fromIO,\n fromTask: exports.fromTask,\n throwError: exports.throwError\n };\n}\n\nexports.getTaskValidation = getTaskValidation;\n/**\n * @category instances\n * @since 2.1.0\n */\n\nfunction getFilterable(M) {\n var W = E.getWitherable(M);\n var F = Filterable_1.getFilterableComposition(T.Monad, W);\n return {\n URI: exports.URI,\n _E: undefined,\n map: map_,\n compact: F.compact,\n separate: F.separate,\n filter: F.filter,\n filterMap: F.filterMap,\n partition: F.partition,\n partitionMap: F.partitionMap\n };\n}\n\nexports.getFilterable = getFilterable;\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.Functor = {\n URI: exports.URI,\n map: map_\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.ApplicativePar = {\n URI: exports.URI,\n map: map_,\n ap: apPar_,\n of: exports.of\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.ApplicativeSeq = {\n URI: exports.URI,\n map: map_,\n ap: apSeq_,\n of: exports.of\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.Bifunctor = {\n URI: exports.URI,\n bimap: bimap_,\n mapLeft: mapLeft_\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.Alt = {\n URI: exports.URI,\n map: map_,\n alt: alt_\n}; // TODO: remove in v3\n\n/**\n * @category instances\n * @since 2.0.0\n */\n\nexports.taskEither = {\n URI: exports.URI,\n bimap: bimap_,\n mapLeft: mapLeft_,\n map: map_,\n of: exports.of,\n ap: apPar_,\n chain: chain_,\n alt: alt_,\n fromIO: exports.fromIO,\n fromTask: exports.fromTask,\n throwError: exports.throwError\n}; // TODO: remove in v3\n\n/**\n * Like `TaskEither` but `ap` is sequential\n *\n * @category instances\n * @since 2.0.0\n */\n\nexports.taskEitherSeq = {\n URI: exports.URI,\n bimap: bimap_,\n mapLeft: mapLeft_,\n map: map_,\n of: exports.of,\n ap: apSeq_,\n chain: chain_,\n alt: alt_,\n fromIO: exports.fromIO,\n fromTask: exports.fromTask,\n throwError: exports.throwError\n};\n\nfunction taskify(f) {\n return function () {\n var args = Array.prototype.slice.call(arguments);\n return function () {\n return new Promise(function (resolve) {\n var cbResolver = function cbResolver(e, r) {\n return e != null ? resolve(E.left(e)) : resolve(E.right(r));\n };\n\n f.apply(null, args.concat(cbResolver));\n });\n };\n };\n}\n\nexports.taskify = taskify;\n/**\n * Make sure that a resource is cleaned up in the event of an exception (\\*). The release action is called regardless of\n * whether the body action throws (\\*) or returns.\n *\n * (\\*) i.e. returns a `Left`\n *\n * Derivable from `MonadThrow`.\n *\n * @since 2.0.0\n */\n\nvar bracket = function bracket(acquire, use, release) {\n return function_1.pipe(acquire, exports.chain(function (a) {\n return function_1.pipe(function_1.pipe(use(a), T.map(E.right)), exports.chain(function (e) {\n return function_1.pipe(release(a, e), exports.chain(function () {\n return E.isLeft(e) ? exports.left(e.left) : exports.of(e.right);\n }));\n }));\n }));\n};\n\nexports.bracket = bracket; // -------------------------------------------------------------------------------------\n// do notation\n// -------------------------------------------------------------------------------------\n\n/**\n * @since 2.9.0\n */\n\nexports.Do = /*#__PURE__*/exports.of({});\n/**\n * @since 2.8.0\n */\n\nvar bindTo = function bindTo(name) {\n return exports.map(function_1.bindTo_(name));\n};\n\nexports.bindTo = bindTo;\n/**\n * @since 2.8.0\n */\n\nvar bindW = function bindW(name, f) {\n return exports.chainW(function (a) {\n return function_1.pipe(f(a), exports.map(function (b) {\n return function_1.bind_(a, name, b);\n }));\n });\n};\n\nexports.bindW = bindW;\n/**\n * @since 2.8.0\n */\n\nexports.bind = exports.bindW; // -------------------------------------------------------------------------------------\n// pipeable sequence S\n// -------------------------------------------------------------------------------------\n\n/**\n * @since 2.8.0\n */\n\nvar apSW = function apSW(name, fb) {\n return function_1.flow(exports.map(function (a) {\n return function (b) {\n return function_1.bind_(a, name, b);\n };\n }), exports.apW(fb));\n};\n\nexports.apSW = apSW;\n/**\n * @since 2.8.0\n */\n\nexports.apS = exports.apSW; // -------------------------------------------------------------------------------------\n// array utils\n// -------------------------------------------------------------------------------------\n\n/**\n * @since 2.9.0\n */\n\nvar traverseArrayWithIndex = function traverseArrayWithIndex(f) {\n return function (arr) {\n return function_1.pipe(arr, T.traverseArrayWithIndex(f), T.map(E.sequenceArray));\n };\n};\n\nexports.traverseArrayWithIndex = traverseArrayWithIndex;\n/**\n * this function has the same behavior of `A.traverse(TE.taskEither)` but it's stack safe and performs better\n *\n * *this function run all tasks in parallel and does not bail out, for sequential version use `traverseSeqArray`*\n *\n * @example\n *\n * import * as TE from 'fp-ts/TaskEither'\n * import * as A from 'fp-ts/Array'\n * import { right } from 'fp-ts/Either'\n * import { pipe } from 'fp-ts/function'\n *\n * const PostRepo = {\n * findById : (id: number) => TE.of({id, title: ''})\n * }\n *\n * const findAllPosts = (ids:number[]) => pipe(ids, TE.traverseArray(PostRepo.findById))\n *\n * async function test() {\n * const ids = A.range(0, 10)\n *\n * assert.deepStrictEqual(\n * await findAllPosts(ids)(),\n * right(\n * pipe(\n * ids,\n * A.map((id) => ({ id, title: ''}))\n * )\n * )\n * )\n * }\n *\n * test()\n *\n * @since 2.9.0\n */\n\nvar traverseArray = function traverseArray(f) {\n return exports.traverseArrayWithIndex(function (_, a) {\n return f(a);\n });\n};\n\nexports.traverseArray = traverseArray;\n/**\n * this function has the same behavior of `A.sequence(TE.taskEither)` but it's stack safe and performs better\n *\n * *this function run all tasks in parallel and does not bail out, for sequential version use `sequenceSeqArray`*\n *\n * @example\n *\n * import * as TE from 'fp-ts/TaskEither'\n * import * as A from 'fp-ts/Array'\n * import { right } from 'fp-ts/Either'\n * import { pipe } from 'fp-ts/function'\n *\n * const PostRepo = {\n * findById : (id: number) => TE.of({id, title: ''})\n * }\n *\n * const findAllPosts = (ids:number[]) => pipe(ids, A.map(PostRepo.findById), TE.sequenceArray)\n *\n * async function test() {\n * const ids = A.range(0, 10)\n *\n * assert.deepStrictEqual(\n * await findAllPosts(ids)(),\n * right(\n * pipe(\n * ids,\n * A.map((id) => ({ id, title: ''}))\n * )\n * )\n * )\n * }\n *\n * test()\n *\n * @since 2.9.0\n */\n\nexports.sequenceArray = /*#__PURE__*/exports.traverseArray(function_1.identity);\n/**\n * @since 2.9.0\n */\n\nvar traverseSeqArrayWithIndex = function traverseSeqArrayWithIndex(f) {\n return function (arr) {\n return function () {\n return __awaiter(void 0, void 0, void 0, function () {\n var result, i, e;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n result = [];\n i = 0;\n _a.label = 1;\n\n case 1:\n if (!(i < arr.length)) return [3\n /*break*/\n , 4];\n return [4\n /*yield*/\n , f(i, arr[i])()];\n\n case 2:\n e = _a.sent();\n\n if (E.isLeft(e)) {\n return [2\n /*return*/\n , e];\n }\n\n result.push(e.right);\n _a.label = 3;\n\n case 3:\n i++;\n return [3\n /*break*/\n , 1];\n\n case 4:\n return [2\n /*return*/\n , E.right(result)];\n }\n });\n });\n };\n };\n};\n\nexports.traverseSeqArrayWithIndex = traverseSeqArrayWithIndex;\n/**\n * this function has the same behavior of `A.traverse(TE.taskEitherSeq)` but it's stack safe and performs better\n *\n * *this function run all tasks in sequential order and bails out on left side of either, for parallel version use `traverseArray`*\n *\n * @since 2.9.0\n */\n\nvar traverseSeqArray = function traverseSeqArray(f) {\n return exports.traverseSeqArrayWithIndex(function (_, a) {\n return f(a);\n });\n};\n\nexports.traverseSeqArray = traverseSeqArray;\n/**\n * this function has the same behavior of `A.sequence(TE.taskEitherSeq)` but it's stack safe and performs better\n *\n * *this function run all tasks in sequential order and bails out on left side of either, for parallel version use `sequenceArray`*\n *\n * @since 2.9.0\n */\n\nexports.sequenceSeqArray = /*#__PURE__*/exports.traverseSeqArray(function_1.identity);","/**\n * Implement Gatsby's Browser APIs in this file.\n *\n * See: https://www.gatsbyjs.org/docs/browser-apis/\n */\nimport * as React from \"react\"\nimport \"./src/css/style.css\"\nimport { PreviewStoreProvider } from \"gatsby-source-prismic\"\n\nexport const wrapRootElement = ({ element }) => (\n {element}\n)\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","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","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","import arrayWithoutHoles from \"@babel/runtime/helpers/esm/arrayWithoutHoles\";\nimport iterableToArray from \"@babel/runtime/helpers/esm/iterableToArray\";\nimport unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nimport nonIterableSpread from \"@babel/runtime/helpers/esm/nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"@babel/runtime/helpers/esm/arrayLikeToArray\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export 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}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.invert = exports.monoidOrdering = exports.semigroupOrdering = exports.eqOrdering = exports.sign = void 0;\n/**\n * @since 2.0.0\n */\n\nfunction sign(n) {\n return n <= -1 ? -1 : n >= 1 ? 1 : 0;\n}\n\nexports.sign = sign;\n/**\n * @category instances\n * @since 2.0.0\n */\n\nexports.eqOrdering = {\n equals: function equals(x, y) {\n return x === y;\n }\n};\n/**\n * Use `monoidOrdering` instead\n *\n * @category instances\n * @since 2.0.0\n * @deprecated\n */\n\nexports.semigroupOrdering = {\n concat: function concat(x, y) {\n return x !== 0 ? x : y;\n }\n};\n/**\n * @category instances\n * @since 2.4.0\n */\n\nexports.monoidOrdering = {\n // tslint:disable-next-line: deprecation\n concat: exports.semigroupOrdering.concat,\n empty: 0\n};\n/**\n * @since 2.0.0\n */\n\nfunction invert(O) {\n switch (O) {\n case -1:\n return 1;\n\n case 1:\n return -1;\n\n default:\n return 0;\n }\n}\n\nexports.invert = invert;","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","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-google-gtag/gatsby-browser.js'),\n options: {\"plugins\":[],\"trackingIds\":[\"G-VP5EHVHPJ0\"]},\n },{\n plugin: require('../node_modules/gatsby-plugin-manifest/gatsby-browser.js'),\n options: {\"plugins\":[],\"name\":\"Pinsel\",\"short_name\":\"Pinsel\",\"start_url\":\"/\",\"background_color\":\"#222222\",\"theme_color\":\"#ffffff\",\"display\":\"minimal-ui\",\"icon\":\"src/images/icon.png\",\"legacy\":true,\"theme_color_in_head\":true,\"cache_busting_mode\":\"query\",\"crossOrigin\":\"anonymous\",\"include_favicon\":true,\"cacheDigest\":\"d429d8d9cf810ca899779a02ea4ecc1c\"},\n },{\n plugin: require('../node_modules/gatsby-source-prismic/gatsby-browser.js'),\n options: {\"plugins\":[],\"repositoryName\":\"yuko-web\",\"accessToken\":\"MC5Yd3NLbEJBQUFDQUFCLUw1.77-977-977-977-9KXPvv73vv70Pe--_ve-_vU9n77-977-977-977-977-9Ye-_ve-_ve-_ve-_vRnvv70aQmMfRu-_vQ\",\"fetchLinks\":[],\"schemas\":{\"global\":{\"Main\":{\"site_name\":{\"type\":\"StructuredText\",\"config\":{\"single\":\"heading1, heading2, heading3, heading4, heading5, heading6\",\"label\":\"サイト名\",\"placeholder\":\"サイト名\"}},\"site_name_sub\":{\"type\":\"StructuredText\",\"config\":{\"single\":\"heading2\",\"label\":\"サイト名副題\",\"placeholder\":\"サイト名副題\"}},\"description\":{\"type\":\"StructuredText\",\"config\":{\"single\":\"heading2\",\"label\":\"サイト概要\",\"placeholder\":\"サイト概要\"}},\"author\":{\"type\":\"StructuredText\",\"config\":{\"single\":\"heading2\",\"label\":\"サイト管理者\",\"placeholder\":\"サイト管理者\"}},\"copyright\":{\"type\":\"StructuredText\",\"config\":{\"single\":\"heading2\",\"label\":\"コピーライト\",\"placeholder\":\"フッタコピーライト\"}}}},\"top-page\":{\"Main\":{\"profile_img\":{\"type\":\"Image\",\"config\":{\"constraint\":{},\"thumbnails\":[],\"label\":\"プロフィール画像\"}},\"intro_text_heading\":{\"type\":\"StructuredText\",\"config\":{\"single\":\"heading1\",\"label\":\"イントロ紹介文: 見出し\",\"placeholder\":\"イントロ紹介文: 見出し\"}},\"intro_text_body\":{\"type\":\"StructuredText\",\"config\":{\"single\":\"paragraph\",\"label\":\"イントロ紹介文: テキスト\",\"placeholder\":\"イントロ紹介文: テキスト\"}},\"intro_side_big_img\":{\"type\":\"Image\",\"config\":{\"constraint\":{},\"thumbnails\":[],\"label\":\"イントロ紹介文横大画像\"}},\"online_lesson_heading\":{\"type\":\"StructuredText\",\"config\":{\"single\":\"heading1\",\"label\":\"オンラインレッスン: 見出し\",\"placeholder\":\"オンラインレッスン: 見出し\"}},\"online_lesson_text\":{\"type\":\"StructuredText\",\"config\":{\"single\":\"paragraph\",\"label\":\"オンラインレッスン: テキスト\",\"placeholder\":\"オンラインレッスン: テキスト\"}},\"online_lesson_img\":{\"type\":\"Image\",\"config\":{\"constraint\":{},\"thumbnails\":[],\"label\":\"オンラインレッスン: 画像\"}},\"other_service_heading\":{\"type\":\"StructuredText\",\"config\":{\"single\":\"heading1\",\"label\":\"その他のサービス: 見出し\",\"placeholder\":\"その他のサービス: 見出し\"}},\"other_service_text\":{\"type\":\"StructuredText\",\"config\":{\"single\":\"paragraph\",\"label\":\"その他のサービス: テキスト\",\"placeholder\":\"その他のサービス: テキスト\"}},\"other_service_img\":{\"type\":\"Image\",\"config\":{\"constraint\":{},\"thumbnails\":[],\"label\":\"その他のサービス: 画像\"}},\"testimonials_heading\":{\"type\":\"StructuredText\",\"config\":{\"single\":\"heading1\",\"label\":\"推薦セクション: 見出し\",\"placeholder\":\"推薦セクション: 見出し\"}},\"testimonials_text\":{\"type\":\"StructuredText\",\"config\":{\"single\":\"paragraph\",\"label\":\"推薦セクション: テキスト\",\"placeholder\":\"推薦セクション: テキスト\"}},\"testimonials_comments\":{\"type\":\"Group\",\"config\":{\"fields\":{\"image\":{\"type\":\"Image\",\"config\":{\"constraint\":{},\"thumbnails\":[],\"label\":\"写真\"}},\"text\":{\"type\":\"StructuredText\",\"config\":{\"single\":\"paragraph\",\"label\":\"コメント\",\"placeholder\":\"コメント\"}}},\"label\":\"推薦コメント\"}}}},\"online-lesson\":{\"Main\":{\"uid\":{\"type\":\"UID\",\"config\":{\"label\":\"slug\",\"placeholder\":\"slug\"}},\"order\":{\"type\":\"Number\",\"config\":{\"label\":\"記事順序\",\"placeholder\":\"記事順序\"}},\"title\":{\"type\":\"StructuredText\",\"config\":{\"single\":\"heading1, heading2, heading3, heading4, heading5, heading6\",\"label\":\"タイトル\",\"placeholder\":\"タイトル\"}},\"body\":{\"type\":\"Slices\",\"fieldset\":\"Slice zone\",\"config\":{\"labels\":{\"contents\":[]},\"choices\":{\"contents\":{\"type\":\"Slice\",\"fieldset\":\"section_block\",\"description\":\"見出しブロック\",\"icon\":\"assignment\",\"display\":\"list\",\"non-repeat\":{\"heading\":{\"type\":\"StructuredText\",\"config\":{\"single\":\"heading2\",\"label\":\"見出し\",\"placeholder\":\"見出し\"}},\"section_img\":{\"type\":\"Image\",\"config\":{\"constraint\":{},\"thumbnails\":[],\"label\":\"画像\"}},\"text\":{\"type\":\"StructuredText\",\"config\":{\"multi\":\"paragraph, preformatted, heading1, heading2, heading3, heading4, heading5, heading6, strong, em, hyperlink, image, embed, list-item, o-list-item, rtl\",\"label\":\"内容\",\"placeholder\":\"内容\"}}},\"repeat\":{}}}}}}},\"other-page\":{\"Main\":{\"uid\":{\"type\":\"UID\",\"config\":{\"label\":\"slug\",\"placeholder\":\"slug\"}},\"title\":{\"type\":\"StructuredText\",\"config\":{\"single\":\"heading1, heading2, heading3, heading4, heading5, heading6\",\"label\":\"タイトル\",\"placeholder\":\"タイトル\"}},\"body\":{\"type\":\"Slices\",\"fieldset\":\"Slice zone\",\"config\":{\"labels\":{\"section-block\":[]},\"choices\":{\"section-block\":{\"type\":\"Slice\",\"fieldset\":\"section_block\",\"description\":\"セクションブロック\",\"icon\":\"assignment\",\"display\":\"list\",\"non-repeat\":{\"heading\":{\"type\":\"StructuredText\",\"config\":{\"single\":\"heading1, heading2, heading3, heading4, heading5, heading6\",\"label\":\"見出し\",\"placeholder\":\"見出し\"}},\"section_img\":{\"type\":\"Image\",\"config\":{\"constraint\":{},\"thumbnails\":[],\"label\":\"画像\"}},\"text\":{\"type\":\"StructuredText\",\"config\":{\"multi\":\"paragraph, preformatted, heading1, heading2, heading3, heading4, heading5, heading6, strong, em, hyperlink, image, embed, list-item, o-list-item, rtl\",\"label\":\"内容\",\"placeholder\":\"内容\"}}},\"repeat\":{}}}}}}},\"other-support\":{\"Main\":{\"uid\":{\"type\":\"UID\",\"config\":{\"label\":\"slug\",\"placeholder\":\"slug\"}},\"order\":{\"type\":\"Number\",\"config\":{\"label\":\"記事順序\",\"placeholder\":\"記事順序\"}},\"title\":{\"type\":\"StructuredText\",\"config\":{\"single\":\"heading1, heading2, heading3, heading4, heading5, heading6\",\"label\":\"タイトル\",\"placeholder\":\"タイトル\"}},\"body\":{\"type\":\"Slices\",\"fieldset\":\"Slice zone\",\"config\":{\"labels\":{\"contents\":[]},\"choices\":{\"contents\":{\"type\":\"Slice\",\"fieldset\":\"section_block\",\"description\":\"見出しブロック\",\"icon\":\"assignment\",\"display\":\"list\",\"non-repeat\":{\"heading\":{\"type\":\"StructuredText\",\"config\":{\"single\":\"heading2\",\"label\":\"見出し\",\"placeholder\":\"見出し\"}},\"section_img\":{\"type\":\"Image\",\"config\":{\"constraint\":{},\"thumbnails\":[],\"label\":\"画像\"}},\"text\":{\"type\":\"StructuredText\",\"config\":{\"multi\":\"paragraph, preformatted, heading1, heading2, heading3, heading4, heading5, heading6, strong, em, hyperlink, image, embed, list-item, o-list-item, rtl\",\"label\":\"内容\",\"placeholder\":\"内容\"}}},\"repeat\":{}}}}}}}},\"lang\":\"*\",\"prismicToolbar\":true,\"imageImgixParams\":{\"auto\":\"compress,format\",\"fit\":\"max\",\"q\":50},\"imagePlaceholderImgixParams\":{\"w\":100,\"blur\":15,\"q\":50},\"typePathsFilenamePrefix\":\"prismic-typepaths---gatsby-source-prismic-yuko-site\"},\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","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\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-components-js\": () => import(\"./../../../src/pages/-components.js\" /* webpackChunkName: \"component---src-pages-components-js\" */),\n \"component---src-pages-index-js\": () => import(\"./../../../src/pages/index.js\" /* webpackChunkName: \"component---src-pages-index-js\" */),\n \"component---src-pages-payments-js\": () => import(\"./../../../src/pages/payments.js\" /* webpackChunkName: \"component---src-pages-payments-js\" */),\n \"component---src-pages-preview-js\": () => import(\"./../../../src/pages/preview.js\" /* webpackChunkName: \"component---src-pages-preview-js\" */),\n \"component---src-pages-tmpl-article-js\": () => import(\"./../../../src/pages/-tmpl-article.js\" /* webpackChunkName: \"component---src-pages-tmpl-article-js\" */),\n \"component---src-pages-tmpl-top-js\": () => import(\"./../../../src/pages/-tmpl-top.js\" /* webpackChunkName: \"component---src-pages-tmpl-top-js\" */),\n \"component---src-templates-online-lesson-js\": () => import(\"./../../../src/templates/online-lesson.js\" /* webpackChunkName: \"component---src-templates-online-lesson-js\" */),\n \"component---src-templates-other-page-js\": () => import(\"./../../../src/templates/other-page.js\" /* webpackChunkName: \"component---src-templates-other-page-js\" */),\n \"component---src-templates-other-support-js\": () => import(\"./../../../src/templates/other-support.js\" /* webpackChunkName: \"component---src-templates-other-support-js\" */)\n}\n\n","require(\"core-js/modules/es.array.reduce.js\");\n\n!function (e, t) {\n \"object\" == typeof exports && \"object\" == typeof module ? module.exports = t() : \"function\" == typeof define && define.amd ? define(\"PrismicDOM\", [], t) : \"object\" == typeof exports ? exports.PrismicDOM = t() : e.PrismicDOM = t();\n}(\"undefined\" != typeof self ? self : this, function () {\n return function (e) {\n var t = {};\n\n function n(r) {\n if (t[r]) return t[r].exports;\n var o = t[r] = {\n i: r,\n l: !1,\n exports: {}\n };\n return e[r].call(o.exports, o, o.exports, n), o.l = !0, o.exports;\n }\n\n return n.m = e, n.c = t, n.d = function (e, t, r) {\n n.o(e, t) || Object.defineProperty(e, t, {\n enumerable: !0,\n get: r\n });\n }, n.r = function (e) {\n \"undefined\" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {\n value: \"Module\"\n }), Object.defineProperty(e, \"__esModule\", {\n value: !0\n });\n }, n.t = function (e, t) {\n if (1 & t && (e = n(e)), 8 & t) return e;\n if (4 & t && \"object\" == typeof e && e && e.__esModule) return e;\n var r = Object.create(null);\n if (n.r(r), Object.defineProperty(r, \"default\", {\n enumerable: !0,\n value: e\n }), 2 & t && \"string\" != typeof e) for (var o in e) {\n n.d(r, o, function (t) {\n return e[t];\n }.bind(null, o));\n }\n return r;\n }, n.n = function (e) {\n var t = e && e.__esModule ? function () {\n return e.default;\n } : function () {\n return e;\n };\n return n.d(t, \"a\", t), t;\n }, n.o = function (e, t) {\n return Object.prototype.hasOwnProperty.call(e, t);\n }, n.p = \"\", n(n.s = 1);\n }([function (e, t, n) {\n \"undefined\" != typeof self && self, e.exports = function (e) {\n var t = {};\n\n function n(r) {\n if (t[r]) return t[r].exports;\n var o = t[r] = {\n i: r,\n l: !1,\n exports: {}\n };\n return e[r].call(o.exports, o, o.exports, n), o.l = !0, o.exports;\n }\n\n return n.m = e, n.c = t, n.d = function (e, t, r) {\n n.o(e, t) || Object.defineProperty(e, t, {\n enumerable: !0,\n get: r\n });\n }, n.r = function (e) {\n \"undefined\" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {\n value: \"Module\"\n }), Object.defineProperty(e, \"__esModule\", {\n value: !0\n });\n }, n.t = function (e, t) {\n if (1 & t && (e = n(e)), 8 & t) return e;\n if (4 & t && \"object\" == typeof e && e && e.__esModule) return e;\n var r = Object.create(null);\n if (n.r(r), Object.defineProperty(r, \"default\", {\n enumerable: !0,\n value: e\n }), 2 & t && \"string\" != typeof e) for (var o in e) {\n n.d(r, o, function (t) {\n return e[t];\n }.bind(null, o));\n }\n return r;\n }, n.n = function (e) {\n var t = e && e.__esModule ? function () {\n return e.default;\n } : function () {\n return e;\n };\n return n.d(t, \"a\", t), t;\n }, n.o = function (e, t) {\n return Object.prototype.hasOwnProperty.call(e, t);\n }, n.p = \"\", n(n.s = 0);\n }([function (e, t, n) {\n e.exports = n(1);\n }, function (e, t, n) {\n var r = n(2),\n o = n(3);\n e.exports = {\n Link: r,\n Date: o\n };\n }, function (e, t, n) {\n e.exports = {\n url: function url(e, t) {\n var n = e && e.value ? e.value.document : e;\n\n if (e && [e.type, e.link_type, e._linkType, e.linkType].some(function (e) {\n return e && [\"Document\", \"Link.Document\", \"Link.document\"].includes(e);\n }) && t && \"function\" == typeof t) {\n var r = t(n);\n if (r) return r;\n }\n\n return n && n.url ? n.url : \"\";\n }\n };\n }, function (e, t) {\n e.exports = function (e) {\n if (!e) return null;\n var t = 24 == e.length ? \"\".concat(e.substring(0, 22), \":\").concat(e.substring(22, 24)) : e;\n return new Date(t);\n };\n }]);\n }, function (e, t, n) {\n e.exports = n(2);\n }, function (e, t, n) {\n var r = n(0),\n o = n(3),\n i = r.Date,\n u = r.Link;\n e.exports = {\n Date: i,\n Link: u,\n RichText: o\n };\n }, function (e, t, n) {\n var r = n(4),\n o = n(0).Link,\n i = n(5),\n u = r.Elements;\n\n function c(e, t, n, r, c) {\n switch (t) {\n case u.heading1:\n return l(\"h1\", n, c);\n\n case u.heading2:\n return l(\"h2\", n, c);\n\n case u.heading3:\n return l(\"h3\", n, c);\n\n case u.heading4:\n return l(\"h4\", n, c);\n\n case u.heading5:\n return l(\"h5\", n, c);\n\n case u.heading6:\n return l(\"h6\", n, c);\n\n case u.paragraph:\n return l(\"p\", n, c);\n\n case u.preformatted:\n return function (e) {\n return \"\").concat(i(e.text), \"\");\n }(n);\n\n case u.strong:\n return l(\"strong\", n, c);\n\n case u.em:\n return l(\"em\", n, c);\n\n case u.listItem:\n case u.oListItem:\n return l(\"li\", n, c);\n\n case u.list:\n return l(\"ul\", n, c);\n\n case u.oList:\n return l(\"ol\", n, c);\n\n case u.image:\n return function (e, t) {\n var n = t.linkTo ? o.url(t.linkTo, e) : null,\n r = t.linkTo && t.linkTo.target ? 'target=\"'.concat(t.linkTo.target, '\" rel=\"noopener\"') : \"\",\n i = [t.label || \"\", \"block-img\"],\n u = '\"').concat(t.alt');\n return '\\n

\\n ').concat(n ? \"').concat(u, \"\") : u, \"\\n

\\n \");\n }(e, n);\n\n case u.embed:\n return function (e) {\n return '\\n
\\n \\n \").concat(e.oembed.html, \"\\n
\\n \");\n }(n);\n\n case u.hyperlink:\n return function (e, t, n) {\n var r = t.data.target ? 'target=\"'.concat(t.data.target, '\" rel=\"noopener\"') : \"\";\n return \"').concat(n.join(\"\"), \"\");\n }(e, n, c);\n\n case u.label:\n return function (e, t) {\n return \"\").concat(t.join(\"\"), \"\");\n }(n, c);\n\n case u.span:\n return function (e) {\n return e ? i(e).replace(/\\n/g, \"
\") : \"\";\n }(r);\n\n default:\n return \"\";\n }\n }\n\n function a(e) {\n return e.label ? ' class=\"'.concat(e.label, '\"') : \"\";\n }\n\n function l(e, t, n) {\n return \"<\".concat(e).concat(a(t), \">\").concat(n.join(\"\"), \"\");\n }\n\n e.exports = {\n asText: function asText(e, t) {\n return r.asText(e, t);\n },\n asHtml: function asHtml(e, t, n) {\n return r.serialize(e, c.bind(null, t), n).join(\"\");\n },\n Elements: u\n };\n }, function (e, t, n) {\n \"undefined\" != typeof self && self, e.exports = function (e) {\n var t = {};\n\n function n(r) {\n if (t[r]) return t[r].exports;\n var o = t[r] = {\n i: r,\n l: !1,\n exports: {}\n };\n return e[r].call(o.exports, o, o.exports, n), o.l = !0, o.exports;\n }\n\n return n.m = e, n.c = t, n.d = function (e, t, r) {\n n.o(e, t) || Object.defineProperty(e, t, {\n enumerable: !0,\n get: r\n });\n }, n.r = function (e) {\n \"undefined\" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {\n value: \"Module\"\n }), Object.defineProperty(e, \"__esModule\", {\n value: !0\n });\n }, n.t = function (e, t) {\n if (1 & t && (e = n(e)), 8 & t) return e;\n if (4 & t && \"object\" == typeof e && e && e.__esModule) return e;\n var r = Object.create(null);\n if (n.r(r), Object.defineProperty(r, \"default\", {\n enumerable: !0,\n value: e\n }), 2 & t && \"string\" != typeof e) for (var o in e) {\n n.d(r, o, function (t) {\n return e[t];\n }.bind(null, o));\n }\n return r;\n }, n.n = function (e) {\n var t = e && e.__esModule ? function () {\n return e.default;\n } : function () {\n return e;\n };\n return n.d(t, \"a\", t), t;\n }, n.o = function (e, t) {\n return Object.prototype.hasOwnProperty.call(e, t);\n }, n.p = \"\", n(n.s = 4);\n }([function (e, t, n) {\n \"use strict\";\n\n var r;\n\n function o(e, t, n) {\n return t in e ? Object.defineProperty(e, t, {\n value: n,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[t] = n, e;\n }\n\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.PRIORITIES = t.NODE_TYPES = void 0;\n var i = {\n heading1: \"heading1\",\n heading2: \"heading2\",\n heading3: \"heading3\",\n heading4: \"heading4\",\n heading5: \"heading5\",\n heading6: \"heading6\",\n paragraph: \"paragraph\",\n preformatted: \"preformatted\",\n strong: \"strong\",\n em: \"em\",\n listItem: \"list-item\",\n oListItem: \"o-list-item\",\n list: \"group-list-item\",\n oList: \"group-o-list-item\",\n image: \"image\",\n embed: \"embed\",\n hyperlink: \"hyperlink\",\n label: \"label\",\n span: \"span\"\n };\n t.NODE_TYPES = i;\n var u = (o(r = {}, i.heading1, 4), o(r, i.heading2, 4), o(r, i.heading3, 4), o(r, i.heading4, 4), o(r, i.heading5, 4), o(r, i.heading6, 4), o(r, i.paragraph, 3), o(r, i.preformatted, 5), o(r, i.strong, 6), o(r, i.em, 6), o(r, i.oList, 1), o(r, i.list, 1), o(r, i.listItem, 1), o(r, i.oListItem, 1), o(r, i.image, 1), o(r, i.embed, 1), o(r, i.hyperlink, 3), o(r, i.label, 4), o(r, i.span, 7), r);\n t.PRIORITIES = u;\n }, function (e, t, n) {\n \"use strict\";\n\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.default = void 0;\n var r,\n o = n(7),\n i = n(2),\n u = n(8),\n c = n(0),\n a = (r = n(3)) && r.__esModule ? r : {\n default: r\n };\n\n function l(e, t) {\n for (var n = 0; n < t.length; n++) {\n var r = t[n];\n r.enumerable = r.enumerable || !1, r.configurable = !0, \"value\" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);\n }\n }\n\n function s(e) {\n if (0 === e.length) throw new Error(\"Unable to elect node on empty list\");\n\n var t = function (e) {\n return function (e) {\n if (Array.isArray(e)) return e;\n }(e) || function (e) {\n if (Symbol.iterator in Object(e) || \"[object Arguments]\" === Object.prototype.toString.call(e)) return Array.from(e);\n }(e) || function () {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }();\n }(e.sort(function (e, t) {\n if (e.isParentOf(t)) return -1;\n if (t.isParentOf(e)) return 1;\n var n = c.PRIORITIES[e.type] - c.PRIORITIES[t.type];\n return 0 === n ? e.text.length - t.text.length : n;\n }));\n\n return {\n elected: t[0],\n others: t.slice(1)\n };\n }\n\n function f(e, t, n) {\n if (t.length > 0) return function (e, t, n) {\n return t.reduce(function (r, o, u) {\n var c = [],\n a = 0 === u && o.start > n.lower,\n l = u === t.length - 1 && n.upper > o.end;\n\n if (a) {\n var s = new i.TextNode(n.lower, o.start, e.slice(n.lower, o.start));\n c = c.concat(s);\n } else {\n var f = t[u - 1];\n\n if (f && o.start > f.end) {\n var d = e.slice(f.end, o.start),\n p = new i.TextNode(f.end, o.start, d);\n c = c.concat(p);\n }\n }\n\n if (c = c.concat(o), l) {\n var y = new i.TextNode(o.end, n.upper, e.slice(o.end, n.upper));\n c = c.concat(y);\n }\n\n return r.concat(c);\n }, []);\n }(e, d(e, t), n);\n var r = e.slice(n.lower, n.upper);\n return [new i.TextNode(n.lower, n.upper, r)];\n }\n\n function d(e, t) {\n var n = function (e) {\n return function (e, t) {\n return t.reduce(function (e, t) {\n var n = (0, o.last)(e);\n\n if (n) {\n if (n.some(function (e) {\n return e.isParentOf(t);\n })) return (0, o.init)(e).concat([n.concat(t)]);\n var r = (0, o.last)(n);\n return r && function (e, t) {\n return e.end >= t.start;\n }(r, t) ? (0, o.init)(e).concat([n.concat(t)]) : e.concat([[t]]);\n }\n\n return [[t]];\n }, []);\n }(0, (0, o.sort)(e, function (e, t) {\n return n = t, e.start - n.start || function (e, t) {\n return e.end - t.end;\n }(e, t);\n var n;\n }));\n }((0, o.sort)(t, function (e, t) {\n return e.start - t.start;\n })).map(s),\n r = (0, o.flatten)(n.map(function (t) {\n return function (e, t) {\n var n = t.others.reduce(function (n, r) {\n var o = n.inner,\n u = n.outer,\n c = function (e, t, n) {\n return n.start < t.start ? {\n inner: i.SpanNode.slice(n, t.start, n.end, e),\n outer: i.SpanNode.slice(n, n.start, t.start, e)\n } : n.end > t.end ? {\n inner: i.SpanNode.slice(n, n.start, t.end, e),\n outer: i.SpanNode.slice(n, t.end, n.end, e)\n } : {\n inner: n\n };\n }(e, t.elected, r);\n\n return {\n inner: o.concat(c.inner),\n outer: c.outer ? u.concat(c.outer) : u\n };\n }, {\n inner: [],\n outer: []\n }),\n r = n.inner,\n o = n.outer;\n return [t.elected.setChildren(f(e, r, t.elected.boundaries()))].concat(d(e, o));\n }(e, t);\n }));\n\n return (0, o.sort)(r, function (e, t) {\n return e.start - t.start;\n });\n }\n\n var p = function () {\n function e() {\n !function (e, t) {\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\n }(this, e);\n }\n\n var t, n;\n return t = e, (n = [{\n key: \"fromRichText\",\n value: function value(e) {\n return {\n key: (0, a.default)(),\n children: e.reduce(function (e, t, n) {\n if (u.RichTextBlock.isEmbedBlock(t.type) || u.RichTextBlock.isImageBlock(t.type)) return e.concat(new i.BlockNode(t.type, t));\n\n var r = function (e) {\n var t = (e.spans || []).map(function (t) {\n var n = e.text.slice(t.start, t.end);\n return new i.SpanNode(t.start, t.end, t.type, n, [], t);\n }),\n n = {\n lower: 0,\n upper: e.text.length\n };\n return f(e.text, t, n);\n }(t),\n c = e[e.length - 1];\n\n if (u.RichTextBlock.isListItem(t.type) && c && c instanceof i.ListBlockNode) {\n var a = new i.ListItemBlockNode(t, r),\n l = c.addChild(a);\n return (0, o.init)(e).concat(l);\n }\n\n if (u.RichTextBlock.isOrderedListItem(t.type) && c && c instanceof i.OrderedListBlockNode) {\n var s = new i.OrderedListItemBlockNode(t, r),\n d = c.addChild(s);\n return (0, o.init)(e).concat(d);\n }\n\n if (u.RichTextBlock.isListItem(t.type)) {\n var p = new i.ListItemBlockNode(t, r),\n y = new i.ListBlockNode(u.RichTextBlock.emptyList(), [p]);\n return e.concat(y);\n }\n\n if (u.RichTextBlock.isOrderedListItem(t.type)) {\n var h = new i.OrderedListItemBlockNode(t, r),\n v = new i.OrderedListBlockNode(u.RichTextBlock.emptyOrderedList(), [h]);\n return e.concat(v);\n }\n\n return e.concat(new i.BlockNode(t.type, t, r));\n }, [])\n };\n }\n }]) && l(t, n), e;\n }();\n\n t.default = p;\n }, function (e, t, n) {\n \"use strict\";\n\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.ListBlockNode = t.OrderedListBlockNode = t.OrderedListItemBlockNode = t.ListItemBlockNode = t.BlockNode = t.TextNode = t.SpanNode = t.Node = void 0;\n var r,\n o = (r = n(3)) && r.__esModule ? r : {\n default: r\n },\n i = n(0);\n\n function u(e) {\n return (u = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (e) {\n return typeof e;\n } : function (e) {\n return e && \"function\" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? \"symbol\" : typeof e;\n })(e);\n }\n\n function c(e, t) {\n for (var n = 0; n < t.length; n++) {\n var r = t[n];\n r.enumerable = r.enumerable || !1, r.configurable = !0, \"value\" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);\n }\n }\n\n function a(e, t, n) {\n return t && c(e.prototype, t), n && c(e, n), e;\n }\n\n function l(e, t) {\n if (\"function\" != typeof t && null !== t) throw new TypeError(\"Super expression must either be null or a function\");\n e.prototype = Object.create(t && t.prototype, {\n constructor: {\n value: e,\n writable: !0,\n configurable: !0\n }\n }), t && function (e, t) {\n (Object.setPrototypeOf || function (e, t) {\n return e.__proto__ = t, e;\n })(e, t);\n }(e, t);\n }\n\n function s(e) {\n return function () {\n var t,\n n = f(e);\n\n if (function () {\n if (\"undefined\" == typeof Reflect || !Reflect.construct) return !1;\n if (Reflect.construct.sham) return !1;\n if (\"function\" == typeof Proxy) return !0;\n\n try {\n return Date.prototype.toString.call(Reflect.construct(Date, [], function () {})), !0;\n } catch (e) {\n return !1;\n }\n }()) {\n var r = f(this).constructor;\n t = Reflect.construct(n, arguments, r);\n } else t = n.apply(this, arguments);\n\n return function (e, t) {\n return !t || \"object\" !== u(t) && \"function\" != typeof t ? function (e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n }(e) : t;\n }(this, t);\n };\n }\n\n function f(e) {\n return (f = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) {\n return e.__proto__ || Object.getPrototypeOf(e);\n })(e);\n }\n\n function d(e, t) {\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\n }\n\n var p = function e(t, n, r) {\n d(this, e), this.key = (0, o.default)(), this.type = t, this.element = n, this.children = r;\n };\n\n t.Node = p;\n\n var y = function (e) {\n l(n, p);\n var t = s(n);\n\n function n(e, r, o, i, u, c) {\n var a;\n return d(this, n), (a = t.call(this, o, c, u)).start = e, a.end = r, a.text = i, a.children = u, a;\n }\n\n return a(n, [{\n key: \"boundaries\",\n value: function value() {\n return {\n lower: this.start,\n upper: this.end\n };\n }\n }, {\n key: \"isParentOf\",\n value: function value(e) {\n return this.start <= e.start && this.end >= e.end;\n }\n }, {\n key: \"setChildren\",\n value: function value(e) {\n return new n(this.start, this.end, this.type, this.text, e, this.element);\n }\n }], [{\n key: \"slice\",\n value: function value(e, t, r, o) {\n return new n(t, r, e.type, o.slice(t, r), e.children, e.element);\n }\n }]), n;\n }();\n\n t.SpanNode = y;\n\n var h = function (e) {\n l(n, y);\n var t = s(n);\n\n function n(e, r, o) {\n d(this, n);\n var u = {\n type: i.NODE_TYPES.span,\n start: e,\n end: r,\n text: o\n };\n return t.call(this, e, r, i.NODE_TYPES.span, o, [], u);\n }\n\n return n;\n }();\n\n t.TextNode = h;\n\n var v = function (e) {\n l(n, p);\n var t = s(n);\n\n function n(e, r) {\n var o = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : [];\n return d(this, n), t.call(this, e, r, o);\n }\n\n return n;\n }();\n\n t.BlockNode = v;\n\n var m = function (e) {\n l(n, v);\n var t = s(n);\n\n function n(e, r) {\n return d(this, n), t.call(this, i.NODE_TYPES.listItem, e, r);\n }\n\n return n;\n }();\n\n t.ListItemBlockNode = m;\n\n var b = function (e) {\n l(n, v);\n var t = s(n);\n\n function n(e, r) {\n return d(this, n), t.call(this, i.NODE_TYPES.oListItem, e, r);\n }\n\n return n;\n }();\n\n t.OrderedListItemBlockNode = b;\n\n var g = function (e) {\n l(n, v);\n var t = s(n);\n\n function n(e, r) {\n return d(this, n), t.call(this, i.NODE_TYPES.oList, e, r);\n }\n\n return a(n, [{\n key: \"addChild\",\n value: function value(e) {\n var t = this.children.concat(e);\n return new n(this.element, t);\n }\n }]), n;\n }();\n\n t.OrderedListBlockNode = g;\n\n var x = function (e) {\n l(n, v);\n var t = s(n);\n\n function n(e, r) {\n return d(this, n), t.call(this, i.NODE_TYPES.list, e, r);\n }\n\n return a(n, [{\n key: \"addChild\",\n value: function value(e) {\n var t = this.children.concat(e);\n return new n(this.element, t);\n }\n }]), n;\n }();\n\n t.ListBlockNode = x;\n }, function (e, t, n) {\n \"use strict\";\n\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.default = function () {\n var e = new Date().getTime();\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function (t) {\n var n = (e + 16 * Math.random()) % 16 | 0;\n return e = Math.floor(e / 16), (\"x\" == t ? n : 3 & n | 8).toString(16);\n });\n };\n }, function (e, t, n) {\n e.exports = n(5);\n }, function (e, t, n) {\n \"use strict\";\n\n var r = c(n(6)),\n o = c(n(1)),\n i = c(n(9)),\n u = n(0);\n\n function c(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n e.exports = {\n asText: r.default,\n asTree: o.default.fromRichText,\n serialize: i.default,\n Elements: u.NODE_TYPES\n };\n }, function (e, t, n) {\n \"use strict\";\n\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.default = void 0, t.default = function (e, t) {\n var n = \"string\" == typeof t ? t : \" \";\n return e.map(function (e) {\n return e.text;\n }).join(n);\n };\n }, function (e, t, n) {\n \"use strict\";\n\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.init = function (e) {\n return e.slice(0, -1);\n }, t.last = function (e) {\n return e[e.length - 1];\n }, t.flatten = function (e) {\n var t = [],\n n = !0,\n r = !1,\n o = void 0;\n\n try {\n for (var i, u = e[Symbol.iterator](); !(n = (i = u.next()).done); n = !0) {\n var c = i.value;\n Array.isArray(c) ? t.push.apply(t, c) : t.push(c);\n }\n } catch (e) {\n r = !0, o = e;\n } finally {\n try {\n n || null == u.return || u.return();\n } finally {\n if (r) throw o;\n }\n }\n\n return t;\n }, t.sort = function (e, t) {\n return function (e) {\n return function (e) {\n if (Array.isArray(e)) {\n for (var t = 0, n = new Array(e.length); t < e.length; t++) {\n n[t] = e[t];\n }\n\n return n;\n }\n }(e) || function (e) {\n if (Symbol.iterator in Object(e) || \"[object Arguments]\" === Object.prototype.toString.call(e)) return Array.from(e);\n }(e) || function () {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n }();\n }(e).sort(t);\n };\n }, function (e, t, n) {\n \"use strict\";\n\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.RichTextBlock = void 0;\n var r = n(0);\n\n function o(e, t) {\n for (var n = 0; n < t.length; n++) {\n var r = t[n];\n r.enumerable = r.enumerable || !1, r.configurable = !0, \"value\" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);\n }\n }\n\n var i = function () {\n function e(t, n, r) {\n !function (e, t) {\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\n }(this, e), this.type = t, this.text = n, this.spans = r;\n }\n\n var t, n;\n return t = e, (n = [{\n key: \"isEmbedBlock\",\n value: function value(e) {\n return e === r.NODE_TYPES.embed;\n }\n }, {\n key: \"isImageBlock\",\n value: function value(e) {\n return e === r.NODE_TYPES.image;\n }\n }, {\n key: \"isList\",\n value: function value(e) {\n return e === r.NODE_TYPES.list;\n }\n }, {\n key: \"isOrderedList\",\n value: function value(e) {\n return e === r.NODE_TYPES.oList;\n }\n }, {\n key: \"isListItem\",\n value: function value(e) {\n return e === r.NODE_TYPES.listItem;\n }\n }, {\n key: \"isOrderedListItem\",\n value: function value(e) {\n return e === r.NODE_TYPES.oListItem;\n }\n }, {\n key: \"emptyList\",\n value: function value() {\n return {\n type: r.NODE_TYPES.list,\n spans: [],\n text: \"\"\n };\n }\n }, {\n key: \"emptyOrderedList\",\n value: function value() {\n return {\n type: r.NODE_TYPES.oList,\n spans: [],\n text: \"\"\n };\n }\n }]) && o(t, n), e;\n }();\n\n t.RichTextBlock = i;\n }, function (e, t, n) {\n \"use strict\";\n\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.default = void 0;\n var r,\n o = (r = n(1)) && r.__esModule ? r : {\n default: r\n },\n i = n(2);\n\n t.default = function (e, t, n) {\n return o.default.fromRichText(e).children.map(function (e, r) {\n return function (e, t, n, r) {\n return function e(n, o) {\n var u = n instanceof i.SpanNode ? n.text : null,\n c = n.children.reduce(function (t, n, r) {\n return t.concat([e(n, r)]);\n }, []);\n return r && r(n.type, n.element, u, c, o) || t(n.type, n.element, u, c, o);\n }(e, n);\n }(e, t, r, n);\n });\n };\n }]);\n }, function (e, t, n) {\n \"use strict\";\n /*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */\n\n var r = /[\"'&<>]/;\n\n e.exports = function (e) {\n var t,\n n = \"\" + e,\n o = r.exec(n);\n if (!o) return n;\n var i = \"\",\n u = 0,\n c = 0;\n\n for (u = o.index; u < n.length; u++) {\n switch (n.charCodeAt(u)) {\n case 34:\n t = \""\";\n break;\n\n case 38:\n t = \"&\";\n break;\n\n case 39:\n t = \"'\";\n break;\n\n case 60:\n t = \"<\";\n break;\n\n case 62:\n t = \">\";\n break;\n\n default:\n continue;\n }\n\n c !== u && (i += n.substring(c, u)), c = u + 1, i += t;\n }\n\n return c !== u ? i + n.substring(c, u) : i;\n };\n }]);\n});","\"use strict\";\n/**\n * @since 2.0.0\n */\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bindTo_ = exports.bind_ = exports.hole = exports.pipe = exports.untupled = exports.tupled = exports.absurd = exports.decrement = exports.increment = exports.tuple = exports.flow = exports.flip = exports.constVoid = exports.constUndefined = exports.constNull = exports.constFalse = exports.constTrue = exports.constant = exports.not = exports.unsafeCoerce = exports.identity = void 0;\n/**\n * @since 2.0.0\n */\n\nfunction identity(a) {\n return a;\n}\n\nexports.identity = identity;\n/**\n * @since 2.0.0\n */\n\nexports.unsafeCoerce = identity;\n/**\n * @since 2.0.0\n */\n\nfunction not(predicate) {\n return function (a) {\n return !predicate(a);\n };\n}\n\nexports.not = not;\n/**\n * @since 2.0.0\n */\n\nfunction constant(a) {\n return function () {\n return a;\n };\n}\n\nexports.constant = constant;\n/**\n * A thunk that returns always `true`.\n *\n * @since 2.0.0\n */\n\nexports.constTrue = /*#__PURE__*/constant(true);\n/**\n * A thunk that returns always `false`.\n *\n * @since 2.0.0\n */\n\nexports.constFalse = /*#__PURE__*/constant(false);\n/**\n * A thunk that returns always `null`.\n *\n * @since 2.0.0\n */\n\nexports.constNull = /*#__PURE__*/constant(null);\n/**\n * A thunk that returns always `undefined`.\n *\n * @since 2.0.0\n */\n\nexports.constUndefined = /*#__PURE__*/constant(undefined);\n/**\n * A thunk that returns always `void`.\n *\n * @since 2.0.0\n */\n\nexports.constVoid = exports.constUndefined; // TODO: remove in v3\n\n/**\n * Flips the order of the arguments of a function of two arguments.\n *\n * @since 2.0.0\n */\n\nfunction flip(f) {\n return function (b, a) {\n return f(a, b);\n };\n}\n\nexports.flip = flip;\n\nfunction flow(ab, bc, cd, de, ef, fg, gh, hi, ij) {\n switch (arguments.length) {\n case 1:\n return ab;\n\n case 2:\n return function () {\n return bc(ab.apply(this, arguments));\n };\n\n case 3:\n return function () {\n return cd(bc(ab.apply(this, arguments)));\n };\n\n case 4:\n return function () {\n return de(cd(bc(ab.apply(this, arguments))));\n };\n\n case 5:\n return function () {\n return ef(de(cd(bc(ab.apply(this, arguments)))));\n };\n\n case 6:\n return function () {\n return fg(ef(de(cd(bc(ab.apply(this, arguments))))));\n };\n\n case 7:\n return function () {\n return gh(fg(ef(de(cd(bc(ab.apply(this, arguments)))))));\n };\n\n case 8:\n return function () {\n return hi(gh(fg(ef(de(cd(bc(ab.apply(this, arguments))))))));\n };\n\n case 9:\n return function () {\n return ij(hi(gh(fg(ef(de(cd(bc(ab.apply(this, arguments)))))))));\n };\n }\n\n return;\n}\n\nexports.flow = flow;\n/**\n * @since 2.0.0\n */\n\nfunction tuple() {\n var t = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n t[_i] = arguments[_i];\n }\n\n return t;\n}\n\nexports.tuple = tuple;\n/**\n * @since 2.0.0\n */\n\nfunction increment(n) {\n return n + 1;\n}\n\nexports.increment = increment;\n/**\n * @since 2.0.0\n */\n\nfunction decrement(n) {\n return n - 1;\n}\n\nexports.decrement = decrement;\n/**\n * @since 2.0.0\n */\n\nfunction absurd(_) {\n throw new Error('Called `absurd` function which should be uncallable');\n}\n\nexports.absurd = absurd;\n/**\n * Creates a tupled version of this function: instead of `n` arguments, it accepts a single tuple argument.\n *\n * @example\n * import { tupled } from 'fp-ts/function'\n *\n * const add = tupled((x: number, y: number): number => x + y)\n *\n * assert.strictEqual(add([1, 2]), 3)\n *\n * @since 2.4.0\n */\n\nfunction tupled(f) {\n return function (a) {\n return f.apply(void 0, a);\n };\n}\n\nexports.tupled = tupled;\n/**\n * Inverse function of `tupled`\n *\n * @since 2.4.0\n */\n\nfunction untupled(f) {\n return function () {\n var a = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n a[_i] = arguments[_i];\n }\n\n return f(a);\n };\n}\n\nexports.untupled = untupled;\n\nfunction pipe(a, ab, bc, cd, de, ef, fg, gh, hi, ij, jk, kl, lm, mn, no, op, pq, qr, rs, st) {\n switch (arguments.length) {\n case 1:\n return a;\n\n case 2:\n return ab(a);\n\n case 3:\n return bc(ab(a));\n\n case 4:\n return cd(bc(ab(a)));\n\n case 5:\n return de(cd(bc(ab(a))));\n\n case 6:\n return ef(de(cd(bc(ab(a)))));\n\n case 7:\n return fg(ef(de(cd(bc(ab(a))))));\n\n case 8:\n return gh(fg(ef(de(cd(bc(ab(a)))))));\n\n case 9:\n return hi(gh(fg(ef(de(cd(bc(ab(a))))))));\n\n case 10:\n return ij(hi(gh(fg(ef(de(cd(bc(ab(a)))))))));\n\n case 11:\n return jk(ij(hi(gh(fg(ef(de(cd(bc(ab(a))))))))));\n\n case 12:\n return kl(jk(ij(hi(gh(fg(ef(de(cd(bc(ab(a)))))))))));\n\n case 13:\n return lm(kl(jk(ij(hi(gh(fg(ef(de(cd(bc(ab(a))))))))))));\n\n case 14:\n return mn(lm(kl(jk(ij(hi(gh(fg(ef(de(cd(bc(ab(a)))))))))))));\n\n case 15:\n return no(mn(lm(kl(jk(ij(hi(gh(fg(ef(de(cd(bc(ab(a))))))))))))));\n\n case 16:\n return op(no(mn(lm(kl(jk(ij(hi(gh(fg(ef(de(cd(bc(ab(a)))))))))))))));\n\n case 17:\n return pq(op(no(mn(lm(kl(jk(ij(hi(gh(fg(ef(de(cd(bc(ab(a))))))))))))))));\n\n case 18:\n return qr(pq(op(no(mn(lm(kl(jk(ij(hi(gh(fg(ef(de(cd(bc(ab(a)))))))))))))))));\n\n case 19:\n return rs(qr(pq(op(no(mn(lm(kl(jk(ij(hi(gh(fg(ef(de(cd(bc(ab(a))))))))))))))))));\n\n case 20:\n return st(rs(qr(pq(op(no(mn(lm(kl(jk(ij(hi(gh(fg(ef(de(cd(bc(ab(a)))))))))))))))))));\n }\n\n return;\n}\n\nexports.pipe = pipe;\n/**\n * Type hole simulation\n *\n * @since 2.7.0\n */\n\nexports.hole = absurd;\n/**\n * @internal\n */\n\nvar bind_ = function bind_(a, name, b) {\n var _a;\n\n return Object.assign({}, a, (_a = {}, _a[name] = b, _a));\n};\n\nexports.bind_ = bind_;\n/**\n * @internal\n */\n\nvar bindTo_ = function bindTo_(name) {\n return function (b) {\n var _a;\n\n return _a = {}, _a[name] = b, _a;\n };\n};\n\nexports.bindTo_ = bindTo_;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;","/**\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","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.eq = exports.Contravariant = exports.getMonoid = exports.eqDate = exports.getTupleEq = exports.getStructEq = exports.eqBoolean = exports.eqNumber = exports.eqString = exports.strictEqual = exports.eqStrict = exports.URI = exports.contramap = exports.fromEquals = void 0;\n\nvar function_1 = require(\"./function\"); // -------------------------------------------------------------------------------------\n// constructors\n// -------------------------------------------------------------------------------------\n\n/**\n * @category constructors\n * @since 2.0.0\n */\n\n\nfunction fromEquals(_equals) {\n return {\n equals: function equals(x, y) {\n return x === y || _equals(x, y);\n }\n };\n}\n\nexports.fromEquals = fromEquals; // -------------------------------------------------------------------------------------\n// non-pipeables\n// -------------------------------------------------------------------------------------\n\n/* istanbul ignore next */\n\nvar contramap_ = function contramap_(fa, f) {\n return function_1.pipe(fa, exports.contramap(f));\n}; // -------------------------------------------------------------------------------------\n// pipeables\n// -------------------------------------------------------------------------------------\n\n/**\n * @category Contravariant\n * @since 2.0.0\n */\n\n\nvar contramap = function contramap(f) {\n return function (fa) {\n return fromEquals(function (x, y) {\n return fa.equals(f(x), f(y));\n });\n };\n};\n\nexports.contramap = contramap; // -------------------------------------------------------------------------------------\n// instances\n// -------------------------------------------------------------------------------------\n\n/**\n * @category instances\n * @since 2.0.0\n */\n\nexports.URI = 'Eq';\n/**\n * @category instances\n * @since 2.5.0\n */\n\nexports.eqStrict = {\n // tslint:disable-next-line: deprecation\n equals: strictEqual\n};\n/**\n * Use `eqStrict` instead\n *\n * @since 2.0.0\n * @deprecated\n */\n\nfunction strictEqual(a, b) {\n return a === b;\n}\n\nexports.strictEqual = strictEqual;\n/**\n * @category instances\n * @since 2.0.0\n */\n\nexports.eqString = exports.eqStrict;\n/**\n * @category instances\n * @since 2.0.0\n */\n\nexports.eqNumber = exports.eqStrict;\n/**\n * @category instances\n * @since 2.0.0\n */\n\nexports.eqBoolean = exports.eqStrict;\n/**\n * @category instances\n * @since 2.0.0\n */\n\nfunction getStructEq(eqs) {\n return fromEquals(function (x, y) {\n for (var k in eqs) {\n if (!eqs[k].equals(x[k], y[k])) {\n return false;\n }\n }\n\n return true;\n });\n}\n\nexports.getStructEq = getStructEq;\n/**\n * Given a tuple of `Eq`s returns a `Eq` for the tuple\n *\n * @example\n * import { getTupleEq, eqString, eqNumber, eqBoolean } from 'fp-ts/Eq'\n *\n * const E = getTupleEq(eqString, eqNumber, eqBoolean)\n * assert.strictEqual(E.equals(['a', 1, true], ['a', 1, true]), true)\n * assert.strictEqual(E.equals(['a', 1, true], ['b', 1, true]), false)\n * assert.strictEqual(E.equals(['a', 1, true], ['a', 2, true]), false)\n * assert.strictEqual(E.equals(['a', 1, true], ['a', 1, false]), false)\n *\n * @category instances\n * @since 2.0.0\n */\n\nfunction getTupleEq() {\n var eqs = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n eqs[_i] = arguments[_i];\n }\n\n return fromEquals(function (x, y) {\n return eqs.every(function (E, i) {\n return E.equals(x[i], y[i]);\n });\n });\n}\n\nexports.getTupleEq = getTupleEq;\n/**\n * @category instances\n * @since 2.0.0\n */\n\nexports.eqDate = {\n equals: function equals(x, y) {\n return x.valueOf() === y.valueOf();\n }\n};\nvar empty = {\n equals: function equals() {\n return true;\n }\n};\n/**\n * @category instances\n * @since 2.6.0\n */\n\nfunction getMonoid() {\n return {\n concat: function concat(x, y) {\n return fromEquals(function (a, b) {\n return x.equals(a, b) && y.equals(a, b);\n });\n },\n empty: empty\n };\n}\n\nexports.getMonoid = getMonoid;\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.Contravariant = {\n URI: exports.URI,\n contramap: contramap_\n}; // TODO: remove in v3\n\n/**\n * @category instances\n * @since 2.0.0\n */\n\nexports.eq = exports.Contravariant;","var global = require('../internals/global');\n\nmodule.exports = global;\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","// This is extracted to separate module because it's shared\n// between browser and SSR code\nexport const RouteAnnouncerProps = {\n id: `gatsby-announcer`,\n style: {\n position: `absolute`,\n top: 0,\n width: 1,\n height: 1,\n padding: 0,\n overflow: `hidden`,\n clip: `rect(0, 0, 0, 0)`,\n whiteSpace: `nowrap`,\n border: 0,\n },\n \"aria-live\": `assertive`,\n \"aria-atomic\": `true`,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport 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()\nconst redirectMap = redirects.reduce((map, redirect) => {\n map[redirect.fromPath] = redirect\n return map\n}, {})\n\nfunction maybeRedirect(pathname) {\n const redirect = redirectMap[pathname]\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 const redirect = redirectMap[pathname]\n\n // If we're redirecting, just replace the passed in pathname\n // to the one we want to redirect to.\n if (redirect) {\n to = redirect.toPath\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\");\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inheritsLoose;","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.8.3',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ord = exports.Contravariant = exports.ordDate = exports.URI = exports.contramap = exports.getDualOrd = exports.getTupleOrd = exports.getMonoid = exports.getSemigroup = exports.fromCompare = exports.between = exports.clamp = exports.max = exports.min = exports.geq = exports.leq = exports.gt = exports.lt = exports.ordBoolean = exports.ordNumber = exports.ordString = void 0;\n\nvar Ordering_1 = require(\"./Ordering\");\n\nvar function_1 = require(\"./function\"); // default compare for primitive types\n\n\nfunction compare(x, y) {\n return x < y ? -1 : x > y ? 1 : 0;\n}\n\nfunction strictEqual(a, b) {\n return a === b;\n}\n/**\n * @category instances\n * @since 2.0.0\n */\n\n\nexports.ordString = {\n equals: strictEqual,\n compare: compare\n};\n/**\n * @category instances\n * @since 2.0.0\n */\n\nexports.ordNumber = {\n equals: strictEqual,\n compare: compare\n};\n/**\n * @category instances\n * @since 2.0.0\n */\n\nexports.ordBoolean = {\n equals: strictEqual,\n compare: compare\n}; // TODO: curry in v3\n\n/**\n * Test whether one value is _strictly less than_ another\n *\n * @since 2.0.0\n */\n\nfunction lt(O) {\n return function (x, y) {\n return O.compare(x, y) === -1;\n };\n}\n\nexports.lt = lt; // TODO: curry in v3\n\n/**\n * Test whether one value is _strictly greater than_ another\n *\n * @since 2.0.0\n */\n\nfunction gt(O) {\n return function (x, y) {\n return O.compare(x, y) === 1;\n };\n}\n\nexports.gt = gt; // TODO: curry in v3\n\n/**\n * Test whether one value is _non-strictly less than_ another\n *\n * @since 2.0.0\n */\n\nfunction leq(O) {\n return function (x, y) {\n return O.compare(x, y) !== 1;\n };\n}\n\nexports.leq = leq; // TODO: curry in v3\n\n/**\n * Test whether one value is _non-strictly greater than_ another\n *\n * @since 2.0.0\n */\n\nfunction geq(O) {\n return function (x, y) {\n return O.compare(x, y) !== -1;\n };\n}\n\nexports.geq = geq; // TODO: curry in v3\n\n/**\n * Take the minimum of two values. If they are considered equal, the first argument is chosen\n *\n * @since 2.0.0\n */\n\nfunction min(O) {\n return function (x, y) {\n return O.compare(x, y) === 1 ? y : x;\n };\n}\n\nexports.min = min; // TODO: curry in v3\n\n/**\n * Take the maximum of two values. If they are considered equal, the first argument is chosen\n *\n * @since 2.0.0\n */\n\nfunction max(O) {\n return function (x, y) {\n return O.compare(x, y) === -1 ? y : x;\n };\n}\n\nexports.max = max;\n/**\n * Clamp a value between a minimum and a maximum\n *\n * @since 2.0.0\n */\n\nfunction clamp(O) {\n var minO = min(O);\n var maxO = max(O);\n return function (low, hi) {\n return function (x) {\n return maxO(minO(x, hi), low);\n };\n };\n}\n\nexports.clamp = clamp;\n/**\n * Test whether a value is between a minimum and a maximum (inclusive)\n *\n * @since 2.0.0\n */\n\nfunction between(O) {\n var lessThanO = lt(O);\n var greaterThanO = gt(O);\n return function (low, hi) {\n return function (x) {\n return lessThanO(x, low) || greaterThanO(x, hi) ? false : true;\n };\n };\n}\n\nexports.between = between;\n/**\n * @category constructors\n * @since 2.0.0\n */\n\nfunction fromCompare(compare) {\n var optimizedCompare = function optimizedCompare(x, y) {\n return x === y ? 0 : compare(x, y);\n };\n\n return {\n equals: function equals(x, y) {\n return optimizedCompare(x, y) === 0;\n },\n compare: optimizedCompare\n };\n}\n\nexports.fromCompare = fromCompare;\n/**\n * Use `getMonoid` instead\n *\n * @category instances\n * @since 2.0.0\n * @deprecated\n */\n\nfunction getSemigroup() {\n return {\n concat: function concat(x, y) {\n return fromCompare(function (a, b) {\n return Ordering_1.monoidOrdering.concat(x.compare(a, b), y.compare(a, b));\n });\n }\n };\n}\n\nexports.getSemigroup = getSemigroup;\n/**\n * Returns a `Monoid` such that:\n *\n * - its `concat(ord1, ord2)` operation will order first by `ord1`, and then by `ord2`\n * - its `empty` value is an `Ord` that always considers compared elements equal\n *\n * @example\n * import { sort } from 'fp-ts/Array'\n * import { contramap, getDualOrd, getMonoid, ordBoolean, ordNumber, ordString } from 'fp-ts/Ord'\n * import { pipe } from 'fp-ts/function'\n * import { fold } from 'fp-ts/Monoid'\n *\n * interface User {\n * id: number\n * name: string\n * age: number\n * rememberMe: boolean\n * }\n *\n * const byName = pipe(\n * ordString,\n * contramap((p: User) => p.name)\n * )\n *\n * const byAge = pipe(\n * ordNumber,\n * contramap((p: User) => p.age)\n * )\n *\n * const byRememberMe = pipe(\n * ordBoolean,\n * contramap((p: User) => p.rememberMe)\n * )\n *\n * const M = getMonoid()\n *\n * const users: Array = [\n * { id: 1, name: 'Guido', age: 47, rememberMe: false },\n * { id: 2, name: 'Guido', age: 46, rememberMe: true },\n * { id: 3, name: 'Giulio', age: 44, rememberMe: false },\n * { id: 4, name: 'Giulio', age: 44, rememberMe: true }\n * ]\n *\n * // sort by name, then by age, then by `rememberMe`\n * const O1 = fold(M)([byName, byAge, byRememberMe])\n * assert.deepStrictEqual(sort(O1)(users), [\n * { id: 3, name: 'Giulio', age: 44, rememberMe: false },\n * { id: 4, name: 'Giulio', age: 44, rememberMe: true },\n * { id: 2, name: 'Guido', age: 46, rememberMe: true },\n * { id: 1, name: 'Guido', age: 47, rememberMe: false }\n * ])\n *\n * // now `rememberMe = true` first, then by name, then by age\n * const O2 = fold(M)([getDualOrd(byRememberMe), byName, byAge])\n * assert.deepStrictEqual(sort(O2)(users), [\n * { id: 4, name: 'Giulio', age: 44, rememberMe: true },\n * { id: 2, name: 'Guido', age: 46, rememberMe: true },\n * { id: 3, name: 'Giulio', age: 44, rememberMe: false },\n * { id: 1, name: 'Guido', age: 47, rememberMe: false }\n * ])\n *\n * @category instances\n * @since 2.4.0\n */\n\nfunction getMonoid() {\n return {\n // tslint:disable-next-line: deprecation\n concat: getSemigroup().concat,\n empty: fromCompare(function () {\n return 0;\n })\n };\n}\n\nexports.getMonoid = getMonoid;\n/**\n * Given a tuple of `Ord`s returns an `Ord` for the tuple\n *\n * @example\n * import { getTupleOrd, ordString, ordNumber, ordBoolean } from 'fp-ts/Ord'\n *\n * const O = getTupleOrd(ordString, ordNumber, ordBoolean)\n * assert.strictEqual(O.compare(['a', 1, true], ['b', 2, true]), -1)\n * assert.strictEqual(O.compare(['a', 1, true], ['a', 2, true]), -1)\n * assert.strictEqual(O.compare(['a', 1, true], ['a', 1, false]), 1)\n *\n * @category instances\n * @since 2.0.0\n */\n\nfunction getTupleOrd() {\n var ords = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n ords[_i] = arguments[_i];\n }\n\n var len = ords.length;\n return fromCompare(function (x, y) {\n var i = 0;\n\n for (; i < len - 1; i++) {\n var r = ords[i].compare(x[i], y[i]);\n\n if (r !== 0) {\n return r;\n }\n }\n\n return ords[i].compare(x[i], y[i]);\n });\n}\n\nexports.getTupleOrd = getTupleOrd;\n/**\n * @category combinators\n * @since 2.0.0\n */\n\nfunction getDualOrd(O) {\n return fromCompare(function (x, y) {\n return O.compare(y, x);\n });\n}\n\nexports.getDualOrd = getDualOrd; // -------------------------------------------------------------------------------------\n// non-pipeables\n// -------------------------------------------------------------------------------------\n\n/* istanbul ignore next */\n\nvar contramap_ = function contramap_(fa, f) {\n return function_1.pipe(fa, exports.contramap(f));\n}; // -------------------------------------------------------------------------------------\n// pipeables\n// -------------------------------------------------------------------------------------\n\n/**\n * @category Contravariant\n * @since 2.0.0\n */\n\n\nvar contramap = function contramap(f) {\n return function (fa) {\n return fromCompare(function (x, y) {\n return fa.compare(f(x), f(y));\n });\n };\n};\n\nexports.contramap = contramap; // -------------------------------------------------------------------------------------\n// instances\n// -------------------------------------------------------------------------------------\n\n/**\n * @category instances\n * @since 2.0.0\n */\n\nexports.URI = 'Ord';\n/**\n * @category instances\n * @since 2.0.0\n */\n\nexports.ordDate = /*#__PURE__*/function_1.pipe(exports.ordNumber, /*#__PURE__*/exports.contramap(function (date) {\n return date.valueOf();\n}));\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.Contravariant = {\n URI: exports.URI,\n contramap: contramap_\n}; // TODO: remove in v3\n\n/**\n * @category instances\n * @since 2.0.0\n */\n\nexports.ord = exports.Contravariant;","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","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\n\n/* global Reflect, Promise */\nvar _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nvar _assign = function __assign() {\n _assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return _assign.apply(this, arguments);\n};\n\nexport { _assign as __assign };\nexport function __rest(s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length,\n r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,\n d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) {\n if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n }\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\nexport function __param(paramIndex, decorator) {\n return function (target, key) {\n decorator(target, key, paramIndex);\n };\n}\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\nexport function __generator(thisArg, body) {\n var _ = {\n label: 0,\n sent: function sent() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n\n while (_) {\n try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n\n case 7:\n op = _.ops.pop();\n\n _.trys.pop();\n\n continue;\n\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n\n if (t && _.label < t[2]) {\n _.label = t[2];\n\n _.ops.push(op);\n\n break;\n }\n\n if (t[2]) _.ops.pop();\n\n _.trys.pop();\n\n continue;\n }\n\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n }\n\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n}\nexport var __createBinding = Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n};\nexport function __exportStar(m, o) {\n for (var p in m) {\n if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n }\n}\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator,\n m = s && o[s],\n i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function next() {\n if (o && i >= o.length) o = void 0;\n return {\n value: o && o[i++],\n done: !o\n };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o),\n r,\n ar = [],\n e;\n\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {\n ar.push(r.value);\n }\n } catch (error) {\n e = {\n error: error\n };\n } finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally {\n if (e) throw e.error;\n }\n }\n\n return ar;\n}\n/** @deprecated */\n\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++) {\n ar = ar.concat(__read(arguments[i]));\n }\n\n return ar;\n}\n/** @deprecated */\n\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) {\n s += arguments[i].length;\n }\n\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) {\n r[k] = a[j];\n }\n }\n\n return r;\n}\nexport function __spreadArray(to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) {\n to[j] = from[i];\n }\n\n return to;\n}\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []),\n i,\n q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i;\n\n function verb(n) {\n if (g[n]) i[n] = function (v) {\n return new Promise(function (a, b) {\n q.push([n, v, a, b]) > 1 || resume(n, v);\n });\n };\n }\n\n function resume(n, v) {\n try {\n step(g[n](v));\n } catch (e) {\n settle(q[0][3], e);\n }\n }\n\n function step(r) {\n r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);\n }\n\n function fulfill(value) {\n resume(\"next\", value);\n }\n\n function reject(value) {\n resume(\"throw\", value);\n }\n\n function settle(f, v) {\n if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);\n }\n}\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) {\n throw e;\n }), verb(\"return\"), i[Symbol.iterator] = function () {\n return this;\n }, i;\n\n function verb(n, f) {\n i[n] = o[n] ? function (v) {\n return (p = !p) ? {\n value: __await(o[n](v)),\n done: n === \"return\"\n } : f ? f(v) : v;\n } : f;\n }\n}\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator],\n i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i);\n\n function verb(n) {\n i[n] = o[n] && function (v) {\n return new Promise(function (resolve, reject) {\n v = o[n](v), settle(resolve, reject, v.done, v.value);\n });\n };\n }\n\n function settle(resolve, reject, d, v) {\n Promise.resolve(v).then(function (v) {\n resolve({\n value: v,\n done: d\n });\n }, reject);\n }\n}\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) {\n Object.defineProperty(cooked, \"raw\", {\n value: raw\n });\n } else {\n cooked.raw = raw;\n }\n\n return cooked;\n}\n;\n\nvar __setModuleDefault = Object.create ? function (o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function (o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) {\n if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n }\n\n __setModuleDefault(result, mod);\n\n return result;\n}\nexport function __importDefault(mod) {\n return mod && mod.__esModule ? mod : {\n default: mod\n };\n}\nexport function __classPrivateFieldGet(receiver, privateMap) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n\n return privateMap.get(receiver);\n}\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to set private field on non-instance\");\n }\n\n privateMap.set(receiver, value);\n return value;\n}","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\n\n/* global Reflect, Promise */\nvar _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nvar _assign = function __assign() {\n _assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return _assign.apply(this, arguments);\n};\n\nexport { _assign as __assign };\nexport function __rest(s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length,\n r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,\n d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) {\n if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n }\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\nexport function __param(paramIndex, decorator) {\n return function (target, key) {\n decorator(target, key, paramIndex);\n };\n}\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\nexport function __generator(thisArg, body) {\n var _ = {\n label: 0,\n sent: function sent() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n\n while (_) {\n try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n\n case 7:\n op = _.ops.pop();\n\n _.trys.pop();\n\n continue;\n\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n\n if (t && _.label < t[2]) {\n _.label = t[2];\n\n _.ops.push(op);\n\n break;\n }\n\n if (t[2]) _.ops.pop();\n\n _.trys.pop();\n\n continue;\n }\n\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n }\n\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n}\nexport var __createBinding = Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n};\nexport function __exportStar(m, o) {\n for (var p in m) {\n if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n }\n}\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator,\n m = s && o[s],\n i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function next() {\n if (o && i >= o.length) o = void 0;\n return {\n value: o && o[i++],\n done: !o\n };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o),\n r,\n ar = [],\n e;\n\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {\n ar.push(r.value);\n }\n } catch (error) {\n e = {\n error: error\n };\n } finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally {\n if (e) throw e.error;\n }\n }\n\n return ar;\n}\n/** @deprecated */\n\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++) {\n ar = ar.concat(__read(arguments[i]));\n }\n\n return ar;\n}\n/** @deprecated */\n\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) {\n s += arguments[i].length;\n }\n\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) {\n r[k] = a[j];\n }\n }\n\n return r;\n}\nexport function __spreadArray(to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) {\n to[j] = from[i];\n }\n\n return to;\n}\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []),\n i,\n q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i;\n\n function verb(n) {\n if (g[n]) i[n] = function (v) {\n return new Promise(function (a, b) {\n q.push([n, v, a, b]) > 1 || resume(n, v);\n });\n };\n }\n\n function resume(n, v) {\n try {\n step(g[n](v));\n } catch (e) {\n settle(q[0][3], e);\n }\n }\n\n function step(r) {\n r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);\n }\n\n function fulfill(value) {\n resume(\"next\", value);\n }\n\n function reject(value) {\n resume(\"throw\", value);\n }\n\n function settle(f, v) {\n if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);\n }\n}\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) {\n throw e;\n }), verb(\"return\"), i[Symbol.iterator] = function () {\n return this;\n }, i;\n\n function verb(n, f) {\n i[n] = o[n] ? function (v) {\n return (p = !p) ? {\n value: __await(o[n](v)),\n done: n === \"return\"\n } : f ? f(v) : v;\n } : f;\n }\n}\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator],\n i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i);\n\n function verb(n) {\n i[n] = o[n] && function (v) {\n return new Promise(function (resolve, reject) {\n v = o[n](v), settle(resolve, reject, v.done, v.value);\n });\n };\n }\n\n function settle(resolve, reject, d, v) {\n Promise.resolve(v).then(function (v) {\n resolve({\n value: v,\n done: d\n });\n }, reject);\n }\n}\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) {\n Object.defineProperty(cooked, \"raw\", {\n value: raw\n });\n } else {\n cooked.raw = raw;\n }\n\n return cooked;\n}\n;\n\nvar __setModuleDefault = Object.create ? function (o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function (o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) {\n if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n }\n\n __setModuleDefault(result, mod);\n\n return result;\n}\nexport function __importDefault(mod) {\n return mod && mod.__esModule ? mod : {\n default: mod\n };\n}\nexport function __classPrivateFieldGet(receiver, privateMap) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n\n return privateMap.get(receiver);\n}\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to set private field on non-instance\");\n }\n\n privateMap.set(receiver, value);\n return value;\n}","/**\n * Source: ftp://ftp.unicode.org/Public/UCD/latest/ucd/SpecialCasing.txt\n */\nvar SUPPORTED_LOCALE = {\n tr: {\n regexp: /\\u0130|\\u0049|\\u0049\\u0307/g,\n map: {\n İ: \"i\",\n I: \"\\u0131\",\n İ: \"i\"\n }\n },\n az: {\n regexp: /\\u0130/g,\n map: {\n İ: \"i\",\n I: \"\\u0131\",\n İ: \"i\"\n }\n },\n lt: {\n regexp: /\\u0049|\\u004A|\\u012E|\\u00CC|\\u00CD|\\u0128/g,\n map: {\n I: \"i\\u0307\",\n J: \"j\\u0307\",\n Į: \"\\u012F\\u0307\",\n Ì: \"i\\u0307\\u0300\",\n Í: \"i\\u0307\\u0301\",\n Ĩ: \"i\\u0307\\u0303\"\n }\n }\n};\n/**\n * Localized lower case.\n */\n\nexport function localeLowerCase(str, locale) {\n var lang = SUPPORTED_LOCALE[locale.toLowerCase()];\n if (lang) return lowerCase(str.replace(lang.regexp, function (m) {\n return lang.map[m];\n }));\n return lowerCase(str);\n}\n/**\n * Lower case as a function.\n */\n\nexport function lowerCase(str) {\n return str.toLowerCase();\n}","import \"core-js/modules/es.array.reduce.js\";\nimport { lowerCase } from \"lower-case\"; // Support camel case (\"camelCase\" -> \"camel Case\" and \"CAMELCase\" -> \"CAMEL Case\").\n\nvar DEFAULT_SPLIT_REGEXP = [/([a-z0-9])([A-Z])/g, /([A-Z])([A-Z][a-z])/g]; // Remove all non-word characters.\n\nvar DEFAULT_STRIP_REGEXP = /[^A-Z0-9]+/gi;\n/**\n * Normalize the string into something other libraries can manipulate easier.\n */\n\nexport function noCase(input, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _a = options.splitRegexp,\n splitRegexp = _a === void 0 ? DEFAULT_SPLIT_REGEXP : _a,\n _b = options.stripRegexp,\n stripRegexp = _b === void 0 ? DEFAULT_STRIP_REGEXP : _b,\n _c = options.transform,\n transform = _c === void 0 ? lowerCase : _c,\n _d = options.delimiter,\n delimiter = _d === void 0 ? \" \" : _d;\n var result = replace(replace(input, splitRegexp, \"$1\\0$2\"), stripRegexp, \"\\0\");\n var start = 0;\n var end = result.length; // Trim the delimiter from around the output string.\n\n while (result.charAt(start) === \"\\0\") {\n start++;\n }\n\n while (result.charAt(end - 1) === \"\\0\") {\n end--;\n } // Transform each token independently.\n\n\n return result.slice(start, end).split(\"\\0\").map(transform).join(delimiter);\n}\n/**\n * Replace `re` in the input string with the replacement value.\n */\n\nfunction replace(input, re, value) {\n if (re instanceof RegExp) return input.replace(re, value);\n return re.reduce(function (input, re) {\n return input.replace(re, value);\n }, input);\n}","import { __assign } from \"tslib\";\nimport { noCase } from \"no-case\";\nexport function pascalCaseTransform(input, index) {\n var firstChar = input.charAt(0);\n var lowerChars = input.substr(1).toLowerCase();\n\n if (index > 0 && firstChar >= \"0\" && firstChar <= \"9\") {\n return \"_\" + firstChar + lowerChars;\n }\n\n return \"\" + firstChar.toUpperCase() + lowerChars;\n}\nexport function pascalCaseTransformMerge(input) {\n return input.charAt(0).toUpperCase() + input.slice(1).toLowerCase();\n}\nexport function pascalCase(input, options) {\n if (options === void 0) {\n options = {};\n }\n\n return noCase(input, __assign({\n delimiter: \"\",\n transform: pascalCaseTransform\n }, options));\n}","import { __assign } from \"tslib\";\nimport { pascalCase, pascalCaseTransform, pascalCaseTransformMerge } from \"pascal-case\";\nexport function camelCaseTransform(input, index) {\n if (index === 0) return input.toLowerCase();\n return pascalCaseTransform(input, index);\n}\nexport function camelCaseTransformMerge(input, index) {\n if (index === 0) return input.toLowerCase();\n return pascalCaseTransformMerge(input);\n}\nexport function camelCase(input, options) {\n if (options === void 0) {\n options = {};\n }\n\n return pascalCase(input, __assign({\n transform: camelCaseTransform\n }, options));\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"@babel/runtime/helpers/esm/arrayWithHoles\";\nimport iterableToArrayLimit from \"@babel/runtime/helpers/esm/iterableToArrayLimit\";\nimport unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nimport nonIterableRest from \"@babel/runtime/helpers/esm/nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import setPrototypeOf from \"@babel/runtime/helpers/esm/setPrototypeOf\";\nimport isNativeReflectConstruct from \"@babel/runtime/helpers/esm/isNativeReflectConstruct\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}","import getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport setPrototypeOf from \"@babel/runtime/helpers/esm/setPrototypeOf\";\nimport isNativeFunction from \"@babel/runtime/helpers/esm/isNativeFunction\";\nimport construct from \"@babel/runtime/helpers/esm/construct\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import _toArray from \"/codebuild/output/src1817154758/src/yuko-site/node_modules/@babel/runtime/helpers/esm/toArray\";\nimport _slicedToArray from \"/codebuild/output/src1817154758/src/yuko-site/node_modules/@babel/runtime/helpers/esm/slicedToArray\";\nimport _toConsumableArray from \"/codebuild/output/src1817154758/src/yuko-site/node_modules/@babel/runtime/helpers/esm/toConsumableArray\";\nimport _assertThisInitialized from \"/codebuild/output/src1817154758/src/yuko-site/node_modules/@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"/codebuild/output/src1817154758/src/yuko-site/node_modules/@babel/runtime/helpers/esm/inherits\";\nimport _possibleConstructorReturn from \"/codebuild/output/src1817154758/src/yuko-site/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"/codebuild/output/src1817154758/src/yuko-site/node_modules/@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _wrapNativeSuper from \"/codebuild/output/src1817154758/src/yuko-site/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper\";\nimport _classCallCheck from \"/codebuild/output/src1817154758/src/yuko-site/node_modules/@babel/runtime/helpers/esm/classCallCheck\";\nimport _regeneratorRuntime from \"/codebuild/output/src1817154758/src/yuko-site/node_modules/@babel/runtime/regenerator\";\nimport \"regenerator-runtime/runtime.js\";\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nvar _marked = /*#__PURE__*/_regeneratorRuntime.mark(toFailures),\n _marked2 = /*#__PURE__*/_regeneratorRuntime.mark(_check);\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n/**\n * Convert a validation result to an iterable of failures.\n */\n\n\nfunction toFailures(result, context) {\n return _regeneratorRuntime.wrap(function toFailures$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(result === true)) {\n _context.next = 4;\n break;\n }\n\n ;\n _context.next = 10;\n break;\n\n case 4:\n if (!(result === false)) {\n _context.next = 9;\n break;\n }\n\n _context.next = 7;\n return context.fail();\n\n case 7:\n _context.next = 10;\n break;\n\n case 9:\n return _context.delegateYield(result, \"t0\", 10);\n\n case 10:\n case \"end\":\n return _context.stop();\n }\n }\n }, _marked);\n}\n/**\n * Shifts (removes and returns) the first value from the `input` iterator.\n * Like `Array.prototype.shift()` but for an `Iterator`.\n */\n\n\nfunction iteratorShift(input) {\n var _input$next = input.next(),\n done = _input$next.done,\n value = _input$next.value;\n\n return done ? undefined : value;\n}\n/**\n * `Struct` objects encapsulate the schema for a specific data type (with\n * optional coercion). You can then use the `assert`, `is` or `validate` helpers\n * to validate unknown data against a struct.\n */\n\n\nvar Struct = function Struct(props) {\n _classCallCheck(this, Struct);\n\n var type = props.type,\n schema = props.schema,\n _props$coercer = props.coercer,\n coercer = _props$coercer === void 0 ? function (value) {\n return value;\n } : _props$coercer,\n _props$validator = props.validator,\n validator = _props$validator === void 0 ? function () {\n return [];\n } : _props$validator,\n _props$refiner = props.refiner,\n refiner = _props$refiner === void 0 ? function () {\n return [];\n } : _props$refiner;\n this.type = type;\n this.schema = schema;\n this.coercer = coercer;\n this.validator = validator;\n this.refiner = refiner;\n};\n/**\n * `StructError` objects are thrown (or returned) by Superstruct when its\n * validation fails. The error represents the first error encountered during\n * validation. But they also have an `error.failures` property that holds\n * information for all of the failures encountered.\n */\n\n\nvar StructError = /*#__PURE__*/function (_TypeError) {\n _inherits(StructError, _TypeError);\n\n var _super = _createSuper(StructError);\n\n function StructError(failure, moreFailures) {\n var _this;\n\n _classCallCheck(this, StructError);\n\n var path = failure.path,\n value = failure.value,\n type = failure.type,\n branch = failure.branch,\n rest = _objectWithoutProperties(failure, [\"path\", \"value\", \"type\", \"branch\"]);\n\n var message = \"Expected a value of type `\".concat(type, \"`\").concat(path.length ? \" for `\".concat(path.join('.'), \"`\") : '', \" but received `\").concat(JSON.stringify(value), \"`.\");\n var failuresResult;\n\n function failures() {\n if (!failuresResult) {\n failuresResult = [failure].concat(_toConsumableArray(moreFailures));\n }\n\n return failuresResult;\n }\n\n _this = _super.call(this, message);\n _this.value = value;\n Object.assign(_assertThisInitialized(_this), rest);\n _this.type = type;\n _this.path = path;\n _this.branch = branch;\n _this.failures = failures;\n _this.stack = new Error().stack;\n _this.__proto__ = StructError.prototype;\n return _this;\n }\n\n return StructError;\n}( /*#__PURE__*/_wrapNativeSuper(TypeError));\n/**\n * Assert that a value passes a `Struct`, throwing if it doesn't.\n */\n\n\nfunction assert(value, struct) {\n var result = validate(value, struct);\n\n if (result[0]) {\n throw result[0];\n }\n}\n/**\n * Coerce a value with the coercion logic of `Struct` and validate it.\n */\n\n\nfunction coerce(value, struct) {\n var ret = struct.coercer(value);\n assert(ret, struct);\n return ret;\n}\n/**\n * Check if a value passes a `Struct`.\n */\n\n\nfunction is(value, struct) {\n var result = validate(value, struct);\n return !result[0];\n}\n/**\n * Validate a value against a `Struct`, returning an error if invalid.\n */\n\n\nfunction validate(value, struct) {\n var coercing = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (coercing) {\n value = struct.coercer(value);\n }\n\n var failures = _check(value, struct);\n\n var failure = iteratorShift(failures);\n\n if (failure) {\n var error = new StructError(failure, failures);\n return [error, undefined];\n } else {\n return [undefined, value];\n }\n}\n/**\n * Check a value against a `Struct`, returning an iterable of failures.\n */\n\n\nfunction _check(value, struct) {\n var path,\n branch,\n type,\n ctx,\n failures,\n failure,\n _args2 = arguments;\n return _regeneratorRuntime.wrap(function _check$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n path = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : [];\n branch = _args2.length > 3 && _args2[3] !== undefined ? _args2[3] : [];\n type = struct.type;\n ctx = {\n value: value,\n type: type,\n branch: branch,\n path: path,\n fail: function fail() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return _objectSpread2({\n value: value,\n type: type,\n path: path,\n branch: [].concat(_toConsumableArray(branch), [value])\n }, props);\n },\n check: function check(v, s, parent, key) {\n var p = parent !== undefined ? [].concat(_toConsumableArray(path), [key]) : path;\n var b = parent !== undefined ? [].concat(_toConsumableArray(branch), [parent]) : branch;\n return _check(v, s, p, b);\n }\n };\n failures = toFailures(struct.validator(value, ctx), ctx);\n failure = iteratorShift(failures);\n\n if (!failure) {\n _context2.next = 12;\n break;\n }\n\n _context2.next = 9;\n return failure;\n\n case 9:\n return _context2.delegateYield(failures, \"t0\", 10);\n\n case 10:\n _context2.next = 13;\n break;\n\n case 12:\n return _context2.delegateYield(toFailures(struct.refiner(value, ctx), ctx), \"t1\", 13);\n\n case 13:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _marked2);\n}\n/**\n * Augment a `Struct` to add an additional coercion step to its input.\n */\n\n\nfunction coercion(struct, _coercer) {\n var fn = struct.coercer;\n return new Struct(_objectSpread2(_objectSpread2({}, struct), {}, {\n coercer: function coercer(value) {\n return fn(_coercer(value));\n }\n }));\n}\n/**\n * Augment a struct to coerce a default value for missing values.\n *\n * Note: You must use `coerce(value, Struct)` on the value before validating it\n * to have the value defaulted!\n */\n\n\nfunction defaulted(S, fallback, strict) {\n return coercion(S, function (x) {\n var f = typeof fallback === 'function' ? fallback() : fallback;\n\n if (x === undefined) {\n return f;\n }\n\n if (strict !== true && isPlainObject(x) && isPlainObject(f)) {\n var ret = _objectSpread2({}, x);\n\n var changed = false;\n\n for (var key in f) {\n if (ret[key] === undefined) {\n ret[key] = f[key];\n changed = true;\n }\n }\n\n if (changed) {\n return ret;\n }\n }\n\n return x;\n });\n}\n/**\n * Coerce a value to mask its properties to only that defined in the struct.\n */\n\n\nfunction masked(S) {\n return coercion(S, function (x) {\n if (!isPlainObject(x)) {\n return x;\n }\n\n var ret = {};\n\n for (var key in S.schema) {\n ret[key] = x[key];\n }\n\n return ret;\n });\n}\n/**\n * Check if a value is a plain object.\n */\n\n\nfunction isPlainObject(value) {\n if (Object.prototype.toString.call(value) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(value);\n return prototype === null || prototype === Object.prototype;\n}\n/**\n * Augment a string or array struct to constrain its length to zero.\n */\n\n\nfunction empty(S) {\n return refinement(S, \"\".concat(S.type, \" & Empty\"), function (value) {\n return value.length === 0;\n });\n}\n/**\n * Augment a string or array struct to constrain its length to being between a\n * minimum and maximum size.\n */\n\n\nfunction length(S, min, max) {\n return refinement(S, \"\".concat(S.type, \" & Length<\").concat(min, \",\").concat(max, \">\"), function (value) {\n return min < value.length && value.length < max;\n });\n}\n/**\n * Refine a string struct to match a specific regexp pattern.\n */\n\n\nfunction pattern(S, regexp) {\n return refinement(S, \"\".concat(S.type, \" & Pattern<\").concat(regexp.source, \">\"), function (value) {\n return regexp.test(value);\n });\n}\n/**\n * Augment a `Struct` to add an additional refinement to the validation.\n */\n\n\nfunction refinement(struct, type, _refiner) {\n var fn = struct.refiner;\n return new Struct(_objectSpread2(_objectSpread2({}, struct), {}, {\n type: type,\n refiner: /*#__PURE__*/_regeneratorRuntime.mark(function refiner(value, fail) {\n return _regeneratorRuntime.wrap(function refiner$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n return _context3.delegateYield(toFailures(fn(value, fail), fail), \"t0\", 1);\n\n case 1:\n return _context3.delegateYield(toFailures(_refiner(value, fail), fail), \"t1\", 2);\n\n case 2:\n case \"end\":\n return _context3.stop();\n }\n }\n }, refiner);\n })\n }));\n}\n/**\n * Validate any value.\n */\n\n\nfunction any() {\n return struct('any', function () {\n return true;\n });\n}\n\nfunction array(Element) {\n return new Struct({\n type: \"Array<\".concat(Element ? Element.type : 'unknown', \">\"),\n schema: Element,\n coercer: function coercer(value) {\n return Element && Array.isArray(value) ? value.map(function (v) {\n return coerce(v, Element);\n }) : value;\n },\n validator: /*#__PURE__*/_regeneratorRuntime.mark(function validator(value, ctx) {\n var _iterator, _step, _step$value, i, v;\n\n return _regeneratorRuntime.wrap(function validator$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n if (Array.isArray(value)) {\n _context4.next = 4;\n break;\n }\n\n _context4.next = 3;\n return ctx.fail();\n\n case 3:\n return _context4.abrupt(\"return\");\n\n case 4:\n if (!Element) {\n _context4.next = 21;\n break;\n }\n\n _iterator = _createForOfIteratorHelper(value.entries());\n _context4.prev = 6;\n\n _iterator.s();\n\n case 8:\n if ((_step = _iterator.n()).done) {\n _context4.next = 13;\n break;\n }\n\n _step$value = _slicedToArray(_step.value, 2), i = _step$value[0], v = _step$value[1];\n return _context4.delegateYield(ctx.check(v, Element, value, i), \"t0\", 11);\n\n case 11:\n _context4.next = 8;\n break;\n\n case 13:\n _context4.next = 18;\n break;\n\n case 15:\n _context4.prev = 15;\n _context4.t1 = _context4[\"catch\"](6);\n\n _iterator.e(_context4.t1);\n\n case 18:\n _context4.prev = 18;\n\n _iterator.f();\n\n return _context4.finish(18);\n\n case 21:\n case \"end\":\n return _context4.stop();\n }\n }\n }, validator, null, [[6, 15, 18, 21]]);\n })\n });\n}\n/**\n * Validate that boolean values.\n */\n\n\nfunction boolean() {\n return struct('boolean', function (value) {\n return typeof value === 'boolean';\n });\n}\n/**\n * Validate that `Date` values.\n *\n * Note: this also ensures that the value is *not* an invalid `Date` object,\n * which can occur when parsing a date fails but still returns a `Date`.\n */\n\n\nfunction date() {\n return struct('Date', function (value) {\n return value instanceof Date && !isNaN(value.getTime());\n });\n}\n/**\n * Validate that a value dynamically, determing which struct to use at runtime.\n */\n\n\nfunction dynamic(fn) {\n return struct('Dynamic<...>', function (value, ctx) {\n return ctx.check(value, fn(value, ctx));\n });\n}\n\nfunction enums(values) {\n return struct(\"Enum<\".concat(values.map(toLiteralString), \">\"), function (value) {\n return values.includes(value);\n });\n}\n/**\n * Validate that a value is a function.\n */\n\n\nfunction func() {\n return struct('Function', function (value) {\n return typeof value === 'function';\n });\n}\n/**\n * Validate that a value is an instance of a class.\n */\n\n\nfunction instance(Class) {\n return struct(\"InstanceOf<\".concat(Class.name, \">\"), function (value) {\n return value instanceof Class;\n });\n}\n\nfunction intersection(Structs) {\n return struct(Structs.map(function (s) {\n return s.type;\n }).join(' & '), /*#__PURE__*/_regeneratorRuntime.mark(function _callee(value, ctx) {\n var _iterator2, _step2, S;\n\n return _regeneratorRuntime.wrap(function _callee$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _iterator2 = _createForOfIteratorHelper(Structs);\n _context5.prev = 1;\n\n _iterator2.s();\n\n case 3:\n if ((_step2 = _iterator2.n()).done) {\n _context5.next = 8;\n break;\n }\n\n S = _step2.value;\n return _context5.delegateYield(ctx.check(value, S), \"t0\", 6);\n\n case 6:\n _context5.next = 3;\n break;\n\n case 8:\n _context5.next = 13;\n break;\n\n case 10:\n _context5.prev = 10;\n _context5.t1 = _context5[\"catch\"](1);\n\n _iterator2.e(_context5.t1);\n\n case 13:\n _context5.prev = 13;\n\n _iterator2.f();\n\n return _context5.finish(13);\n\n case 16:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee, null, [[1, 10, 13, 16]]);\n }));\n}\n/**\n * Validate a value lazily, by constructing the struct right before the first\n * validation. This is useful for cases where you want to have self-referential\n * structs for nested data structures.\n */\n\n\nfunction lazy(fn) {\n var S;\n return struct('Lazy<...>', function (value, ctx) {\n if (!S) {\n S = fn();\n }\n\n return ctx.check(value, S);\n });\n}\n\nfunction literal(constant) {\n return struct(\"Literal<\".concat(toLiteralString(constant), \">\"), function (value) {\n return value === constant;\n });\n}\n/**\n * Validate that a value is a map with specific key and value entries.\n */\n\n\nfunction map(Key, Value) {\n return struct(\"Map<\".concat(Key.type, \",\").concat(Value.type, \">\"), /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(value, ctx) {\n var _iterator3, _step3, _step3$value, k, v;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n if (value instanceof Map) {\n _context6.next = 4;\n break;\n }\n\n _context6.next = 3;\n return ctx.fail();\n\n case 3:\n return _context6.abrupt(\"return\");\n\n case 4:\n _iterator3 = _createForOfIteratorHelper(value.entries());\n _context6.prev = 5;\n\n _iterator3.s();\n\n case 7:\n if ((_step3 = _iterator3.n()).done) {\n _context6.next = 13;\n break;\n }\n\n _step3$value = _slicedToArray(_step3.value, 2), k = _step3$value[0], v = _step3$value[1];\n return _context6.delegateYield(ctx.check(k, Key, value, k), \"t0\", 10);\n\n case 10:\n return _context6.delegateYield(ctx.check(v, Value, value, k), \"t1\", 11);\n\n case 11:\n _context6.next = 7;\n break;\n\n case 13:\n _context6.next = 18;\n break;\n\n case 15:\n _context6.prev = 15;\n _context6.t2 = _context6[\"catch\"](5);\n\n _iterator3.e(_context6.t2);\n\n case 18:\n _context6.prev = 18;\n\n _iterator3.f();\n\n return _context6.finish(18);\n\n case 21:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee2, null, [[5, 15, 18, 21]]);\n }));\n}\n/**\n * Validate that a value always fails.\n */\n\n\nfunction never() {\n return struct('never', function () {\n return false;\n });\n}\n/**\n * Augment a struct to make it accept `null` values.\n */\n\n\nfunction nullable(S) {\n return new Struct({\n type: \"\".concat(S.type, \" | null\"),\n schema: S.schema,\n validator: function validator(value, ctx) {\n return value === null || ctx.check(value, S);\n }\n });\n}\n/**\n * Validate that a value is a number.\n */\n\n\nfunction number() {\n return struct(\"number\", function (value) {\n return typeof value === 'number' && !isNaN(value);\n });\n}\n\nfunction object(Structs) {\n var knowns = Structs ? Object.keys(Structs) : [];\n var Never = never();\n return new Struct({\n type: Structs ? \"Object<{\".concat(knowns.join(','), \"}>\") : 'Object',\n schema: Structs ? Structs : null,\n coercer: Structs ? createObjectCoercer(Structs) : function (x) {\n return x;\n },\n validator: /*#__PURE__*/_regeneratorRuntime.mark(function validator(value, ctx) {\n var unknowns, _iterator4, _step4, key, Value, v, _iterator5, _step5, _key, _v;\n\n return _regeneratorRuntime.wrap(function validator$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n if (!(typeof value !== 'object' || value == null)) {\n _context7.next = 4;\n break;\n }\n\n _context7.next = 3;\n return ctx.fail();\n\n case 3:\n return _context7.abrupt(\"return\");\n\n case 4:\n if (!Structs) {\n _context7.next = 42;\n break;\n }\n\n unknowns = new Set(Object.keys(value));\n _iterator4 = _createForOfIteratorHelper(knowns);\n _context7.prev = 7;\n\n _iterator4.s();\n\n case 9:\n if ((_step4 = _iterator4.n()).done) {\n _context7.next = 17;\n break;\n }\n\n key = _step4.value;\n unknowns.delete(key);\n Value = Structs[key];\n v = value[key];\n return _context7.delegateYield(ctx.check(v, Value, value, key), \"t0\", 15);\n\n case 15:\n _context7.next = 9;\n break;\n\n case 17:\n _context7.next = 22;\n break;\n\n case 19:\n _context7.prev = 19;\n _context7.t1 = _context7[\"catch\"](7);\n\n _iterator4.e(_context7.t1);\n\n case 22:\n _context7.prev = 22;\n\n _iterator4.f();\n\n return _context7.finish(22);\n\n case 25:\n _iterator5 = _createForOfIteratorHelper(unknowns);\n _context7.prev = 26;\n\n _iterator5.s();\n\n case 28:\n if ((_step5 = _iterator5.n()).done) {\n _context7.next = 34;\n break;\n }\n\n _key = _step5.value;\n _v = value[_key];\n return _context7.delegateYield(ctx.check(_v, Never, value, _key), \"t2\", 32);\n\n case 32:\n _context7.next = 28;\n break;\n\n case 34:\n _context7.next = 39;\n break;\n\n case 36:\n _context7.prev = 36;\n _context7.t3 = _context7[\"catch\"](26);\n\n _iterator5.e(_context7.t3);\n\n case 39:\n _context7.prev = 39;\n\n _iterator5.f();\n\n return _context7.finish(39);\n\n case 42:\n case \"end\":\n return _context7.stop();\n }\n }\n }, validator, null, [[7, 19, 22, 25], [26, 36, 39, 42]]);\n })\n });\n}\n/**\n * Augment a struct to make it optionally accept `undefined` values.\n */\n\n\nfunction optional(S) {\n return new Struct({\n type: \"\".concat(S.type, \"?\"),\n schema: S.schema,\n validator: function validator(value, ctx) {\n return value === undefined || ctx.check(value, S);\n }\n });\n}\n/**\n * Validate that a partial object with specific entry values.\n */\n\n\nfunction partial(Structs) {\n if (Structs instanceof Struct) {\n Structs = Structs.schema;\n }\n\n var knowns = Object.keys(Structs);\n var Never = never();\n return new Struct({\n type: \"Partial<{\".concat(knowns.join(','), \"}>\"),\n schema: Structs,\n coercer: createObjectCoercer(Structs),\n validator: /*#__PURE__*/_regeneratorRuntime.mark(function validator(value, ctx) {\n var unknowns, _iterator6, _step6, key, Value, v, _iterator7, _step7, _key2, _v2;\n\n return _regeneratorRuntime.wrap(function validator$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n if (!(typeof value !== 'object' || value == null)) {\n _context8.next = 4;\n break;\n }\n\n _context8.next = 3;\n return ctx.fail();\n\n case 3:\n return _context8.abrupt(\"return\");\n\n case 4:\n unknowns = new Set(Object.keys(value));\n _iterator6 = _createForOfIteratorHelper(knowns);\n _context8.prev = 6;\n\n _iterator6.s();\n\n case 8:\n if ((_step6 = _iterator6.n()).done) {\n _context8.next = 18;\n break;\n }\n\n key = _step6.value;\n unknowns.delete(key);\n\n if (key in value) {\n _context8.next = 13;\n break;\n }\n\n return _context8.abrupt(\"continue\", 16);\n\n case 13:\n Value = Structs[key];\n v = value[key];\n return _context8.delegateYield(ctx.check(v, Value, value, key), \"t0\", 16);\n\n case 16:\n _context8.next = 8;\n break;\n\n case 18:\n _context8.next = 23;\n break;\n\n case 20:\n _context8.prev = 20;\n _context8.t1 = _context8[\"catch\"](6);\n\n _iterator6.e(_context8.t1);\n\n case 23:\n _context8.prev = 23;\n\n _iterator6.f();\n\n return _context8.finish(23);\n\n case 26:\n _iterator7 = _createForOfIteratorHelper(unknowns);\n _context8.prev = 27;\n\n _iterator7.s();\n\n case 29:\n if ((_step7 = _iterator7.n()).done) {\n _context8.next = 35;\n break;\n }\n\n _key2 = _step7.value;\n _v2 = value[_key2];\n return _context8.delegateYield(ctx.check(_v2, Never, value, _key2), \"t2\", 33);\n\n case 33:\n _context8.next = 29;\n break;\n\n case 35:\n _context8.next = 40;\n break;\n\n case 37:\n _context8.prev = 37;\n _context8.t3 = _context8[\"catch\"](27);\n\n _iterator7.e(_context8.t3);\n\n case 40:\n _context8.prev = 40;\n\n _iterator7.f();\n\n return _context8.finish(40);\n\n case 43:\n case \"end\":\n return _context8.stop();\n }\n }\n }, validator, null, [[6, 20, 23, 26], [27, 37, 40, 43]]);\n })\n });\n}\n/**\n * Validate that a value is a record with specific key and\n * value entries.\n */\n\n\nfunction record(Key, Value) {\n return struct(\"Record<\".concat(Key.type, \",\").concat(Value.type, \">\"), /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(value, ctx) {\n var k, v;\n return _regeneratorRuntime.wrap(function _callee3$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n if (!(typeof value !== 'object' || value == null)) {\n _context9.next = 4;\n break;\n }\n\n _context9.next = 3;\n return ctx.fail();\n\n case 3:\n return _context9.abrupt(\"return\");\n\n case 4:\n _context9.t0 = _regeneratorRuntime.keys(value);\n\n case 5:\n if ((_context9.t1 = _context9.t0()).done) {\n _context9.next = 12;\n break;\n }\n\n k = _context9.t1.value;\n v = value[k];\n return _context9.delegateYield(ctx.check(k, Key, value, k), \"t2\", 9);\n\n case 9:\n return _context9.delegateYield(ctx.check(v, Value, value, k), \"t3\", 10);\n\n case 10:\n _context9.next = 5;\n break;\n\n case 12:\n case \"end\":\n return _context9.stop();\n }\n }\n }, _callee3);\n }));\n}\n/**\n * Validate that a set of values matches a specific type.\n */\n\n\nfunction set(Element) {\n return struct(\"Set<\".concat(Element.type, \">\"), function (value, ctx) {\n if (!(value instanceof Set)) {\n return false;\n }\n\n var _iterator8 = _createForOfIteratorHelper(value),\n _step8;\n\n try {\n for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {\n var val = _step8.value;\n\n var _ctx$check = ctx.check(val, Element),\n _ctx$check2 = _slicedToArray(_ctx$check, 1),\n failure = _ctx$check2[0];\n\n if (failure) {\n return false;\n }\n }\n } catch (err) {\n _iterator8.e(err);\n } finally {\n _iterator8.f();\n }\n\n return true;\n });\n}\n/**\n * Validate that a value is a string.\n */\n\n\nfunction string() {\n return struct('string', function (value) {\n return typeof value === 'string';\n });\n}\n/**\n * Define a `Struct` instance with a type and validation function.\n */\n\n\nfunction struct(name, validator) {\n return new Struct({\n type: name,\n validator: validator,\n schema: null\n });\n}\n\nfunction tuple(Elements) {\n var Never = never();\n return struct(\"[\".concat(Elements.map(function (s) {\n return s.type;\n }).join(','), \"]\"), /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(value, ctx) {\n var _iterator9, _step9, _step9$value, _index, Element, _v3, index, v;\n\n return _regeneratorRuntime.wrap(function _callee4$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n if (Array.isArray(value)) {\n _context10.next = 4;\n break;\n }\n\n _context10.next = 3;\n return ctx.fail();\n\n case 3:\n return _context10.abrupt(\"return\");\n\n case 4:\n _iterator9 = _createForOfIteratorHelper(Elements.entries());\n _context10.prev = 5;\n\n _iterator9.s();\n\n case 7:\n if ((_step9 = _iterator9.n()).done) {\n _context10.next = 13;\n break;\n }\n\n _step9$value = _slicedToArray(_step9.value, 2), _index = _step9$value[0], Element = _step9$value[1];\n _v3 = value[_index];\n return _context10.delegateYield(ctx.check(_v3, Element, value, _index), \"t0\", 11);\n\n case 11:\n _context10.next = 7;\n break;\n\n case 13:\n _context10.next = 18;\n break;\n\n case 15:\n _context10.prev = 15;\n _context10.t1 = _context10[\"catch\"](5);\n\n _iterator9.e(_context10.t1);\n\n case 18:\n _context10.prev = 18;\n\n _iterator9.f();\n\n return _context10.finish(18);\n\n case 21:\n if (!(value.length > Elements.length)) {\n _context10.next = 25;\n break;\n }\n\n index = Elements.length;\n v = value[index];\n return _context10.delegateYield(ctx.check(v, Never, value, index), \"t2\", 25);\n\n case 25:\n case \"end\":\n return _context10.stop();\n }\n }\n }, _callee4, null, [[5, 15, 18, 21]]);\n }));\n}\n/**\n * Validate that a value matches a specific strutural interface, like the\n * structural typing that TypeScript uses.\n */\n\n\nfunction type(Structs) {\n var keys = Object.keys(Structs);\n return struct(\"Type<{\".concat(keys.join(','), \"}>\"), /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(value, ctx) {\n var _iterator10, _step10, key, Value, v;\n\n return _regeneratorRuntime.wrap(function _callee5$(_context11) {\n while (1) {\n switch (_context11.prev = _context11.next) {\n case 0:\n if (!(typeof value !== 'object' || value == null)) {\n _context11.next = 4;\n break;\n }\n\n _context11.next = 3;\n return ctx.fail();\n\n case 3:\n return _context11.abrupt(\"return\");\n\n case 4:\n _iterator10 = _createForOfIteratorHelper(keys);\n _context11.prev = 5;\n\n _iterator10.s();\n\n case 7:\n if ((_step10 = _iterator10.n()).done) {\n _context11.next = 14;\n break;\n }\n\n key = _step10.value;\n Value = Structs[key];\n v = value[key];\n return _context11.delegateYield(ctx.check(v, Value, value, key), \"t0\", 12);\n\n case 12:\n _context11.next = 7;\n break;\n\n case 14:\n _context11.next = 19;\n break;\n\n case 16:\n _context11.prev = 16;\n _context11.t1 = _context11[\"catch\"](5);\n\n _iterator10.e(_context11.t1);\n\n case 19:\n _context11.prev = 19;\n\n _iterator10.f();\n\n return _context11.finish(19);\n\n case 22:\n case \"end\":\n return _context11.stop();\n }\n }\n }, _callee5, null, [[5, 16, 19, 22]]);\n }));\n}\n\nfunction union(Structs) {\n return struct(\"\".concat(Structs.map(function (s) {\n return s.type;\n }).join(' | ')), /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(value, ctx) {\n var _iterator11, _step11, S, _ctx$check3, _ctx$check4, failures;\n\n return _regeneratorRuntime.wrap(function _callee6$(_context12) {\n while (1) {\n switch (_context12.prev = _context12.next) {\n case 0:\n _iterator11 = _createForOfIteratorHelper(Structs);\n _context12.prev = 1;\n\n _iterator11.s();\n\n case 3:\n if ((_step11 = _iterator11.n()).done) {\n _context12.next = 10;\n break;\n }\n\n S = _step11.value;\n _ctx$check3 = ctx.check(value, S), _ctx$check4 = _toArray(_ctx$check3), failures = _ctx$check4.slice(0);\n\n if (!(failures.length === 0)) {\n _context12.next = 8;\n break;\n }\n\n return _context12.abrupt(\"return\");\n\n case 8:\n _context12.next = 3;\n break;\n\n case 10:\n _context12.next = 15;\n break;\n\n case 12:\n _context12.prev = 12;\n _context12.t0 = _context12[\"catch\"](1);\n\n _iterator11.e(_context12.t0);\n\n case 15:\n _context12.prev = 15;\n\n _iterator11.f();\n\n return _context12.finish(15);\n\n case 18:\n _context12.next = 20;\n return ctx.fail();\n\n case 20:\n case \"end\":\n return _context12.stop();\n }\n }\n }, _callee6, null, [[1, 12, 15, 18]]);\n }));\n}\n/**\n * Convert a value to a literal string.\n */\n\n\nfunction toLiteralString(value) {\n return typeof value === 'string' ? \"\\\"\".concat(value.replace(/\"/g, '\"'), \"\\\"\") : \"\".concat(value);\n}\n/**\n * Coerce the values of an object-like struct.\n */\n\n\nfunction createObjectCoercer(Structs) {\n var knowns = Object.keys(Structs);\n return function (value) {\n if (typeof value !== 'object' || value == null) {\n return value;\n }\n\n var ret = {};\n var unknowns = new Set(Object.keys(value));\n\n var _iterator12 = _createForOfIteratorHelper(knowns),\n _step12;\n\n try {\n for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {\n var key = _step12.value;\n unknowns.delete(key);\n var Value = Structs[key];\n var v = value[key];\n ret[key] = coerce(v, Value);\n }\n } catch (err) {\n _iterator12.e(err);\n } finally {\n _iterator12.f();\n }\n\n var _iterator13 = _createForOfIteratorHelper(unknowns),\n _step13;\n\n try {\n for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {\n var _key3 = _step13.value;\n ret[_key3] = value[_key3];\n }\n } catch (err) {\n _iterator13.e(err);\n } finally {\n _iterator13.f();\n }\n\n return ret;\n };\n}\n\nexport { Struct, StructError, any, array, assert, boolean, coerce, coercion, date, defaulted, dynamic, empty, enums, func, instance, intersection, is, lazy, length, literal, map, masked, never, nullable, number, object, optional, partial, pattern, record, refinement, set, string, struct, tuple, type, union, validate };","import setPrototypeOf from \"@babel/runtime/helpers/esm/setPrototypeOf\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import arrayWithHoles from \"@babel/runtime/helpers/esm/arrayWithHoles\";\nimport iterableToArray from \"@babel/runtime/helpers/esm/iterableToArray\";\nimport unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nimport nonIterableRest from \"@babel/runtime/helpers/esm/nonIterableRest\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","import * as React from 'react'\nimport { pascalCase, pascalCaseTransformMerge } from 'pascal-case'\n\n/**\n * Returns a namespaced string intended for logging.\n *\n * @param message Message to namespace.\n *\n * @returns Namespaced message.\n */\nexport const msg = (message: string) => `gatsby-source-prismic - ${message}`\n\n/**\n * Maps key-value tuples of an object to new key-value tuples to create a new\n * object.\n *\n * @param fn Function that maps a key-value tuple to a new key-value tuple.\n * @param obj Object to map to a new object.\n *\n * @returns New object with mapped key-values.\n */\nexport const mapObj = (\n fn: (entry: [string, T1]) => [string, T2],\n obj: { [key: string]: T1 },\n): { [key: string]: T2 } => {\n const entries = Object.entries(obj)\n const pairs = entries.map((x) => fn(x))\n\n const result: { [key: string]: T2 } = {}\n\n for (let i = 0; i < pairs.length; i++) {\n const [k, v] = pairs[i]\n result[k] = v\n }\n\n return result\n}\n\n/**\n * Maps key-value tuples of an object to new key-value tuples to create a new\n * object. The mapper function can be async.\n *\n * @param fn Function that maps a key-value tuple to a new key-value tuple.\n * @param obj Object to map to a new object.\n *\n * @returns New object with mapped key-values.\n */\nexport const mapObjP = async (\n fn: (entry: [string, T1]) => Promise<[string, T2]>,\n obj: { [key: string]: T1 },\n): Promise<{ [key: string]: T2 }> => {\n const entries = Object.entries(obj)\n const pairs = await Promise.all(entries.map((x) => Promise.resolve(fn(x))))\n\n const result: { [key: string]: T2 } = {}\n\n for (let i = 0; i < pairs.length; i++) {\n const [k, v] = pairs[i]\n result[k] = v\n }\n\n return result\n}\n\n/**\n * Maps values of an object to new values.\n *\n * @param fn Function that maps a value and key to a new value.\n * @param obj Object to map to a new object.\n *\n * @returns New object with mapped values.\n */\nexport const mapObjVals = (\n fn: (val: T1, key: string) => T2,\n obj: { [key: string]: T1 },\n): { [key: string]: T2 } => {\n const result: { [key: string]: T2 } = {}\n\n for (const key in obj) result[key] = fn(obj[key], key)\n\n return result\n}\n\n/**\n * Maps values of an object to new values.\n *\n * @param fn Function that maps a value and key to a new value.\n * @param obj Object to map to a new object.\n *\n * @returns New object with mapped values.\n */\nexport const mapObjValsP = async (\n fn: (val: T1, key: string) => Promise,\n obj: { [key: string]: T1 },\n): Promise<{ [key: string]: T2 }> => {\n const result: { [key: string]: T2 } = {}\n\n const keys = Object.keys(obj)\n await Promise.all(\n keys.map(async (key) => {\n result[key] = await fn(obj[key], key)\n }),\n )\n\n return result\n}\n\n/**\n * Returns true if the provided object has no keys, false otherwise.\n *\n * @param obj Object to check.\n *\n * @returns `true` if `obj` has no keys, `false` otherwise.\n */\nexport const isEmptyObj = (obj: object) => {\n for (const _ in obj) return false\n return true\n}\n\n/**\n * Returns a valid GraphQL type name for a Prismic schema.\n *\n * @param apiId API ID of the schema.\n *\n * @returns Type name for the schema.\n */\nexport const buildSchemaTypeName = (apiId: string) =>\n pascalCase(`Prismic ${apiId}`, { transform: pascalCaseTransformMerge })\n\n/**\n * Determines whether the current context is the browser.\n *\n * @returns `true` if the current context is the browser, `false` otherwise.\n */\nexport const isBrowser = typeof window !== 'undefined'\n\nexport const getComponentDisplayName = (\n WrappedComponent: React.ComponentType,\n) => WrappedComponent.displayName || WrappedComponent.name || 'Component'\n\n/**\n * Separates an array in to an array of arrays\n * @param arr The array to chunk\n * @param size the maximum size for each of the resulting arrays\n */\nexport function chunk(arr: T[], size: number): Array {\n const chunks = []\n\n let i = 0\n\n while (i < arr.length) {\n const a = arr.slice(i, (i += size))\n chunks.push(a)\n }\n\n return chunks\n}\n","import { FixedObject, FluidObject } from 'gatsby-image'\nimport * as A from 'fp-ts/lib/Array'\nimport * as O from 'fp-ts/lib/Option'\nimport * as R from 'fp-ts/lib/Record'\nimport { eqNumber } from 'fp-ts/lib/Eq'\nimport { ordNumber } from 'fp-ts/lib/Ord'\nimport { pipe } from 'fp-ts/lib/pipeable'\n\nimport { ImgixUrlParams, ImgixFixedArgs, ImgixFluidArgs } from './types'\nimport {\n setURLSearchParams,\n signURL,\n semigroupImgixUrlParams,\n join,\n} from './utils'\n\nexport const DEFAULT_FIXED_WIDTH = 400\nexport const DEFAULT_FLUID_MAX_WIDTH = 800\n\n// Resolutions for `fixed` images. Same as `gatsby-plugin-sharp`.\nconst FIXED_RESOLUTIONS = [1, 1.5, 2]\n\n// Breakpoint factors for `fluid` images. Same as `gatsby-plugin-sharp`.\nconst FLUID_BREAKPOINT_FACTORS = [0.25, 0.5, 1.5, 2]\n\n// Default params for placeholder images.\nconst DEFAULT_LQIP_PARAMS: ImgixUrlParams = { w: 100, blur: 15, q: 20 }\n\nexport const buildImgixUrl = (url: string, secureUrlToken?: string) => (\n params: ImgixUrlParams,\n): string =>\n pipe(\n params,\n // TODO: Replace filterMap with map. filterMap is being used here just\n // because it fibs the types a bit.\n R.filterMap((param) =>\n param === undefined ? O.some(undefined) : O.some(String(param)),\n ),\n setURLSearchParams(url),\n signURL(O.fromNullable(secureUrlToken)),\n )\n\nconst buildImgixLqipUrl = (url: string, secureUrlToken?: string) => (\n params: ImgixUrlParams,\n): string =>\n pipe(\n semigroupImgixUrlParams.concat(DEFAULT_LQIP_PARAMS, params),\n buildImgixUrl(url, secureUrlToken),\n )\n\nconst buildImgixFixedSrcSet = (baseUrl: string, secureUrlToken?: string) => (\n params: ImgixUrlParams,\n): string =>\n pipe(\n FIXED_RESOLUTIONS,\n A.map((dpr) =>\n pipe(\n semigroupImgixUrlParams.concat(params, { dpr }),\n buildImgixUrl(baseUrl, secureUrlToken),\n (url) => `${url} ${dpr}x`,\n ),\n ),\n join(', '),\n )\n\ntype BuildImgixFixedArgs = {\n url: string\n sourceWidth: number\n sourceHeight: number\n secureUrlToken?: string\n args?: ImgixFixedArgs\n}\n\n/**\n * Builds a gatsby-image-compatible fixed image object from a base Imgix image URL.\n *\n * @returns gatsby-image-compatible fixed image object.\n */\nexport const buildImgixFixed = ({\n url,\n sourceWidth,\n sourceHeight,\n secureUrlToken,\n args = {},\n}: BuildImgixFixedArgs): FixedObject => {\n const aspectRatio = sourceWidth / sourceHeight\n\n let width: number\n let height: number\n\n if (args.width != undefined && args.height != undefined) {\n width = args.width\n height = args.height\n } else if (args.width != undefined) {\n width = args.width\n height = Math.round(width / aspectRatio)\n } else if (args.height != undefined) {\n width = Math.round(args.height * aspectRatio)\n height = args.height\n } else {\n width = DEFAULT_FIXED_WIDTH\n height = Math.round(width / aspectRatio)\n }\n\n const base64 = buildImgixLqipUrl(\n url,\n secureUrlToken,\n )({\n ...args.imgixParams,\n ...args.placeholderImgixParams,\n })\n\n const src = buildImgixUrl(\n url,\n secureUrlToken,\n )({\n ...args.imgixParams,\n w: width,\n h: height,\n })\n\n const srcSet = buildImgixFixedSrcSet(\n url,\n secureUrlToken,\n )({\n ...args.imgixParams,\n w: width,\n h: height,\n })\n\n return {\n base64,\n width,\n height,\n src,\n srcWebp: src,\n srcSet,\n srcSetWebp: srcSet,\n }\n}\n\ntype BuildFluidSrcSetArgs = {\n aspectRatio: number\n maxWidth: number\n srcSetBreakpoints?: number[]\n}\n\nconst buildImgixFluidSrcSet = (baseUrl: string, secureUrlToken?: string) => (\n params: ImgixUrlParams,\n) => ({\n aspectRatio,\n maxWidth,\n srcSetBreakpoints = FLUID_BREAKPOINT_FACTORS.map((x) => maxWidth * x),\n}: BuildFluidSrcSetArgs): string =>\n pipe(\n A.cons(maxWidth, srcSetBreakpoints),\n A.uniq(eqNumber),\n A.sort(ordNumber),\n A.map((breakpoint) =>\n pipe(\n semigroupImgixUrlParams.concat(params, {\n w: Math.round(breakpoint),\n h: Math.round(breakpoint / aspectRatio),\n }),\n buildImgixUrl(baseUrl, secureUrlToken),\n (url) => `${url} ${Math.round(breakpoint)}w`,\n ),\n ),\n join(', '),\n )\n\ntype BuildImgixFluidArgs = {\n url: string\n sourceWidth: number\n sourceHeight: number\n secureUrlToken?: string\n args?: ImgixFluidArgs\n}\n\n/**\n * Builds a gatsby-image-compatible fluid image object from a base Imgix image URL.\n *\n * @returns gatsby-image-compatible fluid image object.\n */\nexport const buildImgixFluid = ({\n url,\n sourceWidth,\n sourceHeight,\n secureUrlToken,\n args = {},\n}: BuildImgixFluidArgs): FluidObject => {\n const aspectRatio = sourceWidth / sourceHeight\n const maxWidth = args.maxWidth ?? DEFAULT_FLUID_MAX_WIDTH\n\n const base64 = buildImgixLqipUrl(\n url,\n secureUrlToken,\n )({\n ...args.imgixParams,\n ...args.placeholderImgixParams,\n })\n\n const src = buildImgixUrl(\n url,\n secureUrlToken,\n )({\n ...args.imgixParams,\n w: maxWidth,\n h: args.maxHeight,\n })\n\n const srcSet = buildImgixFluidSrcSet(\n url,\n secureUrlToken,\n )(args.imgixParams ?? {})({\n aspectRatio,\n maxWidth: maxWidth,\n srcSetBreakpoints: args.srcSetBreakpoints,\n })\n\n return {\n base64,\n aspectRatio,\n src,\n srcWebp: src,\n srcSet,\n srcSetWebp: srcSet,\n sizes: '',\n }\n}\n","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import validate from './validate.js';\n\nfunction parse(uuid) {\n if (!validate(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n var v;\n var arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff; // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\n\nexport default parse;","// Adapted from Chris Veness' SHA1 code at\n// http://www.movable-type.co.uk/scripts/sha1.html\nfunction f(s, x, y, z) {\n switch (s) {\n case 0:\n return x & y ^ ~x & z;\n\n case 1:\n return x ^ y ^ z;\n\n case 2:\n return x & y ^ x & z ^ y & z;\n\n case 3:\n return x ^ y ^ z;\n }\n}\n\nfunction ROTL(x, n) {\n return x << n | x >>> 32 - n;\n}\n\nfunction sha1(bytes) {\n var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];\n var H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];\n\n if (typeof bytes === 'string') {\n var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = [];\n\n for (var i = 0; i < msg.length; ++i) {\n bytes.push(msg.charCodeAt(i));\n }\n } else if (!Array.isArray(bytes)) {\n // Convert Array-like to Array\n bytes = Array.prototype.slice.call(bytes);\n }\n\n bytes.push(0x80);\n var l = bytes.length / 4 + 2;\n var N = Math.ceil(l / 16);\n var M = new Array(N);\n\n for (var _i = 0; _i < N; ++_i) {\n var arr = new Uint32Array(16);\n\n for (var j = 0; j < 16; ++j) {\n arr[j] = bytes[_i * 64 + j * 4] << 24 | bytes[_i * 64 + j * 4 + 1] << 16 | bytes[_i * 64 + j * 4 + 2] << 8 | bytes[_i * 64 + j * 4 + 3];\n }\n\n M[_i] = arr;\n }\n\n M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32);\n M[N - 1][14] = Math.floor(M[N - 1][14]);\n M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff;\n\n for (var _i2 = 0; _i2 < N; ++_i2) {\n var W = new Uint32Array(80);\n\n for (var t = 0; t < 16; ++t) {\n W[t] = M[_i2][t];\n }\n\n for (var _t = 16; _t < 80; ++_t) {\n W[_t] = ROTL(W[_t - 3] ^ W[_t - 8] ^ W[_t - 14] ^ W[_t - 16], 1);\n }\n\n var a = H[0];\n var b = H[1];\n var c = H[2];\n var d = H[3];\n var e = H[4];\n\n for (var _t2 = 0; _t2 < 80; ++_t2) {\n var s = Math.floor(_t2 / 20);\n var T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[_t2] >>> 0;\n e = d;\n d = c;\n c = ROTL(b, 30) >>> 0;\n b = a;\n a = T;\n }\n\n H[0] = H[0] + a >>> 0;\n H[1] = H[1] + b >>> 0;\n H[2] = H[2] + c >>> 0;\n H[3] = H[3] + d >>> 0;\n H[4] = H[4] + e >>> 0;\n }\n\n return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff];\n}\n\nexport default sha1;","import {\n PluginOptions as GatsbyPluginOptions,\n SourceNodesArgs,\n NodeInput,\n Node,\n} from 'gatsby'\nimport { FixedObject, FluidObject } from 'gatsby-image'\nimport { Document as PrismicDocument } from 'prismic-javascript/d.ts/documents'\nimport * as PrismicDOM from 'prismic-dom'\nimport { ImgixUrlParams } from 'gatsby-plugin-imgix'\n\nexport type NodeID = string\n\nexport interface NodeTree {\n [key: string]: Node\n}\n\nexport interface DocumentNodeInput extends NodeInput {\n prismicId: PrismicDocument['id']\n data: { [key: string]: NormalizedField }\n dataString: string\n dataRaw: PrismicDocument['data']\n alternate_languages: NormalizedAlternateLanguagesField\n url?: string\n}\n\nexport interface SliceNodeInput extends NodeInput {\n slice_type: string\n slice_label?: string\n primary: { [key: string]: NormalizedField }\n items: { [key: string]: NormalizedField }[]\n}\n\nexport interface DocumentsToNodesEnvironment {\n createNode: (node: NodeInput) => void\n createNodeId: (input: string) => string\n createContentDigest: (input: string | object) => string\n normalizeImageField: ImageFieldNormalizer\n normalizeLinkField: LinkFieldNormalizer\n normalizeSlicesField: SlicesFieldNormalizer\n normalizeStructuredTextField: StructuredTextFieldNormalizer\n typePaths: TypePath[]\n pluginOptions: PluginOptions\n context:\n | DocumentsToNodesEnvironmentNodeContext\n | DocumentsToNodesEnvironmentBrowserContext\n}\n\nexport interface DocumentsToNodesEnvironmentNodeContext {\n gatsbyContext: SourceNodesArgs\n}\n\nexport interface DocumentsToNodesEnvironmentBrowserContext {\n hasNodeById: (id: string) => boolean\n getNodeById: (id: string) => T & Node\n}\n\nexport interface TypePath {\n path: string[]\n type: GraphQLType | string\n}\n\nexport type FieldNormalizer = (\n apiId: string,\n field: T,\n path: TypePath['path'],\n doc: PrismicDocument,\n env: DocumentsToNodesEnvironment,\n) => N | Promise\n\nexport type ImageFieldNormalizer = FieldNormalizer<\n ImageField,\n NormalizedImageField\n>\n\nexport type LinkFieldNormalizer = FieldNormalizer<\n LinkField,\n NormalizedLinkField\n>\n\nexport type SlicesFieldNormalizer = FieldNormalizer<\n SliceIDsField,\n NormalizedSlicesField\n>\n\nexport type StructuredTextFieldNormalizer = FieldNormalizer<\n StructuredTextField,\n NormalizedStructuredTextField\n>\n\nexport type Field =\n | StructuredTextField\n | ImageField\n | SlicesField\n | GroupField\n | LinkField\n | AlternateLanguagesField\n | string\n | number\n | boolean\n | null\n\nexport type NormalizedField =\n | NormalizedStructuredTextField\n | NormalizedImageField\n | NormalizedSlicesField\n | NormalizedGroupField\n | NormalizedLinkField\n | NormalizedAlternateLanguagesField\n | Field\n\nexport type StructuredTextField = {\n type: string\n text: string\n spans: { [key: string]: unknown }\n}[]\n\nexport interface NormalizedStructuredTextField {\n html: string\n text: string\n raw: StructuredTextField\n}\n\nexport type SlicesField = Slice[]\n\ninterface Slice {\n slice_type: string\n slice_label: string | null\n items: { [key: string]: Field }[]\n primary: { [key: string]: Field }\n}\n\nexport type SliceIDsField = NodeID[]\n\nexport type NormalizedSlicesField = NodeID[]\n\nexport enum LinkFieldType {\n Any = 'Any',\n Document = 'Document',\n Media = 'Media',\n Web = 'Web',\n}\n\nexport interface LinkField {\n link_type: LinkFieldType\n isBroken: boolean\n url?: string\n target?: string\n size?: number\n id?: string\n type?: string\n tags?: string[]\n lang?: string\n slug?: string\n uid?: string\n}\n\nexport interface NormalizedLinkField extends LinkField {\n url: string\n document?: NodeID\n raw: LinkField\n}\n\nexport interface ImageField {\n alt?: string\n copyright?: string\n dimensions?: { width: number; height: number }\n url?: string\n // This should be ImageThumbnailField, but TypeScript does not let us\n // type unknown field types separatly from known without widening the type.\n [key: string]: unknown\n}\n\nexport interface NormalizedImageField extends ImageField {\n thumbnails?: { [key: string]: NormalizedImageField }\n fixed?: FixedObject\n fluid?: FluidObject\n localFile?: NodeID\n}\n\nexport type AlternateLanguagesField = LinkField[]\n\nexport type NormalizedAlternateLanguagesField = AlternateLanguagesField\n\nexport type GroupField = { [key: string]: Field }[]\n\nexport type NormalizedGroupField = { [key: string]: NormalizedField }[]\n\nexport enum FieldType {\n Boolean = 'Boolean',\n Color = 'Color',\n Date = 'Date',\n Embed = 'Embed',\n GeoPoint = 'GeoPoint',\n Group = 'Group',\n Image = 'Image',\n Link = 'Link',\n Number = 'Number',\n Select = 'Select',\n Slice = 'Slice',\n Slices = 'Slices',\n StructuredText = 'StructuredText',\n Text = 'Text',\n Timestamp = 'Timestamp',\n UID = 'UID',\n // Internal plugin-specific field not defined in the in Prismic schema.\n AlternateLanguages = 'AlternateLanguages',\n}\n\nexport enum GraphQLType {\n ID = 'ID',\n Boolean = 'Boolean',\n String = 'String',\n Float = 'Float',\n Date = 'Date',\n JSON = 'JSON',\n Link = 'PrismicLinkType',\n Image = 'PrismicImageType',\n ImageThumbnail = 'PrismicImageThumbnailType',\n ImageThumbnails = 'PrismicImageThumbnailsType',\n Embed = 'PrismicEmbedType',\n GeoPoint = 'PrismicGeoPointType',\n StructuredText = 'PrismicStructuredTextType',\n AllDocumentTypes = 'PrismicAllDocumentTypes',\n Group = 'Group',\n Slices = 'Slices',\n AlternateLanguages = 'AlternateLanguages',\n}\n\nexport interface GraphQLTypeObj {\n type: GraphQLType | string\n extensions?: { [key: string]: any }\n resolve?: Function\n}\n\ninterface BaseFieldConfigSchema {\n label?: string\n labels?: { [key: string]: string[] }\n placeholder?: string\n [key: string]: unknown\n}\n\nexport interface BaseFieldSchema {\n type: FieldType\n config: BaseFieldConfigSchema\n}\n\nexport interface ImageFieldSchema extends BaseFieldSchema {\n type: FieldType.Image\n config: ImageFieldConfigSchema\n}\n\ninterface ThumbnailSchema {\n name: string\n width?: string\n height?: string\n}\n\ninterface ImageFieldConfigSchema extends BaseFieldConfigSchema {\n constraint?: { width?: number; height?: number }\n thumbnails?: ThumbnailSchema[]\n}\n\nexport interface SlicesFieldSchema extends BaseFieldSchema {\n type: FieldType.Slices\n fieldset: string\n config: SlicesFieldConfigSchema\n}\n\ninterface SlicesFieldConfigSchema extends BaseFieldConfigSchema {\n choices: SliceChoicesSchema\n}\n\nexport interface SliceChoicesSchema {\n [sliceId: string]: SliceFieldSchema\n}\n\nenum SliceChoiceDisplay {\n List = 'list',\n Grid = 'grid',\n}\n\nexport interface SliceFieldSchema extends BaseFieldSchema {\n type: FieldType.Slice\n fieldset: string\n description: string\n icon: string\n display: SliceChoiceDisplay\n repeat?: FieldsSchema\n 'non-repeat'?: FieldsSchema\n}\n\nexport interface GroupFieldSchema extends BaseFieldSchema {\n type: FieldType.Group\n config: GroupFieldConfigSchema\n}\n\ninterface GroupFieldConfigSchema extends BaseFieldConfigSchema {\n fields: FieldsSchema\n}\n\nexport type FieldSchema =\n | BaseFieldSchema\n | ImageFieldSchema\n | SlicesFieldSchema\n | GroupFieldSchema\n | SliceFieldSchema\n\nexport interface FieldsSchema {\n [fieldId: string]: FieldSchema\n}\n\nexport interface Schema {\n [tabName: string]: {\n [fieldId: string]: FieldSchema\n }\n}\n\nexport interface Schemas {\n [schemaId: string]: Schema\n}\n\nexport type LinkResolver = (doc: object) => string\nexport type PluginLinkResolver = (input: {\n key?: string\n value?: unknown\n node: PrismicDocument\n}) => LinkResolver\n\nexport type HTMLSerializer = typeof PrismicDOM.HTMLSerializer\nexport type PluginHTMLSerializer = (input: {\n key: string\n value: unknown\n node: PrismicDocument\n}) => HTMLSerializer\n\ntype ShouldDownloadImage = (input: {\n key: string\n value: unknown\n node: PrismicDocument\n}) => boolean | Promise\n\nexport type BrowserPluginOptions = GatsbyPluginOptions &\n Pick<\n PluginOptions,\n | 'repositoryName'\n | 'accessToken'\n | 'fetchLinks'\n | 'schemas'\n | 'lang'\n | 'typePathsFilenamePrefix'\n | 'prismicToolbar'\n >\n\nexport interface PluginOptions extends GatsbyPluginOptions {\n repositoryName: string\n releaseID?: string\n accessToken?: string\n linkResolver?: PluginLinkResolver\n htmlSerializer?: PluginHTMLSerializer\n fetchLinks?: string[]\n schemas: Schemas\n lang?: string\n shouldDownloadImage?: ShouldDownloadImage\n shouldNormalizeImage?: ShouldDownloadImage\n typePathsFilenamePrefix?: string\n prismicToolbar?: boolean | 'legacy'\n imageImgixParams?: ImgixUrlParams\n imagePlaceholderImgixParams?: ImgixUrlParams\n webhookSecret?: string\n}\n\nexport interface WebhookBase {\n type: 'api-update' | 'test-trigger'\n domain: string\n apiUrl: string\n secret: string | null\n}\n\nexport interface TestWebhook extends WebhookBase {\n type: 'test-trigger'\n}\n\ninterface Operations {\n update?: T[]\n addition?: T[]\n deletion?: T[]\n}\n\nexport interface PrismicWebhook extends WebhookBase {\n type: 'api-update'\n masterRef?: string\n releases: Operations\n masks: Operations\n tags: Operations\n documents: string[]\n experiments?: Operations\n}\n\nexport interface WebhookRelease {\n id: string\n ref: string\n label: string\n documents: string[]\n}\n\nexport interface WebhookMask {\n id: string\n label: string\n}\n\nexport interface WebhookTag {\n id: string\n}\n\n// Legacy fields\ninterface WebhookExperimentVariation {\n id: string\n ref: string\n label: string\n}\ninterface WebhookExperiment {\n id: string\n name: string\n variations: WebhookExperimentVariation[]\n}\n","import v35 from './v35.js';\nimport sha1 from './sha1.js';\nvar v5 = v35('v5', 0x50, sha1);\nexport default v5;","import stringify from './stringify.js';\nimport parse from './parse.js';\n\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n var bytes = [];\n\n for (var i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n\n return bytes;\n}\n\nexport var DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexport var URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexport default function (name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n\n if (typeof namespace === 'string') {\n namespace = parse(namespace);\n }\n\n if (namespace.length !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n } // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n\n\n var bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n\n return buf;\n }\n\n return stringify(bytes);\n } // Function#name is not settable on some platforms (#270)\n\n\n try {\n generateUUID.name = name; // eslint-disable-next-line no-empty\n } catch (err) {} // For CommonJS default export support\n\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}","import * as struct from 'superstruct'\n\nimport { PluginOptions, BrowserPluginOptions } from './types'\n\nconst baseSchema = {\n repositoryName: struct.string(),\n accessToken: struct.optional(struct.string()),\n releaseID: struct.optional(struct.string()),\n schemas: struct.record(struct.string(), struct.object()),\n linkResolver: struct.defaulted(struct.func(), () => () => () => {}),\n htmlSerializer: struct.defaulted(struct.func(), () => () => () => {}),\n fetchLinks: struct.defaulted(struct.array(struct.string()), []),\n lang: struct.defaulted(struct.string(), '*'),\n typePathsFilenamePrefix: struct.defaulted(\n struct.string(),\n 'prismic-typepaths---',\n ),\n prismicToolbar: struct.defaulted(\n struct.union([struct.boolean(), struct.enums(['legacy'])]),\n false,\n ),\n imageImgixParams: struct.defaulted(\n struct.record(\n struct.string(),\n struct.optional(\n struct.union([struct.string(), struct.number(), struct.boolean()]),\n ),\n ),\n { auto: 'format,compress', fit: 'max', q: 50 },\n ),\n imagePlaceholderImgixParams: struct.defaulted(\n struct.record(\n struct.string(),\n struct.optional(\n struct.union([struct.string(), struct.number(), struct.boolean()]),\n ),\n ),\n { w: 100, blur: 15, q: 20 },\n ),\n plugins: struct.defaulted(struct.empty(struct.array()), []),\n} as const\n\nconst PluginOptions = struct.object({\n ...baseSchema,\n shouldDownloadImage: struct.defaulted(\n struct.optional(struct.func()),\n () => () => false,\n ),\n webhookSecret: struct.optional(struct.string()),\n})\n\nconst BrowserPluginOptions = struct.object({\n ...baseSchema,\n pathResolver: struct.optional(struct.func()),\n schemasDigest: struct.string(),\n})\n\nexport const validatePluginOptions = (pluginOptions: PluginOptions) => {\n const coerced = struct.coerce(pluginOptions, PluginOptions)\n struct.assert(coerced, PluginOptions)\n return (coerced as unknown) as PluginOptions\n}\n\nexport const validateBrowserOptions = (\n browserOptions: BrowserPluginOptions,\n) => {\n const coerced = struct.coerce(browserOptions, BrowserPluginOptions)\n struct.assert(coerced, BrowserPluginOptions)\n return (coerced as unknown) as BrowserPluginOptions\n}\n","export const BROWSER_STORE_KEY = '__GATSBY_SOURCE_PRISMIC__'\n\nexport const IMAGE_FIELD_KEYS = [\n 'alt',\n 'copyright',\n 'dimensions',\n 'url',\n] as const\n\nexport const API_PAGE_SIZE = 100\n\nexport const UUID_NAMESPACE = `638f7a53-c567-4eca-8fc1-b23efb1cfb2b`\n\nexport const PLACEHOLDER_NODE_TYPE_SUFFIX = '__PLACEHOLDER'\n","import { getApi } from 'prismic-javascript'\n\nimport { msg, chunk } from './utils'\nimport { API_PAGE_SIZE } from './constants'\n\nimport { SourceNodesArgs, Reporter } from 'gatsby'\nimport PrismicResolvedApi, {\n QueryOptions,\n} from 'prismic-javascript/d.ts/ResolvedApi'\nimport { Document as PrismicDocument } from 'prismic-javascript/d.ts/documents'\nimport { PluginOptions } from './types'\nimport ApiSearchResponse from 'prismic-javascript/d.ts/ApiSearchResponse'\n\nexport function toPrismicUrl(nameOrUrl: string) {\n const urlRegex = /^https?:\\/\\/([^.]+)\\.(wroom\\.(?:test|io)|prismic\\.io)/\n const addr = nameOrUrl.match(urlRegex)\n\n return addr ? addr[0] + '/api/v2' : `https://${nameOrUrl}.prismic.io/api/v2`\n}\n\nexport const createClient = async (\n repositoryName: string,\n accessToken?: string,\n) => {\n const url = toPrismicUrl(repositoryName)\n return await getApi(url, { accessToken })\n}\n\nconst pagedGet = async (\n client: PrismicResolvedApi,\n queryOptions: QueryOptions,\n page: number,\n pageSize: number,\n documents: PrismicDocument[],\n reporter: Reporter,\n): Promise => {\n reporter.verbose(msg(`fetching documents page ${page}`))\n\n const response = await client.query([], { ...queryOptions, page, pageSize })\n\n for (const doc of response.results) documents.push(doc)\n\n if (page * pageSize < response.total_results_size)\n return await pagedGet(\n client,\n queryOptions,\n page + 1,\n pageSize,\n documents,\n reporter,\n )\n\n return documents\n}\n\nexport const fetchAllDocuments = async (\n pluginOptions: PluginOptions,\n gatsbyContext: SourceNodesArgs,\n) => {\n const {\n repositoryName,\n releaseID,\n accessToken,\n fetchLinks,\n lang,\n } = pluginOptions\n const { reporter } = gatsbyContext\n\n const client = await createClient(repositoryName, accessToken)\n\n const queryOptions: QueryOptions = {}\n if (releaseID) {\n const ref = client.refs.find((r) => r.id === releaseID)\n if (ref) {\n queryOptions.ref = ref.ref\n } else {\n reporter.warn(\n msg(\n `A release with ID \"${releaseID}\" was not found. Defaulting to the master ref instead.`,\n ),\n )\n }\n }\n if (fetchLinks) queryOptions.fetchLinks = fetchLinks\n if (lang) queryOptions.lang = lang\n\n return await pagedGet(client, queryOptions, 1, API_PAGE_SIZE, [], reporter)\n}\n\nexport async function fetchDocumentsByIds(\n pluginOptions: PluginOptions,\n gatsbyContext: SourceNodesArgs,\n documents: string[],\n): Promise {\n const {\n repositoryName,\n releaseID,\n accessToken,\n fetchLinks,\n lang,\n } = pluginOptions\n\n const { reporter } = gatsbyContext\n\n const client = await createClient(repositoryName, accessToken)\n\n const queryOptions: QueryOptions = {}\n\n if (releaseID) {\n const ref = client.refs.find((r) => r.id === releaseID)\n if (ref) {\n queryOptions.ref = ref.ref\n } else {\n reporter.warn(\n msg(\n `A release with ID \"${releaseID}\" was not found. Defaulting to the master ref instead.`,\n ),\n )\n }\n }\n\n if (fetchLinks) queryOptions.fetchLinks = fetchLinks\n\n if (lang) queryOptions.lang = lang\n\n const chunks = chunk(documents, 100).map((docs) =>\n client.getByIDs(docs, queryOptions),\n )\n\n const responses: ApiSearchResponse[] = await Promise.all(chunks)\n\n return responses.flatMap((doc) => doc.results)\n}\n","import { useReducer, useEffect, useCallback, useMemo } from 'react'\nimport { set as setCookie } from 'es-cookie'\nimport { previewCookie } from 'prismic-javascript'\nimport { camelCase } from 'camel-case'\n\nimport { validateBrowserOptions } from './validateOptions'\nimport { createClient } from './api'\nimport { createEnvironment } from './environment.browser'\nimport { documentToNodes } from './documentsToNodes'\nimport { isBrowser } from './utils'\nimport { BROWSER_STORE_KEY } from './constants'\n\nimport { Node } from 'gatsby'\nimport { QueryOptions } from 'prismic-javascript/d.ts/ResolvedApi'\nimport {\n PluginOptions,\n DocumentsToNodesEnvironmentBrowserContext,\n BrowserPluginOptions,\n} from './types'\n\nexport type UsePrismicPreviewOptions = Pick<\n PluginOptions,\n | 'repositoryName'\n | 'accessToken'\n | 'linkResolver'\n | 'htmlSerializer'\n | 'fetchLinks'\n | 'lang'\n | 'typePathsFilenamePrefix'\n> & {\n pathResolver?: PluginOptions['linkResolver']\n schemasDigest?: string\n}\n\nenum ActionType {\n IS_NOT_PREVIEW = 'IS_NOT_PREVIEW',\n IS_PREVIEW = 'IS_PREVIEW',\n DOCUMENT_LOADED = 'DOCUMENT_LOADED',\n RESET = 'RESET',\n}\n\ninterface Action {\n type: ActionType\n payload?: {\n rootNode: Node\n path?: string\n }\n}\n\ninterface State {\n isPreview?: boolean\n isLoading: boolean\n previewData?: { [key: string]: Node }\n path?: string\n}\n\nconst initialState: State = {\n isPreview: undefined,\n isLoading: false,\n previewData: undefined,\n path: undefined,\n}\n\nconst reducer = (state: State, action: Action) => {\n switch (action.type) {\n case ActionType.IS_NOT_PREVIEW: {\n return { ...state, isPreview: false, isLoading: false }\n }\n\n case ActionType.IS_PREVIEW: {\n return { ...state, isPreview: true, isLoading: true }\n }\n\n case ActionType.DOCUMENT_LOADED: {\n if (!action.payload)\n return { ...state, isPreview: false, isLoading: false }\n\n const { rootNode, path } = action.payload\n const type = camelCase(rootNode.internal.type)\n const previewData = { [type]: rootNode }\n\n return { ...state, previewData, path, isPreview: true, isLoading: false }\n }\n\n case ActionType.RESET: {\n return initialState\n }\n\n default:\n throw new Error('Invalid error')\n }\n}\n\nexport const usePrismicPreview = (options: UsePrismicPreviewOptions) => {\n const [state, dispatch] = useReducer(reducer, initialState)\n\n // @ts-expect-error\n const hydratedOptions: UsePrismicPreviewOptions & {\n plugins: []\n schemas: {}\n lang: string\n typePathsFilenamePrefix: string\n schemasDigest: string\n } = useMemo(() => {\n if (!isBrowser) return options\n\n const context = window[BROWSER_STORE_KEY][options.repositoryName]\n\n if (!context)\n throw new Error(\n `Could not find plugin context for repository: \"${options.repositoryName}\". Check that a gatsby-source-plugin instance exists for that repository. `,\n )\n\n return validateBrowserOptions({\n ...context.pluginOptions,\n schemasDigest: context.schemasDigest,\n // Need to include an empty object because environment.browser.ts is\n // expecting it. We do not include the actual schemas in the browser.\n schemas: {},\n ...options,\n })\n }, [options])\n\n const { token, documentId } = useMemo(() => {\n if (!isBrowser) return {}\n\n const params = new URLSearchParams(window.location.search)\n\n return {\n token: params.get('token') ?? undefined,\n documentId: params.get('documentId') ?? undefined,\n }\n }, [isBrowser ? window.location.search : undefined])\n\n /**\n * Set the preview status as soon as possible.\n */\n useEffect(() => {\n const isPreview = Boolean(token && documentId)\n\n dispatch({\n type: isPreview ? ActionType.IS_PREVIEW : ActionType.IS_NOT_PREVIEW,\n })\n }, [token, documentId])\n\n const asyncEffect = useCallback(async () => {\n if (!state.isPreview || !token || !documentId) return\n\n setCookie(previewCookie, token)\n\n const queryOptions: QueryOptions = {}\n if (hydratedOptions.fetchLinks)\n queryOptions.fetchLinks = hydratedOptions.fetchLinks\n\n // Query Prismic's API for the document.\n const client = await createClient(\n hydratedOptions.repositoryName,\n hydratedOptions.accessToken,\n )\n const doc = await client.getByID(documentId, queryOptions)\n\n // Process the document into nodes.\n const typePathsRes = await fetch(\n `/${hydratedOptions.typePathsFilenamePrefix}${hydratedOptions.schemasDigest}.json`,\n { headers: { 'Content-Type': 'application/json' } },\n )\n const typePaths = await typePathsRes.json()\n const env = createEnvironment(\n hydratedOptions as BrowserPluginOptions,\n typePaths,\n )\n const { context } = env\n const { getNodeById } = context as DocumentsToNodesEnvironmentBrowserContext\n const rootNodeId = await documentToNodes(doc, env)\n const rootNode = getNodeById(rootNodeId)\n\n const resolvedPathResolver =\n hydratedOptions.pathResolver ?? hydratedOptions.linkResolver\n const path = resolvedPathResolver\n ? resolvedPathResolver({ node: doc })(doc)\n : undefined\n\n dispatch({ type: ActionType.DOCUMENT_LOADED, payload: { rootNode, path } })\n }, [state.isPreview])\n\n useEffect(() => {\n asyncEffect()\n }, [asyncEffect])\n\n return state\n}\n","import pick from 'lodash.pick'\nimport omit from 'lodash.omit'\n\nimport { mapObjValsP, buildSchemaTypeName } from './utils'\nimport { IMAGE_FIELD_KEYS } from './constants'\n\nimport { Document as PrismicDocument } from 'prismic-javascript/d.ts/documents'\nimport {\n DocumentsToNodesEnvironment,\n TypePath,\n Field,\n AlternateLanguagesField,\n GroupField,\n ImageField,\n LinkField,\n SlicesField,\n StructuredTextField,\n NormalizedField,\n NormalizedAlternateLanguagesField,\n LinkFieldType,\n GraphQLType,\n LinkResolver,\n DocumentNodeInput,\n SliceNodeInput,\n} from './types'\n\nconst getTypeForPath = (\n path: TypePath['path'],\n typePaths: TypePath[],\n): GraphQLType | string | undefined => {\n const stringifiedPath = JSON.stringify(path)\n const def = typePaths.find((x) => JSON.stringify(x.path) === stringifiedPath)\n\n if (!def) return\n if (/^\\[.*GroupType\\]$/.test(def.type)) return GraphQLType.Group\n if (/^\\[.*SlicesType\\]$/.test(def.type)) return GraphQLType.Slices\n\n return def.type\n}\n\nconst normalizeField = async (\n apiId: string,\n field: Field,\n path: TypePath['path'],\n doc: PrismicDocument,\n env: DocumentsToNodesEnvironment,\n): Promise => {\n const {\n createNodeId,\n createNode,\n createContentDigest,\n typePaths,\n normalizeStructuredTextField,\n normalizeLinkField,\n normalizeImageField,\n normalizeSlicesField,\n } = env\n\n const type = getTypeForPath([...path, apiId], typePaths)\n\n switch (type) {\n case GraphQLType.Image: {\n const baseObj: ImageField = pick(field as ImageField, IMAGE_FIELD_KEYS)\n const thumbsObj = omit(field as ImageField, IMAGE_FIELD_KEYS) as {\n [key: string]: ImageField\n }\n\n const base = await normalizeImageField(apiId, baseObj, path, doc, env)\n const thumbs = await mapObjValsP(\n async (thumb) =>\n await normalizeImageField(apiId, thumb, path, doc, env),\n thumbsObj,\n )\n\n return { ...base, thumbnails: thumbs }\n }\n\n case GraphQLType.StructuredText: {\n return await normalizeStructuredTextField(\n apiId,\n field as StructuredTextField,\n path,\n doc,\n env,\n )\n }\n\n case GraphQLType.Link: {\n return await normalizeLinkField(apiId, field as LinkField, path, doc, env)\n }\n\n case GraphQLType.Group: {\n return await normalizeObjs(\n field as GroupField,\n [...path, apiId],\n doc,\n env,\n )\n }\n\n case GraphQLType.Slices: {\n const sliceNodeIds = await Promise.all(\n (field as SlicesField).map(async (slice, index) => {\n const sliceNodeId = createNodeId(\n `${doc.type} ${doc.id} ${apiId} ${index}`,\n )\n\n const normalizedPrimary = await normalizeObj(\n slice.primary,\n [...path, apiId, slice.slice_type, 'primary'],\n doc,\n env,\n )\n\n const normalizedItems = await normalizeObjs(\n slice.items,\n [...path, apiId, slice.slice_type, 'items'],\n doc,\n env,\n )\n\n const node: SliceNodeInput = {\n id: sliceNodeId,\n slice_type: slice.slice_type,\n slice_label: slice.slice_label ?? undefined,\n primary: normalizedPrimary,\n items: normalizedItems,\n internal: {\n type: buildSchemaTypeName(\n `${doc.type} ${apiId} ${slice.slice_type}`,\n ),\n contentDigest: createContentDigest(slice),\n },\n }\n\n createNode(node)\n\n return node.id\n }),\n )\n\n return await normalizeSlicesField(\n apiId,\n sliceNodeIds,\n [...path, apiId],\n doc,\n env,\n )\n }\n\n // This field type is not an actual Prismic type and was assigned manually\n // in `schemasToTypeDefs.ts`.\n case GraphQLType.AlternateLanguages: {\n // Treat the array of alternate language documents as a list of link\n // fields. We need to force the link type to a Document since it is not\n // there by default.\n return await Promise.all(\n (field as AlternateLanguagesField).map(\n async (item) =>\n await normalizeLinkField(\n apiId,\n {\n ...item,\n link_type: LinkFieldType.Document,\n },\n path,\n doc,\n env,\n ),\n ),\n )\n }\n\n default: {\n return field\n }\n }\n}\n\nconst normalizeObj = (\n obj: { [key: string]: Field } = {},\n path: TypePath['path'],\n doc: PrismicDocument,\n env: DocumentsToNodesEnvironment,\n): Promise<{ [key: string]: NormalizedField }> =>\n mapObjValsP(\n (field, fieldApiId) => normalizeField(fieldApiId, field, path, doc, env),\n obj,\n )\n\nconst normalizeObjs = (\n objs: { [key: string]: Field }[] = [],\n path: TypePath['path'],\n doc: PrismicDocument,\n env: DocumentsToNodesEnvironment,\n) => Promise.all(objs.map((obj) => normalizeObj(obj, path, doc, env)))\n\nexport const documentToNodes = async (\n doc: PrismicDocument,\n env: DocumentsToNodesEnvironment,\n) => {\n const { createNode, createContentDigest, createNodeId, pluginOptions } = env\n const { linkResolver } = pluginOptions\n\n let linkResolverForDoc: LinkResolver | undefined = undefined\n if (linkResolver) linkResolverForDoc = linkResolver({ node: doc })\n\n const docNodeId = createNodeId(doc.id)\n const docUrl = linkResolverForDoc ? linkResolverForDoc(doc) : undefined\n\n const normalizedData = await normalizeObj(\n doc.data,\n [doc.type, 'data'],\n doc,\n env,\n )\n const normalizedAlernativeLanguages = (await normalizeField(\n 'alternate_languages',\n (doc.alternate_languages as unknown) as AlternateLanguagesField,\n [doc.type],\n doc,\n env,\n )) as NormalizedAlternateLanguagesField\n\n const node: DocumentNodeInput = {\n ...doc,\n id: docNodeId,\n prismicId: doc.id,\n data: normalizedData,\n dataString: JSON.stringify(doc.data),\n dataRaw: doc.data,\n alternate_languages: normalizedAlernativeLanguages,\n url: docUrl,\n internal: {\n type: buildSchemaTypeName(doc.type),\n contentDigest: createContentDigest(doc),\n },\n _previewable: doc.id,\n }\n\n createNode(node)\n\n return node.id\n}\n\nexport const documentsToNodes = async (\n docs: PrismicDocument[],\n env: DocumentsToNodesEnvironment,\n) => await Promise.all(docs.map((doc) => documentToNodes(doc, env)))\n","import {\n Link as PrismicDOMLink,\n RichText as PrismicDOMRichText,\n} from 'prismic-dom'\nimport { buildImgixFixed, buildImgixFluid } from 'gatsby-plugin-imgix'\nimport { v5 as uuidv5 } from 'uuid'\nimport md5 from 'md5'\n\nimport { createClient } from './api'\nimport { documentToNodes } from './documentsToNodes'\nimport { buildSchemaTypeName } from './utils'\nimport { UUID_NAMESPACE, PLACEHOLDER_NODE_TYPE_SUFFIX } from './constants'\n\nimport { NodeInput } from 'gatsby'\nimport { QueryOptions } from 'prismic-javascript/d.ts/ResolvedApi'\nimport {\n BrowserPluginOptions,\n DocumentsToNodesEnvironment,\n DocumentsToNodesEnvironmentBrowserContext,\n HTMLSerializer,\n ImageFieldNormalizer,\n LinkField,\n LinkFieldNormalizer,\n LinkFieldType,\n LinkResolver,\n NormalizedLinkField,\n SlicesFieldNormalizer,\n StructuredTextFieldNormalizer,\n TypePath,\n NodeID,\n} from './types'\n\ninterface UnbrokenDocumentLinkField extends LinkField {\n link_type: LinkFieldType.Document\n id: string\n isBroken: false\n}\n\nconst loadLinkFieldDocument = async (\n field: UnbrokenDocumentLinkField,\n env: DocumentsToNodesEnvironment,\n) => {\n const {\n createNode,\n createNodeId,\n createContentDigest,\n pluginOptions,\n context,\n } = env\n if (field.link_type !== LinkFieldType.Document || !field.id || field.isBroken)\n return\n\n const { hasNodeById } = context as DocumentsToNodesEnvironmentBrowserContext\n const { repositoryName, accessToken, fetchLinks } = pluginOptions\n\n const linkedDocId = createNodeId(field.id)\n\n // Skip the fetch process if the node already exists in the store.\n if (hasNodeById(linkedDocId)) return\n\n // Create a placeholder node in the store to prevent infinite recursion. This\n // placeholder will be replaced with the actual node during the\n // `documentToNodes` call.\n createNode({\n id: linkedDocId,\n internal: {\n type: buildSchemaTypeName(field.type!) + PLACEHOLDER_NODE_TYPE_SUFFIX,\n contentDigest: createContentDigest(linkedDocId),\n },\n })\n\n const queryOptions: QueryOptions = {}\n if (fetchLinks) queryOptions.fetchLinks = fetchLinks\n\n // Query Prismic's API for the document.\n const client = await createClient(repositoryName, accessToken)\n const doc = await client.getByID(field.id, queryOptions)\n\n await documentToNodes(doc, env)\n}\n\nconst normalizeImageField: ImageFieldNormalizer = async (\n _apiId,\n field,\n _path,\n _doc,\n env,\n) => {\n const { pluginOptions } = env\n\n const url = field.url\n if (!url) return field\n\n const fixed = buildImgixFixed({\n url,\n sourceWidth: field.dimensions!.width,\n sourceHeight: field.dimensions!.height,\n args: {\n imgixParams: pluginOptions.imageImgixParams,\n placeholderImgixParams: pluginOptions.imagePlaceholderImgixParams,\n },\n })\n\n const fluid = buildImgixFluid({\n url,\n sourceWidth: field.dimensions!.width,\n sourceHeight: field.dimensions!.height,\n args: {\n imgixParams: pluginOptions.imageImgixParams,\n placeholderImgixParams: pluginOptions.imagePlaceholderImgixParams,\n },\n })\n\n return { ...field, fixed, fluid }\n}\n\n// TODO: Abstract proxy handler for any `getNodeById` needs (e.g. Slices).\nconst normalizeLinkField: LinkFieldNormalizer = async (\n apiId,\n field,\n _path,\n doc,\n env,\n) => {\n const { createNodeId, pluginOptions, context } = env\n const { getNodeById } = context as DocumentsToNodesEnvironmentBrowserContext\n const { linkResolver } = pluginOptions\n\n let linkResolverForField: LinkResolver | undefined = undefined\n if (linkResolver)\n linkResolverForField = linkResolver({\n key: apiId,\n value: field,\n node: doc,\n })\n\n let linkedDocId: NodeID | undefined = undefined\n if (field && field.link_type === LinkFieldType.Document && field.id)\n linkedDocId = createNodeId(field.id)\n\n if (\n field &&\n field.link_type === LinkFieldType.Document &&\n field.id &&\n !field.isBroken\n )\n await loadLinkFieldDocument(field as UnbrokenDocumentLinkField, env)\n\n return new Proxy(\n {\n ...field,\n url: PrismicDOMLink.url(field, linkResolverForField),\n document: linkedDocId,\n raw: field,\n },\n {\n get: (obj, prop: keyof NormalizedLinkField) => {\n if (prop === 'document') {\n if (\n field &&\n field.link_type === LinkFieldType.Document &&\n !field.isBroken &&\n linkedDocId\n )\n return getNodeById(linkedDocId)\n\n return null\n }\n\n return obj[prop]\n },\n },\n )\n}\n\nconst normalizeSlicesField: SlicesFieldNormalizer = (\n _apiId,\n field,\n _path,\n _doc,\n env,\n) => {\n const { context } = env\n const {\n hasNodeById,\n getNodeById,\n } = context as DocumentsToNodesEnvironmentBrowserContext\n\n return new Proxy(field, {\n get: (obj, prop: number) => {\n const id = obj[prop]\n\n if (hasNodeById(id)) {\n const node = getNodeById(id)\n return { ...node, __typename: node.internal.type }\n }\n\n return id\n },\n })\n}\n\nconst normalizeStructuredTextField: StructuredTextFieldNormalizer = async (\n apiId,\n field,\n _path,\n doc,\n env,\n) => {\n const { pluginOptions } = env\n const { linkResolver, htmlSerializer } = pluginOptions\n\n let linkResolverForField: LinkResolver | undefined = undefined\n if (linkResolver)\n linkResolverForField = linkResolver({\n key: apiId,\n value: field,\n node: doc,\n })\n\n let htmlSerializerForField: HTMLSerializer | undefined = undefined\n if (htmlSerializer)\n htmlSerializerForField = htmlSerializer({\n key: apiId,\n value: field,\n node: doc,\n })\n\n return {\n html: PrismicDOMRichText.asHtml(\n field,\n linkResolverForField,\n htmlSerializerForField,\n ),\n text: PrismicDOMRichText.asText(field),\n raw: field,\n }\n}\n\nexport const createEnvironment = (\n pluginOptions: BrowserPluginOptions,\n typePaths: TypePath[],\n): DocumentsToNodesEnvironment => {\n const nodeStore = new Map()\n\n const createNode = (node: NodeInput) => void nodeStore.set(node.id, node)\n const createNodeId = (input: string) => uuidv5(input, UUID_NAMESPACE)\n const createContentDigest = (input: unknown) => md5(JSON.stringify(input))\n const hasNodeById = (id: string) => nodeStore.has(id)\n const getNodeById = (id: string) => nodeStore.get(id)\n\n return {\n createNode,\n createNodeId,\n createContentDigest,\n normalizeImageField,\n normalizeLinkField,\n normalizeSlicesField,\n normalizeStructuredTextField,\n typePaths,\n pluginOptions,\n context: { hasNodeById, getNodeById },\n }\n}\n","import * as React from 'react'\nimport { NodeTree } from './types'\n\nconst DEFAULT_INITIAL_PAGES = {}\nconst DEFAULT_INITIAL_ENABLED = false\n\nexport enum ActionType {\n AddPage,\n EnablePreviews,\n DisablePreviews,\n}\n\ntype Action =\n | {\n type: ActionType.AddPage\n payload: { path: string; data: NodeTree }\n }\n | { type: Exclude }\n\ninterface State {\n pages: Record\n enabled: boolean\n}\n\nconst createInitialState = (initialState?: Partial): State => ({\n pages: DEFAULT_INITIAL_PAGES,\n enabled: DEFAULT_INITIAL_ENABLED,\n ...initialState,\n})\n\nconst reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case ActionType.AddPage: {\n return {\n ...state,\n pages: {\n ...state.pages,\n [action.payload.path]: action.payload.data,\n },\n enabled: true,\n }\n }\n\n case ActionType.EnablePreviews: {\n return { ...state, enabled: true }\n }\n\n case ActionType.DisablePreviews: {\n return { ...state, enabled: false }\n }\n }\n}\n\nconst PreviewStoreContext = React.createContext([\n createInitialState(),\n () => {},\n] as [State, React.Dispatch])\n\nexport type PreviewStoreProviderProps = {\n children?: React.ReactNode\n initialPages?: State['pages']\n initialEnabled?: State['enabled']\n}\n\nexport const PreviewStoreProvider = ({\n children,\n initialPages = DEFAULT_INITIAL_PAGES,\n initialEnabled = DEFAULT_INITIAL_ENABLED,\n}: PreviewStoreProviderProps) => {\n const reducerTuple = React.useReducer(\n reducer,\n createInitialState({\n pages: initialPages,\n enabled: initialEnabled,\n }),\n )\n\n return (\n \n {children}\n \n )\n}\n\nexport const usePreviewStore = () => React.useContext(PreviewStoreContext)\n","import { Node } from 'gatsby'\nimport isPlainObject from 'lodash.isplainobject'\n\nimport { NodeTree } from './types'\n\n// Root node field used to compare static data with preview data. If values are\n// equal, the preview node can be treated as an updated version of the static\n// node.\nconst PREVIEWABLE_NODE_ID_FIELD = '_previewable'\n\n// TODO: Remove in v4.0.0\n// Same as PREVIEWABLE_NODE_ID_FIELD, but the legacy version that will be phased out in v4.0.0.\nconst LEGACY_PREVIEWABLE_NODE_ID_FIELD = 'prismicId'\n\nconst traverseAndReplace = (node: any, replacementNode: Node): any => {\n if (isPlainObject(node)) {\n // If the nodes share an ID, replace it.\n if (\n node[PREVIEWABLE_NODE_ID_FIELD] ===\n replacementNode[PREVIEWABLE_NODE_ID_FIELD]\n )\n return replacementNode\n\n // TODO: Remove in v4.0.0\n if (\n node[LEGACY_PREVIEWABLE_NODE_ID_FIELD] ===\n replacementNode[LEGACY_PREVIEWABLE_NODE_ID_FIELD]\n ) {\n console.warn(\n 'Warning: Merging nested preview data using the prismicId field will be deprecated in gatsby-source-prismic v4.0.0.\\n\\nIf you are relying on this functionality, please update your GraphQL query to include the _previewable field on documents that should be previewable.',\n )\n return replacementNode\n }\n\n // We did not find the Node to replace. Iterate all properties and continue\n // to find the Node.\n const newNode: typeof node = {}\n for (const subnodeKey in node)\n newNode[subnodeKey] = traverseAndReplace(\n node[subnodeKey],\n replacementNode,\n )\n return newNode\n }\n\n // Iterate all elements in the node to find the Node.\n if (Array.isArray(node))\n return node.map((subnode) => traverseAndReplace(subnode, replacementNode))\n\n // If the node is not an object or array, it cannot be a Node.\n return node\n}\n\nexport interface MergePrismicPreviewDataArgs {\n staticData?: NodeTree\n previewData?: NodeTree\n /**\n * Determines the method with which the function merges preview data into static data.\n *\n * - `traverseAndReplace`: Traverse static data nodes and replace with preview data if IDs match.\n * - `rootReplaceOrInsert`: Replace or insert preview data at the root level.\n */\n strategy?: 'traverseAndReplace' | 'rootReplaceOrInsert'\n}\n\n/**\n * Merges preview data with static data. Different merge strategies can be used\n * for different environments.\n */\nexport const mergePrismicPreviewData = ({\n staticData,\n previewData,\n strategy = 'traverseAndReplace',\n}: MergePrismicPreviewDataArgs): NodeTree | undefined => {\n if (!staticData && !previewData) return\n if (!staticData) return previewData\n if (!previewData) return staticData\n\n switch (strategy) {\n // Unpublished previews must return data at the root to ensure it is always\n // available. If staticData and previewData share root-level keys, they are\n // merged. Otherwise, data will be sibilings.\n case 'rootReplaceOrInsert':\n return { ...staticData, ...previewData }\n\n // Traverse static data nodes and replace with preview data if IDs match.\n case 'traverseAndReplace':\n default: {\n const previewDataRootNodeKey = Object.keys(previewData)[0]\n\n // TODO: Remove in v4.0.0.\n if (\n staticData.hasOwnProperty(previewDataRootNodeKey) &&\n !staticData[previewDataRootNodeKey][PREVIEWABLE_NODE_ID_FIELD] &&\n !staticData[previewDataRootNodeKey][LEGACY_PREVIEWABLE_NODE_ID_FIELD]\n ) {\n // TODO: Add link to more details on _previewable.\n console.warn(\n 'Warning: Merging preview data implicitly will be deprecated in gatsby-source-prismic v4.0.0.\\n\\nIf you are relying on this functionality, please update your GraphQL query to include the _previewable field on documents that should be previewable.',\n )\n return { ...staticData, ...previewData }\n }\n\n return traverseAndReplace(staticData, previewData[previewDataRootNodeKey])\n }\n }\n}\n","import * as React from 'react'\nimport { PageProps } from 'gatsby'\n\nimport {\n mergePrismicPreviewData,\n MergePrismicPreviewDataArgs,\n} from './mergePrismicPreviewData'\nimport { usePreviewStore } from './usePreviewStore'\nimport { getComponentDisplayName } from './utils'\nimport { NodeTree } from './types'\n\ntype WithPreviewArgs = {\n mergeStrategy?: MergePrismicPreviewDataArgs['strategy']\n}\n\nexport const withPreview = (\n WrappedComponent: React.ComponentType,\n options?: WithPreviewArgs,\n): React.ComponentType => {\n const WithPreview = (props: TProps) => {\n const [state] = usePreviewStore()\n\n const path = props.location.pathname\n const staticData = props.data as NodeTree\n const previewData = state.pages[path]\n\n const data = React.useMemo(\n () =>\n state.enabled\n ? mergePrismicPreviewData({\n staticData,\n previewData,\n strategy: options?.mergeStrategy,\n })\n : staticData,\n [state.enabled, staticData, previewData],\n )\n\n return \n }\n WithPreview.displayName = `withPreview(${getComponentDisplayName(\n WrappedComponent,\n )})`\n\n return WithPreview\n}\n","import * as React from 'react'\nimport { navigate, PageProps } from 'gatsby'\n\nimport {\n usePrismicPreview,\n UsePrismicPreviewOptions,\n} from './usePrismicPreview'\nimport { usePreviewStore, ActionType } from './usePreviewStore'\nimport { getComponentDisplayName } from './utils'\n\nexport interface WithPreviewResolverProps {\n isPreview: boolean | undefined\n isLoading: boolean\n}\n\nexport const withPreviewResolver = (\n WrappedComponent: React.ComponentType,\n options: UsePrismicPreviewOptions,\n): React.ComponentType => {\n const WithPreviewResolver = (props: TProps) => {\n const [, dispatch] = usePreviewStore()\n\n const { isLoading, isPreview, previewData, path } = usePrismicPreview(\n options,\n )\n\n React.useEffect(() => {\n if (isPreview && previewData && path) {\n dispatch({\n type: ActionType.AddPage,\n payload: { path, data: previewData },\n })\n navigate(path)\n }\n }, [isPreview, previewData, path, dispatch])\n\n return (\n \n )\n }\n WithPreviewResolver.displayName = `withPreviewResolver(${getComponentDisplayName(\n WrappedComponent,\n )})`\n\n return WithPreviewResolver\n}\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\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 };","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","(function () {\n var crypt = require('crypt'),\n utf8 = require('charenc').utf8,\n isBuffer = require('is-buffer'),\n bin = require('charenc').bin,\n // The core\n md5 = function md5(message, options) {\n // Convert to byte array\n if (message.constructor == String) {\n if (options && options.encoding === 'binary') message = bin.stringToBytes(message);else message = utf8.stringToBytes(message);\n } else if (isBuffer(message)) message = Array.prototype.slice.call(message, 0);else if (!Array.isArray(message) && message.constructor !== Uint8Array) message = message.toString(); // else, assume byte array already\n\n var m = crypt.bytesToWords(message),\n l = message.length * 8,\n a = 1732584193,\n b = -271733879,\n c = -1732584194,\n d = 271733878; // Swap endian\n\n for (var i = 0; i < m.length; i++) {\n m[i] = (m[i] << 8 | m[i] >>> 24) & 0x00FF00FF | (m[i] << 24 | m[i] >>> 8) & 0xFF00FF00;\n } // Padding\n\n\n m[l >>> 5] |= 0x80 << l % 32;\n m[(l + 64 >>> 9 << 4) + 14] = l; // Method shortcuts\n\n var FF = md5._ff,\n GG = md5._gg,\n HH = md5._hh,\n II = md5._ii;\n\n for (var i = 0; i < m.length; i += 16) {\n var aa = a,\n bb = b,\n cc = c,\n dd = d;\n a = FF(a, b, c, d, m[i + 0], 7, -680876936);\n d = FF(d, a, b, c, m[i + 1], 12, -389564586);\n c = FF(c, d, a, b, m[i + 2], 17, 606105819);\n b = FF(b, c, d, a, m[i + 3], 22, -1044525330);\n a = FF(a, b, c, d, m[i + 4], 7, -176418897);\n d = FF(d, a, b, c, m[i + 5], 12, 1200080426);\n c = FF(c, d, a, b, m[i + 6], 17, -1473231341);\n b = FF(b, c, d, a, m[i + 7], 22, -45705983);\n a = FF(a, b, c, d, m[i + 8], 7, 1770035416);\n d = FF(d, a, b, c, m[i + 9], 12, -1958414417);\n c = FF(c, d, a, b, m[i + 10], 17, -42063);\n b = FF(b, c, d, a, m[i + 11], 22, -1990404162);\n a = FF(a, b, c, d, m[i + 12], 7, 1804603682);\n d = FF(d, a, b, c, m[i + 13], 12, -40341101);\n c = FF(c, d, a, b, m[i + 14], 17, -1502002290);\n b = FF(b, c, d, a, m[i + 15], 22, 1236535329);\n a = GG(a, b, c, d, m[i + 1], 5, -165796510);\n d = GG(d, a, b, c, m[i + 6], 9, -1069501632);\n c = GG(c, d, a, b, m[i + 11], 14, 643717713);\n b = GG(b, c, d, a, m[i + 0], 20, -373897302);\n a = GG(a, b, c, d, m[i + 5], 5, -701558691);\n d = GG(d, a, b, c, m[i + 10], 9, 38016083);\n c = GG(c, d, a, b, m[i + 15], 14, -660478335);\n b = GG(b, c, d, a, m[i + 4], 20, -405537848);\n a = GG(a, b, c, d, m[i + 9], 5, 568446438);\n d = GG(d, a, b, c, m[i + 14], 9, -1019803690);\n c = GG(c, d, a, b, m[i + 3], 14, -187363961);\n b = GG(b, c, d, a, m[i + 8], 20, 1163531501);\n a = GG(a, b, c, d, m[i + 13], 5, -1444681467);\n d = GG(d, a, b, c, m[i + 2], 9, -51403784);\n c = GG(c, d, a, b, m[i + 7], 14, 1735328473);\n b = GG(b, c, d, a, m[i + 12], 20, -1926607734);\n a = HH(a, b, c, d, m[i + 5], 4, -378558);\n d = HH(d, a, b, c, m[i + 8], 11, -2022574463);\n c = HH(c, d, a, b, m[i + 11], 16, 1839030562);\n b = HH(b, c, d, a, m[i + 14], 23, -35309556);\n a = HH(a, b, c, d, m[i + 1], 4, -1530992060);\n d = HH(d, a, b, c, m[i + 4], 11, 1272893353);\n c = HH(c, d, a, b, m[i + 7], 16, -155497632);\n b = HH(b, c, d, a, m[i + 10], 23, -1094730640);\n a = HH(a, b, c, d, m[i + 13], 4, 681279174);\n d = HH(d, a, b, c, m[i + 0], 11, -358537222);\n c = HH(c, d, a, b, m[i + 3], 16, -722521979);\n b = HH(b, c, d, a, m[i + 6], 23, 76029189);\n a = HH(a, b, c, d, m[i + 9], 4, -640364487);\n d = HH(d, a, b, c, m[i + 12], 11, -421815835);\n c = HH(c, d, a, b, m[i + 15], 16, 530742520);\n b = HH(b, c, d, a, m[i + 2], 23, -995338651);\n a = II(a, b, c, d, m[i + 0], 6, -198630844);\n d = II(d, a, b, c, m[i + 7], 10, 1126891415);\n c = II(c, d, a, b, m[i + 14], 15, -1416354905);\n b = II(b, c, d, a, m[i + 5], 21, -57434055);\n a = II(a, b, c, d, m[i + 12], 6, 1700485571);\n d = II(d, a, b, c, m[i + 3], 10, -1894986606);\n c = II(c, d, a, b, m[i + 10], 15, -1051523);\n b = II(b, c, d, a, m[i + 1], 21, -2054922799);\n a = II(a, b, c, d, m[i + 8], 6, 1873313359);\n d = II(d, a, b, c, m[i + 15], 10, -30611744);\n c = II(c, d, a, b, m[i + 6], 15, -1560198380);\n b = II(b, c, d, a, m[i + 13], 21, 1309151649);\n a = II(a, b, c, d, m[i + 4], 6, -145523070);\n d = II(d, a, b, c, m[i + 11], 10, -1120210379);\n c = II(c, d, a, b, m[i + 2], 15, 718787259);\n b = II(b, c, d, a, m[i + 9], 21, -343485551);\n a = a + aa >>> 0;\n b = b + bb >>> 0;\n c = c + cc >>> 0;\n d = d + dd >>> 0;\n }\n\n return crypt.endian([a, b, c, d]);\n }; // Auxiliary functions\n\n\n md5._ff = function (a, b, c, d, x, s, t) {\n var n = a + (b & c | ~b & d) + (x >>> 0) + t;\n return (n << s | n >>> 32 - s) + b;\n };\n\n md5._gg = function (a, b, c, d, x, s, t) {\n var n = a + (b & d | c & ~d) + (x >>> 0) + t;\n return (n << s | n >>> 32 - s) + b;\n };\n\n md5._hh = function (a, b, c, d, x, s, t) {\n var n = a + (b ^ c ^ d) + (x >>> 0) + t;\n return (n << s | n >>> 32 - s) + b;\n };\n\n md5._ii = function (a, b, c, d, x, s, t) {\n var n = a + (c ^ (b | ~d)) + (x >>> 0) + t;\n return (n << s | n >>> 32 - s) + b;\n }; // Package private blocksize\n\n\n md5._blocksize = 16;\n md5._digestsize = 16;\n\n module.exports = function (message, options) {\n if (message === undefined || message === null) throw new Error('Illegal argument ' + message);\n var digestbytes = crypt.wordsToBytes(md5(message, options));\n return options && options.asBytes ? digestbytes : options && options.asString ? bin.bytesToString(digestbytes) : crypt.bytesToHex(digestbytes);\n };\n})();","\"use strict\";\n\nvar __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\nvar __generator = this && this.__generator || function (thisArg, body) {\n var _ = {\n label: 0,\n sent: function sent() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n\n while (_) {\n try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n\n case 7:\n op = _.ops.pop();\n\n _.trys.pop();\n\n continue;\n\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n\n if (t && _.label < t[2]) {\n _.label = t[2];\n\n _.ops.push(op);\n\n break;\n }\n\n if (t[2]) _.ops.pop();\n\n _.trys.pop();\n\n continue;\n }\n\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n }\n\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.sequenceSeqArray = exports.traverseSeqArray = exports.traverseSeqArrayWithIndex = exports.sequenceArray = exports.traverseArray = exports.traverseArrayWithIndex = exports.apS = exports.bind = exports.bindTo = exports.Do = exports.never = exports.taskSeq = exports.task = exports.Monad = exports.ApplicativeSeq = exports.ApplicativePar = exports.Functor = exports.getRaceMonoid = exports.getMonoid = exports.getSemigroup = exports.URI = exports.fromTask = exports.flatten = exports.chainFirst = exports.chain = exports.of = exports.apSecond = exports.apFirst = exports.ap = exports.map = exports.chainIOK = exports.fromIOK = exports.delay = exports.fromIO = void 0;\n\nvar function_1 = require(\"./function\"); // -------------------------------------------------------------------------------------\n// constructors\n// -------------------------------------------------------------------------------------\n\n/**\n * @category constructors\n * @since 2.0.0\n */\n\n\nvar fromIO = function fromIO(ma) {\n return function () {\n return Promise.resolve(ma());\n };\n};\n\nexports.fromIO = fromIO; // -------------------------------------------------------------------------------------\n// combinators\n// -------------------------------------------------------------------------------------\n\n/**\n * Creates a task that will complete after a time delay\n *\n * @example\n * import { sequenceT } from 'fp-ts/Apply'\n * import * as T from 'fp-ts/Task'\n *\n * async function test() {\n * const log: Array = []\n * const append = (message: string): T.Task =>\n * T.fromIO(() => {\n * log.push(message)\n * })\n * const fa = append('a')\n * const fb = append('b')\n * const fc = T.delay(10)(append('c'))\n * const fd = append('d')\n * await sequenceT(T.task)(fa, fb, fc, fd)()\n * assert.deepStrictEqual(log, ['a', 'b', 'd', 'c'])\n * }\n *\n * test()\n *\n * @category combinators\n * @since 2.0.0\n */\n\nfunction delay(millis) {\n return function (ma) {\n return function () {\n return new Promise(function (resolve) {\n setTimeout(function () {\n // tslint:disable-next-line: no-floating-promises\n ma().then(resolve);\n }, millis);\n });\n };\n };\n}\n\nexports.delay = delay;\n/**\n * @category combinators\n * @since 2.4.0\n */\n\nfunction fromIOK(f) {\n return function () {\n var a = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n a[_i] = arguments[_i];\n }\n\n return exports.fromIO(f.apply(void 0, a));\n };\n}\n\nexports.fromIOK = fromIOK;\n/**\n * @category combinators\n * @since 2.4.0\n */\n\nfunction chainIOK(f) {\n return exports.chain(fromIOK(f));\n}\n\nexports.chainIOK = chainIOK; // -------------------------------------------------------------------------------------\n// non-pipeables\n// -------------------------------------------------------------------------------------\n\nvar map_ = function map_(fa, f) {\n return function_1.pipe(fa, exports.map(f));\n};\n\nvar apPar_ = function apPar_(fab, fa) {\n return function_1.pipe(fab, exports.ap(fa));\n};\n\nvar apSeq_ = function apSeq_(fab, fa) {\n return function_1.pipe(fab, exports.chain(function (f) {\n return function_1.pipe(fa, exports.map(f));\n }));\n};\n\nvar chain_ = function chain_(ma, f) {\n return function_1.pipe(ma, exports.chain(f));\n}; // -------------------------------------------------------------------------------------\n// pipeables\n// -------------------------------------------------------------------------------------\n\n/**\n * `map` can be used to turn functions `(a: A) => B` into functions `(fa: F) => F` whose argument and return types\n * use the type constructor `F` to represent some computational context.\n *\n * @category Functor\n * @since 2.0.0\n */\n\n\nvar map = function map(f) {\n return function (fa) {\n return function () {\n return fa().then(f);\n };\n };\n};\n\nexports.map = map;\n/**\n * Apply a function to an argument under a type constructor.\n *\n * @category Apply\n * @since 2.0.0\n */\n\nvar ap = function ap(fa) {\n return function (fab) {\n return function () {\n return Promise.all([fab(), fa()]).then(function (_a) {\n var f = _a[0],\n a = _a[1];\n return f(a);\n });\n };\n };\n};\n\nexports.ap = ap;\n/**\n * Combine two effectful actions, keeping only the result of the first.\n *\n * Derivable from `Apply`.\n *\n * @category combinators\n * @since 2.0.0\n */\n\nvar apFirst = function apFirst(fb) {\n return function_1.flow(exports.map(function (a) {\n return function () {\n return a;\n };\n }), exports.ap(fb));\n};\n\nexports.apFirst = apFirst;\n/**\n * Combine two effectful actions, keeping only the result of the second.\n *\n * Derivable from `Apply`.\n *\n * @category combinators\n * @since 2.0.0\n */\n\nvar apSecond = function apSecond(fb) {\n return function_1.flow(exports.map(function () {\n return function (b) {\n return b;\n };\n }), exports.ap(fb));\n};\n\nexports.apSecond = apSecond;\n/**\n * Wrap a value into the type constructor.\n *\n * @category Applicative\n * @since 2.0.0\n */\n\nvar of = function of(a) {\n return function () {\n return Promise.resolve(a);\n };\n};\n\nexports.of = of;\n/**\n * Composes computations in sequence, using the return value of one computation to determine the next computation.\n *\n * @category Monad\n * @since 2.0.0\n */\n\nvar chain = function chain(f) {\n return function (ma) {\n return function () {\n return ma().then(function (a) {\n return f(a)();\n });\n };\n };\n};\n\nexports.chain = chain;\n/**\n * Composes computations in sequence, using the return value of one computation to determine the next computation and\n * keeping only the result of the first.\n *\n * Derivable from `Monad`.\n *\n * @category combinators\n * @since 2.0.0\n */\n\nvar chainFirst = function chainFirst(f) {\n return exports.chain(function (a) {\n return function_1.pipe(f(a), exports.map(function () {\n return a;\n }));\n });\n};\n\nexports.chainFirst = chainFirst;\n/**\n * Derivable from `Monad`.\n *\n * @category combinators\n * @since 2.0.0\n */\n\nexports.flatten = /*#__PURE__*/exports.chain(function_1.identity);\n/**\n * @category MonadTask\n * @since 2.7.0\n */\n\nexports.fromTask = function_1.identity; // -------------------------------------------------------------------------------------\n// instances\n// -------------------------------------------------------------------------------------\n\n/**\n * @category instances\n * @since 2.0.0\n */\n\nexports.URI = 'Task';\n/**\n * Lift a semigroup into 'Task', the inner values are concatenated using the provided `Semigroup`.\n *\n * @example\n * import * as T from 'fp-ts/Task'\n * import { semigroupString } from 'fp-ts/Semigroup'\n *\n * async function test() {\n * const S = T.getSemigroup(semigroupString)\n * const fa = T.of('a')\n * const fb = T.of('b')\n * assert.deepStrictEqual(await S.concat(fa, fb)(), 'ab')\n * }\n *\n * test()\n *\n * @category instances\n * @since 2.0.0\n */\n\nfunction getSemigroup(S) {\n return {\n concat: function concat(x, y) {\n return function () {\n return x().then(function (rx) {\n return y().then(function (ry) {\n return S.concat(rx, ry);\n });\n });\n };\n }\n };\n}\n\nexports.getSemigroup = getSemigroup;\n/**\n * Lift a monoid into 'Task', the inner values are concatenated using the provided `Monoid`.\n *\n * @category instances\n * @since 2.0.0\n */\n\nfunction getMonoid(M) {\n return {\n concat: getSemigroup(M).concat,\n empty: exports.of(M.empty)\n };\n}\n\nexports.getMonoid = getMonoid;\n/**\n * Monoid returning the first completed task.\n *\n * Note: uses `Promise.race` internally.\n *\n * @example\n * import * as T from 'fp-ts/Task'\n *\n * async function test() {\n * const S = T.getRaceMonoid()\n * const fa = T.delay(20)(T.of('a'))\n * const fb = T.delay(10)(T.of('b'))\n * assert.deepStrictEqual(await S.concat(fa, fb)(), 'b')\n * }\n *\n * test()\n *\n * @category instances\n * @since 2.0.0\n */\n\nfunction getRaceMonoid() {\n return {\n concat: function concat(x, y) {\n return function () {\n return Promise.race([x(), y()]);\n };\n },\n empty: exports.never\n };\n}\n\nexports.getRaceMonoid = getRaceMonoid;\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.Functor = {\n URI: exports.URI,\n map: map_\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.ApplicativePar = {\n URI: exports.URI,\n map: map_,\n ap: apPar_,\n of: exports.of\n};\n/**\n * @category instances\n * @since 2.7.0\n */\n\nexports.ApplicativeSeq = {\n URI: exports.URI,\n map: map_,\n ap: apSeq_,\n of: exports.of\n};\n/**\n * Used in TaskEither.getTaskValidation\n *\n * @internal\n */\n\nexports.Monad = {\n URI: exports.URI,\n map: map_,\n of: exports.of,\n ap: apPar_,\n chain: chain_\n}; // TODO: remove in v3\n\n/**\n * @category instances\n * @since 2.0.0\n */\n\nexports.task = {\n URI: exports.URI,\n map: map_,\n of: exports.of,\n ap: apPar_,\n chain: chain_,\n fromIO: exports.fromIO,\n fromTask: exports.fromTask\n}; // TODO: remove in v3\n\n/**\n * Like `task` but `ap` is sequential\n *\n * @category instances\n * @since 2.0.0\n */\n\nexports.taskSeq = {\n URI: exports.URI,\n map: map_,\n of: exports.of,\n ap: apSeq_,\n chain: chain_,\n fromIO: exports.fromIO,\n fromTask: exports.fromTask\n}; // -------------------------------------------------------------------------------------\n// utils\n// -------------------------------------------------------------------------------------\n\n/**\n * A `Task` that never completes.\n *\n * @since 2.0.0\n */\n\nvar never = function never() {\n return new Promise(function (_) {\n return undefined;\n });\n};\n\nexports.never = never; // -------------------------------------------------------------------------------------\n// do notation\n// -------------------------------------------------------------------------------------\n\n/**\n * @since 2.9.0\n */\n\nexports.Do = /*#__PURE__*/exports.of({});\n/**\n * @since 2.8.0\n */\n\nvar bindTo = function bindTo(name) {\n return exports.map(function_1.bindTo_(name));\n};\n\nexports.bindTo = bindTo;\n/**\n * @since 2.8.0\n */\n\nvar bind = function bind(name, f) {\n return exports.chain(function (a) {\n return function_1.pipe(f(a), exports.map(function (b) {\n return function_1.bind_(a, name, b);\n }));\n });\n};\n\nexports.bind = bind; // -------------------------------------------------------------------------------------\n// pipeable sequence S\n// -------------------------------------------------------------------------------------\n\n/**\n * @since 2.8.0\n */\n\nvar apS = function apS(name, fb) {\n return function_1.flow(exports.map(function (a) {\n return function (b) {\n return function_1.bind_(a, name, b);\n };\n }), exports.ap(fb));\n};\n\nexports.apS = apS; // -------------------------------------------------------------------------------------\n// array utils\n// -------------------------------------------------------------------------------------\n\n/**\n * @since 2.9.0\n */\n\nvar traverseArrayWithIndex = function traverseArrayWithIndex(f) {\n return function (arr) {\n return function () {\n return Promise.all(arr.map(function (x, i) {\n return f(i, x)();\n }));\n };\n };\n};\n\nexports.traverseArrayWithIndex = traverseArrayWithIndex;\n/**\n * this function map array to task using provided function and transform it to a task of array.\n *\n * this function has the same behavior of `A.traverse(T.task)` but it's stack safe.\n *\n * > **This function run all task in parallel for sequential use `traverseSeqArray` **\n *\n * @example\n * import { range } from 'fp-ts/ReadonlyArray'\n * import { pipe } from 'fp-ts/function'\n * import { of, traverseArray } from 'fp-ts/Task'\n * async function test() {\n * const arr = range(0, 10)\n * assert.deepStrictEqual(await pipe(arr, traverseArray(of))(), arr)\n * }\n *\n * test()\n *\n * @since 2.9.0\n */\n\nvar traverseArray = function traverseArray(f) {\n return exports.traverseArrayWithIndex(function (_, a) {\n return f(a);\n });\n};\n\nexports.traverseArray = traverseArray;\n/**\n * this function works like `Promise.all` it will get an array of tasks and return a task of array.\n *\n * this function has the same behavior of `A.sequence(T.task)` but it's stack safe.\n *\n * > **This function run all task in parallel for sequential use `sequenceSeqArray` **\n *\n * @example\n * import * as RA from 'fp-ts/ReadonlyArray'\n * import { pipe } from 'fp-ts/function'\n * import { of, sequenceArray } from 'fp-ts/Task'\n *\n * async function test() {\n * const arr = RA.range(1, 10)\n * assert.deepStrictEqual(await pipe(arr, RA.map(of), sequenceArray)(), arr)\n * }\n *\n * test()\n *\n * @since 2.9.0\n */\n\nvar sequenceArray = function sequenceArray(arr) {\n return function () {\n return Promise.all(arr.map(function (x) {\n return x();\n }));\n };\n};\n\nexports.sequenceArray = sequenceArray;\n/**\n * @since 2.9.0\n */\n\nvar traverseSeqArrayWithIndex = function traverseSeqArrayWithIndex(f) {\n return function (arr) {\n return function () {\n return __awaiter(void 0, void 0, void 0, function () {\n var result, i, r;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n result = [];\n i = 0;\n _a.label = 1;\n\n case 1:\n if (!(i < arr.length)) return [3\n /*break*/\n , 4];\n return [4\n /*yield*/\n , f(i, arr[i])()];\n\n case 2:\n r = _a.sent();\n result.push(r);\n _a.label = 3;\n\n case 3:\n i++;\n return [3\n /*break*/\n , 1];\n\n case 4:\n return [2\n /*return*/\n , result];\n }\n });\n });\n };\n };\n};\n\nexports.traverseSeqArrayWithIndex = traverseSeqArrayWithIndex;\n/**\n * runs an action for every element in array then run task sequential, and accumulates the results in the array.\n *\n * this function has the same behavior of `A.traverse(T.taskSeq)` but it's stack safe.\n *\n * > **This function run all task sequentially for parallel use `traverseArray` **\n *\n *\n * @since 2.9.0\n */\n\nvar traverseSeqArray = function traverseSeqArray(f) {\n return exports.traverseSeqArrayWithIndex(function (_, a) {\n return f(a);\n });\n};\n\nexports.traverseSeqArray = traverseSeqArray;\n/**\n * run tasks in array sequential and give a task of array\n *\n * this function has the same behavior of `A.sequence(T.taskSeq)` but it's stack safe.\n *\n * > **This function run all task sequentially for parallel use `sequenceArray` **\n *\n * @since 2.9.0\n */\n\nexports.sequenceSeqArray = /*#__PURE__*/exports.traverseSeqArray(function_1.identity);","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","/**\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}","exports.f = Object.getOwnPropertySymbols;\n","import setPrototypeOf from \"@babel/runtime/helpers/esm/setPrototypeOf\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\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","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","\"use strict\";\n\nrequire(\"core-js/modules/es.array.reduce.js\");\n\nrequire(\"core-js/modules/es.array.reduce-right.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.pipeable = exports.pipe = void 0;\n\nvar function_1 = require(\"./function\"); // TODO: remove module in v3\n\n/**\n * Use [`pipe`](https://gcanti.github.io/fp-ts/modules/function.ts.html#flow) from `function` module instead.\n *\n * @since 2.0.0\n */\n\n\nexports.pipe = function_1.pipe;\n\nvar isFunctor = function isFunctor(I) {\n return typeof I.map === 'function';\n};\n\nvar isContravariant = function isContravariant(I) {\n return typeof I.contramap === 'function';\n};\n\nvar isFunctorWithIndex = function isFunctorWithIndex(I) {\n return typeof I.mapWithIndex === 'function';\n};\n\nvar isApply = function isApply(I) {\n return typeof I.ap === 'function';\n};\n\nvar isChain = function isChain(I) {\n return typeof I.chain === 'function';\n};\n\nvar isBifunctor = function isBifunctor(I) {\n return typeof I.bimap === 'function';\n};\n\nvar isExtend = function isExtend(I) {\n return typeof I.extend === 'function';\n};\n\nvar isFoldable = function isFoldable(I) {\n return typeof I.reduce === 'function';\n};\n\nvar isFoldableWithIndex = function isFoldableWithIndex(I) {\n return typeof I.reduceWithIndex === 'function';\n};\n\nvar isAlt = function isAlt(I) {\n return typeof I.alt === 'function';\n};\n\nvar isCompactable = function isCompactable(I) {\n return typeof I.compact === 'function';\n};\n\nvar isFilterable = function isFilterable(I) {\n return typeof I.filter === 'function';\n};\n\nvar isFilterableWithIndex = function isFilterableWithIndex(I) {\n return typeof I.filterWithIndex === 'function';\n};\n\nvar isProfunctor = function isProfunctor(I) {\n return typeof I.promap === 'function';\n};\n\nvar isSemigroupoid = function isSemigroupoid(I) {\n return typeof I.compose === 'function';\n};\n\nvar isMonadThrow = function isMonadThrow(I) {\n return typeof I.throwError === 'function';\n};\n\nfunction pipeable(I) {\n var r = {};\n\n if (isFunctor(I)) {\n var map = function map(f) {\n return function (fa) {\n return I.map(fa, f);\n };\n };\n\n r.map = map;\n }\n\n if (isContravariant(I)) {\n var contramap = function contramap(f) {\n return function (fa) {\n return I.contramap(fa, f);\n };\n };\n\n r.contramap = contramap;\n }\n\n if (isFunctorWithIndex(I)) {\n var mapWithIndex = function mapWithIndex(f) {\n return function (fa) {\n return I.mapWithIndex(fa, f);\n };\n };\n\n r.mapWithIndex = mapWithIndex;\n }\n\n if (isApply(I)) {\n var ap = function ap(fa) {\n return function (fab) {\n return I.ap(fab, fa);\n };\n };\n\n var apFirst = function apFirst(fb) {\n return function (fa) {\n return I.ap(I.map(fa, function (a) {\n return function () {\n return a;\n };\n }), fb);\n };\n };\n\n r.ap = ap;\n r.apFirst = apFirst;\n\n r.apSecond = function (fb) {\n return function (fa) {\n return I.ap(I.map(fa, function () {\n return function (b) {\n return b;\n };\n }), fb);\n };\n };\n }\n\n if (isChain(I)) {\n var chain = function chain(f) {\n return function (ma) {\n return I.chain(ma, f);\n };\n };\n\n var chainFirst = function chainFirst(f) {\n return function (ma) {\n return I.chain(ma, function (a) {\n return I.map(f(a), function () {\n return a;\n });\n });\n };\n };\n\n var flatten = function flatten(mma) {\n return I.chain(mma, function_1.identity);\n };\n\n r.chain = chain;\n r.chainFirst = chainFirst;\n r.flatten = flatten;\n }\n\n if (isBifunctor(I)) {\n var bimap = function bimap(f, g) {\n return function (fa) {\n return I.bimap(fa, f, g);\n };\n };\n\n var mapLeft = function mapLeft(f) {\n return function (fa) {\n return I.mapLeft(fa, f);\n };\n };\n\n r.bimap = bimap;\n r.mapLeft = mapLeft;\n }\n\n if (isExtend(I)) {\n var extend = function extend(f) {\n return function (wa) {\n return I.extend(wa, f);\n };\n };\n\n var duplicate = function duplicate(wa) {\n return I.extend(wa, function_1.identity);\n };\n\n r.extend = extend;\n r.duplicate = duplicate;\n }\n\n if (isFoldable(I)) {\n var reduce = function reduce(b, f) {\n return function (fa) {\n return I.reduce(fa, b, f);\n };\n };\n\n var foldMap = function foldMap(M) {\n var foldMapM = I.foldMap(M);\n return function (f) {\n return function (fa) {\n return foldMapM(fa, f);\n };\n };\n };\n\n var reduceRight = function reduceRight(b, f) {\n return function (fa) {\n return I.reduceRight(fa, b, f);\n };\n };\n\n r.reduce = reduce;\n r.foldMap = foldMap;\n r.reduceRight = reduceRight;\n }\n\n if (isFoldableWithIndex(I)) {\n var reduceWithIndex = function reduceWithIndex(b, f) {\n return function (fa) {\n return I.reduceWithIndex(fa, b, f);\n };\n };\n\n var foldMapWithIndex = function foldMapWithIndex(M) {\n var foldMapM = I.foldMapWithIndex(M);\n return function (f) {\n return function (fa) {\n return foldMapM(fa, f);\n };\n };\n };\n\n var reduceRightWithIndex = function reduceRightWithIndex(b, f) {\n return function (fa) {\n return I.reduceRightWithIndex(fa, b, f);\n };\n };\n\n r.reduceWithIndex = reduceWithIndex;\n r.foldMapWithIndex = foldMapWithIndex;\n r.reduceRightWithIndex = reduceRightWithIndex;\n }\n\n if (isAlt(I)) {\n var alt = function alt(that) {\n return function (fa) {\n return I.alt(fa, that);\n };\n };\n\n r.alt = alt;\n }\n\n if (isCompactable(I)) {\n r.compact = I.compact;\n r.separate = I.separate;\n }\n\n if (isFilterable(I)) {\n var filter = function filter(predicate) {\n return function (fa) {\n return I.filter(fa, predicate);\n };\n };\n\n var filterMap = function filterMap(f) {\n return function (fa) {\n return I.filterMap(fa, f);\n };\n };\n\n var partition = function partition(predicate) {\n return function (fa) {\n return I.partition(fa, predicate);\n };\n };\n\n var partitionMap = function partitionMap(f) {\n return function (fa) {\n return I.partitionMap(fa, f);\n };\n };\n\n r.filter = filter;\n r.filterMap = filterMap;\n r.partition = partition;\n r.partitionMap = partitionMap;\n }\n\n if (isFilterableWithIndex(I)) {\n var filterWithIndex = function filterWithIndex(predicateWithIndex) {\n return function (fa) {\n return I.filterWithIndex(fa, predicateWithIndex);\n };\n };\n\n var filterMapWithIndex = function filterMapWithIndex(f) {\n return function (fa) {\n return I.filterMapWithIndex(fa, f);\n };\n };\n\n var partitionWithIndex = function partitionWithIndex(predicateWithIndex) {\n return function (fa) {\n return I.partitionWithIndex(fa, predicateWithIndex);\n };\n };\n\n var partitionMapWithIndex = function partitionMapWithIndex(f) {\n return function (fa) {\n return I.partitionMapWithIndex(fa, f);\n };\n };\n\n r.filterWithIndex = filterWithIndex;\n r.filterMapWithIndex = filterMapWithIndex;\n r.partitionWithIndex = partitionWithIndex;\n r.partitionMapWithIndex = partitionMapWithIndex;\n }\n\n if (isProfunctor(I)) {\n var promap = function promap(f, g) {\n return function (fa) {\n return I.promap(fa, f, g);\n };\n };\n\n r.promap = promap;\n }\n\n if (isSemigroupoid(I)) {\n var compose = function compose(that) {\n return function (fa) {\n return I.compose(fa, that);\n };\n };\n\n r.compose = compose;\n }\n\n if (isMonadThrow(I)) {\n var fromOption = function fromOption(onNone) {\n return function (ma) {\n return ma._tag === 'None' ? I.throwError(onNone()) : I.of(ma.value);\n };\n };\n\n var fromEither = function fromEither(ma) {\n return ma._tag === 'Left' ? I.throwError(ma.left) : I.of(ma.right);\n };\n\n var fromPredicate = function fromPredicate(predicate, onFalse) {\n return function (a) {\n return predicate(a) ? I.of(a) : I.throwError(onFalse(a));\n };\n };\n\n var filterOrElse = function filterOrElse(predicate, onFalse) {\n return function (ma) {\n return I.chain(ma, function (a) {\n return predicate(a) ? I.of(a) : I.throwError(onFalse(a));\n });\n };\n };\n\n r.fromOption = fromOption;\n r.fromEither = fromEither;\n r.fromPredicate = fromPredicate;\n r.filterOrElse = filterOrElse;\n }\n\n return r;\n}\n\nexports.pipeable = pipeable;","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\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