{"version":3,"sources":["webpack:///./node_modules/gatsby-link/index.js","webpack:///./node_modules/ramda/src/internal/_functionName.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/ramda/src/internal/_checkForMethod.js","webpack:///./node_modules/ramda/src/internal/_isTransformer.js","webpack:///./node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///./node_modules/intl-messageformat/lib/src/formatters.js","webpack:///./node_modules/gatsby-react-router-scroll/session-storage.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/ramda/src/internal/_indexOf.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/scroll-to-element/tween.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/folktale/adt/union/derivations/debug-representation.js","webpack:///./node_modules/ramda/src/pipe.js","webpack:///./node_modules/@formatjs/intl/lib/src/utils.js","webpack:///./node_modules/core-js/internals/array-reduce.js","webpack:///./node_modules/ramda/src/equals.js","webpack:///./node_modules/react-transition-group/index.js","webpack:///./node_modules/@babel/runtime/helpers/interopRequireWildcard.js","webpack:///./node_modules/react-intl/lib/src/components/injectIntl.js","webpack:///./node_modules/core-js/internals/engine-is-ie-or-edge.js","webpack:///./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/folktale/helpers/warn-deprecated-method.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/folktale/result/try.js","webpack:///./node_modules/gatsby-react-router-scroll/use-scroll-restoration.js","webpack:///./node_modules/ramda/src/isNil.js","webpack:///./node_modules/folktale/conversions/result-to-validation.js","webpack:///./node_modules/ramda/src/internal/_pipe.js","webpack:///./node_modules/folktale/result/result.js","webpack:///./node_modules/mitt/dist/mitt.es.js","webpack:///./.cache/emitter.js","webpack:///./node_modules/folktale/adt/union/union.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/folktale/helpers/provide-fantasy-land-aliases.js","webpack:///./node_modules/core-js/internals/is-array-iterator-method.js","webpack:///./node_modules/ramda/src/startsWith.js","webpack:///./node_modules/ramda/src/internal/_isObject.js","webpack:///./node_modules/@formatjs/ecma402-abstract/lib/utils.js","webpack:///../../src/components/TransitionHandler.js","webpack:///./node_modules/ramda/src/internal/_xfilter.js","webpack:///./node_modules/ramda/src/keys.js","webpack:///./node_modules/gatsby-react-router-scroll/index.js","webpack:///./node_modules/core-js/modules/es.string.trim-start.js","webpack:///./node_modules/ramda/src/bind.js","webpack:///./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack:///./node_modules/react-transition-group/utils/ChildMapping.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./.cache/react-lifecycles-compat.js","webpack:///./node_modules/@reach/router/es/lib/history.js","webpack:///./node_modules/core-js/internals/classof.js","webpack:///./node_modules/ramda/src/internal/_dispatchable.js","webpack:///./node_modules/gatsby-plugin-manifest/get-manifest-pathname.js","webpack:///./node_modules/core-js/internals/function-bind-context.js","webpack:///./node_modules/ramda/src/internal/_isPlaceholder.js","webpack:///./node_modules/ramda/src/internal/_arity.js","webpack:///./node_modules/core-js/internals/to-string-tag-support.js","webpack:///./node_modules/ramda/src/internal/_has.js","webpack:///./node_modules/folktale/adt/union/derivations/index.js","webpack:///./node_modules/core-js/internals/engine-ff-version.js","webpack:///./node_modules/ptz-i18n/dist/getPagesPaths.js","webpack:///./node_modules/folktale/adt/union/derivations/serialization.js","webpack:///./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack:///./node_modules/intl-messageformat/lib/src/error.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/ptz-i18n/dist/getBrowserLanguage.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/ramda/src/internal/_curry3.js","webpack:///../../src/context/createTransitionContext.js","webpack:///../../src/functions/onExit.js","webpack:///./node_modules/folktale/validation/validation.js","webpack:///./node_modules/core-js/modules/es.array.reduce.js","webpack:///./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack:///./node_modules/gatsby-react-router-scroll/scroll-handler.js","webpack:///./node_modules/@formatjs/intl/lib/src/error.js","webpack:///./node_modules/ramda/src/drop.js","webpack:///./node_modules/ramda/src/internal/_isString.js","webpack:///./node_modules/folktale/helpers/extend.js","webpack:///./node_modules/ptz-i18n/dist/getCurrentLangKey.js","webpack:///./node_modules/folktale/result/index.js","webpack:///./node_modules/gatsby-plugin-anchor-links/errors.js","webpack:///./gatsby-browser.js","webpack:///./node_modules/folktale/helpers/warn-deprecation.js","webpack:///./node_modules/core-js/internals/a-function.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/gatsby-plugin-scroll-reveal/Wrapper.js","webpack:///./node_modules/core-js/modules/es.string.trim-end.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///../../src/utils/getPagesPromises.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./.cache/page-renderer.js","webpack:///./node_modules/ramda/src/isEmpty.js","webpack:///./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack:///./node_modules/core-js/internals/iterate.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/folktale/conversions/validation-to-maybe.js","webpack:///./node_modules/scroll-to-element/scroll-to.js","webpack:///./node_modules/core-js/internals/iterator-close.js","webpack:///./node_modules/@formatjs/icu-messageformat-parser/lib/error.js","webpack:///./node_modules/@formatjs/icu-messageformat-parser/lib/types.js","webpack:///./node_modules/@formatjs/icu-messageformat-parser/lib/regex.generated.js","webpack:///./node_modules/@formatjs/icu-skeleton-parser/lib/date-time.js","webpack:///./node_modules/@formatjs/icu-skeleton-parser/lib/regex.generated.js","webpack:///./node_modules/@formatjs/icu-skeleton-parser/lib/number.js","webpack:///./node_modules/@formatjs/icu-messageformat-parser/lib/parser.js","webpack:///./node_modules/@formatjs/icu-messageformat-parser/lib/index.js","webpack:///./node_modules/ramda/src/internal/_xwrap.js","webpack:///./node_modules/folktale/conversions/nullable-to-result.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/scroll-to-element/emitter.js","webpack:///./node_modules/@mikaelkristiansson/domready/ready.js","webpack:///./node_modules/intl-messageformat/lib/src/core.js","webpack:///./node_modules/react-intl/lib/src/utils.js","webpack:///./node_modules/requestanimationframe-timer/dist/cjs.js","webpack:///./node_modules/core-js/internals/engine-user-agent.js","webpack:///./.cache/register-service-worker.js","webpack:///./node_modules/core-js/internals/get-iterator-method.js","webpack:///./node_modules/requestanimationframe-timer/dist/index.js","webpack:///./.cache/_this_is_virtual_fs_path_/$virtual/async-requires.js","webpack:///./node_modules/folktale/conversions/result-to-maybe.js","webpack:///./node_modules/folktale/adt/union/derivations/equality.js","webpack:///./node_modules/core-js/internals/iterators.js","webpack:///./node_modules/ramda/src/type.js","webpack:///./node_modules/react-transition-group/ReplaceTransition.js","webpack:///./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack:///./node_modules/ramda/src/take.js","webpack:///./node_modules/invariant/browser.js","webpack:///./node_modules/ramda/src/nth.js","webpack:///./node_modules/ramda/src/reverse.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/ptz-i18n/dist/getUserLangKey.js","webpack:///./node_modules/ptz-i18n/dist/getSlugAndLang.js","webpack:///./node_modules/ramda/src/head.js","webpack:///./node_modules/react-transition-group/Transition.js","webpack:///../../src/components/TransitionRenderer.js","webpack:///./node_modules/ramda/src/reduce.js","webpack:///./node_modules/scroll-to-element/index.js","webpack:///./node_modules/core-js/internals/native-symbol.js","webpack:///./node_modules/ramda/src/compose.js","webpack:///./node_modules/react-transition-group/CSSTransition.js","webpack:///./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack:///./node_modules/ramda/src/filter.js","webpack:///./node_modules/ramda/src/internal/_xtake.js","webpack:///./node_modules/react-is/index.js","webpack:///./node_modules/folktale/helpers/assert-object.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/ramda/src/takeLast.js","webpack:///./node_modules/core-js/modules/es.array.sort.js","webpack:///./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/engine-webkit-version.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./node_modules/folktale/adt/union/index.js","webpack:///./node_modules/folktale/helpers/copy-documentation.js","webpack:///./node_modules/react-transition-group/TransitionGroup.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/gatsby-plugin-anchor-links/gatsby-browser.js","webpack:///./node_modules/ramda/src/curry.js","webpack:///./node_modules/dom-helpers/class/removeClass.js","webpack:///./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack:///./node_modules/ramda/src/internal/_reduced.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/whitespaces.js","webpack:///./node_modules/core-js/internals/string-trim.js","webpack:///./.cache/gatsby-browser-entry.js","webpack:///./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack:///./node_modules/ramda/src/internal/_curry2.js","webpack:///./node_modules/intersection-observer/intersection-observer.js","webpack:///../src/wrap-page.js","webpack:///./node_modules/ptz-i18n/dist/getValidLangKey.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/folktale/conversions/maybe-to-validation.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/ramda/src/curryN.js","webpack:///./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack:///./node_modules/ramda/src/empty.js","webpack:///./node_modules/@formatjs/intl/lib/src/message.js","webpack:///./node_modules/@formatjs/intl/lib/src/number.js","webpack:///./node_modules/@formatjs/intl/lib/src/relativeTime.js","webpack:///./node_modules/@formatjs/intl/lib/src/dateTime.js","webpack:///./node_modules/@formatjs/intl/lib/src/plural.js","webpack:///./node_modules/@formatjs/intl/lib/src/list.js","webpack:///./node_modules/@formatjs/intl/lib/src/displayName.js","webpack:///./node_modules/@formatjs/intl/lib/src/create-intl.js","webpack:///./node_modules/react-intl/lib/src/components/provider.js","webpack:///./src/layouts/index.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/ramda/src/slice.js","webpack:///./node_modules/folktale/conversions/validation-to-result.js","webpack:///./node_modules/ramda/src/internal/_filter.js","webpack:///./node_modules/performance-now/lib/performance-now.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///../../src/functions/onEnter.js","webpack:///../../src/utils/secondsMs.js","webpack:///./node_modules/@babel/runtime/helpers/typeof.js","webpack:///./node_modules/ramda/src/internal/_curry1.js","webpack:///./.cache/strip-prefix.js","webpack:///./node_modules/@formatjs/fast-memoize/lib/index.js","webpack:///./node_modules/folktale/core/object/values.js","webpack:///./node_modules/gatsby-link/parse-path.js","webpack:///../../src/components/delayTransitionRender.js","webpack:///./node_modules/folktale/helpers/define-adt-methods.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack:///./node_modules/gatsby-plugin-anchor-links/utils.js","webpack:///./node_modules/folktale/conversions/maybe-to-result.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack:///./.cache/prefetch.js","webpack:///./.cache/loader.js","webpack:///./node_modules/ptz-i18n/dist/isInPagesPaths.js","webpack:///./node_modules/core-js/internals/to-object.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/folktale/helpers/assert-type.js","webpack:///./node_modules/scroll-to-element/ease.js","webpack:///./node_modules/core-js/internals/create-property.js","webpack:///./node_modules/ramda/src/internal/_isArray.js","webpack:///./node_modules/gatsby-react-router-scroll/scroll-container.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/ramda/src/endsWith.js","webpack:///./node_modules/ramda/src/identical.js","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/sal.js/dist/sal.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/ramda/src/internal/_isArrayLike.js","webpack:///./node_modules/ramda/src/internal/_isArguments.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./.cache/public-page-renderer.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/folktale/helpers/fantasy-land.js","webpack:///../src/gatsby-browser.js","webpack:///./node_modules/tslib/tslib.es6.js","webpack:///./node_modules/ramda/src/internal/_xdrop.js","webpack:///./node_modules/gatsby-plugin-manifest/gatsby-browser.js","webpack:///./.cache/create-react-context.js","webpack:///../src/wrap-root.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/react-is/cjs/react-is.production.min.js","webpack:///./node_modules/folktale/core/object/map-values.js","webpack:///./node_modules/ramda/src/internal/_contains.js","webpack:///./node_modules/ramda/src/internal/_curryN.js","webpack:///./node_modules/ramda/src/internal/_xfBase.js","webpack:///./node_modules/ramda/src/contains.js","webpack:///./node_modules/core-js/internals/array-sort.js","webpack:///./node_modules/folktale/maybe/maybe.js","webpack:///./node_modules/ramda/src/tail.js","webpack:///./node_modules/folktale/helpers/assert-function.js","webpack:///./.cache/public-page-renderer-prod.js","webpack:///./node_modules/gatsby-plugin-scroll-reveal/gatsby-browser.js","webpack:///./node_modules/folktale/helpers/unsupported-method.js","webpack:///./node_modules/ptz-i18n/dist/redirectToHome.js","webpack:///../../src/context/InternalProvider.js","webpack:///./node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/ramda/src/internal/_reduce.js","webpack:///./node_modules/core-js/modules/es.object.from-entries.js","webpack:///./node_modules/ptz-i18n/dist/index.js","webpack:///../../src/components/Layout.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/raf/index.js","webpack:///./node_modules/react-transition-group/utils/PropTypes.js","webpack:///./node_modules/folktale/fantasy-land/equals.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:///./node_modules/ramda/src/not.js","webpack:///./node_modules/dom-helpers/class/hasClass.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/internals/string-trim-forced.js","webpack:///./node_modules/dom-helpers/class/addClass.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/folktale/core/lambda/curry.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/ramda/src/internal/_equals.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/ramda/src/internal/_arrayFromIterator.js"],"names":["_interopRequireDefault","exports","__esModule","withPrefix","withAssetPrefix","path","getGlobalPathPrefix","navigateTo","replace","push","navigate","default","_objectWithoutPropertiesLoose2","_assertThisInitialized2","_inheritsLoose2","_extends2","_propTypes","_react","_router","_utils","_parsePath","parsePath","isAbsolutePath","startsWith","prefix","_ref","_prefix","getGlobalBasePrefix","isLocalLink","base","endsWith","slice","rewriteLinkPath","relativeTo","current","resolve","absolutify","NavLinkPropTypes","activeClassName","string","activeStyle","object","partiallyActive","bool","GatsbyLinkLocationWrapper","props","createElement","Location","_ref2","location","GatsbyLink","_location","_React$Component","_this","call","this","defaultGetProps","_ref3","isPartiallyCurrent","isCurrent","className","filter","Boolean","join","style","IOSupported","window","IntersectionObserver","state","handleRef","bind","_proto","prototype","_prefetch","currentPath","pathname","rewrittenPath","to","newPathName","___loader","enqueue","componentDidUpdate","prevProps","prevState","componentDidMount","componentWillUnmount","io","_this$io","instance","el","unobserve","disconnect","ref","cb","_this2","innerRef","hasOwnProperty","entries","forEach","entry","target","isIntersecting","intersectionRatio","observe","render","_this3","_this$props","_this$props$getProps","getProps","_onClick","onClick","_onMouseEnter","onMouseEnter","rest","prefixedTo","Link","e","hovering","button","defaultPrevented","metaKey","altKey","ctrlKey","shiftKey","preventDefault","shouldReplace","encodeURI","___navigate","href","Component","propTypes","func","isRequired","showDeprecationWarning","functionName","altFunctionName","version","console","warn","_default","forwardRef","options","___push","___replace","module","f","match","String","IndexedObject","requireObjectCoercible","it","_isArray","methodname","fn","length","arguments","obj","apply","Array","NATIVE_SYMBOL","Symbol","sham","iterator","PART_TYPE","isFormatXMLElementFn","formatToParts","els","locales","formatters","formats","values","currentPluralValue","originalMessage","type","literal","value","result","_i","els_1","getNumberFormat","format","varName","date","parsedOptions","undefined","getDateTimeFormat","time","number","scale","children","value_1","formatFn","chunks","map","p","isArray","c","opt","other","Object","keys","Intl","PluralRules","MISSING_INTL_API","rule","getPluralRules","pluralType","select","offset","parts","reduce","all","part","lastPart","mergeLiteral","SessionStorage","read","key","stateKey","getStateKey","sessionStorage","getItem","JSON","parse","save","storedValue","stringify","setItem","stateKeyBase","equals","list","a","idx","inf","item","indexOf","exec","error","global","aFunction","variable","namespace","method","ease","Tween","_from","duration","Emitter","reset","toString","_curr","src","extend","_done","_start","Date","now","_to","ms","_duration","TypeError","_ease","stop","stopped","emit","step","_update","from","curr","n","i","k","update","$propertyIsEnumerable","propertyIsEnumerable","getOwnPropertyDescriptor","NASHORN_BUG","1","V","descriptor","enumerable","_typeof","constructor","_require","tagSymbol","typeSymbol","plainObjectToString","showValue","arrayToString","nullToString","objectToString","isPlainObject","name","functionNameToString","is","variant","adt","typeName","variantName","toStringTag","inspect","_arity","_pipe","tail","Error","filterProps","whitelist","defaults","filtered","DEFAULT_INTL_CONFIG","messages","timeZone","defaultLocale","defaultFormats","onError","createIntlCache","dateTime","message","relativeTime","pluralRules","displayNames","createFastMemoizeCache","store","create","has","get","set","createFormatters","cache","RelativeTimeFormat","ListFormat","DisplayNames","_a","args","DateTimeFormat","strategy","variadic","NumberFormat","getMessageFormat","overrideFormats","opts","getRelativeTimeFormat","getListFormat","getDisplayNames","getNamedFormat","formatType","toObject","toLength","createMethod","IS_RIGHT","that","callbackfn","argumentsLength","memo","O","self","index","left","right","_curry2","_equals","b","_CSSTransition","_ReplaceTransition","_TransitionGroup","_Transition","Transition","TransitionGroup","ReplaceTransition","CSSTransition","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","newObj","hasPropertyDescriptor","defineProperty","desc","IntlContext","Provider","Consumer","Context","UA","test","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","Memo","getOwnPropertyNames","getOwnPropertySymbols","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","concat","targetStatics","sourceStatics","Math","check","globalThis","Function","deprecated","methodName","charAt","pathCache","Map","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","some","rx","sendPageView","pagePath","search","hash","page_path","requestAnimationFrame","setTimeout","Ok","useScrollRestoration","identifier","useLocation","useContext","_scrollHandler","ScrollContext","useRef","useLayoutEffect","position","scrollTo","onScroll","scrollTop","_curry1","x","Success","Failure","aResult","matchWith","g","assertType","assertFunction","union","derivations","provideAliases","adtMethods","warnDeprecation","equality","debugRepresentation","serialization","Result","derive","assertResult","anResult","chain","unsafeGet","getOrElse","orElse","handler","xs","fold","swap","bimap","mapError","predicate","assign","of","merge","toValidation","toMaybe","emitter","on","off","splice","evt","mitt","_defineEnumerableProperties","descs","configurable","writable","_defineProperty","assertObject","TYPE","for","TAG","ANY","META","defineVariants","typeId","patterns","transform","_extend","_mutatorMap","_extend2","_mutatorMap2","InternalConstructor","makeInstance","pattern","property","hasInstance","_extend3","UnionNamespace","Union","variants","_len","_key","derivation","any","ownKeys","getOwnPropertyDescriptorModule","definePropertyModule","source","aliases","empty","transformation","ap","or","alt","combinator","initial","traverse","lift","chainRecursively","chainRec","extract","promap","structure","alias","wellKnownSymbol","Iterators","ITERATOR","ArrayPrototype","take","invariant","condition","Err","DelayedTransition","injectPageProps","locationKey","delay","getMs","timeout","enter","exit","onEnter","node","action","inTransition","entryTrigger","entryProps","exitProps","updateContext","triggerResolve","preventScrollJump","appearAfter","onExit","exitTrigger","transitionStatus","mount","states","entryLength","exitLength","transitionState","exitZindex","entryZindex","_xfBase","XFilter","xf","init","input","hasEnumBug","nonEnumerableProps","hasArgsEnumBug","contains","_has","_isArguments","prop","nIdx","ks","checkArgsLength","ScrollContainer","ScrollHandler","_scrollContainer","_useScrollRestoration","$","$trimStart","start","FORCED","forcedStringTrimMethod","trimStart","proto","forced","trimLeft","thisObj","excluded","sourceKeys","getChildMapping","mergeChildMappings","getInitialChildMapping","onExited","child","cloneElement","in","appear","getProp","getNextChildMapping","nextProps","prevChildMapping","nextChildMapping","isValidElement","hasPrev","hasNext","prevChild","isLeaving","mapFn","Children","mapper","prev","next","getValueForKey","nextKeysPending","pendingKeys","prevKey","childMapping","nextKey","pendingNextKey","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","runTimeout","fun","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","len","run","marker","runClearTimeout","Item","array","noop","nextTick","title","browser","env","argv","versions","addListener","once","removeListener","removeAllListeners","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","shared","uid","polyfill","_extends","getLocation","_source$location","origin","protocol","host","hostname","port","canUseDOM","decodeURI","history","createHistory","transitioning","resolveTransition","_onTransitionComplete","listen","listener","popstateListener","addEventListener","removeEventListener","_ref$replace","go","replaceState","pushState","transition","Promise","res","createMemorySource","initialPath","searchIndex","initialLocation","substr","stack","_","uri","_uri$split","_uri$split$","_uri$split2","_uri$split2$","newIndex","document","globalHistory","TO_STRING_TAG_SUPPORT","classofRaw","TO_STRING_TAG","CORRECT_ARGUMENTS","tag","tryGet","_isTransformer","methodNames","pop","transducer","localizedManifests","localizedManifest","find","app","start_url","lang","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","firefox","_isNil2","_result2","pagesPaths","extractKey","propertyName","mapValues","indexByType","element","given","expected","parseValue","parsers","fromJSON","serializeValue","toJSON","tagName","keysIndicateType","valueTypeName","valueTagName","valueContents","parsersByType","parsedValue","ErrorCode","FormatError","_super","msg","code","InvalidValueError","variableId","INVALID_VALUE","InvalidValueTypeError","MissingValueError","MISSING_VALUE","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPrimitive","IE8_DOM_DEFINE","$getOwnPropertyDescriptor","P","navigator","languages","language","browserLanguage","userLanguage","fails","_isPlaceholder","f3","_b","_c","publicContext","PublicConsumer","trigger","exitPropsTrimmed","Validation","assertValidation","aValidation","failureTransformation","successTransformation","mapFailure","toResult","$reduce","arrayMethodIsStrict","CHROME_VERSION","IS_NODE","iter","_interopRequireWildcard","React","_sessionStorage","createContext","_stateStorage","scrollListener","scrollY","windowScroll","shouldUpdateScroll","scrollToHash","getElementById","substring","scrollIntoView","prevRouterProps","routerProps","scrollPosition","_this$props$location","_this$props$location2","IntlErrorCode","IntlError","exception","captureStackTrace","UnsupportedFormatterError","UNSUPPORTED_FORMATTER","InvalidConfigError","INVALID_CONFIG","MissingDataError","MISSING_DATA","MessageFormatError","locale","FORMAT_ERROR","id","defaultMessage","description","MissingTranslationError","MISSING_TRANSLATION","_dispatchable","_xdrop","max","Infinity","symbols","sources","symbol","_getValidLangKey2","getCurrentLangKey","langs","defaultLangKey","url","langKey","_module$exports","aNullable","fallbackValue","nullableToResult","aMaybe","failureValue","INVALID_HASH","IMPROPPER_FORMATTING","reason","FOLKTALE_ASSERTIONS","offender","trim","require","useEffect","_sal","$trimEnd","end","trimEnd","trimRight","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","noTargetGet","exitPromise","exitResolve","entryPromise","entryResolve","pages","toInteger","min","integer","PageRenderer","pageResources","json","pageContext","__params","pathContext","pageElement","apiRunner","loader","publicLoader","page","arrayLikeToArray","arr","anObject","isArrayIteratorMethod","getIteratorMethod","iteratorClose","iterable","unboundFunction","iterFn","AS_ENTRIES","IS_ITERATOR","INTERRUPTED","callFn","done","internalObjectKeys","hiddenKeys","Just","Nothing","raf","y","top","pageYOffset","documentElement","pageXOffset","scrollLeft","tween","animate","o","returnMethod","ErrorKind","SKELETON_TYPE","isLiteralElement","isArgumentElement","argument","isNumberElement","isDateElement","isTimeElement","isSelectElement","isPluralElement","plural","isPoundElement","pound","isTagElement","isNumberSkeleton","isDateTimeSkeleton","SPACE_SEPARATOR_REGEX","DATE_TIME_REGEX","parseDateTimeSkeleton","skeleton","era","year","RangeError","month","day","weekday","hour12","hourCycle","hour","minute","second","timeZoneName","FRACTION_PRECISION_REGEX","SIGNIFICANT_PRECISION_REGEX","INTEGER_WIDTH_REGEX","CONCISE_INTEGER_WIDTH_REGEX","parseSignificantPrecision","str","g1","g2","minimumSignificantDigits","maximumSignificantDigits","parseSign","signDisplay","currencySign","parseConciseScientificAndEngineeringStem","stem","notation","minimumIntegerDigits","parseNotationOptions","signOpts","parseNumberSkeleton","tokens","tokens_1","token","currency","useGrouping","maximumFractionDigits","unit","compactDisplay","currencyDisplay","unitDisplay","parseFloat","g3","g4","g5","minimumFractionDigits","conciseScientificAndEngineeringOpts","SPACE_SEPARATOR_START_REGEX","RegExp","SPACE_SEPARATOR_END_REGEX","createLocation","hasNativeStartsWith","hasNativeFromCodePoint","fromCodePoint","hasNativeFromEntries","fromEntries","hasNativeCodePointAt","codePointAt","hasTrimStart","hasTrimEnd","isSafeInteger","Number","isFinite","floor","abs","REGEX_SUPPORTS_U_AND_Y","RE","matchIdentifierAtIndex","s","codePoints","elements","fromCharCode","entries_1","v","size","first","charCodeAt","flag","IDENTIFIER_PREFIX_RE_1","lastIndex","_isWhiteSpace","_isPatternSyntax","Parser","line","column","ignoreTag","requiresOtherClause","shouldParseSkeletons","parseMessage","nestingLevel","parentArgType","expectingCloseTag","isEOF","char","parseArgument","err","val","peek","UNMATCHED_CLOSING_TAG","clonePosition","_isAlpha","parseTag","parseLiteral","bump","startPosition","parseTagName","bumpSpace","bumpIf","childrenResult","endTagStartPosition","INVALID_TAG","closingTagNameStartPosition","UNCLOSED_TAG","startOffset","parseQuoteResult","tryParseQuote","parseUnquotedResult","tryParseUnquoted","parseLeftAngleResult","tryParseLeftAngleBracket","codepoint","ch","openingBracePosition","EXPECT_ARGUMENT_CLOSING_BRACE","EMPTY_ARGUMENT","parseIdentifierIfPossible","MALFORMED_ARGUMENT","parseArgumentOptions","startingPosition","endOffset","bumpTo","typeStartPosition","argType","typeEndPosition","EXPECT_ARGUMENT_TYPE","styleAndLocation","styleStartPosition","parseSimpleArgStyleIfPossible","EXPECT_ARGUMENT_STYLE","styleLocation","argCloseResult","tryParseArgumentClose","location_1","parseNumberSkeletonFromString","EXPECT_DATE_TIME_SKELETON","typeEndPosition_1","EXPECT_SELECT_ARGUMENT_OPTIONS","identifierAndLocation","pluralOffset","EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE","tryParseDecimalInteger","INVALID_PLURAL_ARGUMENT_OFFSET_VALUE","optionsResult","tryParsePluralOrSelectOptions","location_2","INVALID_ARGUMENT_TYPE","nestedBraces","apostrophePosition","bumpUntil","UNCLOSED_QUOTE_IN_ARGUMENT_STYLE","stringTokens_1","stemAndOptions","options_1","INVALID_NUMBER_SKELETON","expectCloseTag","parsedFirstIdentifier","hasOtherClause","parsedSelectors","Set","selector","selectorLocation","EXPECT_PLURAL_ARGUMENT_SELECTOR","INVALID_PLURAL_ARGUMENT_SELECTOR","DUPLICATE_SELECT_ARGUMENT_SELECTOR","DUPLICATE_PLURAL_ARGUMENT_SELECTOR","EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT","EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT","fragmentResult","add","EXPECT_SELECT_ARGUMENT_SELECTOR","MISSING_OTHER_CLAUSE","expectNumberError","invalidNumberError","sign","hasDigits","decimal","kind","currentOffset","targetOffset","nextCode","SyntaxError","captureLocation","pruneLocation","XWrap","acc","givenFallback","oldBehaviour","fallback","userAgent","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","sort","rankRoute","score","isRootSegment","SEGMENT_POINTS","q","shallowCompare","obj1","obj2","obj1Keys","every","plugin","mixin","event","_callbacks","callbacks","hasListeners","ie10","appVersion","fns","doc","hack","doScroll","loaded","readyState","shift","definition","mergeConfigs","defaultConfig","configs","c1","c2","IntlMessageFormat","formatterCache","ast","resolvedOptions","supportedLocalesOf","getAst","__parse","memoizedDefaultLocale","percent","short","medium","long","full","invariantIntlContext","intl","textComponent","assignUniqueKeysToParts","formatXMLElementFn","toArray","shallowEqual","objA","objB","aKeys","bKeys","getBuiltIn","serviceWorker","register","then","reg","installingWorker","installing","log","controller","___swUpdated","___failedResources","reload","catch","classof","_raf","_raf2","fnStacks","runArray","rafStarted","startId","getTimeStamp","getTime","executeFn","arr2","_toConsumableArray","loop","currentTimeTick","mode","delete","checkTick","clear","addId","_ref$ms","currentId","removeId","setInterval","_len2","_key2","clearInterval","components","flEquals","fl","copyDocs","prototypeOf","isSetoid","createDerivation","valuesEqual","leftSetoid","rightSetoid","keyA","keyB","compositesEqual","deepEquals","keysA","keysB","setB","withCustomComparison","_reactDom","subClass","superClass","_args","handleEnter","handleLifecycle","handleEntering","_len3","_key3","handleEntered","_len4","_key4","handleExit","_len5","_key5","handleExiting","_len6","_key6","handleExited","_len7","_key7","__proto__","originalArgs","_child$props","findDOMNode","inProp","_objectWithoutPropertiesLoose","_React$Children$toArr","onEntering","onEntered","onExiting","ReferenceError","_xtake","d","argIndex","framesToPop","_isString","reverse","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","_pipe2","_getBrowserLanguage2","_not2","_head2","_compose2","_endsWith2","_startsWith2","_index","defaultPagesPaths","addSlash","fileName","getSlugAndLang","fileAbsolutePath","slugsAndLangs","getPagesPaths","pagesPath","filePath","langKeyDefault","getLangKeyDefault","slug","addLangKeyToSlug","redirectTo","nth","EXITING","ENTERED","ENTERING","EXITED","UNMOUNTED","PropTypes","_reactLifecyclesCompat","context","initialStatus","parentGroup","transitionGroup","isMounting","appearStatus","unmountOnExit","mountOnEnter","status","nextCallback","getChildContext","updateStatus","nextStatus","cancelNextCallback","getTimeouts","mounting","performEnter","performExit","setState","appearing","timeouts","enterTimeout","safeSetState","onTransitionEnd","cancel","nextState","callback","setNextCallback","_this4","active","doesNotHaveTimeoutOrListener","addEndListener","childProps","only","shouldBeVisible","shouldComponentUpdate","zIndex","opacity","_curry3","_reduce","scroll","elem","querySelector","additionalOffset","alignment","body","html","elemRect","getBoundingClientRect","clientHeight","documentHeight","scrollHeight","offsetHeight","bottom","height","maxScrollPosition","calculateScrollOffset","align","V8_VERSION","pipe","_addClass","_removeClass","addClass","classes","removeClass","getClassNames","removeClasses","reflowAndAddClass","appearClassName","doneClassName","enterClassName","classNames","isStringClassNames","_this$getClassNames6","_setPrototypeOf","setPrototypeOf","_filter","_isObject","_xfilter","pred","filterable","_reduced","XTake","ret","maybeObject","toAbsoluteIndex","IS_INCLUDES","$this","fromIndex","includes","drop","internalSort","FF","IE_OR_EDGE","V8","WEBKIT","nativeSort","FAILS_ON_UNDEFINED","FAILS_ON_NULL","STRICT_METHOD","STABLE_SORT","chr","comparefn","itemsLength","items","arrayLength","getSortCompare","webkit","hasOwn","mm","extensions","FOLKTALE_DOCS","_ChildMapping","_assertThisInitialized","firstRender","appeared","mounted","currentChildMapping","childFactory","RouteAnnouncerProps","width","padding","overflow","clip","whiteSpace","border","redirectMap","redirectIgnoreCaseMap","maybeRedirect","redirect","toLowerCase","toPath","redirects","ignoreCase","fromPath","onPreRouteUpdate","prevLocation","timeoutId","loadPage","PageResourceStatus","webpackCompilationHash","___webpackCompilationHash","postMessage","gatsbyApi","reachNavigate","results","getSavedScrollPosition","RouteAnnouncer","announcementRef","createRef","pageName","pageHeadings","querySelectorAll","textContent","newAnnouncement","innerText","compareLocationProps","nextLocation","RouteUpdates","Fragment","shallowDiffers","EnsureResources","loadPageSync","loadResources","rawPath","ProdLoader","asyncRequires","setLoader","setApiRunner","___emitter","apiRunnerAsync","RouteHandler","baseuri","basepath","DataContext","GatsbyRoot","staticQueryResults","getStaticQueryResults","LocationHandler","browserLoc","SiteRoot","App","renderer","ReactDOM","hydrate","domReady","windowHash","_ref2$offset","_ref2$duration","isBrowser","gatsby_scroll_offset","gatsby_scroll_duration","gatsby_scroll_hash","scroller","checkHash","curryN","replaceClassName","origClass","classToRemove","classList","remove","setAttribute","baseVal","IS_PURE","copyright","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","whitespace","ltrim","rtrim","prefetchPathname","StaticQueryContext","StaticQueryDataRenderer","staticQueryData","data","finalData","StaticQuery","useStaticQuery","isNaN","graphql","f2","IntersectionObserverEntry","registry","THROTTLE_TIMEOUT","POLL_INTERVAL","USE_MUTATION_OBSERVER","_observationTargets","nodeType","_registerInstance","_monitorIntersections","_checkForIntersections","_unmonitorIntersections","_unregisterInstance","takeRecords","records","_queuedEntries","_initThresholds","opt_threshold","threshold","t","_parseRootMargin","opt_rootMargin","margins","margin","_monitoringIntersections","_monitoringInterval","addEvent","_domObserver","MutationObserver","attributes","childList","characterData","subtree","removeEvent","rootIsInDom","_rootIsInDom","rootRect","_getRootRect","targetRect","rootContainsTarget","_rootContainsTarget","oldEntry","intersectionRect","_computeTargetAndRootIntersection","newEntry","performance","boundingClientRect","rootBounds","_hasCrossedThreshold","_callback","getComputedStyle","display","rect1","rect2","parent","getParentNode","atRoot","parentRect","parentComputedStyle","root","clientWidth","_expandRectByRootMargin","rect","_rootMarginValues","newRect","oldRatio","newRatio","thresholds","containsDeep","targetArea","intersectionArea","toFixed","opt_options","timer","rootMargin","opt_useCapture","attachEvent","detatchEvent","parentNode","assignedSlot","TransitionHandler","Layout","_filter2","getValidLangKey","bitmap","_objectWithoutProperties","_classCallCheck","Constructor","_possibleConstructorReturn","_inherits","createNamedContext","defaultValue","Ctx","LocationContext","LocationProvider","_temp","getContext","refs","unlisten","_props$history","componentDidCatch","info","isRedirect","_navigate","unmounted","ServerLocation","BaseContext","Router","baseContext","locationContext","RouterImpl","_React$PureComponent","_props","_navigate2","primary","_props$component","domProps","createRoute","clone","FocusWrapper","FocusHandler","wrapperProps","PureComponent","FocusContext","requestFocus","FocusHandlerImpl","initialRender","focusHandlerCount","_React$Component2","_temp2","shouldFocus","focus","myURIChanged","navigatedUpToMe","activeElement","_this5","_props2","_props2$component","Comp","outline","tabIndex","C","_ref4","_ref5","_ref6","_props$getProps","anchorProps","encodedHref","shouldNavigate","_location$state","restState","RedirectRequest","RedirectImpl","_React$Component3","_props3","_props3$replace","noThrow","resolvedTo","_props4","Redirect","_ref7","Match","_ref8","_ref9","_ref10","resolvedPath","useNavigate","useParams","useMatch","stripSlashes","elementPath","_curryN","minLen","setTimeZoneInOptions","deepMergeOptions","opts1","opts2","deepMergeFormatsAndSetTimeZone","f1","mfFormats","messageDescriptor","defaultRichTextElements","msgId","NUMBER_FORMAT_OPTIONS","getFormatter","formatNumber","config","formatNumberToParts","RELATIVE_TIME_FORMAT_OPTIONS","formatRelativeTime","DATE_TIME_FORMAT_OPTIONS","filteredOptions","timeStyle","dateStyle","formatDate","formatTime","formatDateTimeRange","formatRange","formatDateToParts","formatTimeToParts","PLURAL_FORMAT_OPTIONS","formatPlural","LIST_FORMAT_OPTIONS","formatList","formatListToParts","richValues_1","serializedValues","generateToken","DISPLAY_NAMES_OPTONS","formatDisplayName","verifyConfigMessages","processIntlConfig","wrapRichTextChunksInFragment","assignUniqueKeysToFormatXMLElementFnArgument","rawValues","rawDefaultRichTextElements","coreIntl","resolvedConfig","formatMessage","IntlProvider","prevConfig","i18nMessages","site","siteMetadata","homeLink","getLangs","getUrlForLang","link","NATIVE_WEAK_MAP","isObject","objectHas","sharedKey","wmget","wmhas","wmset","metadata","facade","STATE","enforce","getterFor","_checkForMethod","toIndex","getNanoSeconds","hrtime","loadTime","moduleLoadTime","nodeLoadTime","upTime","hr","uptime","inspectSource","InternalStateModule","getInternalState","enforceInternalState","TEMPLATE","unsafe","simple","hashElement","storageKey","entryPropsTrimmed","visiblePromise","visible","seconds","memoize","cacheDefault","serializer","serializerDefault","strategyDefault","monadic","arg","cacheKey","computedValue","assemble","serialize","ObjectWithoutPrototypeCache","strategies","hashIndex","WrappedComponent","shouldRender","renderTimeout","definitions","methods","_inheritsLoose","logWarning","handleLinkClick","onAnchorLinkClick","errorTypes","_to$split2","_slicedToArray","anchorPath","anchor","_gatsby","handleStrippedLinkClick","_to$split4","isSamePage","isDifferentPage","stripHashedLocation","validElement","isDevelopment","_scrollToElement","_arrayWithHoles","_arr","_n","_d","_e","_s","_iterableToArrayLimit","_arrayLikeToArray","_unsupportedIterableToArray","_nonIterableRest","supportedPrefetchStrategy","feature","fakeLink","relList","supports","support","reject","onload","onerror","getElementsByTagName","getElementsByName","appendChild","req","XMLHttpRequest","open","send","preFetched","prefetch","preferDefault","m","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","payload","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","_isEmpty2","_contains2","_getPagesPaths2","isPrototypeOf","linear","inQuad","outQuad","inOutQuad","inCube","outCube","inOutCube","inQuart","outQuart","inOutQuart","inQuint","outQuint","inOutQuint","inSine","cos","PI","outSine","sin","inOutSine","inExpo","pow","outExpo","inOutExpo","inCirc","sqrt","outCirc","inOutCirc","inBack","outBack","inOutBack","inBounce","outBounce","inOutBounce","inElastic","asin","outElastic","inOutElastic","propertyKey","scrollKey","ScrollContainerImplementation","takeLast","suffix","functionToString","r","getOwnPropertyDescriptors","defineProperties","animateClassName","disabledClassName","enterEventName","exitEventName","disabled","u","CustomEvent","bubbles","detail","dispatchEvent","disable","enable","postfix","random","replacement","detection","normalize","POLYFILL","NATIVE","$defineProperty","Attributes","_extendStatics","__extends","__","_assign","__rest","__spreadArray","pack","ar","XDrop","InternalProvider","METHOD_NAME","ceil","h","w","z","$$typeof","A","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","infix","_indexOf","received","combined","argsIdx","combinedIdx","_result","_contains","mergeSort","middle","insertionSort","j","llength","rlength","lindex","rindex","Maybe","_Just","assertMaybe","cata","transformNothing","transformJust","ProdPageRenderer","InternalPageRenderer","Wrapper","wrapPageElement","plugins","_getUserLangKey","_getUserLangKey2","newUrl","prefersReducedMotionSetting","prefersReducedMotion","disableAnimation","exitDelay","exitState","entryDelay","entryState","matches","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","PREFERRED_STRING","valueOf","_isArrayLike","_xwrap","_iterableReduce","_methodReduce","symIterator","_arrayReduce","iterate","createProperty","redirectToHome","nPaths","getI18nBase","getUserLangKey","getBrowserLanguage","isInPagesPaths","isHomePage","_getCurrentLangKey2","_redirectToHome2","_getSlugAndLang2","_isInPagesPaths2","prefixDefault","currentLangKey","selected","i18n","vendors","caf","last","_now","cp","cancelled","round","handle","cancelAnimationFrame","classNamesShape","timeoutsShape","curry","unsupported","setoidLeft","setoidRight","isOld","curried","aSetoid","api","defaultReturn","argTransform","previous","whitespaces","_hasClass","names","oldArgs","newArgs","allArgs","argCount","EXISTS","_arrayFromIterator","_functionName","identical","stackA","stackB","multiline","sticky","unicode"],"mappings":"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AAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAgBA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAgB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAgBA,GAAK,OAAUA,GAAK,OAAgB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAgBA,GAAK,OAAUA,GAAK,OAAgB,QAANA,GAAsB,QAANA,GAAgBA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAgB,QAANA,GAAgBA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAgB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAgBA,GAAK,OAAUA,GAAK,OAAgB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAgBA,GAAK,OAAUA,GAAK,OAAgB,QAANA,GAAgBA,GAAK,OAAUA,GAAK,OAAgB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAgBA,GAAK,OAAUA,GAAK,OAAgB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAgBA,GAAK,OAAUA,GAAK,OAAgB,QAANA,GAAgBA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,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","file":"app-50dd4d7a14f2463eb523.js","sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.withPrefix = withPrefix;\nexports.withAssetPrefix = withAssetPrefix;\nexports.navigateTo = exports.replace = exports.push = exports.navigate = exports.default = void 0;\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _router = require(\"@reach/router\");\n\nvar _utils = require(\"@reach/router/lib/utils\");\n\nvar _parsePath = require(\"./parse-path\");\n\nexports.parsePath = _parsePath.parsePath;\n\nvar isAbsolutePath = function isAbsolutePath(path) {\n return path === null || path === void 0 ? void 0 : path.startsWith(\"/\");\n};\n\nfunction withPrefix(path, prefix) {\n var _ref, _prefix;\n\n if (prefix === void 0) {\n prefix = getGlobalBasePrefix();\n }\n\n if (!isLocalLink(path)) {\n return path;\n }\n\n if (path.startsWith(\"./\") || path.startsWith(\"../\")) {\n return path;\n }\n\n var base = (_ref = (_prefix = prefix) !== null && _prefix !== void 0 ? _prefix : getGlobalPathPrefix()) !== null && _ref !== void 0 ? _ref : \"/\";\n return \"\" + ((base === null || base === void 0 ? void 0 : base.endsWith(\"/\")) ? base.slice(0, -1) : base) + (path.startsWith(\"/\") ? path : \"/\" + path);\n} // These global values are wrapped in typeof clauses to ensure the values exist.\n// This is especially problematic in unit testing of this component.\n\n\nvar getGlobalPathPrefix = function getGlobalPathPrefix() {\n return process.env.NODE_ENV !== \"production\" ? typeof __PATH_PREFIX__ !== \"undefined\" ? __PATH_PREFIX__ : undefined : __PATH_PREFIX__;\n};\n\nvar getGlobalBasePrefix = function getGlobalBasePrefix() {\n return process.env.NODE_ENV !== \"production\" ? typeof __BASE_PATH__ !== \"undefined\" ? __BASE_PATH__ : undefined : __BASE_PATH__;\n};\n\nvar isLocalLink = function isLocalLink(path) {\n return path && !path.startsWith(\"http://\") && !path.startsWith(\"https://\") && !path.startsWith(\"//\");\n};\n\nfunction withAssetPrefix(path) {\n return withPrefix(path, getGlobalPathPrefix());\n}\n\nfunction absolutify(path, current) {\n // If it's already absolute, return as-is\n if (isAbsolutePath(path)) {\n return path;\n }\n\n return (0, _utils.resolve)(path, current);\n}\n\nvar rewriteLinkPath = function rewriteLinkPath(path, relativeTo) {\n if (typeof path === \"number\") {\n return path;\n }\n\n if (!isLocalLink(path)) {\n return path;\n }\n\n return isAbsolutePath(path) ? withPrefix(path) : absolutify(path, relativeTo);\n};\n\nvar NavLinkPropTypes = {\n activeClassName: _propTypes.default.string,\n activeStyle: _propTypes.default.object,\n partiallyActive: _propTypes.default.bool\n}; // Set up IntersectionObserver\n\nvar createIntersectionObserver = function createIntersectionObserver(el, cb) {\n var io = new window.IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n if (el === entry.target) {\n // Check if element is within viewport, remove listener, destroy observer, and run link callback.\n // MSEdge doesn't currently support isIntersecting, so also test for an intersectionRatio > 0\n if (entry.isIntersecting || entry.intersectionRatio > 0) {\n io.unobserve(el);\n io.disconnect();\n cb();\n }\n }\n });\n }); // Add element to the observer\n\n io.observe(el);\n return {\n instance: io,\n el: el\n };\n};\n\nfunction GatsbyLinkLocationWrapper(props) {\n return /*#__PURE__*/_react.default.createElement(_router.Location, null, function (_ref2) {\n var location = _ref2.location;\n return /*#__PURE__*/_react.default.createElement(GatsbyLink, (0, _extends2.default)({}, props, {\n _location: location\n }));\n });\n}\n\nvar GatsbyLink = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(GatsbyLink, _React$Component);\n\n function GatsbyLink(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this; // Default to no support for IntersectionObserver\n\n _this.defaultGetProps = function (_ref3) {\n var isPartiallyCurrent = _ref3.isPartiallyCurrent,\n isCurrent = _ref3.isCurrent;\n\n if (_this.props.partiallyActive ? isPartiallyCurrent : isCurrent) {\n return {\n className: [_this.props.className, _this.props.activeClassName].filter(Boolean).join(\" \"),\n style: (0, _extends2.default)({}, _this.props.style, _this.props.activeStyle)\n };\n }\n\n return null;\n };\n\n var IOSupported = false;\n\n if (typeof window !== \"undefined\" && window.IntersectionObserver) {\n IOSupported = true;\n }\n\n _this.state = {\n IOSupported: IOSupported\n };\n _this.handleRef = _this.handleRef.bind((0, _assertThisInitialized2.default)(_this));\n return _this;\n }\n\n var _proto = GatsbyLink.prototype;\n\n _proto._prefetch = function _prefetch() {\n var currentPath = window.location.pathname; // reach router should have the correct state\n\n if (this.props._location && this.props._location.pathname) {\n currentPath = this.props._location.pathname;\n }\n\n var rewrittenPath = rewriteLinkPath(this.props.to, currentPath);\n var newPathName = (0, _parsePath.parsePath)(rewrittenPath).pathname; // Prefech is used to speed up next navigations. When you use it on the current navigation,\n // there could be a race-condition where Chrome uses the stale data instead of waiting for the network to complete\n\n if (currentPath !== newPathName) {\n ___loader.enqueue(newPathName);\n }\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n // Preserve non IO functionality if no support\n if (this.props.to !== prevProps.to && !this.state.IOSupported) {\n this._prefetch();\n }\n };\n\n _proto.componentDidMount = function componentDidMount() {\n // Preserve non IO functionality if no support\n if (!this.state.IOSupported) {\n this._prefetch();\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (!this.io) {\n return;\n }\n\n var _this$io = this.io,\n instance = _this$io.instance,\n el = _this$io.el;\n instance.unobserve(el);\n instance.disconnect();\n };\n\n _proto.handleRef = function handleRef(ref) {\n var _this2 = this;\n\n if (this.props.innerRef && this.props.innerRef.hasOwnProperty(\"current\")) {\n this.props.innerRef.current = ref;\n } else if (this.props.innerRef) {\n this.props.innerRef(ref);\n }\n\n if (this.state.IOSupported && ref) {\n // If IO supported and element reference found, setup Observer functionality\n this.io = createIntersectionObserver(ref, function () {\n _this2._prefetch();\n });\n }\n };\n\n _proto.render = function render() {\n var _this3 = this;\n\n var _this$props = this.props,\n to = _this$props.to,\n _this$props$getProps = _this$props.getProps,\n getProps = _this$props$getProps === void 0 ? this.defaultGetProps : _this$props$getProps,\n _onClick = _this$props.onClick,\n _onMouseEnter = _this$props.onMouseEnter,\n $activeClassName = _this$props.activeClassName,\n $activeStyle = _this$props.activeStyle,\n $innerRef = _this$props.innerRef,\n partiallyActive = _this$props.partiallyActive,\n state = _this$props.state,\n replace = _this$props.replace,\n _location = _this$props._location,\n rest = (0, _objectWithoutPropertiesLoose2.default)(_this$props, [\"to\", \"getProps\", \"onClick\", \"onMouseEnter\", \"activeClassName\", \"activeStyle\", \"innerRef\", \"partiallyActive\", \"state\", \"replace\", \"_location\"]);\n\n if (process.env.NODE_ENV !== \"production\" && !isLocalLink(to)) {\n console.warn(\"External link \" + to + \" was detected in a Link component. Use the Link component only for internal links. See: https://gatsby.dev/internal-links\");\n }\n\n var prefixedTo = rewriteLinkPath(to, _location.pathname);\n\n if (!isLocalLink(prefixedTo)) {\n return /*#__PURE__*/_react.default.createElement(\"a\", (0, _extends2.default)({\n href: prefixedTo\n }, rest));\n }\n\n return /*#__PURE__*/_react.default.createElement(_router.Link, (0, _extends2.default)({\n to: prefixedTo,\n state: state,\n getProps: getProps,\n innerRef: this.handleRef,\n onMouseEnter: function onMouseEnter(e) {\n if (_onMouseEnter) {\n _onMouseEnter(e);\n }\n\n ___loader.hovering((0, _parsePath.parsePath)(prefixedTo).pathname);\n },\n onClick: function onClick(e) {\n if (_onClick) {\n _onClick(e);\n }\n\n if (e.button === 0 && // ignore right clicks\n !_this3.props.target && // let browser handle \"target=_blank\"\n !e.defaultPrevented && // onClick prevented default\n !e.metaKey && // ignore clicks with modifier keys...\n !e.altKey && !e.ctrlKey && !e.shiftKey) {\n e.preventDefault();\n var shouldReplace = replace;\n\n var isCurrent = encodeURI(prefixedTo) === _location.pathname;\n\n if (typeof replace !== \"boolean\" && isCurrent) {\n shouldReplace = true;\n } // Make sure the necessary scripts and data are\n // loaded before continuing.\n\n\n window.___navigate(prefixedTo, {\n state: state,\n replace: shouldReplace\n });\n }\n\n return true;\n }\n }, rest));\n };\n\n return GatsbyLink;\n}(_react.default.Component);\n\nGatsbyLink.propTypes = (0, _extends2.default)({}, NavLinkPropTypes, {\n onClick: _propTypes.default.func,\n to: _propTypes.default.string.isRequired,\n replace: _propTypes.default.bool,\n state: _propTypes.default.object\n});\n\nvar showDeprecationWarning = function showDeprecationWarning(functionName, altFunctionName, version) {\n return console.warn(\"The \\\"\" + functionName + \"\\\" method is now deprecated and will be removed in Gatsby v\" + version + \". Please use \\\"\" + altFunctionName + \"\\\" instead.\");\n};\n\nvar _default = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n return /*#__PURE__*/_react.default.createElement(GatsbyLinkLocationWrapper, (0, _extends2.default)({\n innerRef: ref\n }, props));\n});\n\nexports.default = _default;\n\nvar navigate = function navigate(to, options) {\n window.___navigate(rewriteLinkPath(to, window.location.pathname), options);\n};\n\nexports.navigate = navigate;\n\nvar push = function push(to) {\n showDeprecationWarning(\"push\", \"navigate\", 3);\n\n window.___push(rewriteLinkPath(to, window.location.pathname));\n};\n\nexports.push = push;\n\nvar replace = function replace(to) {\n showDeprecationWarning(\"replace\", \"navigate\", 3);\n\n window.___replace(rewriteLinkPath(to, window.location.pathname));\n}; // TODO: Remove navigateTo for Gatsby v3\n\n\nexports.replace = replace;\n\nvar navigateTo = function navigateTo(to) {\n showDeprecationWarning(\"navigateTo\", \"navigate\", 3);\n return push(to);\n};\n\nexports.navigateTo = navigateTo;","module.exports = function _functionName(f) {\n // String(x => x) evaluates to \"x => x\", so the pattern may not match.\n var match = String(f).match(/^function (\\w*)/);\n return match == null ? '' : match[1];\n};","// 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 _isArray = require('./_isArray');\n/**\n * This checks whether a function has a [methodname] function. If it isn't an\n * array it will execute that function otherwise it will default to the ramda\n * implementation.\n *\n * @private\n * @param {Function} fn ramda implemtation\n * @param {String} methodname property to check for a custom implementation\n * @return {Object} Whatever the return value of the method is.\n */\n\n\nmodule.exports = function _checkForMethod(methodname, fn) {\n return function () {\n var length = arguments.length;\n\n if (length === 0) {\n return fn();\n }\n\n var obj = arguments[length - 1];\n return _isArray(obj) || typeof obj[methodname] !== 'function' ? fn.apply(this, arguments) : obj[methodname].apply(obj, Array.prototype.slice.call(arguments, 0, length - 1));\n };\n};","module.exports = function _isTransformer(obj) {\n return typeof obj['@@transducer/step'] === 'function';\n};","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","import \"core-js/modules/es.array.reduce.js\";\nimport { isArgumentElement, isDateElement, isDateTimeSkeleton, isLiteralElement, isNumberElement, isNumberSkeleton, isPluralElement, isPoundElement, isSelectElement, isTimeElement, isTagElement } from '@formatjs/icu-messageformat-parser';\nimport { MissingValueError, InvalidValueError, ErrorCode, FormatError, InvalidValueTypeError } from './error';\nexport var PART_TYPE;\n\n(function (PART_TYPE) {\n PART_TYPE[PART_TYPE[\"literal\"] = 0] = \"literal\";\n PART_TYPE[PART_TYPE[\"object\"] = 1] = \"object\";\n})(PART_TYPE || (PART_TYPE = {}));\n\nfunction mergeLiteral(parts) {\n if (parts.length < 2) {\n return parts;\n }\n\n return parts.reduce(function (all, part) {\n var lastPart = all[all.length - 1];\n\n if (!lastPart || lastPart.type !== PART_TYPE.literal || part.type !== PART_TYPE.literal) {\n all.push(part);\n } else {\n lastPart.value += part.value;\n }\n\n return all;\n }, []);\n}\n\nexport function isFormatXMLElementFn(el) {\n return typeof el === 'function';\n} // TODO(skeleton): add skeleton support\n\nexport function formatToParts(els, locales, formatters, formats, values, currentPluralValue, // For debugging\noriginalMessage) {\n // Hot path for straight simple msg translations\n if (els.length === 1 && isLiteralElement(els[0])) {\n return [{\n type: PART_TYPE.literal,\n value: els[0].value\n }];\n }\n\n var result = [];\n\n for (var _i = 0, els_1 = els; _i < els_1.length; _i++) {\n var el = els_1[_i]; // Exit early for string parts.\n\n if (isLiteralElement(el)) {\n result.push({\n type: PART_TYPE.literal,\n value: el.value\n });\n continue;\n } // TODO: should this part be literal type?\n // Replace `#` in plural rules with the actual numeric value.\n\n\n if (isPoundElement(el)) {\n if (typeof currentPluralValue === 'number') {\n result.push({\n type: PART_TYPE.literal,\n value: formatters.getNumberFormat(locales).format(currentPluralValue)\n });\n }\n\n continue;\n }\n\n var varName = el.value; // Enforce that all required values are provided by the caller.\n\n if (!(values && varName in values)) {\n throw new MissingValueError(varName, originalMessage);\n }\n\n var value = values[varName];\n\n if (isArgumentElement(el)) {\n if (!value || typeof value === 'string' || typeof value === 'number') {\n value = typeof value === 'string' || typeof value === 'number' ? String(value) : '';\n }\n\n result.push({\n type: typeof value === 'string' ? PART_TYPE.literal : PART_TYPE.object,\n value: value\n });\n continue;\n } // Recursively format plural and select parts' option — which can be a\n // nested pattern structure. The choosing of the option to use is\n // abstracted-by and delegated-to the part helper object.\n\n\n if (isDateElement(el)) {\n var style = typeof el.style === 'string' ? formats.date[el.style] : isDateTimeSkeleton(el.style) ? el.style.parsedOptions : undefined;\n result.push({\n type: PART_TYPE.literal,\n value: formatters.getDateTimeFormat(locales, style).format(value)\n });\n continue;\n }\n\n if (isTimeElement(el)) {\n var style = typeof el.style === 'string' ? formats.time[el.style] : isDateTimeSkeleton(el.style) ? el.style.parsedOptions : undefined;\n result.push({\n type: PART_TYPE.literal,\n value: formatters.getDateTimeFormat(locales, style).format(value)\n });\n continue;\n }\n\n if (isNumberElement(el)) {\n var style = typeof el.style === 'string' ? formats.number[el.style] : isNumberSkeleton(el.style) ? el.style.parsedOptions : undefined;\n\n if (style && style.scale) {\n value = value * (style.scale || 1);\n }\n\n result.push({\n type: PART_TYPE.literal,\n value: formatters.getNumberFormat(locales, style).format(value)\n });\n continue;\n }\n\n if (isTagElement(el)) {\n var children = el.children,\n value_1 = el.value;\n var formatFn = values[value_1];\n\n if (!isFormatXMLElementFn(formatFn)) {\n throw new InvalidValueTypeError(value_1, 'function', originalMessage);\n }\n\n var parts = formatToParts(children, locales, formatters, formats, values, currentPluralValue);\n var chunks = formatFn(parts.map(function (p) {\n return p.value;\n }));\n\n if (!Array.isArray(chunks)) {\n chunks = [chunks];\n }\n\n result.push.apply(result, chunks.map(function (c) {\n return {\n type: typeof c === 'string' ? PART_TYPE.literal : PART_TYPE.object,\n value: c\n };\n }));\n }\n\n if (isSelectElement(el)) {\n var opt = el.options[value] || el.options.other;\n\n if (!opt) {\n throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n }\n\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values));\n continue;\n }\n\n if (isPluralElement(el)) {\n var opt = el.options[\"=\" + value];\n\n if (!opt) {\n if (!Intl.PluralRules) {\n throw new FormatError(\"Intl.PluralRules is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-pluralrules\\\"\\n\", ErrorCode.MISSING_INTL_API, originalMessage);\n }\n\n var rule = formatters.getPluralRules(locales, {\n type: el.pluralType\n }).select(value - (el.offset || 0));\n opt = el.options[rule] || el.options.other;\n }\n\n if (!opt) {\n throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n }\n\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values, value - (el.offset || 0)));\n continue;\n }\n }\n\n return mergeLiteral(result);\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;","module.exports = {};\n","var equals = require('../equals');\n\nmodule.exports = function _indexOf(list, a, idx) {\n var inf, item; // Array.prototype.indexOf doesn't exist below IE9\n\n if (typeof list.indexOf === 'function') {\n switch (typeof a) {\n case 'number':\n if (a === 0) {\n // manually crawl the list to distinguish between +0 and -0\n inf = 1 / a;\n\n while (idx < list.length) {\n item = list[idx];\n\n if (item === 0 && 1 / item === inf) {\n return idx;\n }\n\n idx += 1;\n }\n\n return -1;\n } else if (a !== a) {\n // NaN\n while (idx < list.length) {\n item = list[idx];\n\n if (typeof item === 'number' && item !== item) {\n return idx;\n }\n\n idx += 1;\n }\n\n return -1;\n } // non-zero numbers can utilise Set\n\n\n return list.indexOf(a, idx);\n // all these types can utilise Set\n\n case 'string':\n case 'boolean':\n case 'function':\n case 'undefined':\n return list.indexOf(a, idx);\n\n case 'object':\n if (a === null) {\n // null can utilise Set\n return list.indexOf(a, idx);\n }\n\n }\n } // anything else not covered above, defer to R.equals\n\n\n while (idx < list.length) {\n if (equals(list[idx], a)) {\n return idx;\n }\n\n idx += 1;\n }\n\n return -1;\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","var ease = require('./ease');\n\nvar Emitter = require('./emitter');\n\nfunction extend(obj, src) {\n for (var key in src) {\n if (src.hasOwnProperty(key)) obj[key] = src[key];\n }\n\n return obj;\n}\n\nfunction Tween(obj) {\n if (!(this instanceof Tween)) return new Tween(obj);\n this._from = obj;\n this.ease('linear');\n this.duration(500);\n}\n\nEmitter(Tween.prototype);\n\nTween.prototype.reset = function () {\n this.isArray = Object.prototype.toString.call(this._from) === '[object Array]';\n this._curr = extend({}, this._from);\n this._done = false;\n this._start = Date.now();\n return this;\n};\n\nTween.prototype.to = function (obj) {\n this.reset();\n this._to = obj;\n return this;\n};\n\nTween.prototype.duration = function (ms) {\n this._duration = ms;\n return this;\n};\n\nTween.prototype.ease = function (fn) {\n fn = 'function' == typeof fn ? fn : ease[fn];\n if (!fn) throw new TypeError('invalid easing function');\n this._ease = fn;\n return this;\n};\n\nTween.prototype.stop = function () {\n this.stopped = true;\n this._done = true;\n this.emit('stop');\n this.emit('end');\n return this;\n};\n\nTween.prototype.step = function () {\n if (this._done) return;\n var duration = this._duration;\n var now = Date.now();\n var delta = now - this._start;\n var done = delta >= duration;\n\n if (done) {\n this._from = this._to;\n\n this._update(this._to);\n\n this._done = true;\n this.emit('end');\n return this;\n }\n\n var from = this._from;\n var to = this._to;\n var curr = this._curr;\n var fn = this._ease;\n var p = (now - this._start) / duration;\n var n = fn(p);\n\n if (this.isArray) {\n for (var i = 0; i < from.length; ++i) {\n curr[i] = from[i] + (to[i] - from[i]) * n;\n }\n\n this._update(curr);\n\n return this;\n }\n\n for (var k in from) {\n curr[k] = from[k] + (to[k] - from[k]) * n;\n }\n\n this._update(curr);\n\n return this;\n};\n\nTween.prototype.update = function (fn) {\n if (0 == arguments.length) return this.step();\n this._update = fn;\n return this;\n};\n\nmodule.exports = Tween;","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.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} : $propertyIsEnumerable;\n","'use strict';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n}; //----------------------------------------------------------------------\n//\n// This source file is part of the Folktale project.\n//\n// Licensed under MIT. See LICENCE for full licence information.\n// See CONTRIBUTORS for the list of contributors to the project.\n//\n//----------------------------------------------------------------------\n// --[ Dependencies ]---------------------------------------------------\n\n\nvar _require = require('../union'),\n tagSymbol = _require.tagSymbol,\n typeSymbol = _require.typeSymbol; // --[ Helpers ]--------------------------------------------------------\n\n/*~\n * type: (Object Any) => String\n */\n\n\nvar objectToKeyValuePairs = function objectToKeyValuePairs(object) {\n return Object.keys(object).map(function (key) {\n return key + ': ' + showValue(object[key]);\n }).join(', ');\n};\n/*~\n * type: (Object Any).() => String\n */\n\n\nvar plainObjectToString = function plainObjectToString() {\n return '{ ' + objectToKeyValuePairs(this) + ' }';\n};\n/*~\n * type: (Array Any).() => String\n */\n\n\nvar arrayToString = function arrayToString() {\n return '[' + this.map(showValue).join(', ') + ']';\n};\n/*~\n * type: (Function) => String\n */\n\n\nvar functionNameToString = function functionNameToString(fn) {\n return fn.name !== '' ? ': ' + fn.name : '';\n};\n/*~\n * type: (Function) => String\n */\n\n\nvar functionToString = function functionToString(fn) {\n return '[Function' + functionNameToString(fn) + ']';\n};\n/*~\n * type: () => String\n */\n\n\nvar nullToString = function nullToString() {\n return 'null';\n};\n/*~\n * type: (Any) => Bool\n */\n\n\nvar isPlainObject = function isPlainObject(object) {\n return !object.toString || object.toString === Object.prototype.toString;\n};\n/*~\n * type: (Null | Object Any) => String\n */\n\n\nvar objectToString = function objectToString(object) {\n return object === null ? nullToString : Array.isArray(object) ? arrayToString : isPlainObject(object) ? plainObjectToString :\n /* otherwise */\n object.toString;\n};\n/*~\n * type: (Any) => String\n */\n\n\nvar showValue = function showValue(value) {\n return typeof value === 'undefined' ? 'undefined' : typeof value === 'function' ? functionToString(value) : Object.is(value, -0) ? '-0' : typeof value === 'number' ? value : (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'symbol' ? value.toString() : (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' ? objectToString(value).call(value) :\n /* otherwise */\n JSON.stringify(value);\n}; // --[ Implementation ]------------------------------------------------\n\n/*~\n * stability: experimental\n * authors:\n * - \"@boris-marinov\"\n * \n * type: |\n * (Variant, Union) => Void\n */\n\n\nvar debugRepresentation = function debugRepresentation(variant, adt) {\n // eslint-disable-line max-statements\n var typeName = adt[typeSymbol];\n var variantName = adt[typeSymbol] + '.' + variant.prototype[tagSymbol]; // (for Object.prototype.toString)\n\n adt[Symbol.toStringTag] = typeName;\n variant.prototype[Symbol.toStringTag] = variantName; // (regular JavaScript representations)\n\n /*~\n * stability: experimental\n * module: null\n * authors:\n * - \"@boris-marinov\"\n * \n * type: |\n * () => String\n */\n\n adt.toString = function () {\n return typeName;\n };\n /*~\n * stability: experimental\n * mmodule: null\n * authors:\n * - \"@boris-marinov\"\n * \n * type: |\n * () => String\n */\n\n\n variant.toString = function () {\n return variantName;\n };\n /*~\n * stability: experimental\n * module: null\n * authors:\n * - \"@boris-marinov\"\n * \n * type: |\n * (Union).() => String\n */\n\n\n variant.prototype.toString = function () {\n return variantName + '(' + plainObjectToString.call(this) + ')';\n }; // (Node REPL representations)\n\n\n adt.inspect = adt.toString;\n variant.inspect = variant.toString;\n variant.prototype.inspect = variant.prototype.toString;\n return variant;\n}; // --[ Exports ]-------------------------------------------------------\n\n\nmodule.exports = debugRepresentation;","var _arity = require('./internal/_arity');\n\nvar _pipe = require('./internal/_pipe');\n\nvar reduce = require('./reduce');\n\nvar tail = require('./tail');\n/**\n * Performs left-to-right function composition. The leftmost function may have\n * any arity; the remaining functions must be unary.\n *\n * In some libraries this function is named `sequence`.\n *\n * **Note:** The result of pipe is not automatically curried.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (((a, b, ..., n) -> o), (o -> p), ..., (x -> y), (y -> z)) -> ((a, b, ..., n) -> z)\n * @param {...Function} functions\n * @return {Function}\n * @see R.compose\n * @example\n *\n * var f = R.pipe(Math.pow, R.negate, R.inc);\n *\n * f(3, 4); // -(3^4) + 1\n * @symb R.pipe(f, g, h)(a, b) = h(g(f(a, b)))\n */\n\n\nmodule.exports = function pipe() {\n if (arguments.length === 0) {\n throw new Error('pipe requires at least one argument');\n }\n\n return _arity(arguments[0].length, reduce(_pipe, arguments[0], tail(arguments)));\n};","import \"core-js/modules/es.array.reduce.js\";\nimport { __assign, __spreadArray } from \"tslib\";\nimport { IntlMessageFormat } from 'intl-messageformat';\nimport memoize, { strategies } from '@formatjs/fast-memoize';\nimport { UnsupportedFormatterError } from './error';\nexport function filterProps(props, whitelist, defaults) {\n if (defaults === void 0) {\n defaults = {};\n }\n\n return whitelist.reduce(function (filtered, name) {\n if (name in props) {\n filtered[name] = props[name];\n } else if (name in defaults) {\n filtered[name] = defaults[name];\n }\n\n return filtered;\n }, {});\n}\n\nvar defaultErrorHandler = function defaultErrorHandler(error) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(error);\n }\n};\n\nexport var DEFAULT_INTL_CONFIG = {\n formats: {},\n messages: {},\n timeZone: undefined,\n defaultLocale: 'en',\n defaultFormats: {},\n onError: defaultErrorHandler\n};\nexport function createIntlCache() {\n return {\n dateTime: {},\n number: {},\n message: {},\n relativeTime: {},\n pluralRules: {},\n list: {},\n displayNames: {}\n };\n}\n\nfunction createFastMemoizeCache(store) {\n return {\n create: function create() {\n return {\n has: function has(key) {\n return key in store;\n },\n get: function get(key) {\n return store[key];\n },\n set: function set(key, value) {\n store[key] = value;\n }\n };\n }\n };\n}\n/**\n * Create intl formatters and populate cache\n * @param cache explicit cache to prevent leaking memory\n */\n\n\nexport function createFormatters(cache) {\n if (cache === void 0) {\n cache = createIntlCache();\n }\n\n var RelativeTimeFormat = Intl.RelativeTimeFormat;\n var ListFormat = Intl.ListFormat;\n var DisplayNames = Intl.DisplayNames;\n var getDateTimeFormat = memoize(function () {\n var _a;\n\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n return new ((_a = Intl.DateTimeFormat).bind.apply(_a, __spreadArray([void 0], args)))();\n }, {\n cache: createFastMemoizeCache(cache.dateTime),\n strategy: strategies.variadic\n });\n var getNumberFormat = memoize(function () {\n var _a;\n\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n return new ((_a = Intl.NumberFormat).bind.apply(_a, __spreadArray([void 0], args)))();\n }, {\n cache: createFastMemoizeCache(cache.number),\n strategy: strategies.variadic\n });\n var getPluralRules = memoize(function () {\n var _a;\n\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n return new ((_a = Intl.PluralRules).bind.apply(_a, __spreadArray([void 0], args)))();\n }, {\n cache: createFastMemoizeCache(cache.pluralRules),\n strategy: strategies.variadic\n });\n return {\n getDateTimeFormat: getDateTimeFormat,\n getNumberFormat: getNumberFormat,\n getMessageFormat: memoize(function (message, locales, overrideFormats, opts) {\n return new IntlMessageFormat(message, locales, overrideFormats, __assign({\n formatters: {\n getNumberFormat: getNumberFormat,\n getDateTimeFormat: getDateTimeFormat,\n getPluralRules: getPluralRules\n }\n }, opts || {}));\n }, {\n cache: createFastMemoizeCache(cache.message),\n strategy: strategies.variadic\n }),\n getRelativeTimeFormat: memoize(function () {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n return new (RelativeTimeFormat.bind.apply(RelativeTimeFormat, __spreadArray([void 0], args)))();\n }, {\n cache: createFastMemoizeCache(cache.relativeTime),\n strategy: strategies.variadic\n }),\n getPluralRules: getPluralRules,\n getListFormat: memoize(function () {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n return new (ListFormat.bind.apply(ListFormat, __spreadArray([void 0], args)))();\n }, {\n cache: createFastMemoizeCache(cache.list),\n strategy: strategies.variadic\n }),\n getDisplayNames: memoize(function () {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n return new (DisplayNames.bind.apply(DisplayNames, __spreadArray([void 0], args)))();\n }, {\n cache: createFastMemoizeCache(cache.displayNames),\n strategy: strategies.variadic\n })\n };\n}\nexport function getNamedFormat(formats, type, name, onError) {\n var formatType = formats && formats[type];\n var format;\n\n if (formatType) {\n format = formatType[name];\n }\n\n if (format) {\n return format;\n }\n\n onError(new UnsupportedFormatterError(\"No \" + type + \" format named: \" + name));\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","var _curry2 = require('./internal/_curry2');\n\nvar _equals = require('./internal/_equals');\n/**\n * Returns `true` if its arguments are equivalent, `false` otherwise. Handles\n * cyclical data structures.\n *\n * Dispatches symmetrically to the `equals` methods of both arguments, if\n * present.\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category Relation\n * @sig a -> b -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @example\n *\n * R.equals(1, 1); //=> true\n * R.equals(1, '1'); //=> false\n * R.equals([1, 2, 3], [1, 2, 3]); //=> true\n *\n * var a = {}; a.v = a;\n * var b = {}; b.v = b;\n * R.equals(a, b); //=> true\n */\n\n\nmodule.exports = _curry2(function equals(a, b) {\n return _equals(a, b, [], []);\n});","\"use strict\";\n\nvar _CSSTransition = _interopRequireDefault(require(\"./CSSTransition\"));\n\nvar _ReplaceTransition = _interopRequireDefault(require(\"./ReplaceTransition\"));\n\nvar _TransitionGroup = _interopRequireDefault(require(\"./TransitionGroup\"));\n\nvar _Transition = _interopRequireDefault(require(\"./Transition\"));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nmodule.exports = {\n Transition: _Transition.default,\n TransitionGroup: _TransitionGroup.default,\n ReplaceTransition: _ReplaceTransition.default,\n CSSTransition: _CSSTransition.default\n};","var _typeof = require(\"@babel/runtime/helpers/typeof\")[\"default\"];\n\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\n\nfunction _interopRequireWildcard(obj, nodeInterop) {\n if (!nodeInterop && 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(nodeInterop);\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 (key !== \"default\" && 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;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\nimport { invariantIntlContext } from '../utils';\n\nfunction getDisplayName(Component) {\n return Component.displayName || Component.name || 'Component';\n} // TODO: We should provide initial value here\n\n\nvar IntlContext = React.createContext(null);\nvar IntlConsumer = IntlContext.Consumer,\n IntlProvider = IntlContext.Provider;\nexport var Provider = IntlProvider;\nexport var Context = IntlContext;\nexport default function injectIntl(WrappedComponent, options) {\n var _a = options || {},\n _b = _a.intlPropName,\n intlPropName = _b === void 0 ? 'intl' : _b,\n _c = _a.forwardRef,\n forwardRef = _c === void 0 ? false : _c,\n _d = _a.enforceContext,\n enforceContext = _d === void 0 ? true : _d;\n\n var WithIntl = function WithIntl(props) {\n return React.createElement(IntlConsumer, null, function (intl) {\n var _a;\n\n if (enforceContext) {\n invariantIntlContext(intl);\n }\n\n var intlProp = (_a = {}, _a[intlPropName] = intl, _a);\n return React.createElement(WrappedComponent, __assign({}, props, intlProp, {\n ref: forwardRef ? props.forwardedRef : null\n }));\n });\n };\n\n WithIntl.displayName = \"injectIntl(\" + getDisplayName(WrappedComponent) + \")\";\n WithIntl.WrappedComponent = WrappedComponent;\n\n if (forwardRef) {\n return hoistNonReactStatics(React.forwardRef(function (props, ref) {\n return React.createElement(WithIntl, __assign({}, props, {\n forwardedRef: ref\n }));\n }), WrappedComponent);\n }\n\n return hoistNonReactStatics(WithIntl, WrappedComponent);\n}","var UA = require('../internals/engine-user-agent');\n\nmodule.exports = /MSIE|Trident/.test(UA);\n","'use strict';\n\nvar reactIs = require('react-is');\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n\n\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;","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 es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict'; //----------------------------------------------------------------------\n//\n// This source file is part of the Folktale project.\n//\n// Licensed under MIT. See LICENCE for full licence information.\n// See CONTRIBUTORS for the list of contributors to the project.\n//\n//----------------------------------------------------------------------\n\nvar deprecated = require('./warn-deprecation');\n\nmodule.exports = function (methodName) {\n return function (result) {\n deprecated('Type.' + methodName + '() is being deprecated in favour of Type[\\'fantasy-land/' + methodName + '\\'](). \\n Your data structure is using the old-style fantasy-land methods,\\n and these won\\'t be supported in Folktale 3');\n return result;\n };\n};","export default path => {\n if (path === undefined) {\n return path\n }\n if (path === `/`) {\n return `/`\n }\n if (path.charAt(path.length - 1) === `/`) {\n return path.slice(0, -1)\n }\n return path\n}\n","import { pick } from \"@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//\n// This source file is part of the Folktale project.\n//\n// Licensed under MIT. See LICENCE for full licence information.\n// See CONTRIBUTORS for the list of contributors to the project.\n//\n//----------------------------------------------------------------------\n\nvar _require = require('./result'),\n Error = _require.Error,\n Ok = _require.Ok;\n/*~\n * stability: stable\n * authors:\n * - \"@boris-marinov\"\n * \n * type: |\n * forall a, b: (() => b :: throws a) => Result a b\n */\n\n\nvar _try = function _try(f) {\n try {\n return Ok(f());\n } catch (e) {\n return Error(e);\n }\n};\n\nmodule.exports = _try;","\"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}","var _curry1 = require('./internal/_curry1');\n/**\n * Checks if the input value is `null` or `undefined`.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Type\n * @sig * -> Boolean\n * @param {*} x The value to test.\n * @return {Boolean} `true` if `x` is `undefined` or `null`, otherwise `false`.\n * @example\n *\n * R.isNil(null); //=> true\n * R.isNil(undefined); //=> true\n * R.isNil(0); //=> false\n * R.isNil([]); //=> false\n */\n\n\nmodule.exports = _curry1(function isNil(x) {\n return x == null;\n});","'use strict'; //----------------------------------------------------------------------\n//\n// This source file is part of the Folktale project.\n//\n// Licensed under MIT. See LICENCE for full licence information.\n// See CONTRIBUTORS for the list of contributors to the project.\n//\n//----------------------------------------------------------------------\n\nvar _require = require('../validation/validation'),\n Success = _require.Success,\n Failure = _require.Failure;\n/*~\n * stability: stable\n * authors:\n * - \"@boris-marinov\"\n * \n * type: |\n * forall a, b:\n * (Result a b) => Validation a b\n */\n\n\nvar resultToValidation = function resultToValidation(aResult) {\n return aResult.matchWith({\n Error: function Error(_ref) {\n var value = _ref.value;\n return Failure(value);\n },\n Ok: function Ok(_ref2) {\n var value = _ref2.value;\n return Success(value);\n }\n });\n};\n\nmodule.exports = resultToValidation;","module.exports = function _pipe(f, g) {\n return function () {\n return g.call(this, f.apply(this, arguments));\n };\n};","'use strict'; //----------------------------------------------------------------------\n//\n// This source file is part of the Folktale project.\n//\n// Licensed under MIT. See LICENCE for full licence information.\n// See CONTRIBUTORS for the list of contributors to the project.\n//\n//----------------------------------------------------------------------\n\nvar assertType = require('../helpers/assert-type');\n\nvar assertFunction = require('../helpers/assert-function');\n\nvar _require = require('../adt/union'),\n union = _require.union,\n derivations = _require.derivations;\n\nvar provideAliases = require('../helpers/provide-fantasy-land-aliases');\n\nvar adtMethods = require('../helpers/define-adt-methods');\n\nvar extend = require('../helpers/extend');\n\nvar warnDeprecation = require('../helpers/warn-deprecation');\n\nvar equality = derivations.equality,\n debugRepresentation = derivations.debugRepresentation,\n serialization = derivations.serialization;\n/*~ stability: stable */\n\nvar Result = union('folktale:Result', {\n /*~\n * stability: stable\n * type: |\n * forall a, b: (a) => Result a b\n */\n Error: function Error(value) {\n return {\n value: value\n };\n },\n\n /*~\n * stability: stable\n * type: |\n * forall a, b: (b) => Result a b\n */\n Ok: function Ok(value) {\n return {\n value: value\n };\n }\n}).derive(equality, debugRepresentation, serialization);\nvar Error = Result.Error,\n Ok = Result.Ok;\nvar assertResult = assertType(Result);\nextend(Error.prototype, {\n /*~\n * isRequired: true\n * type: |\n * forall a, b: get (Result a b) => a\n */\n get value() {\n throw new TypeError('`value` can’t be accessed in an abstract instance of Result.Error');\n }\n\n});\nextend(Ok.prototype, {\n /*~\n * isRequired: true\n * type: |\n * forall a, b: get (Result a b) => b\n */\n get value() {\n throw new TypeError('`value` can’t be accessed in an abstract instance of Result.Ok');\n }\n\n});\n/*~\n * ~belongsTo: Result\n */\n\nadtMethods(Result, {\n /*~\n * stability: stable\n * type: |\n * forall a, b, c:\n * (Result a b).((b) => c) => Result a c\n */\n map: {\n /*~*/\n Error: function map(f) {\n assertFunction('Result.Error#map', f);\n return this;\n },\n\n /*~*/\n Ok: function map(f) {\n assertFunction('Result.Ok#map', f);\n return Ok(f(this.value));\n }\n },\n\n /*~\n * stability: stable\n * type: |\n * forall a, b, c:\n * (Result a ((b) => c)).(Result a b) => Result a c\n */\n apply: {\n /*~*/\n Error: function apply(anResult) {\n assertResult('Result.Error#apply', anResult);\n return this;\n },\n\n /*~*/\n Ok: function apply(anResult) {\n assertResult('Result.Ok#apply', anResult);\n return anResult.map(this.value);\n }\n },\n\n /*~\n * stability: stable\n * type: |\n * forall a, b, c:\n * (Result a b).((b) => Result a c) => Result a c\n */\n chain: {\n /*~*/\n Error: function chain(f) {\n assertFunction('Result.Error#chain', f);\n return this;\n },\n\n /*~*/\n Ok: function chain(f) {\n assertFunction('Result.Ok#chain', f);\n return f(this.value);\n }\n },\n\n /*~\n * stability: stable\n * type: |\n * forall a, b: (Result a b).() => b :: throws TypeError\n */\n unsafeGet: {\n /*~*/\n Error: function unsafeGet() {\n throw new TypeError('Can\\'t extract the value of an Error.\\n\\nError does not contain a normal value - it contains an error.\\nYou might consider switching from Result#unsafeGet to Result#getOrElse,\\nor some other method that is not partial.\\n ');\n },\n\n /*~*/\n Ok: function unsafeGet() {\n return this.value;\n }\n },\n\n /*~\n * stability: stable\n * type: |\n * forall a, b: (Result a b).(b) => b\n */\n getOrElse: {\n /*~*/\n Error: function getOrElse(_default) {\n return _default;\n },\n\n /*~*/\n Ok: function getOrElse(_default) {\n return this.value;\n }\n },\n\n /*~\n * stability: stable\n * type: |\n * forall a, b, c:\n * (Result a b).((a) => Result c b) => Result c b\n */\n orElse: {\n /*~*/\n Error: function orElse(handler) {\n assertFunction('Result.Error#orElse', handler);\n return handler(this.value);\n },\n\n /*~*/\n Ok: function orElse(handler) {\n assertFunction('Result.Ok#orElse', handler);\n return this;\n }\n },\n\n /*~\n * stability: stable\n * type: |\n * forall a, b: (Result a b).(Result a b) => Result a b\n * where b is Semigroup\n */\n concat: {\n /*~*/\n Error: function concat(aResult) {\n assertResult('Result.Error#concat', aResult);\n return this;\n },\n\n /*~*/\n Ok: function concat(aResult) {\n var _this = this;\n\n assertResult('Result.Ok#concat', aResult);\n return aResult.map(function (xs) {\n return _this.value.concat(xs);\n });\n }\n },\n\n /*~\n * stability: stable\n * type: |\n * forall a, b, c:\n * (Result a b).((a) => c, (b) => c) => c\n */\n fold: {\n /*~*/\n Error: function fold(f, g) {\n assertFunction('Result.Error#fold', f);\n assertFunction('Result.Error#fold', g);\n return f(this.value);\n },\n\n /*~*/\n Ok: function fold(f, g) {\n assertFunction('Result.Ok#fold', f);\n assertFunction('Result.Ok#fold', g);\n return g(this.value);\n }\n },\n\n /*~\n * stability: stable\n * type: |\n * forall a, b: (Result a b).() => Result b a\n */\n swap: {\n /*~*/\n Error: function swap() {\n return Ok(this.value);\n },\n\n /*~*/\n Ok: function swap() {\n return Error(this.value);\n }\n },\n\n /*~\n * stability: stable\n * type: |\n * (Result a b).((a) => c, (b) => d) => Result c d\n */\n bimap: {\n /*~*/\n Error: function bimap(f, g) {\n assertFunction('Result.Error#bimap', f);\n assertFunction('Result.Error#bimap', g);\n return Error(f(this.value));\n },\n\n /*~*/\n Ok: function bimap(f, g) {\n assertFunction('Result.Ok#bimap', f);\n assertFunction('Result.Ok#bimap', g);\n return Ok(g(this.value));\n }\n },\n\n /*~\n * stability: stable\n * type: |\n * forall a, b, c:\n * (Result a b).((a) => c) => Result c b\n */\n mapError: {\n /*~*/\n Error: function mapError(f) {\n assertFunction('Result.Error#mapError', f);\n return Error(f(this.value));\n },\n\n /*~*/\n Ok: function mapError(f) {\n assertFunction('Result.Ok#mapError', f);\n return this;\n }\n },\n\n /*~\n * stability: stable\n * type: |\n * forall a: (Maybe a).((a) => Boolean) => Maybe a\n */\n filter: {\n /*~*/\n Error: function filter(predicate) {\n assertFunction('Result.Error#filter', predicate);\n return this;\n },\n\n /*~*/\n Ok: function filter(predicate) {\n assertFunction('Result.Ok#filter', predicate);\n return predicate(this.value) ? this : Error(this.value);\n }\n }\n});\nObject.assign(Result, {\n /*~\n * stability: stable\n * type: |\n * forall a, b: (b) => Result a b\n */\n of: function of(value) {\n return Ok(value);\n },\n\n /*~\n * deprecated:\n * since: 2.0.0\n * replacedBy: .unsafeGet()\n * type: |\n * forall a, b: (Result a b).() => b :: (throws TypeError)\n */\n 'get': function get() {\n warnDeprecation('`.get()` is deprecated, and has been renamed to `.unsafeGet()`.');\n return this.unsafeGet();\n },\n\n /*~\n * stability: stable\n * type: |\n * forall a, b: (Result a b).() => a or b\n */\n merge: function merge() {\n return this.value;\n },\n\n /*~\n * stability: stable\n * type: |\n * forall a, b: (Result a b).() => Validation a b\n */\n toValidation: function toValidation() {\n return require('../conversions/result-to-validation')(this);\n },\n\n /*~\n * stability: stable\n * type: |\n * forall a, b: (Result a b).() => Maybe b\n */\n toMaybe: function toMaybe() {\n return require('../conversions/result-to-maybe')(this);\n }\n});\nprovideAliases(Error.prototype);\nprovideAliases(Ok.prototype);\nprovideAliases(Result);\nmodule.exports = Result;","// \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","'use strict';\n\nrequire(\"core-js/modules/es.array.reduce.js\");\n\nfunction _defineEnumerableProperties(obj, descs) {\n for (var key in descs) {\n var desc = descs[key];\n desc.configurable = desc.enumerable = true;\n if (\"value\" in desc) desc.writable = true;\n Object.defineProperty(obj, key, desc);\n }\n\n return obj;\n}\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//\n// This source file is part of the Folktale project.\n//\n// Licensed under MIT. See LICENCE for full licence information.\n// See CONTRIBUTORS for the list of contributors to the project.\n//\n//----------------------------------------------------------------------\n// --[ Dependencies ]---------------------------------------------------\n\n\nvar warnDeprecation = require('../../helpers/warn-deprecation');\n\nvar extend = require('../../helpers/extend');\n\nvar assertObject = require('../../helpers/assert-object'); // --[ Constants and Aliases ]------------------------------------------\n\n\nvar TYPE = Symbol.for('@@folktale:adt:type');\nvar TAG = Symbol.for('@@folktale:adt:tag');\nvar ANY = Symbol.for('@@folktale:adt:default');\nvar META = Symbol.for('@@meta:magical');\nvar keys = Object.keys; // --[ Helpers ]--------------------------------------------------------\n//\n// Returns an array of own enumerable values in an object.\n//\n\nfunction values(object) {\n return keys(object).map(function (key) {\n return object[key];\n });\n} //\n// Transforms own enumerable key/value pairs.\n//\n\n\nfunction mapObject(object, transform) {\n return keys(object).reduce(function (result, key) {\n result[key] = transform(key, object[key]);\n return result;\n }, {});\n} //\n// Gets a custom error message for the matchWith function.\n// \n\n\nfunction getMatchWithErrorMessage(method, property) {\n return 'Variant \"' + property + '\" not covered in pattern.\\nThis could mean you did not include all variants in your Union\\'s matchWith function.\\n\\nFor example, if you had this Union:\\n\\nconst Operation = union({\\n Add: (a, b) => ({ a, b }),\\n Subtract: (a, b) => ({ a, b }),\\n})\\n\\nBut wrote this matchWith:\\n\\nop.matchWith({\\n Add: ({ a, b }) => a + b\\n // Subtract not implemented!\\n})\\n\\nIt would throw this error because we need to check against \\'Subtract\\'. Check your matchWith function\\'s argument, \\nit\\'s possibly missing the \\'' + property + '\\' method in the object you\\'ve passed.';\n} // --[ Variant implementation ]-----------------------------------------\n//\n// Defines the variants given a set of patterns and an ADT namespace.\n//\n\n\nfunction defineVariants(typeId, patterns, adt) {\n return mapObject(patterns, function (name, constructor) {\n var _constructor, _ref, _extend, _mutatorMap, _tag, _type, _constructor2, _extend2, _mutatorMap2; // ---[ Variant Internals ]-----------------------------------------\n\n\n function InternalConstructor() {}\n\n InternalConstructor.prototype = Object.create(adt);\n extend(InternalConstructor.prototype, (_extend = {}, _defineProperty(_extend, TAG, name), _constructor = 'constructor', _mutatorMap = {}, _mutatorMap[_constructor] = _mutatorMap[_constructor] || {}, _mutatorMap[_constructor].get = function () {\n return InternalConstructor;\n }, _ref = 'is' + name, _mutatorMap[_ref] = _mutatorMap[_ref] || {}, _mutatorMap[_ref].get = function () {\n warnDeprecation('.is' + name + ' is deprecated. Use ' + name + '.hasInstance(value)\\ninstead to check if a value belongs to the ADT variant.');\n return true;\n }, _defineProperty(_extend, 'matchWith', function matchWith(pattern) {\n assertObject(typeId + '\\'s ' + name + '#matchWith', pattern);\n\n if (name in pattern) {\n return pattern[name](this);\n } else if (ANY in pattern) {\n return pattern[ANY]();\n } else {\n throw new Error(getMatchWithErrorMessage(pattern, name));\n }\n }), _defineEnumerableProperties(_extend, _mutatorMap), _extend));\n\n function makeInstance() {\n var result = new InternalConstructor(); // eslint-disable-line prefer-const\n\n extend(result, constructor.apply(undefined, arguments) || {});\n return result;\n }\n\n extend(makeInstance, (_extend2 = {}, _defineProperty(_extend2, META, constructor[META]), _tag = 'tag', _mutatorMap2 = {}, _mutatorMap2[_tag] = _mutatorMap2[_tag] || {}, _mutatorMap2[_tag].get = function () {\n return name;\n }, _type = 'type', _mutatorMap2[_type] = _mutatorMap2[_type] || {}, _mutatorMap2[_type].get = function () {\n return typeId;\n }, _constructor2 = 'constructor', _mutatorMap2[_constructor2] = _mutatorMap2[_constructor2] || {}, _mutatorMap2[_constructor2].get = function () {\n return InternalConstructor;\n }, _defineProperty(_extend2, 'prototype', InternalConstructor.prototype), _defineProperty(_extend2, 'hasInstance', function hasInstance(value) {\n return Boolean(value) && adt.hasInstance(value) && value[TAG] === name;\n }), _defineEnumerableProperties(_extend2, _mutatorMap2), _extend2));\n return makeInstance;\n });\n} // --[ ADT Implementation ]--------------------------------------------\n\n/*~\n * authors:\n * - Quildreen Motta\n * \n * stability: experimental\n * type: |\n * (String, Object (Array String)) => Union\n */\n\n\nvar union = function union(typeId, patterns) {\n var _extend3;\n\n var UnionNamespace = Object.create(Union);\n var variants = defineVariants(typeId, patterns, UnionNamespace);\n extend(UnionNamespace, variants, (_extend3 = {}, _defineProperty(_extend3, TYPE, typeId), _defineProperty(_extend3, 'variants', values(variants)), _defineProperty(_extend3, 'hasInstance', function hasInstance(value) {\n return Boolean(value) && value[TYPE] === this[TYPE];\n }), _extend3));\n return UnionNamespace;\n};\n/*~ ~belongsTo : union */\n\n\nvar Union = {\n /*~\n * type: |\n * Union . (...(Variant, Union) => Any) => Union\n */\n derive: function derive() {\n var _this = this;\n\n for (var _len = arguments.length, derivations = Array(_len), _key = 0; _key < _len; _key++) {\n derivations[_key] = arguments[_key];\n }\n\n derivations.forEach(function (derivation) {\n _this.variants.forEach(function (variant) {\n return derivation(variant, _this);\n });\n });\n return this;\n }\n}; // --[ Exports ]--------------------------------------------------------\n\nunion.Union = Union;\nunion.typeSymbol = TYPE;\nunion.tagSymbol = TAG;\nunion.any = ANY;\nmodule.exports = union;","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//\n// This source file is part of the Folktale project.\n//\n// Licensed under MIT. See LICENCE for full licence information.\n// See CONTRIBUTORS for the list of contributors to the project.\n//\n//----------------------------------------------------------------------\n\nrequire(\"core-js/modules/es.array.reduce.js\");\n\nvar aliases = {\n equals: {\n /*~\n * module: null\n * type: |\n * ('S 'a).('S 'a) => Boolean\n * where 'S is Setoid\n */\n 'fantasy-land/equals': function fantasyLandEquals(that) {\n return this.equals(that);\n }\n },\n concat: {\n /*~\n * module: null\n * type: |\n * ('S 'a).('S 'a) => 'S 'a\n * where 'S is Semigroup\n */\n 'fantasy-land/concat': function fantasyLandConcat(that) {\n return this.concat(that);\n }\n },\n empty: {\n /*~\n * module: null\n * type: |\n * ('M).() => 'M a\n * where 'M is Monoid\n */\n 'fantasy-land/empty': function fantasyLandEmpty() {\n return this.empty();\n }\n },\n map: {\n /*~\n * module: null\n * type: |\n * ('F 'a).(('a) => 'b) => 'F 'b\n * where 'F is Functor\n */\n 'fantasy-land/map': function fantasyLandMap(transformation) {\n return this.map(transformation);\n }\n },\n apply: {\n /*~\n * module: null\n * type: |\n * ('F ('a) => b).('F 'a) => 'F 'b\n * where 'F is Apply\n */\n ap: function ap(that) {\n return this.apply(that);\n },\n\n /*~\n * module: null\n * type: |\n * ('F 'a).('F ('a) => 'b) => 'F 'b\n * where 'F is Apply\n */\n 'fantasy-land/ap': function fantasyLandAp(that) {\n return that.apply(this);\n }\n },\n of: {\n /*~\n * module: null\n * type: |\n * forall F, a:\n * (F).(a) => F a\n * where F is Applicative\n */\n 'fantasy-land/of': function fantasyLandOf(value) {\n return this.of(value);\n }\n },\n or: {\n /*~\n * module: null\n * type: |\n * forall F, a:\n * (F a).(F a) => F a\n * where F is Functor, Alt\n */\n 'fantasy-land/alt': function fantasyLandAlt(value) {\n return this.or(value);\n },\n\n /*~\n * module: null\n * type: |\n * forall F, a:\n * (F a).(F a) => F a\n * where F is Functor, Alt\n */\n alt: function alt(value) {\n return this.or(value);\n }\n },\n reduce: {\n /*~\n * module: null\n * type: |\n * forall F, a, b:\n * (F a).((b, a) => b, b) => b\n * where F is Foldable\n */\n 'fantasy-land/reduce': function fantasyLandReduce(combinator, initial) {\n return this.reduce(combinator, initial);\n }\n },\n traverse: {\n /*~\n * module: null\n * type: |\n * forall F, T, a, b:\n * (T a).((a) => F b, (c) => F c) => F (T b)\n * where F is Apply, T is Traversable\n */\n 'fantasy-land/traverse': function fantasyLandTraverse(transformation, lift) {\n return this.traverse(transformation, lift);\n }\n },\n chain: {\n /*~\n * module: null\n * type: |\n * forall M, a, b:\n * (M a).((a) => M b) => M b\n * where M is Chain\n */\n 'fantasy-land/chain': function fantasyLandChain(transformation) {\n return this.chain(transformation);\n }\n },\n chainRecursively: {\n /*~\n * module: null\n * type: |\n * forall M, a, b, c:\n * (M).(\n * Step: ((a) => c, (b) => c, a) => M c,\n * Initial: a\n * ) => M b\n * where M is ChainRec\n */\n chainRec: function chainRec(step, initial) {\n return this.chainRecursively(step, initial);\n },\n\n /*~\n * module: null\n * type: |\n * forall M, a, b, c:\n * (M).(\n * Step: ((a) => c, (b) => c, a) => M c,\n * Initial: a\n * ) => M b\n * where M is ChainRec\n */\n 'fantasy-land/chainRec': function fantasyLandChainRec(step, initial) {\n return this.chainRecursively(step, initial);\n }\n },\n extend: {\n /*~\n * module: null\n * type: |\n * forall W, a, b:\n * (W a).((W a) => b) => W b\n * where W is Extend\n */\n 'fantasy-land/extend': function fantasyLandExtend(transformation) {\n return this.extend(transformation);\n }\n },\n extract: {\n /*~\n * module: null\n * type: |\n * forall W, a, b:\n * (W a).() => a\n * where W is Comonad\n */\n 'fantasy-land/extract': function fantasyLandExtract() {\n return this.extract();\n }\n },\n bimap: {\n /*~\n * module: null\n * type: |\n * forall F, a, b, c, d:\n * (F a b).((a) => c, (b) => d) => F c d\n * where F is Bifunctor\n */\n 'fantasy-land/bimap': function fantasyLandBimap(f, g) {\n return this.bimap(f, g);\n }\n },\n promap: {\n /*~\n * module: null\n * type: |\n * forall P, a, b, c, d:\n * (P a b).((c) => a, (b) => d) => P c d\n */\n 'fantasy-land/promap': function fantasyLandPromap(f, g) {\n return this.promap(f, g);\n }\n }\n};\n\nvar provideAliases = function provideAliases(structure) {\n Object.keys(aliases).forEach(function (method) {\n if (typeof structure[method] === 'function') {\n Object.keys(aliases[method]).forEach(function (alias) {\n structure[alias] = aliases[method][alias];\n });\n }\n });\n};\n\nmodule.exports = provideAliases;","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var _curry2 = require('./internal/_curry2');\n\nvar equals = require('./equals');\n\nvar take = require('./take');\n/**\n * Checks if a list starts with the provided values\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category List\n * @sig [a] -> Boolean\n * @sig String -> Boolean\n * @param {*} prefix\n * @param {*} list\n * @return {Boolean}\n * @example\n *\n * R.startsWith('a', 'abc') //=> true\n * R.startsWith('b', 'abc') //=> false\n * R.startsWith(['a'], ['a', 'b', 'c']) //=> true\n * R.startsWith(['b'], ['a', 'b', 'c']) //=> false\n */\n\n\nmodule.exports = _curry2(function (prefix, list) {\n return equals(take(prefix.length, list), prefix);\n});","module.exports = function _isObject(x) {\n return Object.prototype.toString.call(x) === '[object Object]';\n};","import \"core-js/modules/es.array.reduce.js\";\n\n/**\n * Cannot do Math.log(x) / Math.log(10) bc if IEEE floating point issue\n * @param x number\n */\nexport function getMagnitude(x) {\n // Cannot count string length via Number.toString because it may use scientific notation\n // for very small or very large numbers.\n return Math.floor(Math.log(x) * Math.LOG10E);\n}\nexport function repeat(s, times) {\n if (typeof s.repeat === 'function') {\n return s.repeat(times);\n }\n\n var arr = new Array(times);\n\n for (var i = 0; i < arr.length; i++) {\n arr[i] = s;\n }\n\n return arr.join('');\n}\nexport function setInternalSlot(map, pl, field, value) {\n if (!map.get(pl)) {\n map.set(pl, Object.create(null));\n }\n\n var slots = map.get(pl);\n slots[field] = value;\n}\nexport function setMultiInternalSlots(map, pl, props) {\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\n var k = _a[_i];\n setInternalSlot(map, pl, k, props[k]);\n }\n}\nexport function getInternalSlot(map, pl, field) {\n return getMultiInternalSlots(map, pl, field)[field];\n}\nexport function getMultiInternalSlots(map, pl) {\n var fields = [];\n\n for (var _i = 2; _i < arguments.length; _i++) {\n fields[_i - 2] = arguments[_i];\n }\n\n var slots = map.get(pl);\n\n if (!slots) {\n throw new TypeError(pl + \" InternalSlot has not been initialized\");\n }\n\n return fields.reduce(function (all, f) {\n all[f] = slots[f];\n return all;\n }, Object.create(null));\n}\nexport function isLiteralPart(patternPart) {\n return patternPart.type === 'literal';\n}\n/*\n 17 ECMAScript Standard Built-in Objects:\n Every built-in Function object, including constructors, that is not\n identified as an anonymous function has a name property whose value\n is a String.\n\n Unless otherwise specified, the name property of a built-in Function\n object, if it exists, has the attributes { [[Writable]]: false,\n [[Enumerable]]: false, [[Configurable]]: true }.\n*/\n\nexport function defineProperty(target, name, _a) {\n var value = _a.value;\n Object.defineProperty(target, name, {\n configurable: true,\n enumerable: false,\n writable: true,\n value: value\n });\n}\nexport var UNICODE_EXTENSION_SEQUENCE_REGEX = /-u(?:-[0-9a-z]{2,8})+/gi;\nexport function invariant(condition, message, Err) {\n if (Err === void 0) {\n Err = Error;\n }\n\n if (!condition) {\n throw new Err(message);\n }\n}","import React, { Component } from 'react'\nimport { Transition, TransitionGroup } from 'react-transition-group'\nimport { Location } from '@reach/router'\n\nimport TransitionRenderer from './TransitionRenderer'\nimport delayTransitionRender from './delayTransitionRender'\nimport { Consumer } from '../context/createTransitionContext'\nimport { onEnter } from '../functions/onEnter'\nimport { onExit } from '../functions/onExit'\nimport { getMs } from '../utils/secondsMs'\n\nimport '../style.css'\n\nconst DelayedTransition = delayTransitionRender(Transition)\nexport default class TransitionHandler extends Component {\n\trender() {\n\t\tconst { props } = this\n\t\tconst { children, injectPageProps = true } = props\n\n\t\treturn (\n\t\t\t\n\t\t\t\t{({\n\t\t\t\t\texitDelay,\n\t\t\t\t\texitLength,\n\t\t\t\t\texitState,\n\t\t\t\t\tentryDelay,\n\t\t\t\t\tentryLength,\n\t\t\t\t\tentryState,\n\t\t\t\t\tentryTrigger,\n\t\t\t\t\tentryProps,\n\t\t\t\t\texitTrigger,\n\t\t\t\t\texitProps,\n\t\t\t\t\tinTransition,\n\t\t\t\t\tupdateContext,\n\t\t\t\t\ttriggerResolve,\n\t\t\t\t\tappearAfter,\n\t\t\t\t\tpreventScrollJump,\n\t\t\t\t\thash,\n\t\t\t\t\te,\n\t\t\t\t}) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{({ location }) => {\n\t\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\t\taction,\n\t\t\t\t\t\t\t\t\tpathname,\n\t\t\t\t\t\t\t\t\tkey: locationKey,\n\t\t\t\t\t\t\t\t} = location\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t!!node &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t!window.__tl_back_button_pressed &&\n\t\t\t\t\t\t\t\t\t\t\t\t\tonEnter({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnode,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\taction,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinTransition,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tentryTrigger,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tentryProps,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\texitProps,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpathname,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tupdateContext,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttriggerResolve,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpreventScrollJump,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\thash,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlocationKey,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tappearAfter: getMs(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tappearAfter\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonExit={node =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t!!node &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t!window.__tl_back_button_pressed &&\n\t\t\t\t\t\t\t\t\t\t\t\t\tonExit({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnode,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinTransition,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\texitTrigger,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tentryProps,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\texitProps,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttriggerResolve,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\t}>\n\t\t\t\t\t\t\t\t\t\t\t\t{transitionStatus => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst mount =\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttransitionStatus ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'entering' ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttransitionStatus ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'entered'\n\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst states = {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tentry: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstate: entryState,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdelay: entryDelay,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlength: entryLength,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\texit: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstate: exitState,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdelay: exitDelay,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlength: exitLength,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst current = mount\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? states.entry\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: states.exit\n\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst transitionState = {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttransitionStatus,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrent,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmount,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...states,\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst exitZindex =\n\t\t\t\t\t\t\t\t\t\t\t\t\t\texitProps.zIndex || 0\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst entryZindex =\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tentryProps.zIndex || 1\n\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t
\n\t\t\t\t\t)\n\t\t\t\t}}\n\t\t\t
\n\t\t)\n\t}\n}\n","var _curry2 = require('./_curry2');\n\nvar _xfBase = require('./_xfBase');\n\nmodule.exports = function () {\n function XFilter(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n\n XFilter.prototype['@@transducer/init'] = _xfBase.init;\n XFilter.prototype['@@transducer/result'] = _xfBase.result;\n\n XFilter.prototype['@@transducer/step'] = function (result, input) {\n return this.f(input) ? this.xf['@@transducer/step'](result, input) : result;\n };\n\n return _curry2(function _xfilter(f, xf) {\n return new XFilter(f, xf);\n });\n}();","var _curry1 = require('./internal/_curry1');\n\nvar _has = require('./internal/_has');\n\nvar _isArguments = require('./internal/_isArguments');\n/**\n * Returns a list containing the names of all the enumerable own properties of\n * the supplied object.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> [k]\n * @param {Object} obj The object to extract properties from\n * @return {Array} An array of the object's own properties.\n * @see R.keysIn, R.values\n * @example\n *\n * R.keys({a: 1, b: 2, c: 3}); //=> ['a', 'b', 'c']\n */\n\n\nmodule.exports = function () {\n // cover IE < 9 keys issues\n var hasEnumBug = !{\n toString: null\n }.propertyIsEnumerable('toString');\n var nonEnumerableProps = ['constructor', 'valueOf', 'isPrototypeOf', 'toString', 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; // Safari bug\n\n var hasArgsEnumBug = function () {\n 'use strict';\n\n return arguments.propertyIsEnumerable('length');\n }();\n\n var contains = function contains(list, item) {\n var idx = 0;\n\n while (idx < list.length) {\n if (list[idx] === item) {\n return true;\n }\n\n idx += 1;\n }\n\n return false;\n };\n\n return typeof Object.keys === 'function' && !hasArgsEnumBug ? _curry1(function keys(obj) {\n return Object(obj) !== obj ? [] : Object.keys(obj);\n }) : _curry1(function keys(obj) {\n if (Object(obj) !== obj) {\n return [];\n }\n\n var prop, nIdx;\n var ks = [];\n\n var checkArgsLength = hasArgsEnumBug && _isArguments(obj);\n\n for (prop in obj) {\n if (_has(prop, obj) && (!checkArgsLength || prop !== 'length')) {\n ks[ks.length] = prop;\n }\n }\n\n if (hasEnumBug) {\n nIdx = nonEnumerableProps.length - 1;\n\n while (nIdx >= 0) {\n prop = nonEnumerableProps[nIdx];\n\n if (_has(prop, obj) && !contains(ks, prop)) {\n ks[ks.length] = prop;\n }\n\n nIdx -= 1;\n }\n }\n\n return ks;\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 $ = require('../internals/export');\nvar $trimStart = require('../internals/string-trim').start;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\nvar FORCED = forcedStringTrimMethod('trimStart');\n\nvar trimStart = FORCED ? function trimStart() {\n return $trimStart(this);\n// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe\n} : ''.trimStart;\n\n// `String.prototype.{ trimStart, trimLeft }` methods\n// https://tc39.es/ecma262/#sec-string.prototype.trimstart\n// https://tc39.es/ecma262/#String.prototype.trimleft\n$({ target: 'String', proto: true, forced: FORCED }, {\n trimStart: trimStart,\n trimLeft: trimStart\n});\n","var _arity = require('./internal/_arity');\n\nvar _curry2 = require('./internal/_curry2');\n/**\n * Creates a function that is bound to a context.\n * Note: `R.bind` does not provide the additional argument-binding capabilities of\n * [Function.prototype.bind](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind).\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Function\n * @category Object\n * @sig (* -> *) -> {*} -> (* -> *)\n * @param {Function} fn The function to bind to context\n * @param {Object} thisObj The context to bind `fn` to\n * @return {Function} A function that will execute in the context of `thisObj`.\n * @see R.partial\n * @example\n *\n * var log = R.bind(console.log, console);\n * R.pipe(R.assoc('a', 2), R.tap(log), R.assoc('a', 3))({a: 1}); //=> {a: 3}\n * // logs {a: 2}\n * @symb R.bind(f, o)(a, b) = f.call(o, a, b)\n */\n\n\nmodule.exports = _curry2(function bind(fn, thisObj) {\n return _arity(fn.length, function () {\n return fn.apply(thisObj, arguments);\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;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","\"use strict\";\n\nexports.__esModule = true;\nexports.getChildMapping = getChildMapping;\nexports.mergeChildMappings = mergeChildMappings;\nexports.getInitialChildMapping = getInitialChildMapping;\nexports.getNextChildMapping = getNextChildMapping;\n\nvar _react = require(\"react\");\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\n\n\nfunction getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && (0, _react.isValidElement)(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) _react.Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\n\nfunction mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nfunction getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return (0, _react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\n\nfunction getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!(0, _react.isValidElement)(child)) return;\n var hasPrev = (key in prevChildMapping);\n var hasNext = (key in nextChildMapping);\n var prevChild = prevChildMapping[key];\n var isLeaving = (0, _react.isValidElement)(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = (0, _react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = (0, _react.cloneElement)(child, {\n in: false\n });\n } else if (hasNext && hasPrev && (0, _react.isValidElement)(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = (0, _react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}","// shim for using process in browser\nvar process = module.exports = {}; // cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\n\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined');\n}\n\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n})();\n\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n } // if setTimeout wasn't available but was latter defined\n\n\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n}\n\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n } // if clearTimeout wasn't available but was latter defined\n\n\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n}\n\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n\n draining = false;\n\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n var len = queue.length;\n\n while (len) {\n currentQueue = queue;\n queue = [];\n\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n\n queueIndex = -1;\n len = queue.length;\n }\n\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n\n queue.push(new Item(fun, args));\n\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n}; // v8 likes predictible objects\n\n\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\n\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\n\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\n\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) {\n return [];\n};\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () {\n return '/';\n};\n\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\n\nprocess.umask = function () {\n return 0;\n};","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","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 };","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","var _isArray = require('./_isArray');\n\nvar _isTransformer = require('./_isTransformer');\n/**\n * Returns a function that dispatches with different strategies based on the\n * object in list position (last argument). If it is an array, executes [fn].\n * Otherwise, if it has a function with one of the given method names, it will\n * execute that function (functor case). Otherwise, if it is a transformer,\n * uses transducer [xf] to return a new transformer (transducer case).\n * Otherwise, it will default to executing [fn].\n *\n * @private\n * @param {Array} methodNames properties to check for a custom implementation\n * @param {Function} xf transducer to initialize if object is transformer\n * @param {Function} fn default ramda implementation\n * @return {Function} A function that dispatches on object in list position\n */\n\n\nmodule.exports = function _dispatchable(methodNames, xf, fn) {\n return function () {\n if (arguments.length === 0) {\n return fn();\n }\n\n var args = Array.prototype.slice.call(arguments, 0);\n var obj = args.pop();\n\n if (!_isArray(obj)) {\n var idx = 0;\n\n while (idx < methodNames.length) {\n if (typeof obj[methodNames[idx]] === 'function') {\n return obj[methodNames[idx]].apply(obj, args);\n }\n\n idx += 1;\n }\n\n if (_isTransformer(obj)) {\n var transducer = xf.apply(null, args);\n return transducer(obj);\n }\n }\n\n return fn.apply(this, arguments);\n };\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\n/**\n * Get a manifest filename depending on localized pathname\n *\n * @param {string} pathname\n * @param {Array<{start_url: string, lang: string}>} localizedManifests\n * @return string\n */\nvar _default = function _default(pathname, localizedManifests) {\n var defaultFilename = \"manifest.webmanifest\";\n\n if (!Array.isArray(localizedManifests)) {\n return defaultFilename;\n }\n\n var localizedManifest = localizedManifests.find(function (app) {\n return pathname.startsWith(app.start_url);\n });\n\n if (!localizedManifest) {\n return defaultFilename;\n }\n\n return \"manifest_\" + localizedManifest.lang + \".webmanifest\";\n};\n\nexports.default = _default;","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = function _isPlaceholder(a) {\n return a != null && typeof a === 'object' && a['@@functional/placeholder'] === true;\n};","module.exports = function _arity(n, fn) {\n /* eslint-disable no-unused-vars */\n switch (n) {\n case 0:\n return function () {\n return fn.apply(this, arguments);\n };\n\n case 1:\n return function (a0) {\n return fn.apply(this, arguments);\n };\n\n case 2:\n return function (a0, a1) {\n return fn.apply(this, arguments);\n };\n\n case 3:\n return function (a0, a1, a2) {\n return fn.apply(this, arguments);\n };\n\n case 4:\n return function (a0, a1, a2, a3) {\n return fn.apply(this, arguments);\n };\n\n case 5:\n return function (a0, a1, a2, a3, a4) {\n return fn.apply(this, arguments);\n };\n\n case 6:\n return function (a0, a1, a2, a3, a4, a5) {\n return fn.apply(this, arguments);\n };\n\n case 7:\n return function (a0, a1, a2, a3, a4, a5, a6) {\n return fn.apply(this, arguments);\n };\n\n case 8:\n return function (a0, a1, a2, a3, a4, a5, a6, a7) {\n return fn.apply(this, arguments);\n };\n\n case 9:\n return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {\n return fn.apply(this, arguments);\n };\n\n case 10:\n return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n return fn.apply(this, arguments);\n };\n\n default:\n throw new Error('First argument to _arity must be a non-negative integer no greater than ten');\n }\n};","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","module.exports = function _has(prop, obj) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n};","'use strict'; //----------------------------------------------------------------------\n//\n// This source file is part of the Folktale project.\n//\n// Licensed under MIT. See LICENCE for full licence information.\n// See CONTRIBUTORS for the list of contributors to the project.\n//\n//----------------------------------------------------------------------\n\n/*~\n * stability: experimental\n * name: module folktale/adt/union/derivations\n */\n\nmodule.exports = {\n serialization: require('./serialization'),\n equality: require('./equality'),\n debugRepresentation: require('./debug-representation')\n};","var userAgent = require('../internals/engine-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _isNil = require('ramda/src/isNil');\n\nvar _isNil2 = _interopRequireDefault(_isNil);\n\nvar _result = require('folktale/result');\n\nvar _result2 = _interopRequireDefault(_result);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n/**\n * Get .pagesPaths from pluginOptions\n * @sig Options -> Result String[]\n * @param {{pagesPaths: String[]}} options plugin options\n * @return {Result} pagesPaths Result\n */\n\n\nvar getPagesPaths = function getPagesPaths(options) {\n if ((0, _isNil2.default)(options)) {\n return _result2.default.Error('Null plugin options');\n }\n\n var pagesPaths = options.pagesPaths;\n\n if ((0, _isNil2.default)(pagesPaths)) {\n return _result2.default.Error('Null pluginOptions.pagesPaths');\n } // Should test if pagesPaths is an Array?\n // Should test if pagesPaths is empty?\n\n\n return _result2.default.Ok(pagesPaths);\n};\n\nexports.default = getPagesPaths;","'use strict';\n\nrequire(\"core-js/modules/es.array.reduce.js\");\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//\n// This source file is part of the Folktale project.\n//\n// Licensed under MIT. See LICENCE for full licence information.\n// See CONTRIBUTORS for the list of contributors to the project.\n//\n//----------------------------------------------------------------------\n// --[ Dependencies ]---------------------------------------------------\n\n\nvar _require = require('../union'),\n tagSymbol = _require.tagSymbol,\n typeSymbol = _require.typeSymbol;\n\nvar mapValues = require('../../../core/object/map-values');\n\nvar values = require('../../../core/object/values');\n\nvar extend = require('../../../helpers/extend'); // --[ Constants ]------------------------------------------------------\n\n\nvar typeJsonKey = '@@type';\nvar tagJsonKey = '@@tag';\nvar valueJsonKey = '@@value'; // --[ Helpers ]--------------------------------------------------------\n\n/*~\n * type: ((Object 'a) => 'b) => ([Object 'a]) => Object 'b \n */\n\nvar arrayToObject = function arrayToObject(extractKey) {\n return function (array) {\n return array.reduce(function (object, element) {\n object[extractKey(element)] = element;\n return object;\n }, {});\n };\n};\n/*~\n * type: (String) => (Object 'a) => 'a | None \n */\n\n\nvar property = function property(propertyName) {\n return function (object) {\n return object[propertyName];\n };\n};\n/*~\n * type: ([Object 'a]) => Object 'a \n */\n\n\nvar indexByType = arrayToObject(property(typeSymbol));\n/*~\n * type: (String, String) => Bool\n */\n\nvar assertType = function assertType(given, expected) {\n if (expected !== given) {\n throw new TypeError('\\n The JSON structure was generated from ' + expected + '.\\n You are trying to parse it as ' + given + '. \\n ');\n }\n};\n/*~\n * type: |\n * type JSONSerialisation = {\n * \"@@type\": String,\n * \"@@tag\": String,\n * \"@@value\": Object Any\n * }\n * type JSONParser = {\n * fromJSON: (JSONSerialisation, Array JSONParser) => Variant\n * }\n * \n * (Object JSONParser) => (JSONSerialisation) => Any\n */\n\n\nvar parseValue = function parseValue(parsers) {\n return function (value) {\n if (value !== null && typeof value[typeJsonKey] === 'string') {\n var type = value[typeJsonKey];\n\n if (parsers[type]) {\n return parsers[type].fromJSON(value, parsers, true);\n } else {\n return value;\n }\n } else {\n return value;\n }\n };\n};\n/*~\n * type: ('a) => JSON\n */\n\n\nvar serializeValue = function serializeValue(value) {\n return value === undefined ? null : value !== null && typeof value.toJSON === 'function' ? value.toJSON() :\n /* otherwise */\n value;\n}; // --[ Implementation ]-------------------------------------------------\n\n/*~\n * stability: experimental\n * authors:\n * - \"@boris-marinov\"\n * \n * type: |\n * (Variant, ADT) => Void \n */\n\n\nvar serialization = function serialization(variant, adt) {\n var typeName = adt[typeSymbol];\n var tagName = variant.prototype[tagSymbol];\n /*~\n * stability: experimental\n * module: null\n * authors:\n * - \"@boris-marinov\"\n * \n * type: |\n * type JSONSerialisation = {\n * \"@@type\": String,\n * \"@@tag\": String,\n * \"@@value\": Object Any\n * }\n * \n * Variant . () => JSONSerialisation\n */\n\n variant.prototype.toJSON = function () {\n var _ref;\n\n return _ref = {}, _defineProperty(_ref, typeJsonKey, typeName), _defineProperty(_ref, tagJsonKey, tagName), _defineProperty(_ref, valueJsonKey, mapValues(this, serializeValue)), _ref;\n };\n /*~\n * stability: experimental\n * module: null\n * authors:\n * - \"@boris-marinov\"\n * \n * type: |\n * type JSONSerialisation = {\n * \"@@type\": String,\n * \"@@tag\": String,\n * \"@@value\": Object Any\n * }\n * type JSONParser = {\n * fromJSON: (JSONSerialisation, Array JSONParser) => Variant\n * }\n * \n * (JSONSerialisation, Array JSONParser) => Variant\n */\n\n\n adt.fromJSON = function (value) {\n var parsers = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _defineProperty({}, typeName, adt);\n var keysIndicateType = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var valueTypeName = value[typeJsonKey];\n var valueTagName = value[tagJsonKey];\n var valueContents = value[valueJsonKey];\n assertType(typeName, valueTypeName);\n var parsersByType = keysIndicateType ? parsers :\n /*otherwise*/\n indexByType(values(parsers));\n var parsedValue = mapValues(valueContents, parseValue(parsersByType));\n return extend(Object.create(adt[valueTagName].prototype), parsedValue);\n };\n}; // --[ Exports ]--------------------------------------------------------\n\n\nmodule.exports = serialization;","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}\n\nmodule.exports = _nonIterableSpread;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","import { __extends } from \"tslib\";\nexport var ErrorCode;\n\n(function (ErrorCode) {\n // When we have a placeholder but no value to format\n ErrorCode[\"MISSING_VALUE\"] = \"MISSING_VALUE\"; // When value supplied is invalid\n\n ErrorCode[\"INVALID_VALUE\"] = \"INVALID_VALUE\"; // When we need specific Intl API but it's not available\n\n ErrorCode[\"MISSING_INTL_API\"] = \"MISSING_INTL_API\";\n})(ErrorCode || (ErrorCode = {}));\n\nvar FormatError = function (_super) {\n __extends(FormatError, _super);\n\n function FormatError(msg, code, originalMessage) {\n var _this = _super.call(this, msg) || this;\n\n _this.code = code;\n _this.originalMessage = originalMessage;\n return _this;\n }\n\n FormatError.prototype.toString = function () {\n return \"[formatjs Error: \" + this.code + \"] \" + this.message;\n };\n\n return FormatError;\n}(Error);\n\nexport { FormatError };\n\nvar InvalidValueError = function (_super) {\n __extends(InvalidValueError, _super);\n\n function InvalidValueError(variableId, value, options, originalMessage) {\n return _super.call(this, \"Invalid values for \\\"\" + variableId + \"\\\": \\\"\" + value + \"\\\". Options are \\\"\" + Object.keys(options).join('\", \"') + \"\\\"\", ErrorCode.INVALID_VALUE, originalMessage) || this;\n }\n\n return InvalidValueError;\n}(FormatError);\n\nexport { InvalidValueError };\n\nvar InvalidValueTypeError = function (_super) {\n __extends(InvalidValueTypeError, _super);\n\n function InvalidValueTypeError(value, type, originalMessage) {\n return _super.call(this, \"Value for \\\"\" + value + \"\\\" must be of type \" + type, ErrorCode.INVALID_VALUE, originalMessage) || this;\n }\n\n return InvalidValueTypeError;\n}(FormatError);\n\nexport { InvalidValueTypeError };\n\nvar MissingValueError = function (_super) {\n __extends(MissingValueError, _super);\n\n function MissingValueError(variableId, originalMessage) {\n return _super.call(this, \"The intl string context variable \\\"\" + variableId + \"\\\" was not provided to the string \\\"\" + originalMessage + \"\\\"\", ErrorCode.MISSING_VALUE, originalMessage) || this;\n }\n\n return MissingValueError;\n}(FormatError);\n\nexport { MissingValueError };","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\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * Get browser language.\n *\n * @return {String} langKey\n */\n\nvar getBrowserLanguage = function getBrowserLanguage() {\n if (typeof window === 'undefined') {\n return null;\n }\n\n var first = window.navigator.languages ? window.navigator.languages[0] : null;\n var lang = first || window.navigator.language || window.navigator.browserLanguage || window.navigator.userLanguage;\n return lang;\n};\n\nexports.default = getBrowserLanguage;","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 // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var _curry1 = require('./_curry1');\n\nvar _curry2 = require('./_curry2');\n\nvar _isPlaceholder = require('./_isPlaceholder');\n/**\n * Optimized internal three-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\n\nmodule.exports = function _curry3(fn) {\n return function f3(a, b, c) {\n switch (arguments.length) {\n case 0:\n return f3;\n\n case 1:\n return _isPlaceholder(a) ? f3 : _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n });\n\n case 2:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f3 : _isPlaceholder(a) ? _curry2(function (_a, _c) {\n return fn(_a, b, _c);\n }) : _isPlaceholder(b) ? _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n }) : _curry1(function (_c) {\n return fn(a, b, _c);\n });\n\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) && _isPlaceholder(c) ? f3 : _isPlaceholder(a) && _isPlaceholder(b) ? _curry2(function (_a, _b) {\n return fn(_a, _b, c);\n }) : _isPlaceholder(a) && _isPlaceholder(c) ? _curry2(function (_a, _c) {\n return fn(_a, b, _c);\n }) : _isPlaceholder(b) && _isPlaceholder(c) ? _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n }) : _isPlaceholder(a) ? _curry1(function (_a) {\n return fn(_a, b, c);\n }) : _isPlaceholder(b) ? _curry1(function (_b) {\n return fn(a, _b, c);\n }) : _isPlaceholder(c) ? _curry1(function (_c) {\n return fn(a, b, _c);\n }) : fn(a, b, c);\n }\n };\n};","import { createContext } from 'react'\n\nconst Context = createContext()\nconst { Provider, Consumer } = Context\n\nconst publicContext = createContext()\nconst { Provider: PublicProvider, Consumer: PublicConsumer } = publicContext\n\nexport {\n\tProvider,\n\tConsumer,\n\tContext,\n\tPublicProvider,\n\tPublicConsumer,\n\tpublicContext,\n}\n","const onExit = ({\n\tnode,\n\tinTransition,\n\texitTrigger,\n\tentryProps,\n\texitProps,\n\ttriggerResolve,\n\te,\n}) => {\n\tif (!inTransition) return\n\n\tconst { trigger: removed, ...exitPropsTrimmed } = exitProps\n\n\ttriggerResolve.exit({\n\t\t...exitPropsTrimmed,\n\t\tnode,\n\t})\n\n\treturn (\n\t\texitTrigger &&\n\t\ttypeof exitTrigger === 'function' &&\n\t\texitTrigger({\n\t\t\tentry: entryProps,\n\t\t\texit: exitProps,\n\t\t\tnode,\n\t\t\te,\n\t\t})\n\t)\n}\n\nexport { onExit }\n","'use strict'; //----------------------------------------------------------------------\n//\n// This source file is part of the Folktale project.\n//\n// Licensed under MIT. See LICENCE for full licence information.\n// See CONTRIBUTORS for the list of contributors to the project.\n//\n//----------------------------------------------------------------------\n\nvar assertType = require('../helpers/assert-type');\n\nvar assertFunction = require('../helpers/assert-function');\n\nvar _require = require('../adt/union'),\n union = _require.union,\n derivations = _require.derivations;\n\nvar provideAliases = require('../helpers/provide-fantasy-land-aliases');\n\nvar adtMethods = require('../helpers/define-adt-methods');\n\nvar extend = require('../helpers/extend');\n\nvar warnDeprecation = require('../helpers/warn-deprecation');\n\nvar equality = derivations.equality,\n debugRepresentation = derivations.debugRepresentation,\n serialization = derivations.serialization;\n/*~ stability: stable */\n\nvar Validation = union('folktale:Validation', {\n /*~\n * type: |\n * forall a, b: (a) => Validation a b\n */\n Failure: function Failure(value) {\n return {\n value: value\n };\n },\n\n /*~\n * type: |\n * forall a, b: (b) => Validation a b\n */\n Success: function Success(value) {\n return {\n value: value\n };\n }\n}).derive(equality, debugRepresentation, serialization);\nvar Success = Validation.Success,\n Failure = Validation.Failure;\nvar assertValidation = assertType(Validation);\nextend(Failure.prototype, {\n /*~\n * isRequired: true\n * type: |\n * forall a, b: get (Validation a b) => a\n */\n get value() {\n throw new TypeError('`value` can’t be accessed in an abstract instance of Validation.Failure');\n }\n\n});\nextend(Success.prototype, {\n /*~\n * isRequired: true\n * type: |\n * forall a, b: get (Validation a b) => b\n */\n get value() {\n throw new TypeError('`value` can’t be accessed in an abstract instance of Validation.Success');\n }\n\n});\n/*~~belongsTo: Validation */\n\nadtMethods(Validation, {\n /*~\n * type: |\n * forall a, b, c: (Validation a b).((b) => c) => Validation a c\n */\n map: {\n /*~*/\n Failure: function map(transformation) {\n assertFunction('Validation.Failure#map', transformation);\n return this;\n },\n\n /*~*/\n Success: function map(transformation) {\n assertFunction('Validation.Success#map', transformation);\n return Success(transformation(this.value));\n }\n },\n\n /*~\n * type: |\n * forall a, b, c: (Validation (b) => c).(Validation a b) => Validation a c\n */\n apply: {\n /*~*/\n Failure: function apply(aValidation) {\n assertValidation('Failure#apply', aValidation);\n return Failure.hasInstance(aValidation) ? Failure(this.value.concat(aValidation.value)) :\n /* otherwise */\n this;\n },\n\n /*~*/\n Success: function apply(aValidation) {\n assertValidation('Success#apply', aValidation);\n return Failure.hasInstance(aValidation) ? aValidation :\n /* otherwise */\n aValidation.map(this.value);\n }\n },\n\n /*~\n * type: |\n * forall a, b: (Validation a b).() => b :: throws TypeError\n */\n unsafeGet: {\n /*~*/\n Failure: function unsafeGet() {\n throw new TypeError('Can\\'t extract the value of a Failure.\\n\\n Failure does not contain a normal value - it contains an error.\\n You might consider switching from Validation#get to Validation#getOrElse, or some other method\\n that is not partial.\\n ');\n },\n\n /*~*/\n Success: function unsafeGet() {\n return this.value;\n }\n },\n\n /*~\n * type: |\n * forall a, b: (Validation a b).(b) => b\n */\n getOrElse: {\n /*~*/\n Failure: function getOrElse(_default) {\n return _default;\n },\n\n /*~*/\n Success: function getOrElse(_default) {\n return this.value;\n }\n },\n\n /*~\n * type: |\n * forall a, b, c:\n * (Validation a b).((a) => Validation c b) => Validation c b\n */\n orElse: {\n /*~*/\n Failure: function orElse(handler) {\n assertFunction('Validation.Failure#orElse', handler);\n return handler(this.value);\n },\n\n /*~*/\n Success: function orElse(handler) {\n assertFunction('Validation.Success#orElse', handler);\n return this;\n }\n },\n\n /*~\n * type: |\n * forall a, b:\n * (Validation a b).(Validation a b) => Validation a b\n * where a is Semigroup\n */\n concat: {\n /*~*/\n Failure: function concat(aValidation) {\n assertValidation('Validation.Failure#concat', aValidation);\n\n if (Failure.hasInstance(aValidation)) {\n return Failure(this.value.concat(aValidation.value));\n } else {\n return this;\n }\n },\n\n /*~*/\n Success: function concat(aValidation) {\n assertValidation('Validation.Success#concat', aValidation);\n return aValidation;\n }\n },\n\n /*~\n * type: |\n * forall a, b, c:\n * (Validation a b).((a) => c, (b) => c) => c\n */\n fold: {\n /*~*/\n Failure: function fold(failureTransformation, successTransformation) {\n assertFunction('Validation.Failure#fold', failureTransformation);\n assertFunction('Validation.Failure#fold', successTransformation);\n return failureTransformation(this.value);\n },\n\n /*~*/\n Success: function fold(failureTransformation, successTransformation) {\n assertFunction('Validation.Success#fold', failureTransformation);\n assertFunction('Validation.Success#fold', successTransformation);\n return successTransformation(this.value);\n }\n },\n\n /*~\n * type: |\n * forall a, b: (Validation a b).() => Validation b a\n */\n swap: {\n /*~*/\n Failure: function swap() {\n return Success(this.value);\n },\n\n /*~*/\n Success: function swap() {\n return Failure(this.value);\n }\n },\n\n /*~\n * type: |\n * forall a, b, c, d:\n * (Validation a b).((a) => c, (b) => d) => Validation c d\n */\n bimap: {\n /*~*/\n Failure: function bimap(failureTransformation, successTransformation) {\n assertFunction('Validation.Failure#fold', failureTransformation);\n assertFunction('Validation.Failure#fold', successTransformation);\n return Failure(failureTransformation(this.value));\n },\n\n /*~*/\n Success: function bimap(failureTransformation, successTransformation) {\n assertFunction('Validation.Success#fold', failureTransformation);\n assertFunction('Validation.Success#fold', successTransformation);\n return Success(successTransformation(this.value));\n }\n },\n\n /*~\n * type: |\n * forall a, b, c:\n * (Validation a b).((a) => c) Validation c b\n */\n mapFailure: {\n /*~*/\n Failure: function mapFailure(transformation) {\n assertFunction('Validation.Failure#mapFailure', transformation);\n return Failure(transformation(this.value));\n },\n\n /*~*/\n Success: function mapFailure(transformation) {\n assertFunction('Validation.Failure#mapFailure', transformation);\n return this;\n }\n }\n});\nObject.assign(Validation, {\n /*~\n * type: |\n * forall a, b: (b) => Validation a b\n */\n of: function of(value) {\n return Success(value);\n },\n\n /*~\n * type: |\n * forall a, b: (Validation a b).() => b :: throws TypeError\n */\n 'get': function get() {\n warnDeprecation('`.get()` is deprecated, and has been renamed to `.unsafeGet()`.');\n return this.unsafeGet();\n },\n\n /*~\n * type: |\n * forall a, b: (Validation a b).() => a or b\n */\n merge: function merge() {\n return this.value;\n },\n\n /*~\n * type: |\n * forall a, b: (Validation a b).() => Result a b\n */\n toResult: function toResult() {\n return require('../conversions/validation-to-result')(this);\n },\n\n /*~\n * type: |\n * forall a, b: (Validation a b).() => Maybe b\n */\n toMaybe: function toMaybe() {\n return require('../conversions/validation-to-maybe')(this);\n }\n});\nprovideAliases(Success.prototype);\nprovideAliases(Failure.prototype);\nprovideAliases(Validation);\nmodule.exports = Validation;","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduce');\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 || CHROME_BUG }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","\"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};","import { __extends } from \"tslib\";\nexport var IntlErrorCode;\n\n(function (IntlErrorCode) {\n IntlErrorCode[\"FORMAT_ERROR\"] = \"FORMAT_ERROR\";\n IntlErrorCode[\"UNSUPPORTED_FORMATTER\"] = \"UNSUPPORTED_FORMATTER\";\n IntlErrorCode[\"INVALID_CONFIG\"] = \"INVALID_CONFIG\";\n IntlErrorCode[\"MISSING_DATA\"] = \"MISSING_DATA\";\n IntlErrorCode[\"MISSING_TRANSLATION\"] = \"MISSING_TRANSLATION\";\n})(IntlErrorCode || (IntlErrorCode = {}));\n\nvar IntlError = function (_super) {\n __extends(IntlError, _super);\n\n function IntlError(code, message, exception) {\n var _this = _super.call(this, \"[@formatjs/intl Error \" + code + \"] \" + message + \" \\n\" + (exception ? \"\\n\" + exception.message + \"\\n\" + exception.stack : '')) || this;\n\n _this.code = code;\n\n if (typeof Error.captureStackTrace === 'function') {\n Error.captureStackTrace(_this, IntlError);\n }\n\n return _this;\n }\n\n return IntlError;\n}(Error);\n\nexport { IntlError };\n\nvar UnsupportedFormatterError = function (_super) {\n __extends(UnsupportedFormatterError, _super);\n\n function UnsupportedFormatterError(message, exception) {\n return _super.call(this, IntlErrorCode.UNSUPPORTED_FORMATTER, message, exception) || this;\n }\n\n return UnsupportedFormatterError;\n}(IntlError);\n\nexport { UnsupportedFormatterError };\n\nvar InvalidConfigError = function (_super) {\n __extends(InvalidConfigError, _super);\n\n function InvalidConfigError(message, exception) {\n return _super.call(this, IntlErrorCode.INVALID_CONFIG, message, exception) || this;\n }\n\n return InvalidConfigError;\n}(IntlError);\n\nexport { InvalidConfigError };\n\nvar MissingDataError = function (_super) {\n __extends(MissingDataError, _super);\n\n function MissingDataError(message, exception) {\n return _super.call(this, IntlErrorCode.MISSING_DATA, message, exception) || this;\n }\n\n return MissingDataError;\n}(IntlError);\n\nexport { MissingDataError };\n\nvar MessageFormatError = function (_super) {\n __extends(MessageFormatError, _super);\n\n function MessageFormatError(message, locale, descriptor, exception) {\n var _this = _super.call(this, IntlErrorCode.FORMAT_ERROR, message + \" \\nLocale: \" + locale + \"\\nMessageID: \" + (descriptor === null || descriptor === void 0 ? void 0 : descriptor.id) + \"\\nDefault Message: \" + (descriptor === null || descriptor === void 0 ? void 0 : descriptor.defaultMessage) + \"\\nDescription: \" + (descriptor === null || descriptor === void 0 ? void 0 : descriptor.description) + \" \\n\", exception) || this;\n\n _this.descriptor = descriptor;\n return _this;\n }\n\n return MessageFormatError;\n}(IntlError);\n\nexport { MessageFormatError };\n\nvar MissingTranslationError = function (_super) {\n __extends(MissingTranslationError, _super);\n\n function MissingTranslationError(descriptor, locale) {\n var _this = _super.call(this, IntlErrorCode.MISSING_TRANSLATION, \"Missing message: \\\"\" + descriptor.id + \"\\\" for locale \\\"\" + locale + \"\\\", using \" + (descriptor.defaultMessage ? 'default message' : 'id') + \" as fallback.\") || this;\n\n _this.descriptor = descriptor;\n return _this;\n }\n\n return MissingTranslationError;\n}(IntlError);\n\nexport { MissingTranslationError };","var _curry2 = require('./internal/_curry2');\n\nvar _dispatchable = require('./internal/_dispatchable');\n\nvar _xdrop = require('./internal/_xdrop');\n\nvar slice = require('./slice');\n/**\n * Returns all but the first `n` elements of the given list, string, or\n * transducer/transformer (or object with a `drop` method).\n *\n * Dispatches to the `drop` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Number -> [a] -> [a]\n * @sig Number -> String -> String\n * @param {Number} n\n * @param {*} list\n * @return {*} A copy of list without the first `n` elements\n * @see R.take, R.transduce, R.dropLast, R.dropWhile\n * @example\n *\n * R.drop(1, ['foo', 'bar', 'baz']); //=> ['bar', 'baz']\n * R.drop(2, ['foo', 'bar', 'baz']); //=> ['baz']\n * R.drop(3, ['foo', 'bar', 'baz']); //=> []\n * R.drop(4, ['foo', 'bar', 'baz']); //=> []\n * R.drop(3, 'ramda'); //=> 'da'\n */\n\n\nmodule.exports = _curry2(_dispatchable(['drop'], _xdrop, function drop(n, xs) {\n return slice(Math.max(0, n), Infinity, xs);\n}));","module.exports = function _isString(x) {\n return Object.prototype.toString.call(x) === '[object String]';\n};","'use strict'; //----------------------------------------------------------------------\n//\n// This source file is part of the Folktale project.\n//\n// Licensed under MIT. See LICENCE for full licence information.\n// See CONTRIBUTORS for the list of contributors to the project.\n//\n//----------------------------------------------------------------------\n\nvar keys = Object.keys;\nvar symbols = Object.getOwnPropertySymbols;\nvar defineProperty = Object.defineProperty;\nvar property = Object.getOwnPropertyDescriptor;\n/*\n * Extends an objects with own enumerable key/value pairs from other sources.\n *\n * This is used to define objects for the ADTs througout this file, and there\n * are some important differences from Object.assign:\n *\n * - This code is only concerned with own enumerable property *names*.\n * - Additionally this code copies all own symbols (important for tags).\n *\n * When copying, this function copies **whole property descriptors**, which\n * means getters/setters are not executed during the copying. The only\n * exception is when the property name is `prototype`, which is not\n * configurable in functions by default.\n *\n * This code only special cases `prototype` because any other non-configurable\n * property is considered an error, and should crash the program so it can be\n * fixed.\n */\n\nfunction extend(target) {\n for (var _len = arguments.length, sources = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n sources[_key - 1] = arguments[_key];\n }\n\n sources.forEach(function (source) {\n keys(source).forEach(function (key) {\n if (key === 'prototype') {\n target[key] = source[key];\n } else {\n defineProperty(target, key, property(source, key));\n }\n });\n symbols(source).forEach(function (symbol) {\n defineProperty(target, symbol, property(source, symbol));\n });\n });\n return target;\n}\n\nmodule.exports = extend;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _curry = require('ramda/src/curry');\n\nvar _curry2 = _interopRequireDefault(_curry);\n\nvar _getValidLangKey = require('./getValidLangKey');\n\nvar _getValidLangKey2 = _interopRequireDefault(_getValidLangKey);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n/**\n * Get current language key from url.\n * @func\n * @param {[String]} langs allowed lang keys ['en', 'fr', 'pt']\n * @param {String} defaultLangKey default browser language key\n * @param {String} url browser url\n * @returns {String} current langKey\n */\n\n\nvar getCurrentLangKey = (0, _curry2.default)(function (langs, defaultLangKey, url) {\n var langKey = url.split('/')[1];\n return (0, _getValidLangKey2.default)(langs, defaultLangKey, langKey);\n});\nexports.default = getCurrentLangKey;","'use strict';\n\nvar _module$exports;\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//\n// This source file is part of the Folktale project.\n//\n// Licensed under MIT. See LICENCE for full licence information.\n// See CONTRIBUTORS for the list of contributors to the project.\n//\n//----------------------------------------------------------------------\n\n\nvar Result = require('./result');\n\nvar _require = require('../adt/union/union'),\n typeSymbol = _require.typeSymbol;\n/*~\n * stability: stable\n * name: module folktale/result\n */\n\n\nmodule.exports = (_module$exports = {\n Error: Result.Error,\n Ok: Result.Ok,\n hasInstance: Result.hasInstance,\n of: Result.of,\n fromJSON: Result.fromJSON\n}, _defineProperty(_module$exports, typeSymbol, Result[typeSymbol]), _defineProperty(_module$exports, 'try', require('./try')), _defineProperty(_module$exports, 'fromNullable', function fromNullable(aNullable, fallbackValue) {\n var nullableToResult = require('../conversions/nullable-to-result');\n\n if (arguments.length > 1) {\n // eslint-disable-line prefer-rest-params \n return nullableToResult(aNullable, fallbackValue);\n } else {\n return nullableToResult(aNullable);\n }\n}), _defineProperty(_module$exports, 'fromValidation', function fromValidation(aValidation) {\n return require('../conversions/validation-to-result')(aValidation);\n}), _defineProperty(_module$exports, 'fromMaybe', function fromMaybe(aMaybe, failureValue) {\n return require('../conversions/maybe-to-result')(aMaybe, failureValue);\n}), _module$exports);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.INVALID_HASH = exports.IMPROPPER_FORMATTING = void 0;\nvar IMPROPPER_FORMATTING = 'Anchor path should contain an absolute root path `/` and selector `#` Ex: `/about#team`';\nexports.IMPROPPER_FORMATTING = IMPROPPER_FORMATTING;\nvar INVALID_HASH = 'Anchor Links plugin attempted to scroll to an invalid hash on route change.';\nexports.INVALID_HASH = INVALID_HASH;","import './src/styles/global.css';\n/**\n * Implement Gatsby's Browser APIs in this file.\n *\n * See: https://www.gatsbyjs.com/docs/browser-apis/\n */\n\n// You can delete this file if you're not using it\n","'use strict'; //----------------------------------------------------------------------\n//\n// This source file is part of the Folktale project.\n//\n// Licensed under MIT. See LICENCE for full licence information.\n// See CONTRIBUTORS for the list of contributors to the project.\n//\n//----------------------------------------------------------------------\n\nvar BLAME_FUNCTION_INDEX = 3; // [current, parent, *error*, caller to blame, …]\n\nfunction warnDeprecation(reason) {\n // eslint-disable-line max-statements\n if (process.env.FOLKTALE_ASSERTIONS !== 'none') {\n var stack = new Error('').stack;\n var offender = void 0;\n\n if (stack) {\n var lines = stack.split('\\n');\n offender = lines[BLAME_FUNCTION_INDEX];\n }\n\n if (offender) {\n console.warn(reason + '\\n Blame: ' + offender.trim());\n } else {\n console.warn(reason);\n }\n }\n}\n\nmodule.exports = warnDeprecation;","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","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nexports.__esModule = true;\nexports.default = Wrapper;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _sal = _interopRequireDefault(require(\"sal.js\"));\n\nfunction Wrapper(_ref) {\n var children = _ref.children,\n path = _ref.path,\n options = _ref.options;\n (0, _react.useEffect)(function () {\n (0, _sal.default)(options);\n }, [path]);\n return children;\n}","'use strict';\nvar $ = require('../internals/export');\nvar $trimEnd = require('../internals/string-trim').end;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\nvar FORCED = forcedStringTrimMethod('trimEnd');\n\nvar trimEnd = FORCED ? function trimEnd() {\n return $trimEnd(this);\n// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe\n} : ''.trimEnd;\n\n// `String.prototype.{ trimEnd, trimRight }` methods\n// https://tc39.es/ecma262/#sec-string.prototype.trimend\n// https://tc39.es/ecma262/#String.prototype.trimright\n$({ target: 'String', proto: true, forced: FORCED }, {\n trimEnd: trimEnd,\n trimRight: trimEnd\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","export default function getPagesPromises() {\n\tlet exitResolve\n\tconst exitPromise = new Promise(resolve => {\n\t\texitResolve = resolve\n\t})\n\n\tlet entryResolve\n\tconst entryPromise = new Promise(resolve => {\n\t\tentryResolve = resolve\n\t})\n\n\treturn {\n\t\ttriggerResolve: {\n\t\t\tentry: entryResolve,\n\t\t\texit: exitResolve,\n\t\t},\n\t\tpages: {\n\t\t\texit: exitPromise,\n\t\t\tentry: entryPromise,\n\t\t},\n\t}\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 _curry1 = require('./internal/_curry1');\n\nvar empty = require('./empty');\n\nvar equals = require('./equals');\n/**\n * Returns `true` if the given value is its type's empty value; `false`\n * otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Logic\n * @sig a -> Boolean\n * @param {*} x\n * @return {Boolean}\n * @see R.empty\n * @example\n *\n * R.isEmpty([1, 2, 3]); //=> false\n * R.isEmpty([]); //=> true\n * R.isEmpty(''); //=> true\n * R.isEmpty(null); //=> false\n * R.isEmpty({}); //=> true\n * R.isEmpty({length: 0}); //=> false\n */\n\n\nmodule.exports = _curry1(function isEmpty(x) {\n return x != null && equals(x, empty(x));\n});","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\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\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict'; //----------------------------------------------------------------------\n//\n// This source file is part of the Folktale project.\n//\n// Licensed under MIT. See LICENCE for full licence information.\n// See CONTRIBUTORS for the list of contributors to the project.\n//\n//----------------------------------------------------------------------\n\nvar _require = require('../maybe/maybe'),\n Just = _require.Just,\n Nothing = _require.Nothing;\n/*~\n * stability: stable\n * authors: \n * - \"@boris-marinov\"\n * \n * type: |\n * forall a, b:\n * (Validation a b) => Maybe b\n */\n\n\nvar validationToMaybe = function validationToMaybe(aValidation) {\n return aValidation.matchWith({\n Failure: function Failure() {\n return Nothing();\n },\n Success: function Success(_ref) {\n var value = _ref.value;\n return Just(value);\n }\n });\n};\n\nmodule.exports = validationToMaybe;","var Tween = require('./tween');\n\nvar raf = require('raf');\n\nfunction scroll() {\n var y = window.pageYOffset || document.documentElement.scrollTop;\n var x = window.pageXOffset || document.documentElement.scrollLeft;\n return {\n top: y,\n left: x\n };\n}\n\nfunction scrollTo(x, y, options) {\n options = options || {}; // start position\n\n var start = scroll(); // setup tween\n\n var tween = Tween(start).ease(options.ease || 'out-circ').to({\n top: y,\n left: x\n }).duration(options.duration || 1000); // scroll\n\n tween.update(function (o) {\n window.scrollTo(o.left | 0, o.top | 0);\n }); // handle end\n\n tween.on('end', function () {\n animate = function animate() {};\n }); // animate\n\n function animate() {\n raf(animate);\n tween.update();\n }\n\n animate();\n return tween;\n}\n\nmodule.exports = scrollTo;","var anObject = require('../internals/an-object');\n\nmodule.exports = function (iterator) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) {\n return anObject(returnMethod.call(iterator)).value;\n }\n};\n","export var ErrorKind;\n\n(function (ErrorKind) {\n /** Argument is unclosed (e.g. `{0`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_CLOSING_BRACE\"] = 1] = \"EXPECT_ARGUMENT_CLOSING_BRACE\";\n /** Argument is empty (e.g. `{}`). */\n\n ErrorKind[ErrorKind[\"EMPTY_ARGUMENT\"] = 2] = \"EMPTY_ARGUMENT\";\n /** Argument is malformed (e.g. `{foo!}``) */\n\n ErrorKind[ErrorKind[\"MALFORMED_ARGUMENT\"] = 3] = \"MALFORMED_ARGUMENT\";\n /** Expect an argument type (e.g. `{foo,}`) */\n\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_TYPE\"] = 4] = \"EXPECT_ARGUMENT_TYPE\";\n /** Unsupported argument type (e.g. `{foo,foo}`) */\n\n ErrorKind[ErrorKind[\"INVALID_ARGUMENT_TYPE\"] = 5] = \"INVALID_ARGUMENT_TYPE\";\n /** Expect an argument style (e.g. `{foo, number, }`) */\n\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_STYLE\"] = 6] = \"EXPECT_ARGUMENT_STYLE\";\n /** The number skeleton is invalid. */\n\n ErrorKind[ErrorKind[\"INVALID_NUMBER_SKELETON\"] = 7] = \"INVALID_NUMBER_SKELETON\";\n /** The date time skeleton is invalid. */\n\n ErrorKind[ErrorKind[\"INVALID_DATE_TIME_SKELETON\"] = 8] = \"INVALID_DATE_TIME_SKELETON\";\n /** Exepct a number skeleton following the `::` (e.g. `{foo, number, ::}`) */\n\n ErrorKind[ErrorKind[\"EXPECT_NUMBER_SKELETON\"] = 9] = \"EXPECT_NUMBER_SKELETON\";\n /** Exepct a date time skeleton following the `::` (e.g. `{foo, date, ::}`) */\n\n ErrorKind[ErrorKind[\"EXPECT_DATE_TIME_SKELETON\"] = 10] = \"EXPECT_DATE_TIME_SKELETON\";\n /** Unmatched apostrophes in the argument style (e.g. `{foo, number, 'test`) */\n\n ErrorKind[ErrorKind[\"UNCLOSED_QUOTE_IN_ARGUMENT_STYLE\"] = 11] = \"UNCLOSED_QUOTE_IN_ARGUMENT_STYLE\";\n /** Missing select argument options (e.g. `{foo, select}`) */\n\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_OPTIONS\"] = 12] = \"EXPECT_SELECT_ARGUMENT_OPTIONS\";\n /** Expecting an offset value in `plural` or `selectordinal` argument (e.g `{foo, plural, offset}`) */\n\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE\"] = 13] = \"EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE\";\n /** Offset value in `plural` or `selectordinal` is invalid (e.g. `{foo, plural, offset: x}`) */\n\n ErrorKind[ErrorKind[\"INVALID_PLURAL_ARGUMENT_OFFSET_VALUE\"] = 14] = \"INVALID_PLURAL_ARGUMENT_OFFSET_VALUE\";\n /** Expecting a selector in `select` argument (e.g `{foo, select}`) */\n\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_SELECTOR\"] = 15] = \"EXPECT_SELECT_ARGUMENT_SELECTOR\";\n /** Expecting a selector in `plural` or `selectordinal` argument (e.g `{foo, plural}`) */\n\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_SELECTOR\"] = 16] = \"EXPECT_PLURAL_ARGUMENT_SELECTOR\";\n /** Expecting a message fragment after the `select` selector (e.g. `{foo, select, apple}`) */\n\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\"] = 17] = \"EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\";\n /**\n * Expecting a message fragment after the `plural` or `selectordinal` selector\n * (e.g. `{foo, plural, one}`)\n */\n\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT\"] = 18] = \"EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT\";\n /** Selector in `plural` or `selectordinal` is malformed (e.g. `{foo, plural, =x {#}}`) */\n\n ErrorKind[ErrorKind[\"INVALID_PLURAL_ARGUMENT_SELECTOR\"] = 19] = \"INVALID_PLURAL_ARGUMENT_SELECTOR\";\n /**\n * Duplicate selectors in `plural` or `selectordinal` argument.\n * (e.g. {foo, plural, one {#} one {#}})\n */\n\n ErrorKind[ErrorKind[\"DUPLICATE_PLURAL_ARGUMENT_SELECTOR\"] = 20] = \"DUPLICATE_PLURAL_ARGUMENT_SELECTOR\";\n /** Duplicate selectors in `select` argument.\n * (e.g. {foo, select, apple {apple} apple {apple}})\n */\n\n ErrorKind[ErrorKind[\"DUPLICATE_SELECT_ARGUMENT_SELECTOR\"] = 21] = \"DUPLICATE_SELECT_ARGUMENT_SELECTOR\";\n /** Plural or select argument option must have `other` clause. */\n\n ErrorKind[ErrorKind[\"MISSING_OTHER_CLAUSE\"] = 22] = \"MISSING_OTHER_CLAUSE\";\n /** The tag is malformed. (e.g. `foo) */\n\n ErrorKind[ErrorKind[\"INVALID_TAG\"] = 23] = \"INVALID_TAG\";\n /** The tag name is invalid. (e.g. `<123>foo`) */\n\n ErrorKind[ErrorKind[\"INVALID_TAG_NAME\"] = 25] = \"INVALID_TAG_NAME\";\n /** The closing tag does not match the opening tag. (e.g. `foo`) */\n\n ErrorKind[ErrorKind[\"UNMATCHED_CLOSING_TAG\"] = 26] = \"UNMATCHED_CLOSING_TAG\";\n /** The opening tag has unmatched closing tag. (e.g. `foo`) */\n\n ErrorKind[ErrorKind[\"UNCLOSED_TAG\"] = 27] = \"UNCLOSED_TAG\";\n})(ErrorKind || (ErrorKind = {}));","export var TYPE;\n\n(function (TYPE) {\n /**\n * Raw text\n */\n TYPE[TYPE[\"literal\"] = 0] = \"literal\";\n /**\n * Variable w/o any format, e.g `var` in `this is a {var}`\n */\n\n TYPE[TYPE[\"argument\"] = 1] = \"argument\";\n /**\n * Variable w/ number format\n */\n\n TYPE[TYPE[\"number\"] = 2] = \"number\";\n /**\n * Variable w/ date format\n */\n\n TYPE[TYPE[\"date\"] = 3] = \"date\";\n /**\n * Variable w/ time format\n */\n\n TYPE[TYPE[\"time\"] = 4] = \"time\";\n /**\n * Variable w/ select format\n */\n\n TYPE[TYPE[\"select\"] = 5] = \"select\";\n /**\n * Variable w/ plural format\n */\n\n TYPE[TYPE[\"plural\"] = 6] = \"plural\";\n /**\n * Only possible within plural argument.\n * This is the `#` symbol that will be substituted with the count.\n */\n\n TYPE[TYPE[\"pound\"] = 7] = \"pound\";\n /**\n * XML-like tag\n */\n\n TYPE[TYPE[\"tag\"] = 8] = \"tag\";\n})(TYPE || (TYPE = {}));\n\nexport var SKELETON_TYPE;\n\n(function (SKELETON_TYPE) {\n SKELETON_TYPE[SKELETON_TYPE[\"number\"] = 0] = \"number\";\n SKELETON_TYPE[SKELETON_TYPE[\"dateTime\"] = 1] = \"dateTime\";\n})(SKELETON_TYPE || (SKELETON_TYPE = {}));\n/**\n * Type Guards\n */\n\n\nexport function isLiteralElement(el) {\n return el.type === TYPE.literal;\n}\nexport function isArgumentElement(el) {\n return el.type === TYPE.argument;\n}\nexport function isNumberElement(el) {\n return el.type === TYPE.number;\n}\nexport function isDateElement(el) {\n return el.type === TYPE.date;\n}\nexport function isTimeElement(el) {\n return el.type === TYPE.time;\n}\nexport function isSelectElement(el) {\n return el.type === TYPE.select;\n}\nexport function isPluralElement(el) {\n return el.type === TYPE.plural;\n}\nexport function isPoundElement(el) {\n return el.type === TYPE.pound;\n}\nexport function isTagElement(el) {\n return el.type === TYPE.tag;\n}\nexport function isNumberSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === SKELETON_TYPE.number);\n}\nexport function isDateTimeSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === SKELETON_TYPE.dateTime);\n}\nexport function createLiteralElement(value) {\n return {\n type: TYPE.literal,\n value: value\n };\n}\nexport function createNumberElement(value, style) {\n return {\n type: TYPE.number,\n value: value,\n style: style\n };\n}","// @generated from regex-gen.ts\nexport var SPACE_SEPARATOR_REGEX = /[ \\xA0\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000]/;\nexport var WHITE_SPACE_REGEX = /[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/;","/**\n * https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * Credit: https://github.com/caridy/intl-datetimeformat-pattern/blob/master/index.js\n * with some tweaks\n */\nvar DATE_TIME_REGEX = /(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,5}|d{1,2}|D{1,3}|F{1}|[abB]{1,5}|[hkHK]{1,2}|w{1,2}|W{1}|m{1,2}|s{1,2}|[zZOvVxX]{1,4})(?=([^']*'[^']*')*[^']*$)/g;\n/**\n * Parse Date time skeleton into Intl.DateTimeFormatOptions\n * Ref: https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * @public\n * @param skeleton skeleton string\n */\n\nexport function parseDateTimeSkeleton(skeleton) {\n var result = {};\n skeleton.replace(DATE_TIME_REGEX, function (match) {\n var len = match.length;\n\n switch (match[0]) {\n // Era\n case 'G':\n result.era = len === 4 ? 'long' : len === 5 ? 'narrow' : 'short';\n break;\n // Year\n\n case 'y':\n result.year = len === 2 ? '2-digit' : 'numeric';\n break;\n\n case 'Y':\n case 'u':\n case 'U':\n case 'r':\n throw new RangeError('`Y/u/U/r` (year) patterns are not supported, use `y` instead');\n // Quarter\n\n case 'q':\n case 'Q':\n throw new RangeError('`q/Q` (quarter) patterns are not supported');\n // Month\n\n case 'M':\n case 'L':\n result.month = ['numeric', '2-digit', 'short', 'long', 'narrow'][len - 1];\n break;\n // Week\n\n case 'w':\n case 'W':\n throw new RangeError('`w/W` (week) patterns are not supported');\n\n case 'd':\n result.day = ['numeric', '2-digit'][len - 1];\n break;\n\n case 'D':\n case 'F':\n case 'g':\n throw new RangeError('`D/F/g` (day) patterns are not supported, use `d` instead');\n // Weekday\n\n case 'E':\n result.weekday = len === 4 ? 'short' : len === 5 ? 'narrow' : 'short';\n break;\n\n case 'e':\n if (len < 4) {\n throw new RangeError('`e..eee` (weekday) patterns are not supported');\n }\n\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n\n case 'c':\n if (len < 4) {\n throw new RangeError('`c..ccc` (weekday) patterns are not supported');\n }\n\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n // Period\n\n case 'a':\n // AM, PM\n result.hour12 = true;\n break;\n\n case 'b': // am, pm, noon, midnight\n\n case 'B':\n // flexible day periods\n throw new RangeError('`b/B` (period) patterns are not supported, use `a` instead');\n // Hour\n\n case 'h':\n result.hourCycle = 'h12';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n\n case 'H':\n result.hourCycle = 'h23';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n\n case 'K':\n result.hourCycle = 'h11';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n\n case 'k':\n result.hourCycle = 'h24';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n\n case 'j':\n case 'J':\n case 'C':\n throw new RangeError('`j/J/C` (hour) patterns are not supported, use `h/H/K/k` instead');\n // Minute\n\n case 'm':\n result.minute = ['numeric', '2-digit'][len - 1];\n break;\n // Second\n\n case 's':\n result.second = ['numeric', '2-digit'][len - 1];\n break;\n\n case 'S':\n case 'A':\n throw new RangeError('`S/A` (second) patterns are not supported, use `s` instead');\n // Zone\n\n case 'z':\n // 1..3, 4: specific non-location format\n result.timeZoneName = len < 4 ? 'short' : 'long';\n break;\n\n case 'Z': // 1..3, 4, 5: The ISO8601 varios formats\n\n case 'O': // 1, 4: miliseconds in day short, long\n\n case 'v': // 1, 4: generic non-location format\n\n case 'V': // 1, 2, 3, 4: time zone ID or city\n\n case 'X': // 1, 2, 3, 4: The ISO8601 varios formats\n\n case 'x':\n // 1, 2, 3, 4: The ISO8601 varios formats\n throw new RangeError('`Z/O/v/V/X/x` (timeZone) patterns are not supported, use `z` instead');\n }\n\n return '';\n });\n return result;\n}","// @generated from regex-gen.ts\nexport var WHITE_SPACE_REGEX = /[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/i;","import \"core-js/modules/es.array.reduce.js\";\nimport { __assign } from \"tslib\";\nimport { WHITE_SPACE_REGEX } from './regex.generated';\nexport function parseNumberSkeletonFromString(skeleton) {\n if (skeleton.length === 0) {\n throw new Error('Number skeleton cannot be empty');\n } // Parse the skeleton\n\n\n var stringTokens = skeleton.split(WHITE_SPACE_REGEX).filter(function (x) {\n return x.length > 0;\n });\n var tokens = [];\n\n for (var _i = 0, stringTokens_1 = stringTokens; _i < stringTokens_1.length; _i++) {\n var stringToken = stringTokens_1[_i];\n var stemAndOptions = stringToken.split('/');\n\n if (stemAndOptions.length === 0) {\n throw new Error('Invalid number skeleton');\n }\n\n var stem = stemAndOptions[0],\n options = stemAndOptions.slice(1);\n\n for (var _a = 0, options_1 = options; _a < options_1.length; _a++) {\n var option = options_1[_a];\n\n if (option.length === 0) {\n throw new Error('Invalid number skeleton');\n }\n }\n\n tokens.push({\n stem: stem,\n options: options\n });\n }\n\n return tokens;\n}\n\nfunction icuUnitToEcma(unit) {\n return unit.replace(/^(.*?)-/, '');\n}\n\nvar FRACTION_PRECISION_REGEX = /^\\.(?:(0+)(\\*)?|(#+)|(0+)(#+))$/g;\nvar SIGNIFICANT_PRECISION_REGEX = /^(@+)?(\\+|#+)?$/g;\nvar INTEGER_WIDTH_REGEX = /(\\*)(0+)|(#+)(0+)|(0+)/g;\nvar CONCISE_INTEGER_WIDTH_REGEX = /^(0+)$/;\n\nfunction parseSignificantPrecision(str) {\n var result = {};\n str.replace(SIGNIFICANT_PRECISION_REGEX, function (_, g1, g2) {\n // @@@ case\n if (typeof g2 !== 'string') {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits = g1.length;\n } // @@@+ case\n else if (g2 === '+') {\n result.minimumSignificantDigits = g1.length;\n } // .### case\n else if (g1[0] === '#') {\n result.maximumSignificantDigits = g1.length;\n } // .@@## or .@@@ case\n else {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits = g1.length + (typeof g2 === 'string' ? g2.length : 0);\n }\n\n return '';\n });\n return result;\n}\n\nfunction parseSign(str) {\n switch (str) {\n case 'sign-auto':\n return {\n signDisplay: 'auto'\n };\n\n case 'sign-accounting':\n case '()':\n return {\n currencySign: 'accounting'\n };\n\n case 'sign-always':\n case '+!':\n return {\n signDisplay: 'always'\n };\n\n case 'sign-accounting-always':\n case '()!':\n return {\n signDisplay: 'always',\n currencySign: 'accounting'\n };\n\n case 'sign-except-zero':\n case '+?':\n return {\n signDisplay: 'exceptZero'\n };\n\n case 'sign-accounting-except-zero':\n case '()?':\n return {\n signDisplay: 'exceptZero',\n currencySign: 'accounting'\n };\n\n case 'sign-never':\n case '+_':\n return {\n signDisplay: 'never'\n };\n }\n}\n\nfunction parseConciseScientificAndEngineeringStem(stem) {\n // Engineering\n var result;\n\n if (stem[0] === 'E' && stem[1] === 'E') {\n result = {\n notation: 'engineering'\n };\n stem = stem.slice(2);\n } else if (stem[0] === 'E') {\n result = {\n notation: 'scientific'\n };\n stem = stem.slice(1);\n }\n\n if (result) {\n var signDisplay = stem.slice(0, 2);\n\n if (signDisplay === '+!') {\n result.signDisplay = 'always';\n stem = stem.slice(2);\n } else if (signDisplay === '+?') {\n result.signDisplay = 'exceptZero';\n stem = stem.slice(2);\n }\n\n if (!CONCISE_INTEGER_WIDTH_REGEX.test(stem)) {\n throw new Error('Malformed concise eng/scientific notation');\n }\n\n result.minimumIntegerDigits = stem.length;\n }\n\n return result;\n}\n\nfunction parseNotationOptions(opt) {\n var result = {};\n var signOpts = parseSign(opt);\n\n if (signOpts) {\n return signOpts;\n }\n\n return result;\n}\n/**\n * https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#skeleton-stems-and-options\n */\n\n\nexport function parseNumberSkeleton(tokens) {\n var result = {};\n\n for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {\n var token = tokens_1[_i];\n\n switch (token.stem) {\n case 'percent':\n case '%':\n result.style = 'percent';\n continue;\n\n case '%x100':\n result.style = 'percent';\n result.scale = 100;\n continue;\n\n case 'currency':\n result.style = 'currency';\n result.currency = token.options[0];\n continue;\n\n case 'group-off':\n case ',_':\n result.useGrouping = false;\n continue;\n\n case 'precision-integer':\n case '.':\n result.maximumFractionDigits = 0;\n continue;\n\n case 'measure-unit':\n case 'unit':\n result.style = 'unit';\n result.unit = icuUnitToEcma(token.options[0]);\n continue;\n\n case 'compact-short':\n case 'K':\n result.notation = 'compact';\n result.compactDisplay = 'short';\n continue;\n\n case 'compact-long':\n case 'KK':\n result.notation = 'compact';\n result.compactDisplay = 'long';\n continue;\n\n case 'scientific':\n result = __assign(__assign(__assign({}, result), {\n notation: 'scientific'\n }), token.options.reduce(function (all, opt) {\n return __assign(__assign({}, all), parseNotationOptions(opt));\n }, {}));\n continue;\n\n case 'engineering':\n result = __assign(__assign(__assign({}, result), {\n notation: 'engineering'\n }), token.options.reduce(function (all, opt) {\n return __assign(__assign({}, all), parseNotationOptions(opt));\n }, {}));\n continue;\n\n case 'notation-simple':\n result.notation = 'standard';\n continue;\n // https://github.com/unicode-org/icu/blob/master/icu4c/source/i18n/unicode/unumberformatter.h\n\n case 'unit-width-narrow':\n result.currencyDisplay = 'narrowSymbol';\n result.unitDisplay = 'narrow';\n continue;\n\n case 'unit-width-short':\n result.currencyDisplay = 'code';\n result.unitDisplay = 'short';\n continue;\n\n case 'unit-width-full-name':\n result.currencyDisplay = 'name';\n result.unitDisplay = 'long';\n continue;\n\n case 'unit-width-iso-code':\n result.currencyDisplay = 'symbol';\n continue;\n\n case 'scale':\n result.scale = parseFloat(token.options[0]);\n continue;\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#integer-width\n\n case 'integer-width':\n if (token.options.length > 1) {\n throw new RangeError('integer-width stems only accept a single optional option');\n }\n\n token.options[0].replace(INTEGER_WIDTH_REGEX, function (_, g1, g2, g3, g4, g5) {\n if (g1) {\n result.minimumIntegerDigits = g2.length;\n } else if (g3 && g4) {\n throw new Error('We currently do not support maximum integer digits');\n } else if (g5) {\n throw new Error('We currently do not support exact integer digits');\n }\n\n return '';\n });\n continue;\n } // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#integer-width\n\n\n if (CONCISE_INTEGER_WIDTH_REGEX.test(token.stem)) {\n result.minimumIntegerDigits = token.stem.length;\n continue;\n }\n\n if (FRACTION_PRECISION_REGEX.test(token.stem)) {\n // Precision\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#fraction-precision\n // precision-integer case\n if (token.options.length > 1) {\n throw new RangeError('Fraction-precision stems only accept a single optional option');\n }\n\n token.stem.replace(FRACTION_PRECISION_REGEX, function (_, g1, g2, g3, g4, g5) {\n // .000* case (before ICU67 it was .000+)\n if (g2 === '*') {\n result.minimumFractionDigits = g1.length;\n } // .### case\n else if (g3 && g3[0] === '#') {\n result.maximumFractionDigits = g3.length;\n } // .00## case\n else if (g4 && g5) {\n result.minimumFractionDigits = g4.length;\n result.maximumFractionDigits = g4.length + g5.length;\n } else {\n result.minimumFractionDigits = g1.length;\n result.maximumFractionDigits = g1.length;\n }\n\n return '';\n });\n\n if (token.options.length) {\n result = __assign(__assign({}, result), parseSignificantPrecision(token.options[0]));\n }\n\n continue;\n } // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#significant-digits-precision\n\n\n if (SIGNIFICANT_PRECISION_REGEX.test(token.stem)) {\n result = __assign(__assign({}, result), parseSignificantPrecision(token.stem));\n continue;\n }\n\n var signOpts = parseSign(token.stem);\n\n if (signOpts) {\n result = __assign(__assign({}, result), signOpts);\n }\n\n var conciseScientificAndEngineeringOpts = parseConciseScientificAndEngineeringStem(token.stem);\n\n if (conciseScientificAndEngineeringOpts) {\n result = __assign(__assign({}, result), conciseScientificAndEngineeringOpts);\n }\n }\n\n return result;\n}","import \"core-js/modules/es.object.from-entries.js\";\nimport \"core-js/modules/es.string.trim-start.js\";\nimport \"core-js/modules/es.string.trim-end.js\";\n\nvar _a;\n\nimport { __assign } from \"tslib\";\nimport { ErrorKind } from './error';\nimport { SKELETON_TYPE, TYPE } from './types';\nimport { SPACE_SEPARATOR_REGEX } from './regex.generated';\nimport { parseNumberSkeleton, parseNumberSkeletonFromString, parseDateTimeSkeleton } from '@formatjs/icu-skeleton-parser';\nvar SPACE_SEPARATOR_START_REGEX = new RegExp(\"^\" + SPACE_SEPARATOR_REGEX.source + \"*\");\nvar SPACE_SEPARATOR_END_REGEX = new RegExp(SPACE_SEPARATOR_REGEX.source + \"*$\");\n\nfunction createLocation(start, end) {\n return {\n start: start,\n end: end\n };\n} // #region Ponyfills\n// Consolidate these variables up top for easier toggling during debugging\n\n\nvar hasNativeStartsWith = !!String.prototype.startsWith;\nvar hasNativeFromCodePoint = !!String.fromCodePoint;\nvar hasNativeFromEntries = !!Object.fromEntries;\nvar hasNativeCodePointAt = !!String.prototype.codePointAt;\nvar hasTrimStart = !!String.prototype.trimStart;\nvar hasTrimEnd = !!String.prototype.trimEnd;\nvar hasNativeIsSafeInteger = !!Number.isSafeInteger;\nvar isSafeInteger = hasNativeIsSafeInteger ? Number.isSafeInteger : function (n) {\n return typeof n === 'number' && isFinite(n) && Math.floor(n) === n && Math.abs(n) <= 0x1fffffffffffff;\n}; // IE11 does not support y and u.\n\nvar REGEX_SUPPORTS_U_AND_Y = true;\n\ntry {\n var re = RE('([^\\\\p{White_Space}\\\\p{Pattern_Syntax}]*)', 'yu');\n /**\n * legacy Edge or Xbox One browser\n * Unicode flag support: supported\n * Pattern_Syntax support: not supported\n * See https://github.com/formatjs/formatjs/issues/2822\n */\n\n REGEX_SUPPORTS_U_AND_Y = ((_a = re.exec('a')) === null || _a === void 0 ? void 0 : _a[0]) === 'a';\n} catch (_) {\n REGEX_SUPPORTS_U_AND_Y = false;\n}\n\nvar startsWith = hasNativeStartsWith ? // Native\nfunction startsWith(s, search, position) {\n return s.startsWith(search, position);\n} : // For IE11\nfunction startsWith(s, search, position) {\n return s.slice(position, position + search.length) === search;\n};\nvar fromCodePoint = hasNativeFromCodePoint ? String.fromCodePoint : // IE11\nfunction fromCodePoint() {\n var codePoints = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n codePoints[_i] = arguments[_i];\n }\n\n var elements = '';\n var length = codePoints.length;\n var i = 0;\n var code;\n\n while (length > i) {\n code = codePoints[i++];\n if (code > 0x10ffff) throw RangeError(code + ' is not a valid code point');\n elements += code < 0x10000 ? String.fromCharCode(code) : String.fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00);\n }\n\n return elements;\n};\nvar fromEntries = // native\nhasNativeFromEntries ? Object.fromEntries : // Ponyfill\nfunction fromEntries(entries) {\n var obj = {};\n\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\n var _a = entries_1[_i],\n k = _a[0],\n v = _a[1];\n obj[k] = v;\n }\n\n return obj;\n};\nvar codePointAt = hasNativeCodePointAt ? // Native\nfunction codePointAt(s, index) {\n return s.codePointAt(index);\n} : // IE 11\nfunction codePointAt(s, index) {\n var size = s.length;\n\n if (index < 0 || index >= size) {\n return undefined;\n }\n\n var first = s.charCodeAt(index);\n var second;\n return first < 0xd800 || first > 0xdbff || index + 1 === size || (second = s.charCodeAt(index + 1)) < 0xdc00 || second > 0xdfff ? first : (first - 0xd800 << 10) + (second - 0xdc00) + 0x10000;\n};\nvar trimStart = hasTrimStart ? // Native\nfunction trimStart(s) {\n return s.trimStart();\n} : // Ponyfill\nfunction trimStart(s) {\n return s.replace(SPACE_SEPARATOR_START_REGEX, '');\n};\nvar trimEnd = hasTrimEnd ? // Native\nfunction trimEnd(s) {\n return s.trimEnd();\n} : // Ponyfill\nfunction trimEnd(s) {\n return s.replace(SPACE_SEPARATOR_END_REGEX, '');\n}; // Prevent minifier to translate new RegExp to literal form that might cause syntax error on IE11.\n\nfunction RE(s, flag) {\n return new RegExp(s, flag);\n} // #endregion\n\n\nvar matchIdentifierAtIndex;\n\nif (REGEX_SUPPORTS_U_AND_Y) {\n // Native\n var IDENTIFIER_PREFIX_RE_1 = RE('([^\\\\p{White_Space}\\\\p{Pattern_Syntax}]*)', 'yu');\n\n matchIdentifierAtIndex = function matchIdentifierAtIndex(s, index) {\n var _a;\n\n IDENTIFIER_PREFIX_RE_1.lastIndex = index;\n var match = IDENTIFIER_PREFIX_RE_1.exec(s);\n return (_a = match[1]) !== null && _a !== void 0 ? _a : '';\n };\n} else {\n // IE11\n matchIdentifierAtIndex = function matchIdentifierAtIndex(s, index) {\n var match = [];\n\n while (true) {\n var c = codePointAt(s, index);\n\n if (c === undefined || _isWhiteSpace(c) || _isPatternSyntax(c)) {\n break;\n }\n\n match.push(c);\n index += c >= 0x10000 ? 2 : 1;\n }\n\n return fromCodePoint.apply(void 0, match);\n };\n}\n\nvar Parser = function () {\n function Parser(message, options) {\n if (options === void 0) {\n options = {};\n }\n\n this.message = message;\n this.position = {\n offset: 0,\n line: 1,\n column: 1\n };\n this.ignoreTag = !!options.ignoreTag;\n this.requiresOtherClause = !!options.requiresOtherClause;\n this.shouldParseSkeletons = !!options.shouldParseSkeletons;\n }\n\n Parser.prototype.parse = function () {\n if (this.offset() !== 0) {\n throw Error('parser can only be used once');\n }\n\n return this.parseMessage(0, '', false);\n };\n\n Parser.prototype.parseMessage = function (nestingLevel, parentArgType, expectingCloseTag) {\n var elements = [];\n\n while (!this.isEOF()) {\n var char = this.char();\n\n if (char === 123\n /* `{` */\n ) {\n var result = this.parseArgument(nestingLevel, expectingCloseTag);\n\n if (result.err) {\n return result;\n }\n\n elements.push(result.val);\n } else if (char === 125\n /* `}` */\n && nestingLevel > 0) {\n break;\n } else if (char === 35\n /* `#` */\n && (parentArgType === 'plural' || parentArgType === 'selectordinal')) {\n var position = this.clonePosition();\n this.bump();\n elements.push({\n type: TYPE.pound,\n location: createLocation(position, this.clonePosition())\n });\n } else if (char === 60\n /* `<` */\n && !this.ignoreTag && this.peek() === 47 // char code for '/'\n ) {\n if (expectingCloseTag) {\n break;\n } else {\n return this.error(ErrorKind.UNMATCHED_CLOSING_TAG, createLocation(this.clonePosition(), this.clonePosition()));\n }\n } else if (char === 60\n /* `<` */\n && !this.ignoreTag && _isAlpha(this.peek() || 0)) {\n var result = this.parseTag(nestingLevel, parentArgType);\n\n if (result.err) {\n return result;\n }\n\n elements.push(result.val);\n } else {\n var result = this.parseLiteral(nestingLevel, parentArgType);\n\n if (result.err) {\n return result;\n }\n\n elements.push(result.val);\n }\n }\n\n return {\n val: elements,\n err: null\n };\n };\n /**\n * A tag name must start with an ASCII lower/upper case letter. The grammar is based on the\n * [custom element name][] except that a dash is NOT always mandatory and uppercase letters\n * are accepted:\n *\n * ```\n * tag ::= \"<\" tagName (whitespace)* \"/>\" | \"<\" tagName (whitespace)* \">\" message \"\"\n * tagName ::= [a-z] (PENChar)*\n * PENChar ::=\n * \"-\" | \".\" | [0-9] | \"_\" | [a-z] | [A-Z] | #xB7 | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x37D] |\n * [#x37F-#x1FFF] | [#x200C-#x200D] | [#x203F-#x2040] | [#x2070-#x218F] | [#x2C00-#x2FEF] |\n * [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]\n * ```\n *\n * [custom element name]: https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name\n * NOTE: We're a bit more lax here since HTML technically does not allow uppercase HTML element but we do\n * since other tag-based engines like React allow it\n */\n\n\n Parser.prototype.parseTag = function (nestingLevel, parentArgType) {\n var startPosition = this.clonePosition();\n this.bump(); // `<`\n\n var tagName = this.parseTagName();\n this.bumpSpace();\n\n if (this.bumpIf('/>')) {\n // Self closing tag\n return {\n val: {\n type: TYPE.literal,\n value: \"<\" + tagName + \"/>\",\n location: createLocation(startPosition, this.clonePosition())\n },\n err: null\n };\n } else if (this.bumpIf('>')) {\n var childrenResult = this.parseMessage(nestingLevel + 1, parentArgType, true);\n\n if (childrenResult.err) {\n return childrenResult;\n }\n\n var children = childrenResult.val; // Expecting a close tag\n\n var endTagStartPosition = this.clonePosition();\n\n if (this.bumpIf('')) {\n return this.error(ErrorKind.INVALID_TAG, createLocation(endTagStartPosition, this.clonePosition()));\n }\n\n return {\n val: {\n type: TYPE.tag,\n value: tagName,\n children: children,\n location: createLocation(startPosition, this.clonePosition())\n },\n err: null\n };\n } else {\n return this.error(ErrorKind.UNCLOSED_TAG, createLocation(startPosition, this.clonePosition()));\n }\n } else {\n return this.error(ErrorKind.INVALID_TAG, createLocation(startPosition, this.clonePosition()));\n }\n };\n /**\n * This method assumes that the caller has peeked ahead for the first tag character.\n */\n\n\n Parser.prototype.parseTagName = function () {\n var startOffset = this.offset();\n this.bump(); // the first tag name character\n\n while (!this.isEOF() && _isPotentialElementNameChar(this.char())) {\n this.bump();\n }\n\n return this.message.slice(startOffset, this.offset());\n };\n\n Parser.prototype.parseLiteral = function (nestingLevel, parentArgType) {\n var start = this.clonePosition();\n var value = '';\n\n while (true) {\n var parseQuoteResult = this.tryParseQuote(parentArgType);\n\n if (parseQuoteResult) {\n value += parseQuoteResult;\n continue;\n }\n\n var parseUnquotedResult = this.tryParseUnquoted(nestingLevel, parentArgType);\n\n if (parseUnquotedResult) {\n value += parseUnquotedResult;\n continue;\n }\n\n var parseLeftAngleResult = this.tryParseLeftAngleBracket();\n\n if (parseLeftAngleResult) {\n value += parseLeftAngleResult;\n continue;\n }\n\n break;\n }\n\n var location = createLocation(start, this.clonePosition());\n return {\n val: {\n type: TYPE.literal,\n value: value,\n location: location\n },\n err: null\n };\n };\n\n Parser.prototype.tryParseLeftAngleBracket = function () {\n if (!this.isEOF() && this.char() === 60\n /* `<` */\n && (this.ignoreTag || // If at the opening tag or closing tag position, bail.\n !_isAlphaOrSlash(this.peek() || 0))) {\n this.bump(); // `<`\n\n return '<';\n }\n\n return null;\n };\n /**\n * Starting with ICU 4.8, an ASCII apostrophe only starts quoted text if it immediately precedes\n * a character that requires quoting (that is, \"only where needed\"), and works the same in\n * nested messages as on the top level of the pattern. The new behavior is otherwise compatible.\n */\n\n\n Parser.prototype.tryParseQuote = function (parentArgType) {\n if (this.isEOF() || this.char() !== 39\n /* `'` */\n ) {\n return null;\n } // Parse escaped char following the apostrophe, or early return if there is no escaped char.\n // Check if is valid escaped character\n\n\n switch (this.peek()) {\n case 39\n /* `'` */\n :\n // double quote, should return as a single quote.\n this.bump();\n this.bump();\n return \"'\";\n // '{', '<', '>', '}'\n\n case 123:\n case 60:\n case 62:\n case 125:\n break;\n\n case 35:\n // '#'\n if (parentArgType === 'plural' || parentArgType === 'selectordinal') {\n break;\n }\n\n return null;\n\n default:\n return null;\n }\n\n this.bump(); // apostrophe\n\n var codePoints = [this.char()]; // escaped char\n\n this.bump(); // read chars until the optional closing apostrophe is found\n\n while (!this.isEOF()) {\n var ch = this.char();\n\n if (ch === 39\n /* `'` */\n ) {\n if (this.peek() === 39\n /* `'` */\n ) {\n codePoints.push(39); // Bump one more time because we need to skip 2 characters.\n\n this.bump();\n } else {\n // Optional closing apostrophe.\n this.bump();\n break;\n }\n } else {\n codePoints.push(ch);\n }\n\n this.bump();\n }\n\n return fromCodePoint.apply(void 0, codePoints);\n };\n\n Parser.prototype.tryParseUnquoted = function (nestingLevel, parentArgType) {\n if (this.isEOF()) {\n return null;\n }\n\n var ch = this.char();\n\n if (ch === 60\n /* `<` */\n || ch === 123\n /* `{` */\n || ch === 35\n /* `#` */\n && (parentArgType === 'plural' || parentArgType === 'selectordinal') || ch === 125\n /* `}` */\n && nestingLevel > 0) {\n return null;\n } else {\n this.bump();\n return fromCodePoint(ch);\n }\n };\n\n Parser.prototype.parseArgument = function (nestingLevel, expectingCloseTag) {\n var openingBracePosition = this.clonePosition();\n this.bump(); // `{`\n\n this.bumpSpace();\n\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n\n if (this.char() === 125\n /* `}` */\n ) {\n this.bump();\n return this.error(ErrorKind.EMPTY_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n } // argument name\n\n\n var value = this.parseIdentifierIfPossible().value;\n\n if (!value) {\n return this.error(ErrorKind.MALFORMED_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n\n this.bumpSpace();\n\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n\n switch (this.char()) {\n // Simple argument: `{name}`\n case 125\n /* `}` */\n :\n {\n this.bump(); // `}`\n\n return {\n val: {\n type: TYPE.argument,\n // value does not include the opening and closing braces.\n value: value,\n location: createLocation(openingBracePosition, this.clonePosition())\n },\n err: null\n };\n }\n // Argument with options: `{name, format, ...}`\n\n case 44\n /* `,` */\n :\n {\n this.bump(); // `,`\n\n this.bumpSpace();\n\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n\n return this.parseArgumentOptions(nestingLevel, expectingCloseTag, value, openingBracePosition);\n }\n\n default:\n return this.error(ErrorKind.MALFORMED_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n };\n /**\n * Advance the parser until the end of the identifier, if it is currently on\n * an identifier character. Return an empty string otherwise.\n */\n\n\n Parser.prototype.parseIdentifierIfPossible = function () {\n var startingPosition = this.clonePosition();\n var startOffset = this.offset();\n var value = matchIdentifierAtIndex(this.message, startOffset);\n var endOffset = startOffset + value.length;\n this.bumpTo(endOffset);\n var endPosition = this.clonePosition();\n var location = createLocation(startingPosition, endPosition);\n return {\n value: value,\n location: location\n };\n };\n\n Parser.prototype.parseArgumentOptions = function (nestingLevel, expectingCloseTag, value, openingBracePosition) {\n var _a; // Parse this range:\n // {name, type, style}\n // ^---^\n\n\n var typeStartPosition = this.clonePosition();\n var argType = this.parseIdentifierIfPossible().value;\n var typeEndPosition = this.clonePosition();\n\n switch (argType) {\n case '':\n // Expecting a style string number, date, time, plural, selectordinal, or select.\n return this.error(ErrorKind.EXPECT_ARGUMENT_TYPE, createLocation(typeStartPosition, typeEndPosition));\n\n case 'number':\n case 'date':\n case 'time':\n {\n // Parse this range:\n // {name, number, style}\n // ^-------^\n this.bumpSpace();\n var styleAndLocation = null;\n\n if (this.bumpIf(',')) {\n this.bumpSpace();\n var styleStartPosition = this.clonePosition();\n var result = this.parseSimpleArgStyleIfPossible();\n\n if (result.err) {\n return result;\n }\n\n var style = trimEnd(result.val);\n\n if (style.length === 0) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_STYLE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n\n var styleLocation = createLocation(styleStartPosition, this.clonePosition());\n styleAndLocation = {\n style: style,\n styleLocation: styleLocation\n };\n }\n\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n\n if (argCloseResult.err) {\n return argCloseResult;\n }\n\n var location_1 = createLocation(openingBracePosition, this.clonePosition()); // Extract style or skeleton\n\n if (styleAndLocation && startsWith(styleAndLocation === null || styleAndLocation === void 0 ? void 0 : styleAndLocation.style, '::', 0)) {\n // Skeleton starts with `::`.\n var skeleton = trimStart(styleAndLocation.style.slice(2));\n\n if (argType === 'number') {\n var result = this.parseNumberSkeletonFromString(skeleton, styleAndLocation.styleLocation);\n\n if (result.err) {\n return result;\n }\n\n return {\n val: {\n type: TYPE.number,\n value: value,\n location: location_1,\n style: result.val\n },\n err: null\n };\n } else {\n if (skeleton.length === 0) {\n return this.error(ErrorKind.EXPECT_DATE_TIME_SKELETON, location_1);\n }\n\n var style = {\n type: SKELETON_TYPE.dateTime,\n pattern: skeleton,\n location: styleAndLocation.styleLocation,\n parsedOptions: this.shouldParseSkeletons ? parseDateTimeSkeleton(skeleton) : {}\n };\n var type = argType === 'date' ? TYPE.date : TYPE.time;\n return {\n val: {\n type: type,\n value: value,\n location: location_1,\n style: style\n },\n err: null\n };\n }\n } // Regular style or no style.\n\n\n return {\n val: {\n type: argType === 'number' ? TYPE.number : argType === 'date' ? TYPE.date : TYPE.time,\n value: value,\n location: location_1,\n style: (_a = styleAndLocation === null || styleAndLocation === void 0 ? void 0 : styleAndLocation.style) !== null && _a !== void 0 ? _a : null\n },\n err: null\n };\n }\n\n case 'plural':\n case 'selectordinal':\n case 'select':\n {\n // Parse this range:\n // {name, plural, options}\n // ^---------^\n var typeEndPosition_1 = this.clonePosition();\n this.bumpSpace();\n\n if (!this.bumpIf(',')) {\n return this.error(ErrorKind.EXPECT_SELECT_ARGUMENT_OPTIONS, createLocation(typeEndPosition_1, __assign({}, typeEndPosition_1)));\n }\n\n this.bumpSpace(); // Parse offset:\n // {name, plural, offset:1, options}\n // ^-----^\n //\n // or the first option:\n //\n // {name, plural, one {...} other {...}}\n // ^--^\n\n var identifierAndLocation = this.parseIdentifierIfPossible();\n var pluralOffset = 0;\n\n if (argType !== 'select' && identifierAndLocation.value === 'offset') {\n if (!this.bumpIf(':')) {\n return this.error(ErrorKind.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n\n this.bumpSpace();\n var result = this.tryParseDecimalInteger(ErrorKind.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, ErrorKind.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE);\n\n if (result.err) {\n return result;\n } // Parse another identifier for option parsing\n\n\n this.bumpSpace();\n identifierAndLocation = this.parseIdentifierIfPossible();\n pluralOffset = result.val;\n }\n\n var optionsResult = this.tryParsePluralOrSelectOptions(nestingLevel, argType, expectingCloseTag, identifierAndLocation);\n\n if (optionsResult.err) {\n return optionsResult;\n }\n\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n\n if (argCloseResult.err) {\n return argCloseResult;\n }\n\n var location_2 = createLocation(openingBracePosition, this.clonePosition());\n\n if (argType === 'select') {\n return {\n val: {\n type: TYPE.select,\n value: value,\n options: fromEntries(optionsResult.val),\n location: location_2\n },\n err: null\n };\n } else {\n return {\n val: {\n type: TYPE.plural,\n value: value,\n options: fromEntries(optionsResult.val),\n offset: pluralOffset,\n pluralType: argType === 'plural' ? 'cardinal' : 'ordinal',\n location: location_2\n },\n err: null\n };\n }\n }\n\n default:\n return this.error(ErrorKind.INVALID_ARGUMENT_TYPE, createLocation(typeStartPosition, typeEndPosition));\n }\n };\n\n Parser.prototype.tryParseArgumentClose = function (openingBracePosition) {\n // Parse: {value, number, ::currency/GBP }\n //\n if (this.isEOF() || this.char() !== 125\n /* `}` */\n ) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n\n this.bump(); // `}`\n\n return {\n val: true,\n err: null\n };\n };\n /**\n * See: https://github.com/unicode-org/icu/blob/af7ed1f6d2298013dc303628438ec4abe1f16479/icu4c/source/common/messagepattern.cpp#L659\n */\n\n\n Parser.prototype.parseSimpleArgStyleIfPossible = function () {\n var nestedBraces = 0;\n var startPosition = this.clonePosition();\n\n while (!this.isEOF()) {\n var ch = this.char();\n\n switch (ch) {\n case 39\n /* `'` */\n :\n {\n // Treat apostrophe as quoting but include it in the style part.\n // Find the end of the quoted literal text.\n this.bump();\n var apostrophePosition = this.clonePosition();\n\n if (!this.bumpUntil(\"'\")) {\n return this.error(ErrorKind.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE, createLocation(apostrophePosition, this.clonePosition()));\n }\n\n this.bump();\n break;\n }\n\n case 123\n /* `{` */\n :\n {\n nestedBraces += 1;\n this.bump();\n break;\n }\n\n case 125\n /* `}` */\n :\n {\n if (nestedBraces > 0) {\n nestedBraces -= 1;\n } else {\n return {\n val: this.message.slice(startPosition.offset, this.offset()),\n err: null\n };\n }\n\n break;\n }\n\n default:\n this.bump();\n break;\n }\n }\n\n return {\n val: this.message.slice(startPosition.offset, this.offset()),\n err: null\n };\n };\n\n Parser.prototype.parseNumberSkeletonFromString = function (skeleton, location) {\n var tokens = [];\n\n try {\n tokens = parseNumberSkeletonFromString(skeleton);\n } catch (e) {\n return this.error(ErrorKind.INVALID_NUMBER_SKELETON, location);\n }\n\n return {\n val: {\n type: SKELETON_TYPE.number,\n tokens: tokens,\n location: location,\n parsedOptions: this.shouldParseSkeletons ? parseNumberSkeleton(tokens) : {}\n },\n err: null\n };\n };\n /**\n * @param nesting_level The current nesting level of messages.\n * This can be positive when parsing message fragment in select or plural argument options.\n * @param parent_arg_type The parent argument's type.\n * @param parsed_first_identifier If provided, this is the first identifier-like selector of\n * the argument. It is a by-product of a previous parsing attempt.\n * @param expecting_close_tag If true, this message is directly or indirectly nested inside\n * between a pair of opening and closing tags. The nested message will not parse beyond\n * the closing tag boundary.\n */\n\n\n Parser.prototype.tryParsePluralOrSelectOptions = function (nestingLevel, parentArgType, expectCloseTag, parsedFirstIdentifier) {\n var _a;\n\n var hasOtherClause = false;\n var options = [];\n var parsedSelectors = new Set();\n var selector = parsedFirstIdentifier.value,\n selectorLocation = parsedFirstIdentifier.location; // Parse:\n // one {one apple}\n // ^--^\n\n while (true) {\n if (selector.length === 0) {\n var startPosition = this.clonePosition();\n\n if (parentArgType !== 'select' && this.bumpIf('=')) {\n // Try parse `={number}` selector\n var result = this.tryParseDecimalInteger(ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR, ErrorKind.INVALID_PLURAL_ARGUMENT_SELECTOR);\n\n if (result.err) {\n return result;\n }\n\n selectorLocation = createLocation(startPosition, this.clonePosition());\n selector = this.message.slice(startPosition.offset, this.offset());\n } else {\n break;\n }\n } // Duplicate selector clauses\n\n\n if (parsedSelectors.has(selector)) {\n return this.error(parentArgType === 'select' ? ErrorKind.DUPLICATE_SELECT_ARGUMENT_SELECTOR : ErrorKind.DUPLICATE_PLURAL_ARGUMENT_SELECTOR, selectorLocation);\n }\n\n if (selector === 'other') {\n hasOtherClause = true;\n } // Parse:\n // one {one apple}\n // ^----------^\n\n\n this.bumpSpace();\n var openingBracePosition = this.clonePosition();\n\n if (!this.bumpIf('{')) {\n return this.error(parentArgType === 'select' ? ErrorKind.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT : ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT, createLocation(this.clonePosition(), this.clonePosition()));\n }\n\n var fragmentResult = this.parseMessage(nestingLevel + 1, parentArgType, expectCloseTag);\n\n if (fragmentResult.err) {\n return fragmentResult;\n }\n\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n\n if (argCloseResult.err) {\n return argCloseResult;\n }\n\n options.push([selector, {\n value: fragmentResult.val,\n location: createLocation(openingBracePosition, this.clonePosition())\n }]); // Keep track of the existing selectors\n\n parsedSelectors.add(selector); // Prep next selector clause.\n\n this.bumpSpace();\n _a = this.parseIdentifierIfPossible(), selector = _a.value, selectorLocation = _a.location;\n }\n\n if (options.length === 0) {\n return this.error(parentArgType === 'select' ? ErrorKind.EXPECT_SELECT_ARGUMENT_SELECTOR : ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR, createLocation(this.clonePosition(), this.clonePosition()));\n }\n\n if (this.requiresOtherClause && !hasOtherClause) {\n return this.error(ErrorKind.MISSING_OTHER_CLAUSE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n\n return {\n val: options,\n err: null\n };\n };\n\n Parser.prototype.tryParseDecimalInteger = function (expectNumberError, invalidNumberError) {\n var sign = 1;\n var startingPosition = this.clonePosition();\n\n if (this.bumpIf('+')) {} else if (this.bumpIf('-')) {\n sign = -1;\n }\n\n var hasDigits = false;\n var decimal = 0;\n\n while (!this.isEOF()) {\n var ch = this.char();\n\n if (ch >= 48\n /* `0` */\n && ch <= 57\n /* `9` */\n ) {\n hasDigits = true;\n decimal = decimal * 10 + (ch - 48);\n this.bump();\n } else {\n break;\n }\n }\n\n var location = createLocation(startingPosition, this.clonePosition());\n\n if (!hasDigits) {\n return this.error(expectNumberError, location);\n }\n\n decimal *= sign;\n\n if (!isSafeInteger(decimal)) {\n return this.error(invalidNumberError, location);\n }\n\n return {\n val: decimal,\n err: null\n };\n };\n\n Parser.prototype.offset = function () {\n return this.position.offset;\n };\n\n Parser.prototype.isEOF = function () {\n return this.offset() === this.message.length;\n };\n\n Parser.prototype.clonePosition = function () {\n // This is much faster than `Object.assign` or spread.\n return {\n offset: this.position.offset,\n line: this.position.line,\n column: this.position.column\n };\n };\n /**\n * Return the code point at the current position of the parser.\n * Throws if the index is out of bound.\n */\n\n\n Parser.prototype.char = function () {\n var offset = this.position.offset;\n\n if (offset >= this.message.length) {\n throw Error('out of bound');\n }\n\n var code = codePointAt(this.message, offset);\n\n if (code === undefined) {\n throw Error(\"Offset \" + offset + \" is at invalid UTF-16 code unit boundary\");\n }\n\n return code;\n };\n\n Parser.prototype.error = function (kind, location) {\n return {\n val: null,\n err: {\n kind: kind,\n message: this.message,\n location: location\n }\n };\n };\n /** Bump the parser to the next UTF-16 code unit. */\n\n\n Parser.prototype.bump = function () {\n if (this.isEOF()) {\n return;\n }\n\n var code = this.char();\n\n if (code === 10\n /* '\\n' */\n ) {\n this.position.line += 1;\n this.position.column = 1;\n this.position.offset += 1;\n } else {\n this.position.column += 1; // 0 ~ 0x10000 -> unicode BMP, otherwise skip the surrogate pair.\n\n this.position.offset += code < 0x10000 ? 1 : 2;\n }\n };\n /**\n * If the substring starting at the current position of the parser has\n * the given prefix, then bump the parser to the character immediately\n * following the prefix and return true. Otherwise, don't bump the parser\n * and return false.\n */\n\n\n Parser.prototype.bumpIf = function (prefix) {\n if (startsWith(this.message, prefix, this.offset())) {\n for (var i = 0; i < prefix.length; i++) {\n this.bump();\n }\n\n return true;\n }\n\n return false;\n };\n /**\n * Bump the parser until the pattern character is found and return `true`.\n * Otherwise bump to the end of the file and return `false`.\n */\n\n\n Parser.prototype.bumpUntil = function (pattern) {\n var currentOffset = this.offset();\n var index = this.message.indexOf(pattern, currentOffset);\n\n if (index >= 0) {\n this.bumpTo(index);\n return true;\n } else {\n this.bumpTo(this.message.length);\n return false;\n }\n };\n /**\n * Bump the parser to the target offset.\n * If target offset is beyond the end of the input, bump the parser to the end of the input.\n */\n\n\n Parser.prototype.bumpTo = function (targetOffset) {\n if (this.offset() > targetOffset) {\n throw Error(\"targetOffset \" + targetOffset + \" must be greater than or equal to the current offset \" + this.offset());\n }\n\n targetOffset = Math.min(targetOffset, this.message.length);\n\n while (true) {\n var offset = this.offset();\n\n if (offset === targetOffset) {\n break;\n }\n\n if (offset > targetOffset) {\n throw Error(\"targetOffset \" + targetOffset + \" is at invalid UTF-16 code unit boundary\");\n }\n\n this.bump();\n\n if (this.isEOF()) {\n break;\n }\n }\n };\n /** advance the parser through all whitespace to the next non-whitespace code unit. */\n\n\n Parser.prototype.bumpSpace = function () {\n while (!this.isEOF() && _isWhiteSpace(this.char())) {\n this.bump();\n }\n };\n /**\n * Peek at the *next* Unicode codepoint in the input without advancing the parser.\n * If the input has been exhausted, then this returns null.\n */\n\n\n Parser.prototype.peek = function () {\n if (this.isEOF()) {\n return null;\n }\n\n var code = this.char();\n var offset = this.offset();\n var nextCode = this.message.charCodeAt(offset + (code >= 0x10000 ? 2 : 1));\n return nextCode !== null && nextCode !== void 0 ? nextCode : null;\n };\n\n return Parser;\n}();\n\nexport { Parser };\n/**\n * This check if codepoint is alphabet (lower & uppercase)\n * @param codepoint\n * @returns\n */\n\nfunction _isAlpha(codepoint) {\n return codepoint >= 97 && codepoint <= 122 || codepoint >= 65 && codepoint <= 90;\n}\n\nfunction _isAlphaOrSlash(codepoint) {\n return _isAlpha(codepoint) || codepoint === 47;\n /* '/' */\n}\n/** See `parseTag` function docs. */\n\n\nfunction _isPotentialElementNameChar(c) {\n return c === 45\n /* '-' */\n || c === 46\n /* '.' */\n || c >= 48 && c <= 57\n /* 0..9 */\n || c === 95\n /* '_' */\n || c >= 97 && c <= 122\n /** a..z */\n || c >= 65 && c <= 90\n /* A..Z */\n || c == 0xb7 || c >= 0xc0 && c <= 0xd6 || c >= 0xd8 && c <= 0xf6 || c >= 0xf8 && c <= 0x37d || c >= 0x37f && c <= 0x1fff || c >= 0x200c && c <= 0x200d || c >= 0x203f && c <= 0x2040 || c >= 0x2070 && c <= 0x218f || c >= 0x2c00 && c <= 0x2fef || c >= 0x3001 && c <= 0xd7ff || c >= 0xf900 && c <= 0xfdcf || c >= 0xfdf0 && c <= 0xfffd || c >= 0x10000 && c <= 0xeffff;\n}\n/**\n * Code point equivalent of regex `\\p{White_Space}`.\n * From: https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt\n */\n\n\nfunction _isWhiteSpace(c) {\n return c >= 0x0009 && c <= 0x000d || c === 0x0020 || c === 0x0085 || c >= 0x200e && c <= 0x200f || c === 0x2028 || c === 0x2029;\n}\n/**\n * Code point equivalent of regex `\\p{Pattern_Syntax}`.\n * See https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt\n */\n\n\nfunction _isPatternSyntax(c) {\n return c >= 0x0021 && c <= 0x0023 || c === 0x0024 || c >= 0x0025 && c <= 0x0027 || c === 0x0028 || c === 0x0029 || c === 0x002a || c === 0x002b || c === 0x002c || c === 0x002d || c >= 0x002e && c <= 0x002f || c >= 0x003a && c <= 0x003b || c >= 0x003c && c <= 0x003e || c >= 0x003f && c <= 0x0040 || c === 0x005b || c === 0x005c || c === 0x005d || c === 0x005e || c === 0x0060 || c === 0x007b || c === 0x007c || c === 0x007d || c === 0x007e || c === 0x00a1 || c >= 0x00a2 && c <= 0x00a5 || c === 0x00a6 || c === 0x00a7 || c === 0x00a9 || c === 0x00ab || c === 0x00ac || c === 0x00ae || c === 0x00b0 || c === 0x00b1 || c === 0x00b6 || c === 0x00bb || c === 0x00bf || c === 0x00d7 || c === 0x00f7 || c >= 0x2010 && c <= 0x2015 || c >= 0x2016 && c <= 0x2017 || c === 0x2018 || c === 0x2019 || c === 0x201a || c >= 0x201b && c <= 0x201c || c === 0x201d || c === 0x201e || c === 0x201f || c >= 0x2020 && c <= 0x2027 || c >= 0x2030 && c <= 0x2038 || c === 0x2039 || c === 0x203a || c >= 0x203b && c <= 0x203e || c >= 0x2041 && c <= 0x2043 || c === 0x2044 || c === 0x2045 || c === 0x2046 || c >= 0x2047 && c <= 0x2051 || c === 0x2052 || c === 0x2053 || c >= 0x2055 && c <= 0x205e || c >= 0x2190 && c <= 0x2194 || c >= 0x2195 && c <= 0x2199 || c >= 0x219a && c <= 0x219b || c >= 0x219c && c <= 0x219f || c === 0x21a0 || c >= 0x21a1 && c <= 0x21a2 || c === 0x21a3 || c >= 0x21a4 && c <= 0x21a5 || c === 0x21a6 || c >= 0x21a7 && c <= 0x21ad || c === 0x21ae || c >= 0x21af && c <= 0x21cd || c >= 0x21ce && c <= 0x21cf || c >= 0x21d0 && c <= 0x21d1 || c === 0x21d2 || c === 0x21d3 || c === 0x21d4 || c >= 0x21d5 && c <= 0x21f3 || c >= 0x21f4 && c <= 0x22ff || c >= 0x2300 && c <= 0x2307 || c === 0x2308 || c === 0x2309 || c === 0x230a || c === 0x230b || c >= 0x230c && c <= 0x231f || c >= 0x2320 && c <= 0x2321 || c >= 0x2322 && c <= 0x2328 || c === 0x2329 || c === 0x232a || c >= 0x232b && c <= 0x237b || c === 0x237c || c >= 0x237d && c <= 0x239a || c >= 0x239b && c <= 0x23b3 || c >= 0x23b4 && c <= 0x23db || c >= 0x23dc && c <= 0x23e1 || c >= 0x23e2 && c <= 0x2426 || c >= 0x2427 && c <= 0x243f || c >= 0x2440 && c <= 0x244a || c >= 0x244b && c <= 0x245f || c >= 0x2500 && c <= 0x25b6 || c === 0x25b7 || c >= 0x25b8 && c <= 0x25c0 || c === 0x25c1 || c >= 0x25c2 && c <= 0x25f7 || c >= 0x25f8 && c <= 0x25ff || c >= 0x2600 && c <= 0x266e || c === 0x266f || c >= 0x2670 && c <= 0x2767 || c === 0x2768 || c === 0x2769 || c === 0x276a || c === 0x276b || c === 0x276c || c === 0x276d || c === 0x276e || c === 0x276f || c === 0x2770 || c === 0x2771 || c === 0x2772 || c === 0x2773 || c === 0x2774 || c === 0x2775 || c >= 0x2794 && c <= 0x27bf || c >= 0x27c0 && c <= 0x27c4 || c === 0x27c5 || c === 0x27c6 || c >= 0x27c7 && c <= 0x27e5 || c === 0x27e6 || c === 0x27e7 || c === 0x27e8 || c === 0x27e9 || c === 0x27ea || c === 0x27eb || c === 0x27ec || c === 0x27ed || c === 0x27ee || c === 0x27ef || c >= 0x27f0 && c <= 0x27ff || c >= 0x2800 && c <= 0x28ff || c >= 0x2900 && c <= 0x2982 || c === 0x2983 || c === 0x2984 || c === 0x2985 || c === 0x2986 || c === 0x2987 || c === 0x2988 || c === 0x2989 || c === 0x298a || c === 0x298b || c === 0x298c || c === 0x298d || c === 0x298e || c === 0x298f || c === 0x2990 || c === 0x2991 || c === 0x2992 || c === 0x2993 || c === 0x2994 || c === 0x2995 || c === 0x2996 || c === 0x2997 || c === 0x2998 || c >= 0x2999 && c <= 0x29d7 || c === 0x29d8 || c === 0x29d9 || c === 0x29da || c === 0x29db || c >= 0x29dc && c <= 0x29fb || c === 0x29fc || c === 0x29fd || c >= 0x29fe && c <= 0x2aff || c >= 0x2b00 && c <= 0x2b2f || c >= 0x2b30 && c <= 0x2b44 || c >= 0x2b45 && c <= 0x2b46 || c >= 0x2b47 && c <= 0x2b4c || c >= 0x2b4d && c <= 0x2b73 || c >= 0x2b74 && c <= 0x2b75 || c >= 0x2b76 && c <= 0x2b95 || c === 0x2b96 || c >= 0x2b97 && c <= 0x2bff || c >= 0x2e00 && c <= 0x2e01 || c === 0x2e02 || c === 0x2e03 || c === 0x2e04 || c === 0x2e05 || c >= 0x2e06 && c <= 0x2e08 || c === 0x2e09 || c === 0x2e0a || c === 0x2e0b || c === 0x2e0c || c === 0x2e0d || c >= 0x2e0e && c <= 0x2e16 || c === 0x2e17 || c >= 0x2e18 && c <= 0x2e19 || c === 0x2e1a || c === 0x2e1b || c === 0x2e1c || c === 0x2e1d || c >= 0x2e1e && c <= 0x2e1f || c === 0x2e20 || c === 0x2e21 || c === 0x2e22 || c === 0x2e23 || c === 0x2e24 || c === 0x2e25 || c === 0x2e26 || c === 0x2e27 || c === 0x2e28 || c === 0x2e29 || c >= 0x2e2a && c <= 0x2e2e || c === 0x2e2f || c >= 0x2e30 && c <= 0x2e39 || c >= 0x2e3a && c <= 0x2e3b || c >= 0x2e3c && c <= 0x2e3f || c === 0x2e40 || c === 0x2e41 || c === 0x2e42 || c >= 0x2e43 && c <= 0x2e4f || c >= 0x2e50 && c <= 0x2e51 || c === 0x2e52 || c >= 0x2e53 && c <= 0x2e7f || c >= 0x3001 && c <= 0x3003 || c === 0x3008 || c === 0x3009 || c === 0x300a || c === 0x300b || c === 0x300c || c === 0x300d || c === 0x300e || c === 0x300f || c === 0x3010 || c === 0x3011 || c >= 0x3012 && c <= 0x3013 || c === 0x3014 || c === 0x3015 || c === 0x3016 || c === 0x3017 || c === 0x3018 || c === 0x3019 || c === 0x301a || c === 0x301b || c === 0x301c || c === 0x301d || c >= 0x301e && c <= 0x301f || c === 0x3020 || c === 0x3030 || c === 0xfd3e || c === 0xfd3f || c >= 0xfe45 && c <= 0xfe46;\n}","import { __assign } from \"tslib\";\nimport { ErrorKind } from './error';\nimport { Parser } from './parser';\nimport { isDateElement, isDateTimeSkeleton, isNumberElement, isNumberSkeleton, isPluralElement, isSelectElement, isTagElement, isTimeElement } from './types';\n\nfunction pruneLocation(els) {\n els.forEach(function (el) {\n delete el.location;\n\n if (isSelectElement(el) || isPluralElement(el)) {\n for (var k in el.options) {\n delete el.options[k].location;\n pruneLocation(el.options[k].value);\n }\n } else if (isNumberElement(el) && isNumberSkeleton(el.style)) {\n delete el.style.location;\n } else if ((isDateElement(el) || isTimeElement(el)) && isDateTimeSkeleton(el.style)) {\n delete el.style.location;\n } else if (isTagElement(el)) {\n pruneLocation(el.children);\n }\n });\n}\n\nexport function parse(message, opts) {\n if (opts === void 0) {\n opts = {};\n }\n\n opts = __assign({\n shouldParseSkeletons: true,\n requiresOtherClause: true\n }, opts);\n var result = new Parser(message, opts).parse();\n\n if (result.err) {\n var error = SyntaxError(ErrorKind[result.err.kind]); // @ts-expect-error Assign to error object\n\n error.location = result.err.location; // @ts-expect-error Assign to error object\n\n error.originalMessage = result.err.message;\n throw error;\n }\n\n if (!(opts === null || opts === void 0 ? void 0 : opts.captureLocation)) {\n pruneLocation(result.val);\n }\n\n return result.val;\n}\nexport * from './types';","module.exports = function () {\n function XWrap(fn) {\n this.f = fn;\n }\n\n XWrap.prototype['@@transducer/init'] = function () {\n throw new Error('init not implemented on XWrap');\n };\n\n XWrap.prototype['@@transducer/result'] = function (acc) {\n return acc;\n };\n\n XWrap.prototype['@@transducer/step'] = function (acc, x) {\n return this.f(acc, x);\n };\n\n return function _xwrap(fn) {\n return new XWrap(fn);\n };\n}();","'use strict'; //----------------------------------------------------------------------\n//\n// This source file is part of the Folktale project.\n//\n// Licensed under MIT. See LICENCE for full licence information.\n// See CONTRIBUTORS for the list of contributors to the project.\n//\n//----------------------------------------------------------------------\n\nvar _require = require('../result/result'),\n Error = _require.Error,\n Ok = _require.Ok;\n\nvar deprecated = require('../helpers/warn-deprecation');\n/*~\n * stability: stable\n * authors:\n * - \"@boris-marinov\"\n * \n * type: |\n * forall a, b:\n * (a or None, b) => Result b a\n * & (a or None) => Result None a\n */\n\n\nvar nullableToResult = function nullableToResult(a, givenFallback) {\n var oldBehaviour = arguments.length < 2; // eslint-disable-line prefer-rest-params\n\n if (oldBehaviour) {\n deprecated('nullableToResult(value) is being deprecated in favour of providing an explicit fallback value.\\nnullableToResult(value, fallback) is the new preferred form of this function.\\n');\n }\n\n var fallback = oldBehaviour ? a : givenFallback;\n return a != null ? Ok(a) :\n /* else */\n Error(fallback);\n};\n\nmodule.exports = nullableToResult;","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] < 4 ? 1 : 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-manifest/gatsby-browser.js'),\n options: {\"plugins\":[],\"name\":\"gatsby-starter-default\",\"short_name\":\"starter\",\"start_url\":\"/\",\"background_color\":\"#663399\",\"theme_color\":\"#663399\",\"display\":\"minimal-ui\",\"icon\":\"src/images/gatsby-icon.png\",\"legacy\":true,\"theme_color_in_head\":true,\"cache_busting_mode\":\"query\",\"crossOrigin\":\"anonymous\",\"include_favicon\":true,\"cacheDigest\":\"4744d27cb9211879496dd6b0e51449d6\"},\n },{\n plugin: require('../node_modules/gatsby-plugin-scroll-reveal/gatsby-browser.js'),\n options: {\"plugins\":[],\"threshold\":1,\"once\":true,\"disable\":false,\"selector\":\"[data-sal]\",\"animateClassName\":\"sal-animate\",\"disabledClassName\":\"sal-disabled\",\"rootMargin\":\"0% 50%\",\"enterEventName\":\"sal:in\",\"exitEventName\":\"sal:out\"},\n },{\n plugin: require('../node_modules/gatsby-plugin-transition-link/gatsby-browser.js'),\n options: {\"plugins\":[],\"layout\":\"/Users/maria/dev/uxfolio/uxfolio/src/layouts/index.js\"},\n },{\n plugin: require('../node_modules/gatsby-plugin-anchor-links/gatsby-browser.js'),\n options: {\"plugins\":[],\"duration\":1000},\n },{\n plugin: require('../node_modules/gatsby-plugin-google-gtag/gatsby-browser.js'),\n options: {\"plugins\":[],\"trackingIds\":[\"UA-12795141-1\",\"GTM-KFRC9XM\"],\"gtagConfig\":{\"anonymize_ip\":false,\"cookie_expires\":0},\"pluginConfig\":{\"head\":true}},\n },{\n plugin: require('../gatsby-browser.js'),\n options: {\"plugins\":[]},\n }]\n","function Emitter(obj) {\n if (obj) return mixin(obj);\n}\n\n;\n\nfunction mixin(obj) {\n for (var key in Emitter.prototype) {\n obj[key] = Emitter.prototype[key];\n }\n\n return obj;\n}\n\nEmitter.prototype.on = Emitter.prototype.addEventListener = function (event, fn) {\n this._callbacks = this._callbacks || {};\n (this._callbacks['$' + event] = this._callbacks['$' + event] || []).push(fn);\n return this;\n};\n\nEmitter.prototype.once = function (event, fn) {\n function on() {\n this.off(event, on);\n fn.apply(this, arguments);\n }\n\n on.fn = fn;\n this.on(event, on);\n return this;\n};\n\nEmitter.prototype.off = Emitter.prototype.removeListener = Emitter.prototype.removeAllListeners = Emitter.prototype.removeEventListener = function (event, fn) {\n this._callbacks = this._callbacks || {}; // all\n\n if (0 == arguments.length) {\n this._callbacks = {};\n return this;\n } // specific event\n\n\n var callbacks = this._callbacks['$' + event];\n if (!callbacks) return this; // remove all handlers\n\n if (1 == arguments.length) {\n delete this._callbacks['$' + event];\n return this;\n } // remove specific handler\n\n\n var cb;\n\n for (var i = 0; i < callbacks.length; i++) {\n cb = callbacks[i];\n\n if (cb === fn || cb.fn === fn) {\n callbacks.splice(i, 1);\n break;\n }\n } // Remove event specific arrays for event types that no\n // one is subscribed for to avoid memory leak.\n\n\n if (callbacks.length === 0) {\n delete this._callbacks['$' + event];\n }\n\n return this;\n};\n\nEmitter.prototype.emit = function (event) {\n this._callbacks = this._callbacks || {};\n var args = [].slice.call(arguments, 1),\n callbacks = this._callbacks['$' + event];\n\n if (callbacks) {\n callbacks = callbacks.slice(0);\n\n for (var i = 0, len = callbacks.length; i < len; ++i) {\n callbacks[i].apply(this, args);\n }\n }\n\n return this;\n};\n\nEmitter.prototype.listeners = function (event) {\n this._callbacks = this._callbacks || {};\n return this._callbacks['$' + event] || [];\n};\n\nEmitter.prototype.hasListeners = function (event) {\n return !!this.listeners(event).length;\n};\n\nif (typeof module !== 'undefined') {\n module.exports = Emitter;\n}","/*!\n * domready (c) Dustin Diaz 2014 - License MIT\n * ie10 fix - Mikael Kristiansson 2019\n */\n!(function(name, definition) {\n if (typeof module != \"undefined\") module.exports = definition();\n else if (typeof define == \"function\" && typeof define.amd == \"object\")\n define(definition);\n else this[name] = definition();\n})(\"domready\", function() {\n var ie10 = false;\n if (navigator.appVersion.indexOf(\"MSIE 10\") !== -1) {\n ie10 = true;\n }\n\n var fns = [],\n listener,\n doc = typeof document === \"object\" && document,\n hack = ie10\n ? doc.documentElement.doScroll(\"left\")\n : doc.documentElement.doScroll,\n domContentLoaded = \"DOMContentLoaded\",\n loaded =\n doc && (hack ? /^loaded|^c/ : /^loaded|^i|^c/).test(doc.readyState);\n\n if (!loaded && doc)\n doc.addEventListener(\n domContentLoaded,\n (listener = function() {\n doc.removeEventListener(domContentLoaded, listener);\n loaded = 1;\n while ((listener = fns.shift())) listener();\n })\n );\n\n return function(fn) {\n loaded ? setTimeout(fn, 0) : fns.push(fn);\n };\n});\n","import \"core-js/modules/es.array.reduce.js\";\n\n/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nimport { __assign, __spreadArray } from \"tslib\";\nimport { parse } from '@formatjs/icu-messageformat-parser';\nimport memoize, { strategies } from '@formatjs/fast-memoize';\nimport { formatToParts, PART_TYPE } from './formatters'; // -- MessageFormat --------------------------------------------------------\n\nfunction mergeConfig(c1, c2) {\n if (!c2) {\n return c1;\n }\n\n return __assign(__assign(__assign({}, c1 || {}), c2 || {}), Object.keys(c1).reduce(function (all, k) {\n all[k] = __assign(__assign({}, c1[k]), c2[k] || {});\n return all;\n }, {}));\n}\n\nfunction mergeConfigs(defaultConfig, configs) {\n if (!configs) {\n return defaultConfig;\n }\n\n return Object.keys(defaultConfig).reduce(function (all, k) {\n all[k] = mergeConfig(defaultConfig[k], configs[k]);\n return all;\n }, __assign({}, defaultConfig));\n}\n\nfunction createFastMemoizeCache(store) {\n return {\n create: function create() {\n return {\n has: function has(key) {\n return key in store;\n },\n get: function get(key) {\n return store[key];\n },\n set: function set(key, value) {\n store[key] = value;\n }\n };\n }\n };\n}\n\nfunction createDefaultFormatters(cache) {\n if (cache === void 0) {\n cache = {\n number: {},\n dateTime: {},\n pluralRules: {}\n };\n }\n\n return {\n getNumberFormat: memoize(function () {\n var _a;\n\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n return new ((_a = Intl.NumberFormat).bind.apply(_a, __spreadArray([void 0], args)))();\n }, {\n cache: createFastMemoizeCache(cache.number),\n strategy: strategies.variadic\n }),\n getDateTimeFormat: memoize(function () {\n var _a;\n\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n return new ((_a = Intl.DateTimeFormat).bind.apply(_a, __spreadArray([void 0], args)))();\n }, {\n cache: createFastMemoizeCache(cache.dateTime),\n strategy: strategies.variadic\n }),\n getPluralRules: memoize(function () {\n var _a;\n\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n return new ((_a = Intl.PluralRules).bind.apply(_a, __spreadArray([void 0], args)))();\n }, {\n cache: createFastMemoizeCache(cache.pluralRules),\n strategy: strategies.variadic\n })\n };\n}\n\nvar IntlMessageFormat = function () {\n function IntlMessageFormat(message, locales, overrideFormats, opts) {\n var _this = this;\n\n if (locales === void 0) {\n locales = IntlMessageFormat.defaultLocale;\n }\n\n this.formatterCache = {\n number: {},\n dateTime: {},\n pluralRules: {}\n };\n\n this.format = function (values) {\n var parts = _this.formatToParts(values); // Hot path for straight simple msg translations\n\n\n if (parts.length === 1) {\n return parts[0].value;\n }\n\n var result = parts.reduce(function (all, part) {\n if (!all.length || part.type !== PART_TYPE.literal || typeof all[all.length - 1] !== 'string') {\n all.push(part.value);\n } else {\n all[all.length - 1] += part.value;\n }\n\n return all;\n }, []);\n\n if (result.length <= 1) {\n return result[0] || '';\n }\n\n return result;\n };\n\n this.formatToParts = function (values) {\n return formatToParts(_this.ast, _this.locales, _this.formatters, _this.formats, values, undefined, _this.message);\n };\n\n this.resolvedOptions = function () {\n return {\n locale: Intl.NumberFormat.supportedLocalesOf(_this.locales)[0]\n };\n };\n\n this.getAst = function () {\n return _this.ast;\n };\n\n if (typeof message === 'string') {\n this.message = message;\n\n if (!IntlMessageFormat.__parse) {\n throw new TypeError('IntlMessageFormat.__parse must be set to process `message` of type `string`');\n } // Parse string messages into an AST.\n\n\n this.ast = IntlMessageFormat.__parse(message, {\n ignoreTag: opts === null || opts === void 0 ? void 0 : opts.ignoreTag\n });\n } else {\n this.ast = message;\n }\n\n if (!Array.isArray(this.ast)) {\n throw new TypeError('A message must be provided as a String or AST.');\n } // Creates a new object with the specified `formats` merged with the default\n // formats.\n\n\n this.formats = mergeConfigs(IntlMessageFormat.formats, overrideFormats); // Defined first because it's used to build the format pattern.\n\n this.locales = locales;\n this.formatters = opts && opts.formatters || createDefaultFormatters(this.formatterCache);\n }\n\n Object.defineProperty(IntlMessageFormat, \"defaultLocale\", {\n get: function get() {\n if (!IntlMessageFormat.memoizedDefaultLocale) {\n IntlMessageFormat.memoizedDefaultLocale = new Intl.NumberFormat().resolvedOptions().locale;\n }\n\n return IntlMessageFormat.memoizedDefaultLocale;\n },\n enumerable: false,\n configurable: true\n });\n IntlMessageFormat.memoizedDefaultLocale = null;\n IntlMessageFormat.__parse = parse; // Default format options used as the prototype of the `formats` provided to the\n // constructor. These are used when constructing the internal Intl.NumberFormat\n // and Intl.DateTimeFormat instances.\n\n IntlMessageFormat.formats = {\n number: {\n integer: {\n maximumFractionDigits: 0\n },\n currency: {\n style: 'currency'\n },\n percent: {\n style: 'percent'\n }\n },\n date: {\n short: {\n month: 'numeric',\n day: 'numeric',\n year: '2-digit'\n },\n medium: {\n month: 'short',\n day: 'numeric',\n year: 'numeric'\n },\n long: {\n month: 'long',\n day: 'numeric',\n year: 'numeric'\n },\n full: {\n weekday: 'long',\n month: 'long',\n day: 'numeric',\n year: 'numeric'\n }\n },\n time: {\n short: {\n hour: 'numeric',\n minute: 'numeric'\n },\n medium: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric'\n },\n long: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short'\n },\n full: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short'\n }\n }\n };\n return IntlMessageFormat;\n}();\n\nexport { IntlMessageFormat };","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { invariant } from '@formatjs/ecma402-abstract';\nimport { DEFAULT_INTL_CONFIG as CORE_DEFAULT_INTL_CONFIG } from '@formatjs/intl';\nexport function invariantIntlContext(intl) {\n invariant(intl, '[React Intl] Could not find required `intl` object. ' + ' needs to exist in the component ancestry.');\n}\nexport var DEFAULT_INTL_CONFIG = __assign(__assign({}, CORE_DEFAULT_INTL_CONFIG), {\n textComponent: React.Fragment\n});\n/**\n * Takes a `formatXMLElementFn`, and composes it in function, which passes\n * argument `parts` through, assigning unique key to each part, to prevent\n * \"Each child in a list should have a unique \"key\"\" React error.\n * @param formatXMLElementFn\n */\n\nexport function assignUniqueKeysToParts(formatXMLElementFn) {\n return function (parts) {\n // eslint-disable-next-line prefer-rest-params\n return formatXMLElementFn(React.Children.toArray(parts));\n };\n}\nexport function shallowEqual(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n if (!objA || !objB) {\n return false;\n }\n\n var aKeys = Object.keys(objA);\n var bKeys = Object.keys(objB);\n var len = aKeys.length;\n\n if (bKeys.length !== len) {\n return false;\n }\n\n for (var i = 0; i < len; i++) {\n var key = aKeys[i];\n\n if (objA[key] !== objB[key] || !Object.prototype.hasOwnProperty.call(objB, key)) {\n return false;\n }\n }\n\n return true;\n}","'use strict';\n\nmodule.exports = require('./index').default;","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","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _raf = require('raf');\n\nvar _raf2 = _interopRequireDefault(_raf);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _toConsumableArray(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n}\n\nvar MODE_TIMEOUT = 0;\nvar MODE_INTERVAL = 1;\nvar fnStacks = new Map();\nvar runArray = new Set();\nvar rafStarted = false;\nvar startId = 0;\n\nfunction getTimeStamp() {\n return new Date().getTime();\n}\n\nfunction executeFn(value) {\n var fn = value.fn,\n args = value.args;\n fn.apply(undefined, _toConsumableArray(args));\n}\n\nfunction runFunction() {\n if (runArray.size === 0) return;\n runArray.forEach(executeFn);\n runArray.clear();\n}\n\nvar checkTick = function checkTick(currentTimeTick) {\n return function (value, id) {\n var nextTick = value.nextTick,\n ms = value.ms,\n mode = value.mode;\n\n if (currentTimeTick - nextTick >= 0) {\n runArray.add(value);\n\n if (mode === MODE_TIMEOUT) {\n fnStacks.delete(id);\n } else {\n fnStacks.set(id, Object.assign({}, value, {\n nextTick: nextTick + ms\n }));\n }\n }\n };\n};\n\nfunction loop() {\n var currentTimeTick = getTimeStamp();\n fnStacks.forEach(checkTick(currentTimeTick));\n runFunction();\n\n if (fnStacks.size === 0) {\n rafStarted = false;\n return;\n }\n\n (0, _raf2.default)(loop);\n}\n\nfunction addId(_ref) {\n var fn = _ref.fn,\n _ref$ms = _ref.ms,\n ms = _ref$ms === undefined ? 0 : _ref$ms,\n args = _ref.args,\n mode = _ref.mode;\n if (!fn) return null;\n var currentId = startId;\n fnStacks.set(currentId, {\n fn: fn,\n ms: ms,\n nextTick: getTimeStamp() + ms,\n args: args,\n mode: mode\n });\n\n if (!rafStarted) {\n rafStarted = true;\n (0, _raf2.default)(loop);\n }\n\n startId += 1;\n return currentId;\n}\n\nfunction removeId(id) {\n if (fnStacks.has(id)) {\n fnStacks.delete(id);\n }\n\n if (fnStacks.size === 0) {\n rafStarted = false;\n }\n}\n\nexports.default = {\n setTimeout: function setTimeout(fn) {\n for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n var ms = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n return addId({\n fn: fn,\n ms: ms,\n args: args,\n mode: MODE_TIMEOUT\n });\n },\n clearTimeout: removeId,\n setInterval: function setInterval(fn) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n var ms = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n return addId({\n fn: fn,\n ms: ms,\n args: args,\n mode: MODE_INTERVAL\n });\n },\n clearInterval: removeId\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-contact-js\": () => import(\"./../../../src/pages/contact.js\" /* webpackChunkName: \"component---src-pages-contact-js\" */),\n \"component---src-pages-index-en-js\": () => import(\"./../../../src/pages/index.en.js\" /* webpackChunkName: \"component---src-pages-index-en-js\" */),\n \"component---src-pages-index-ru-js\": () => import(\"./../../../src/pages/index.ru.js\" /* webpackChunkName: \"component---src-pages-index-ru-js\" */),\n \"component---src-pages-story-en-js\": () => import(\"./../../../src/pages/story.en.js\" /* webpackChunkName: \"component---src-pages-story-en-js\" */),\n \"component---src-pages-story-ru-js\": () => import(\"./../../../src/pages/story.ru.js\" /* webpackChunkName: \"component---src-pages-story-ru-js\" */),\n \"component---src-templates-story-js\": () => import(\"./../../../src/templates/story.js\" /* webpackChunkName: \"component---src-templates-story-js\" */)\n}\n\n","'use strict'; //----------------------------------------------------------------------\n//\n// This source file is part of the Folktale project.\n//\n// Licensed under MIT. See LICENCE for full licence information.\n// See CONTRIBUTORS for the list of contributors to the project.\n//\n//----------------------------------------------------------------------\n\nvar _require = require('../maybe/maybe'),\n Just = _require.Just,\n Nothing = _require.Nothing;\n/*~\n * stability: stable\n * authors:\n * - \"@boris-marinov\"\n *\n * type: |\n * forall a, b:\n * (Result a b) => Maybe b\n */\n\n\nvar resultToMaybe = function resultToMaybe(aResult) {\n return aResult.matchWith({\n Error: function Error(_ref) {\n var _ = _ref.value;\n return Nothing();\n },\n Ok: function Ok(_ref2) {\n var value = _ref2.value;\n return Just(value);\n }\n });\n};\n\nmodule.exports = resultToMaybe;","'use strict'; //----------------------------------------------------------------------\n//\n// This source file is part of the Folktale project.\n//\n// Licensed under MIT. See LICENCE for full licence information.\n// See CONTRIBUTORS for the list of contributors to the project.\n//\n//----------------------------------------------------------------------\n// --[ Dependencies ]---------------------------------------------------\n\nvar assertType = require('../../../helpers/assert-type');\n\nvar flEquals = require('../../../fantasy-land/equals');\n\nvar fl = require('../../../helpers/fantasy-land');\n\nvar provideAliases = require('../../../helpers/provide-fantasy-land-aliases');\n\nvar copyDocs = require('../../../helpers/copy-documentation');\n\nvar _require = require('../union'),\n tagSymbol = _require.tagSymbol,\n typeSymbol = _require.typeSymbol;\n\nvar toString = Object.prototype.toString;\nvar prototypeOf = Object.getPrototypeOf; // --[ Helpers ]--------------------------------------------------------\n\n/*~\n * type: (Any) => Boolean\n */\n\nvar isSetoid = function isSetoid(value) {\n return value != null && (typeof value[fl.equals] === 'function' || typeof value.equals === 'function');\n};\n/*~\n * type: (Variant, Variant) => Boolean\n */\n\n\nvar sameType = function sameType(a, b) {\n return a[typeSymbol] === b[typeSymbol] && a[tagSymbol] === b[tagSymbol];\n};\n\nvar isPlainObject = function isPlainObject(object) {\n if (Object(object) !== object) return false;\n return !prototypeOf(object) || !object.toString || toString.call(object) === object.toString();\n};\n\nvar deepEquals = function deepEquals(a, b) {\n if (a === b) return true;\n var leftSetoid = isSetoid(a);\n var rightSetoid = isSetoid(b);\n\n if (leftSetoid) {\n if (rightSetoid) return flEquals(a, b);else return false;\n }\n\n if (Array.isArray(a) && Array.isArray(b)) {\n return a.length === b.length && a.every(function (x, i) {\n return deepEquals(x, b[i]);\n });\n }\n\n if (isPlainObject(a) && isPlainObject(b)) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n var setB = new Set(keysB);\n return keysA.length === keysB.length && prototypeOf(a) === prototypeOf(b) && keysA.every(function (k) {\n return setB.has(k) && a[k] === b[k];\n });\n }\n\n return false;\n}; // --[ Implementation ]------------------------------------------------\n\n/*~\n * stability: experimental\n * authors:\n * - \"@boris-marinov\"\n * \n * type: |\n * (('a, 'a) => Boolean) => (Variant, Union) => Void\n */\n\n\nvar createDerivation = function createDerivation(valuesEqual) {\n /*~\n * type: ('a, 'a) => Boolean\n */\n var equals = function equals(a, b) {\n // identical objects must be equal\n if (a === b) return true; // we require both values to be setoids if one of them is\n\n var leftSetoid = isSetoid(a);\n var rightSetoid = isSetoid(b);\n\n if (leftSetoid) {\n if (rightSetoid) return flEquals(a, b);else return false;\n } // fall back to the provided equality\n\n\n return valuesEqual(a, b);\n };\n /*~\n * type: (Object Any, Object Any, Array String) => Boolean\n */\n\n\n var compositesEqual = function compositesEqual(a, b, keys) {\n for (var i = 0; i < keys.length; ++i) {\n var keyA = a[keys[i]];\n var keyB = b[keys[i]];\n\n if (!equals(keyA, keyB)) {\n return false;\n }\n }\n\n return true;\n };\n\n var derivation = function derivation(variant, adt) {\n /*~\n * stability: experimental\n * module: null\n * authors:\n * - \"@boris-marinov\"\n * - Quildreen Motta\n * \n * type: |\n * forall S, a:\n * (S a).(S a) => Boolean\n * where S is Setoid\n */\n variant.prototype.equals = function (value) {\n assertType(adt)(this[tagSymbol] + '#equals', value);\n return sameType(this, value) && compositesEqual(this, value, Object.keys(this));\n };\n\n provideAliases(variant.prototype);\n return variant;\n };\n\n copyDocs(createDerivation, derivation, {\n type: '(Variant, Union) => Void'\n });\n return derivation;\n}; // --[ Exports ]-------------------------------------------------------\n\n/*~~inheritsMeta: createDerivation */\n\n\nmodule.exports = createDerivation(deepEquals);\nmodule.exports.withCustomComparison = createDerivation;","module.exports = {};\n","var _curry1 = require('./internal/_curry1');\n/**\n * Gives a single-word string description of the (native) type of a value,\n * returning such answers as 'Object', 'Number', 'Array', or 'Null'. Does not\n * attempt to distinguish user Object types any further, reporting them all as\n * 'Object'.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Type\n * @sig (* -> {*}) -> String\n * @param {*} val The value to test\n * @return {String}\n * @example\n *\n * R.type({}); //=> \"Object\"\n * R.type(1); //=> \"Number\"\n * R.type(false); //=> \"Boolean\"\n * R.type('s'); //=> \"String\"\n * R.type(null); //=> \"Null\"\n * R.type([]); //=> \"Array\"\n * R.type(/[A-z]/); //=> \"RegExp\"\n * R.type(() => {}); //=> \"Function\"\n */\n\n\nmodule.exports = _curry1(function type(val) {\n return val === null ? 'Null' : val === undefined ? 'Undefined' : Object.prototype.toString.call(val).slice(8, -1);\n});","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = require(\"react-dom\");\n\nvar _TransitionGroup = _interopRequireDefault(require(\"./TransitionGroup\"));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\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 _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n/**\n * The `` component is a specialized `Transition` component\n * that animates between two children.\n *\n * ```jsx\n * \n *
I appear first
\n *
I replace the above
\n *
\n * ```\n */\n\n\nvar ReplaceTransition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(ReplaceTransition, _React$Component);\n\n function ReplaceTransition() {\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\n _this.handleEnter = function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _this.handleLifecycle('onEnter', 0, args);\n };\n\n _this.handleEntering = function () {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _this.handleLifecycle('onEntering', 0, args);\n };\n\n _this.handleEntered = function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return _this.handleLifecycle('onEntered', 0, args);\n };\n\n _this.handleExit = function () {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n return _this.handleLifecycle('onExit', 1, args);\n };\n\n _this.handleExiting = function () {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n return _this.handleLifecycle('onExiting', 1, args);\n };\n\n _this.handleExited = function () {\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n\n return _this.handleLifecycle('onExited', 1, args);\n };\n\n return _this;\n }\n\n var _proto = ReplaceTransition.prototype;\n\n _proto.handleLifecycle = function handleLifecycle(handler, idx, originalArgs) {\n var _child$props;\n\n var children = this.props.children;\n\n var child = _react.default.Children.toArray(children)[idx];\n\n if (child.props[handler]) (_child$props = child.props)[handler].apply(_child$props, originalArgs);\n if (this.props[handler]) this.props[handler]((0, _reactDom.findDOMNode)(this));\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n children = _this$props.children,\n inProp = _this$props.in,\n props = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\"]);\n\n var _React$Children$toArr = _react.default.Children.toArray(children),\n first = _React$Children$toArr[0],\n second = _React$Children$toArr[1];\n\n delete props.onEnter;\n delete props.onEntering;\n delete props.onEntered;\n delete props.onExit;\n delete props.onExiting;\n delete props.onExited;\n return _react.default.createElement(_TransitionGroup.default, props, inProp ? _react.default.cloneElement(first, {\n key: 'first',\n onEnter: this.handleEnter,\n onEntering: this.handleEntering,\n onEntered: this.handleEntered\n }) : _react.default.cloneElement(second, {\n key: 'second',\n onEnter: this.handleExit,\n onEntering: this.handleExiting,\n onEntered: this.handleExited\n }));\n };\n\n return ReplaceTransition;\n}(_react.default.Component);\n\nReplaceTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n in: _propTypes.default.bool.isRequired,\n children: function children(props, propName) {\n if (_react.default.Children.count(props[propName]) !== 2) return new Error(\"\\\"\" + propName + \"\\\" must be exactly two transition components.\");\n return null;\n }\n} : {};\nvar _default = ReplaceTransition;\nexports.default = _default;\nmodule.exports = exports[\"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}\n\nmodule.exports = _assertThisInitialized;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var _curry2 = require('./internal/_curry2');\n\nvar _dispatchable = require('./internal/_dispatchable');\n\nvar _xtake = require('./internal/_xtake');\n\nvar slice = require('./slice');\n/**\n * Returns the first `n` elements of the given list, string, or\n * transducer/transformer (or object with a `take` method).\n *\n * Dispatches to the `take` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Number -> [a] -> [a]\n * @sig Number -> String -> String\n * @param {Number} n\n * @param {*} list\n * @return {*}\n * @see R.drop\n * @example\n *\n * R.take(1, ['foo', 'bar', 'baz']); //=> ['foo']\n * R.take(2, ['foo', 'bar', 'baz']); //=> ['foo', 'bar']\n * R.take(3, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz']\n * R.take(4, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz']\n * R.take(3, 'ramda'); //=> 'ram'\n *\n * var personnel = [\n * 'Dave Brubeck',\n * 'Paul Desmond',\n * 'Eugene Wright',\n * 'Joe Morello',\n * 'Gerry Mulligan',\n * 'Bob Bates',\n * 'Joe Dodge',\n * 'Ron Crotty'\n * ];\n *\n * var takeFive = R.take(5);\n * takeFive(personnel);\n * //=> ['Dave Brubeck', 'Paul Desmond', 'Eugene Wright', 'Joe Morello', 'Gerry Mulligan']\n * @symb R.take(-1, [a, b]) = [a, b]\n * @symb R.take(0, [a, b]) = []\n * @symb R.take(1, [a, b]) = [a]\n * @symb R.take(2, [a, b]) = [a, b]\n */\n\n\nmodule.exports = _curry2(_dispatchable(['take'], _xtake, function take(n, xs) {\n return slice(0, n < 0 ? Infinity : n, xs);\n}));","/**\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","var _curry2 = require('./internal/_curry2');\n\nvar _isString = require('./internal/_isString');\n/**\n * Returns the nth element of the given list or string. If n is negative the\n * element at index length + n is returned.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Number -> [a] -> a | Undefined\n * @sig Number -> String -> String\n * @param {Number} offset\n * @param {*} list\n * @return {*}\n * @example\n *\n * var list = ['foo', 'bar', 'baz', 'quux'];\n * R.nth(1, list); //=> 'bar'\n * R.nth(-1, list); //=> 'quux'\n * R.nth(-99, list); //=> undefined\n *\n * R.nth(2, 'abc'); //=> 'c'\n * R.nth(3, 'abc'); //=> ''\n * @symb R.nth(-1, [a, b, c]) = c\n * @symb R.nth(0, [a, b, c]) = a\n * @symb R.nth(1, [a, b, c]) = b\n */\n\n\nmodule.exports = _curry2(function nth(offset, list) {\n var idx = offset < 0 ? list.length + offset : offset;\n return _isString(list) ? list.charAt(idx) : list[idx];\n});","var _curry1 = require('./internal/_curry1');\n\nvar _isString = require('./internal/_isString');\n/**\n * Returns a new list or string with the elements or characters in reverse\n * order.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a]\n * @sig String -> String\n * @param {Array|String} list\n * @return {Array|String}\n * @example\n *\n * R.reverse([1, 2, 3]); //=> [3, 2, 1]\n * R.reverse([1, 2]); //=> [2, 1]\n * R.reverse([1]); //=> [1]\n * R.reverse([]); //=> []\n *\n * R.reverse('abc'); //=> 'cba'\n * R.reverse('ab'); //=> 'ba'\n * R.reverse('a'); //=> 'a'\n * R.reverse(''); //=> ''\n */\n\n\nmodule.exports = _curry1(function reverse(list) {\n return _isString(list) ? list.split('').reverse().join('') : Array.prototype.slice.call(list, 0).reverse();\n});","var global = require('../internals/global');\n\nmodule.exports = global;\n","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\n\nvar iterableToArray = require(\"./iterableToArray.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","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 -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _pipe = require('ramda/src/pipe');\n\nvar _pipe2 = _interopRequireDefault(_pipe);\n\nvar _getBrowserLanguage = require('./getBrowserLanguage');\n\nvar _getBrowserLanguage2 = _interopRequireDefault(_getBrowserLanguage);\n\nvar _getValidLangKey = require('./getValidLangKey');\n\nvar _getValidLangKey2 = _interopRequireDefault(_getValidLangKey);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n/**\n * Get user browser valid langKey\n * @param {[String]} langs allowed lang keys ['en', 'fr', 'pt']\n * @param {String} defaultLangKey default browser language key\n * @return {string} valid langKey\n */\n\n\nvar getUserLangKey = function getUserLangKey(langs, defaultLangKey) {\n return (0, _pipe2.default)(_getBrowserLanguage2.default, (0, _getValidLangKey2.default)(langs, defaultLangKey))();\n};\n\nexports.default = getUserLangKey;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _not = require('ramda/src/not');\n\nvar _not2 = _interopRequireDefault(_not);\n\nvar _head = require('ramda/src/head');\n\nvar _head2 = _interopRequireDefault(_head);\n\nvar _isNil = require('ramda/src/isNil');\n\nvar _isNil2 = _interopRequireDefault(_isNil);\n\nvar _curry = require('ramda/src/curry');\n\nvar _curry2 = _interopRequireDefault(_curry);\n\nvar _compose = require('ramda/src/compose');\n\nvar _compose2 = _interopRequireDefault(_compose);\n\nvar _endsWith = require('ramda/src/endsWith');\n\nvar _endsWith2 = _interopRequireDefault(_endsWith);\n\nvar _startsWith = require('ramda/src/startsWith');\n\nvar _startsWith2 = _interopRequireDefault(_startsWith);\n\nvar _index = require('./index');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nvar defaultPagesPaths = ['/src/pages/'];\n\nvar getPagesPaths = function getPagesPaths(options) {\n return options && options.pagesPaths || defaultPagesPaths;\n};\n\nvar getLangKeyDefault = function getLangKeyDefault(options) {\n return options && options.langKeyDefault || options;\n};\n\nvar addSlashStart = function addSlashStart(fileName) {\n return (0, _startsWith2.default)('/', fileName) ? fileName : '/' + fileName;\n};\n\nvar addSlashEnd = function addSlashEnd(fileName) {\n return (0, _endsWith2.default)('/', fileName) ? fileName : fileName + '/';\n};\n\nvar addSlash = (0, _compose2.default)(addSlashStart, addSlashEnd);\n/**\n * Get slug (path) and langKey for a given file path.\n *\n * Used by gatsby-plugin-i18n and gatsby-plugin-i18n-tags\n *\n * @param {{langKeyDefault: string, pagesPaths: string[], prefixDefault: boolean }} options plugin options\n * @param {String} fileAbsolutePath local file absolute path\n * @return {{slug: string, langKey: string, redirectTo: string}} slug and langKey\n */\n\nvar getSlugAndLang = (0, _curry2.default)(function (options, fileAbsolutePath) {\n var slugsAndLangs = getPagesPaths(options).map(function (pagesPath) {\n var filePath = ('safeStartToSplit-' + fileAbsolutePath).split(pagesPath)[1];\n\n if ((0, _isNil2.default)(filePath)) {\n return null;\n }\n\n var langKeyDefault = getLangKeyDefault(options);\n var fileName = filePath.split('.');\n var langKey = fileName.length === 3 ? fileName[1] : langKeyDefault;\n var title = addSlash(fileName[0].replace('index', ''));\n var slug = fileName.length === 3 ? (0, _index.addLangKeyToSlug)(title, langKey, options) : title;\n return {\n slug: slug,\n langKey: langKey,\n redirectTo: slug === '/' ? addSlash(langKeyDefault) : null\n };\n });\n return (0, _head2.default)(slugsAndLangs.filter((0, _compose2.default)(_not2.default, _isNil2.default)));\n});\nexports.default = getSlugAndLang;","var nth = require('./nth');\n/**\n * Returns the first element of the given list or string. In some libraries\n * this function is named `first`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> a | Undefined\n * @sig String -> String\n * @param {Array|String} list\n * @return {*}\n * @see R.tail, R.init, R.last\n * @example\n *\n * R.head(['fi', 'fo', 'fum']); //=> 'fi'\n * R.head([]); //=> undefined\n *\n * R.head('abc'); //=> 'a'\n * R.head(''); //=> ''\n */\n\n\nmodule.exports = nth(0);","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = void 0;\n\nvar PropTypes = _interopRequireWildcard(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _PropTypes = require(\"./utils/PropTypes\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n } else {\n var newObj = {};\n\n if (obj != null) {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};\n\n if (desc.get || desc.set) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n }\n\n newObj.default = obj;\n return newObj;\n }\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 _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nvar UNMOUNTED = 'unmounted';\nexports.UNMOUNTED = UNMOUNTED;\nvar EXITED = 'exited';\nexports.EXITED = EXITED;\nvar ENTERING = 'entering';\nexports.ENTERING = ENTERING;\nvar ENTERED = 'entered';\nexports.ENTERED = ENTERED;\nvar EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 0 },\n * entered: { opacity: 1 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n *
\n * I'm a fade Transition!\n *
\n * )}\n *
\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nexports.EXITING = EXITING;\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context.transitionGroup; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n var _proto = Transition.prototype;\n\n _proto.getChildContext = function getChildContext() {\n return {\n transitionGroup: null // allows for nested Transitions\n\n };\n };\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n }; // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n var node = _reactDom.default.findDOMNode(this);\n\n if (nextStatus === ENTERING) {\n this.performEnter(node, mounting);\n } else {\n this.performExit(node);\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(node, mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context.transitionGroup ? this.context.transitionGroup.isMounting : mounting;\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(node);\n });\n return;\n }\n\n this.props.onEnter(node, appearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(node, appearing);\n\n _this2.onTransitionEnd(node, enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(node, appearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit(node) {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts(); // no exit animation skip right to EXITED\n\n if (!exit) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(node);\n });\n return;\n }\n\n this.props.onExit(node);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(node);\n\n _this3.onTransitionEnd(node, timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(node);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(node, timeout, handler) {\n this.setNextCallback(handler);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n this.props.addEndListener(node, this.nextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\"]); // filter props for Transtition\n\n\n delete childProps.in;\n delete childProps.mountOnEnter;\n delete childProps.unmountOnExit;\n delete childProps.appear;\n delete childProps.enter;\n delete childProps.exit;\n delete childProps.timeout;\n delete childProps.addEndListener;\n delete childProps.onEnter;\n delete childProps.onEntering;\n delete childProps.onEntered;\n delete childProps.onExit;\n delete childProps.onExiting;\n delete childProps.onExited;\n\n if (typeof children === 'function') {\n return children(status, childProps);\n }\n\n var child = _react.default.Children.only(children);\n\n return _react.default.cloneElement(child, childProps);\n };\n\n return Transition;\n}(_react.default.Component);\n\nTransition.contextTypes = {\n transitionGroup: PropTypes.object\n};\nTransition.childContextTypes = {\n transitionGroup: function transitionGroup() {}\n};\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`, `'unmounted'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * Normally a component is not transitioned if it is shown when the `` component mounts.\n * If you want to transition on the first mount set `appear` to `true`, and the\n * component will transition in as soon as the `` mounts.\n *\n * > Note: there are no specific \"appear\" states. `appear` only adds an additional `enter` transition.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = _PropTypes.timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. **Note:** Timeouts are still used as a fallback if provided.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func // Name the function so it is clearer in the documentation\n\n} : {};\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = 0;\nTransition.EXITED = 1;\nTransition.ENTERING = 2;\nTransition.ENTERED = 3;\nTransition.EXITING = 4;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(Transition);\n\nexports.default = _default;","import React, { Component, cloneElement } from 'react'\nimport { setTimeout, clearTimeout } from 'requestanimationframe-timer'\nimport { PublicProvider } from '../context/createTransitionContext'\n\nexport default class TransitionRenderer extends Component {\n\tstate = {\n\t\tshouldBeVisible: !!!this.props.appearAfter,\n\t}\n\n\tshouldComponentUpdate(nextProps, nextState) {\n\t\t// only rerender if the transition status changes.\n\t\treturn (\n\t\t\tthis.props.transitionStatus !== nextProps.transitionStatus ||\n\t\t\tthis.state.shouldBeVisible !== nextState.shouldBeVisible ||\n\t\t\tthis.props.children !== nextProps.children\n\t\t)\n\t}\n\n\tcomponentDidMount = () => {\n\t\tconst delay =\n\t\t\ttypeof this.props.delay === 'number' ? this.props.delay : 0\n\t\tconst appearafter =\n\t\t\ttypeof this.props.appearAfter === 'number'\n\t\t\t\t? this.props.appearAfter\n\t\t\t\t: 0\n\t\tconst timeout = delay + appearafter\n\n\t\tthis.appearTimeout = setTimeout(\n\t\t\t() => this.setState({ shouldBeVisible: true }),\n\t\t\ttimeout\n\t\t)\n\t}\n\n\tcomponentWillUnmount = () => {\n\t\tclearTimeout(this.appearTimeout)\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tmount,\n\t\t\tentryZindex,\n\t\t\texitZindex,\n\t\t\ttransitionStatus,\n\t\t\ttransitionState,\n\t\t\tchildren,\n\t\t\tinjectPageProps,\n\t\t} = this.props\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{/* pass transition state to page/template */}\n\t\t\t\t\t{// injectPageProps is a plugin option\n\t\t\t\t\tinjectPageProps\n\t\t\t\t\t\t? cloneElement(children, {\n\t\t\t\t\t\t\t\t...transitionState,\n\t\t\t\t\t\t })\n\t\t\t\t\t\t: children}\n\t\t\t\t\n\t\t\t\n\t\t)\n\t}\n}\n","var _curry3 = require('./internal/_curry3');\n\nvar _reduce = require('./internal/_reduce');\n/**\n * Returns a single item by iterating through the list, successively calling\n * the iterator function and passing it an accumulator value and the current\n * value from the array, and then passing the result to the next call.\n *\n * The iterator function receives two values: *(acc, value)*. It may use\n * [`R.reduced`](#reduced) to shortcut the iteration.\n *\n * The arguments' order of [`reduceRight`](#reduceRight)'s iterator function\n * is *(value, acc)*.\n *\n * Note: `R.reduce` does not skip deleted or unassigned indices (sparse\n * arrays), unlike the native `Array.prototype.reduce` method. For more details\n * on this behavior, see:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce#Description\n *\n * Dispatches to the `reduce` method of the third argument, if present. When\n * doing so, it is up to the user to handle the [`R.reduced`](#reduced)\n * shortcuting, as this is not implemented by `reduce`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig ((a, b) -> a) -> a -> [b] -> a\n * @param {Function} fn The iterator function. Receives two values, the accumulator and the\n * current element from the array.\n * @param {*} acc The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.reduced, R.addIndex, R.reduceRight\n * @example\n *\n * R.reduce(R.subtract, 0, [1, 2, 3, 4]) // => ((((0 - 1) - 2) - 3) - 4) = -10\n * - -10\n * / \\ / \\\n * - 4 -6 4\n * / \\ / \\\n * - 3 ==> -3 3\n * / \\ / \\\n * - 2 -1 2\n * / \\ / \\\n * 0 1 0 1\n *\n * @symb R.reduce(f, a, [b, c, d]) = f(f(f(a, b), c), d)\n */\n\n\nmodule.exports = _curry3(_reduce);","var scroll = require('./scroll-to');\n\nfunction calculateScrollOffset(elem, additionalOffset, alignment) {\n var body = document.body,\n html = document.documentElement;\n var elemRect = elem.getBoundingClientRect();\n var clientHeight = html.clientHeight;\n var documentHeight = Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);\n additionalOffset = additionalOffset || 0;\n var scrollPosition;\n\n if (alignment === 'bottom') {\n scrollPosition = elemRect.bottom - clientHeight;\n } else if (alignment === 'middle') {\n scrollPosition = elemRect.bottom - clientHeight / 2 - elemRect.height / 2;\n } else {\n // top and default\n scrollPosition = elemRect.top;\n }\n\n var maxScrollPosition = documentHeight - clientHeight;\n return Math.min(scrollPosition + additionalOffset + window.pageYOffset, maxScrollPosition);\n}\n\nmodule.exports = function (elem, options) {\n options = options || {};\n if (typeof elem === 'string') elem = document.querySelector(elem);\n if (elem) return scroll(0, calculateScrollOffset(elem, options.offset, options.align), options);\n};","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var pipe = require('./pipe');\n\nvar reverse = require('./reverse');\n/**\n * Performs right-to-left function composition. The rightmost function may have\n * any arity; the remaining functions must be unary.\n *\n * **Note:** The result of compose is not automatically curried.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig ((y -> z), (x -> y), ..., (o -> p), ((a, b, ..., n) -> o)) -> ((a, b, ..., n) -> z)\n * @param {...Function} ...functions The functions to compose\n * @return {Function}\n * @see R.pipe\n * @example\n *\n * var classyGreeting = (firstName, lastName) => \"The name's \" + lastName + \", \" + firstName + \" \" + lastName\n * var yellGreeting = R.compose(R.toUpper, classyGreeting);\n * yellGreeting('James', 'Bond'); //=> \"THE NAME'S BOND, JAMES BOND\"\n *\n * R.compose(Math.abs, R.add(1), R.multiply(2))(-4) //=> 7\n *\n * @symb R.compose(f, g, h)(a, b) = f(g(h(a, b)))\n */\n\n\nmodule.exports = function compose() {\n if (arguments.length === 0) {\n throw new Error('compose requires at least one argument');\n }\n\n return pipe.apply(this, reverse(arguments));\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar PropTypes = _interopRequireWildcard(require(\"prop-types\"));\n\nvar _addClass = _interopRequireDefault(require(\"dom-helpers/class/addClass\"));\n\nvar _removeClass = _interopRequireDefault(require(\"dom-helpers/class/removeClass\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Transition = _interopRequireDefault(require(\"./Transition\"));\n\nvar _PropTypes = require(\"./utils/PropTypes\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n } else {\n var newObj = {};\n\n if (obj != null) {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};\n\n if (desc.get || desc.set) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n }\n\n newObj.default = obj;\n return newObj;\n }\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nvar addClass = function addClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return (0, _addClass.default)(node, c);\n });\n};\n\nvar removeClass = function removeClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return (0, _removeClass.default)(node, c);\n });\n};\n/**\n * A transition component inspired by the excellent\n * [ng-animate](http://www.nganimate.org/) library, you should use it if you're\n * using CSS transitions or animations. It's built upon the\n * [`Transition`](https://reactcommunity.org/react-transition-group/transition)\n * component, so it inherits all of its props.\n *\n * `CSSTransition` applies a pair of class names during the `appear`, `enter`,\n * and `exit` states of the transition. The first class is applied and then a\n * second `*-active` class in order to activate the CSSS transition. After the\n * transition, matching `*-done` class names are applied to persist the\n * transition state.\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n *
\n * {\"I'll receive my-node-* classes\"}\n *
\n *
\n * \n *
\n * );\n * }\n * ```\n *\n * When the `in` prop is set to `true`, the child component will first receive\n * the class `example-enter`, then the `example-enter-active` will be added in\n * the next tick. `CSSTransition` [forces a\n * reflow](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)\n * between before adding the `example-enter-active`. This is an important trick\n * because it allows us to transition between `example-enter` and\n * `example-enter-active` even though they were added immediately one after\n * another. Most notably, this is what makes it possible for us to animate\n * _appearance_.\n *\n * ```css\n * .my-node-enter {\n * opacity: 0;\n * }\n * .my-node-enter-active {\n * opacity: 1;\n * transition: opacity 200ms;\n * }\n * .my-node-exit {\n * opacity: 1;\n * }\n * .my-node-exit-active {\n * opacity: 0;\n * transition: opacity: 200ms;\n * }\n * ```\n *\n * `*-active` classes represent which styles you want to animate **to**.\n */\n\n\nvar CSSTransition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(CSSTransition, _React$Component);\n\n function CSSTransition() {\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\n _this.onEnter = function (node, appearing) {\n var _this$getClassNames = _this.getClassNames(appearing ? 'appear' : 'enter'),\n className = _this$getClassNames.className;\n\n _this.removeClasses(node, 'exit');\n\n addClass(node, className);\n\n if (_this.props.onEnter) {\n _this.props.onEnter(node, appearing);\n }\n };\n\n _this.onEntering = function (node, appearing) {\n var _this$getClassNames2 = _this.getClassNames(appearing ? 'appear' : 'enter'),\n activeClassName = _this$getClassNames2.activeClassName;\n\n _this.reflowAndAddClass(node, activeClassName);\n\n if (_this.props.onEntering) {\n _this.props.onEntering(node, appearing);\n }\n };\n\n _this.onEntered = function (node, appearing) {\n var appearClassName = _this.getClassNames('appear').doneClassName;\n\n var enterClassName = _this.getClassNames('enter').doneClassName;\n\n var doneClassName = appearing ? appearClassName + \" \" + enterClassName : enterClassName;\n\n _this.removeClasses(node, appearing ? 'appear' : 'enter');\n\n addClass(node, doneClassName);\n\n if (_this.props.onEntered) {\n _this.props.onEntered(node, appearing);\n }\n };\n\n _this.onExit = function (node) {\n var _this$getClassNames3 = _this.getClassNames('exit'),\n className = _this$getClassNames3.className;\n\n _this.removeClasses(node, 'appear');\n\n _this.removeClasses(node, 'enter');\n\n addClass(node, className);\n\n if (_this.props.onExit) {\n _this.props.onExit(node);\n }\n };\n\n _this.onExiting = function (node) {\n var _this$getClassNames4 = _this.getClassNames('exit'),\n activeClassName = _this$getClassNames4.activeClassName;\n\n _this.reflowAndAddClass(node, activeClassName);\n\n if (_this.props.onExiting) {\n _this.props.onExiting(node);\n }\n };\n\n _this.onExited = function (node) {\n var _this$getClassNames5 = _this.getClassNames('exit'),\n doneClassName = _this$getClassNames5.doneClassName;\n\n _this.removeClasses(node, 'exit');\n\n addClass(node, doneClassName);\n\n if (_this.props.onExited) {\n _this.props.onExited(node);\n }\n };\n\n _this.getClassNames = function (type) {\n var classNames = _this.props.classNames;\n var isStringClassNames = typeof classNames === 'string';\n var prefix = isStringClassNames && classNames ? classNames + '-' : '';\n var className = isStringClassNames ? prefix + type : classNames[type];\n var activeClassName = isStringClassNames ? className + '-active' : classNames[type + 'Active'];\n var doneClassName = isStringClassNames ? className + '-done' : classNames[type + 'Done'];\n return {\n className: className,\n activeClassName: activeClassName,\n doneClassName: doneClassName\n };\n };\n\n return _this;\n }\n\n var _proto = CSSTransition.prototype;\n\n _proto.removeClasses = function removeClasses(node, type) {\n var _this$getClassNames6 = this.getClassNames(type),\n className = _this$getClassNames6.className,\n activeClassName = _this$getClassNames6.activeClassName,\n doneClassName = _this$getClassNames6.doneClassName;\n\n className && removeClass(node, className);\n activeClassName && removeClass(node, activeClassName);\n doneClassName && removeClass(node, doneClassName);\n };\n\n _proto.reflowAndAddClass = function reflowAndAddClass(node, className) {\n // This is for to force a repaint,\n // which is necessary in order to transition styles when adding a class name.\n if (className) {\n /* eslint-disable no-unused-expressions */\n node && node.scrollTop;\n /* eslint-enable no-unused-expressions */\n\n addClass(node, className);\n }\n };\n\n _proto.render = function render() {\n var props = _extends({}, this.props);\n\n delete props.classNames;\n return _react.default.createElement(_Transition.default, _extends({}, props, {\n onEnter: this.onEnter,\n onEntered: this.onEntered,\n onEntering: this.onEntering,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited\n }));\n };\n\n return CSSTransition;\n}(_react.default.Component);\n\nCSSTransition.defaultProps = {\n classNames: ''\n};\nCSSTransition.propTypes = process.env.NODE_ENV !== \"production\" ? _extends({}, _Transition.default.propTypes, {\n /**\n * The animation classNames applied to the component as it enters, exits or\n * has finished the transition. A single name can be provided and it will be\n * suffixed for each stage: e.g.\n *\n * `classNames=\"fade\"` applies `fade-enter`, `fade-enter-active`,\n * `fade-enter-done`, `fade-exit`, `fade-exit-active`, `fade-exit-done`,\n * `fade-appear`, `fade-appear-active`, and `fade-appear-done`.\n *\n * **Note**: `fade-appear-done` and `fade-enter-done` will _both_ be applied.\n * This allows you to define different behavior for when appearing is done and\n * when regular entering is done, using selectors like\n * `.fade-enter-done:not(.fade-appear-done)`. For example, you could apply an\n * epic entrance animation when element first appears in the DOM using\n * [Animate.css](https://daneden.github.io/animate.css/). Otherwise you can\n * simply use `fade-enter-done` for defining both cases.\n *\n * Each individual classNames can also be specified independently like:\n *\n * ```js\n * classNames={{\n * appear: 'my-appear',\n * appearActive: 'my-active-appear',\n * appearDone: 'my-done-appear',\n * enter: 'my-enter',\n * enterActive: 'my-active-enter',\n * enterDone: 'my-done-enter',\n * exit: 'my-exit',\n * exitActive: 'my-active-exit',\n * exitDone: 'my-done-exit',\n * }}\n * ```\n *\n * If you want to set these classes using CSS Modules:\n *\n * ```js\n * import styles from './styles.css';\n * ```\n *\n * you might want to use camelCase in your CSS file, that way could simply\n * spread them instead of listing them one by one:\n *\n * ```js\n * classNames={{ ...styles }}\n * ```\n *\n * @type {string | {\n * appear?: string,\n * appearActive?: string,\n * appearDone?: string,\n * enter?: string,\n * enterActive?: string,\n * enterDone?: string,\n * exit?: string,\n * exitActive?: string,\n * exitDone?: string,\n * }}\n */\n classNames: _PropTypes.classNamesShape,\n\n /**\n * A `` callback fired immediately after the 'enter' or 'appear' class is\n * applied.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEnter: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter-active' or\n * 'appear-active' class is applied.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter' or\n * 'appear' classes are **removed** and the `done` class is added to the DOM node.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntered: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' class is\n * applied.\n *\n * @type Function(node: HtmlElement)\n */\n onExit: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit-active' is applied.\n *\n * @type Function(node: HtmlElement)\n */\n onExiting: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' classes\n * are **removed** and the `exit-done` class is added to the DOM node.\n *\n * @type Function(node: HtmlElement)\n */\n onExited: PropTypes.func\n}) : {};\nvar _default = CSSTransition;\nexports.default = _default;\nmodule.exports = exports[\"default\"];","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var _curry2 = require('./internal/_curry2');\n\nvar _dispatchable = require('./internal/_dispatchable');\n\nvar _filter = require('./internal/_filter');\n\nvar _isObject = require('./internal/_isObject');\n\nvar _reduce = require('./internal/_reduce');\n\nvar _xfilter = require('./internal/_xfilter');\n\nvar keys = require('./keys');\n/**\n * Takes a predicate and a `Filterable`, and returns a new filterable of the\n * same type containing the members of the given filterable which satisfy the\n * given predicate. Filterable objects include plain objects or any object\n * that has a filter method such as `Array`.\n *\n * Dispatches to the `filter` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Filterable f => (a -> Boolean) -> f a -> f a\n * @param {Function} pred\n * @param {Array} filterable\n * @return {Array} Filterable\n * @see R.reject, R.transduce, R.addIndex\n * @example\n *\n * var isEven = n => n % 2 === 0;\n *\n * R.filter(isEven, [1, 2, 3, 4]); //=> [2, 4]\n *\n * R.filter(isEven, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4}\n */\n\n\nmodule.exports = _curry2(_dispatchable(['filter'], _xfilter, function (pred, filterable) {\n return _isObject(filterable) ? _reduce(function (acc, key) {\n if (pred(filterable[key])) {\n acc[key] = filterable[key];\n }\n\n return acc;\n }, {}, keys(filterable)) : // else\n _filter(pred, filterable);\n}));","var _curry2 = require('./_curry2');\n\nvar _reduced = require('./_reduced');\n\nvar _xfBase = require('./_xfBase');\n\nmodule.exports = function () {\n function XTake(n, xf) {\n this.xf = xf;\n this.n = n;\n this.i = 0;\n }\n\n XTake.prototype['@@transducer/init'] = _xfBase.init;\n XTake.prototype['@@transducer/result'] = _xfBase.result;\n\n XTake.prototype['@@transducer/step'] = function (result, input) {\n this.i += 1;\n var ret = this.n === 0 ? result : this.xf['@@transducer/step'](result, input);\n return this.n >= 0 && this.i >= this.n ? _reduced(ret) : ret;\n };\n\n return _curry2(function _xtake(n, xf) {\n return new XTake(n, xf);\n });\n}();","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}","'use strict';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n}; //----------------------------------------------------------------------\n//\n// This source file is part of the Folktale project.\n//\n// Licensed under MIT. See LICENCE for full licence information.\n// See CONTRIBUTORS for the list of contributors to the project.\n//\n//----------------------------------------------------------------------\n\n\nmodule.exports = function (method, maybeObject) {\n if ((typeof maybeObject === 'undefined' ? 'undefined' : _typeof(maybeObject)) !== 'object') {\n throw new TypeError(method + ' expects an Object, but was given ' + maybeObject + '.');\n }\n};","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 -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\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","var _curry2 = require('./internal/_curry2');\n\nvar drop = require('./drop');\n/**\n * Returns a new list containing the last `n` elements of the given list.\n * If `n > list.length`, returns a list of `list.length` elements.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig Number -> [a] -> [a]\n * @sig Number -> String -> String\n * @param {Number} n The number of elements to return.\n * @param {Array} xs The collection to consider.\n * @return {Array}\n * @see R.dropLast\n * @example\n *\n * R.takeLast(1, ['foo', 'bar', 'baz']); //=> ['baz']\n * R.takeLast(2, ['foo', 'bar', 'baz']); //=> ['bar', 'baz']\n * R.takeLast(3, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz']\n * R.takeLast(4, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz']\n * R.takeLast(3, 'ramda'); //=> 'mda'\n */\n\n\nmodule.exports = _curry2(function takeLast(n, xs) {\n return drop(n >= 0 ? xs.length - n : 0, xs);\n});","'use strict';\nvar $ = require('../internals/export');\nvar aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar test = [];\nvar nativeSort = test.sort;\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return String(x) > String(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aFunction(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? nativeSort.call(array) : nativeSort.call(array, comparefn);\n\n var items = [];\n var arrayLength = toLength(array.length);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) items.push(array[index]);\n }\n\n items = internalSort(items, getSortCompare(comparefn));\n itemsLength = items.length;\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) delete array[index++];\n\n return array;\n }\n});\n","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","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 userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","var toObject = require('../internals/to-object');\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty.call(toObject(it), key);\n};\n","'use strict'; //----------------------------------------------------------------------\n//\n// This source file is part of the Folktale project.\n//\n// Licensed under MIT. See LICENCE for full licence information.\n// See CONTRIBUTORS for the list of contributors to the project.\n//\n//----------------------------------------------------------------------\n\n/*~\n * stability: experimental\n * name: module folktale/adt/union\n */\n\nmodule.exports = {\n union: require('./union'),\n derivations: require('./derivations')\n};","'use strict'; //----------------------------------------------------------------------\n//\n// This source file is part of the Folktale project.\n//\n// Licensed under MIT. See LICENCE for full licence information.\n// See CONTRIBUTORS for the list of contributors to the project.\n//\n//----------------------------------------------------------------------\n\nvar mm = Symbol.for('@@meta:magical');\n\nvar copyDocumentation = function copyDocumentation(source, target) {\n var extensions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (process.env.FOLKTALE_DOCS !== 'false') {\n target[mm] = Object.assign({}, source[mm] || {}, extensions);\n }\n};\n\nmodule.exports = copyDocumentation;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _ChildMapping = require(\"./utils/ChildMapping\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\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 _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nfunction _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\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n /**\n * The `` component manages a set of transition components\n * (`` and ``) in a list. Like with the transition\n * components, `` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the ``.\n *\n * Note that `` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\n};\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_assertThisInitialized(_this))); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.getChildContext = function getChildContext() {\n return {\n transitionGroup: {\n isMounting: !this.appeared\n }\n };\n };\n\n _proto.componentDidMount = function componentDidMount() {\n this.appeared = true;\n this.mounted = true;\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? (0, _ChildMapping.getInitialChildMapping)(nextProps, handleExited) : (0, _ChildMapping.getNextChildMapping)(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n };\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = (0, _ChildMapping.getChildMapping)(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return children;\n }\n\n return _react.default.createElement(Component, props, children);\n };\n\n return TransitionGroup;\n}(_react.default.Component);\n\nTransitionGroup.childContextTypes = {\n transitionGroup: _propTypes.default.object.isRequired\n};\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `` renders a `
` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `
` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: _propTypes.default.any,\n\n /**\n * A set of `` components, that are toggled `in` and out as they\n * leave. the `` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `` as\n * with our `` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: _propTypes.default.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: _propTypes.default.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: _propTypes.default.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: _propTypes.default.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: _propTypes.default.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(TransitionGroup);\n\nexports.default = _default;\nmodule.exports = exports[\"default\"];","// This is extracted to separate module because it's shared\n// between browser and SSR code\nexport const RouteAnnouncerProps = {\n id: `gatsby-announcer`,\n style: {\n position: `absolute`,\n top: 0,\n width: 1,\n height: 1,\n padding: 0,\n overflow: `hidden`,\n clip: `rect(0, 0, 0, 0)`,\n whiteSpace: `nowrap`,\n border: 0,\n },\n \"aria-live\": `assertive`,\n \"aria-atomic\": `true`,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport redirects from \"./redirects.json\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport emitter from \"./emitter\"\nimport { RouteAnnouncerProps } from \"./route-announcer-props\"\nimport { navigate as reachNavigate } from \"@reach/router\"\nimport { globalHistory } from \"@reach/router/lib/history\"\nimport { parsePath } from \"gatsby-link\"\n\n// Convert to a map for faster lookup in maybeRedirect()\n\nconst redirectMap = new Map()\nconst redirectIgnoreCaseMap = new Map()\n\nredirects.forEach(redirect => {\n if (redirect.ignoreCase) {\n redirectIgnoreCaseMap.set(redirect.fromPath, redirect)\n } else {\n redirectMap.set(redirect.fromPath, redirect)\n }\n})\n\nfunction maybeRedirect(pathname) {\n let redirect = redirectMap.get(pathname)\n if (!redirect) {\n redirect = redirectIgnoreCaseMap.get(pathname.toLowerCase())\n }\n\n if (redirect != null) {\n if (process.env.NODE_ENV !== `production`) {\n if (!loader.isPageNotFound(pathname)) {\n console.error(\n `The route \"${pathname}\" matches both a page and a redirect; this is probably not intentional.`\n )\n }\n }\n\n window.___replace(redirect.toPath)\n return true\n } else {\n return false\n }\n}\n\nconst onPreRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n apiRunner(`onPreRouteUpdate`, { location, prevLocation })\n }\n}\n\nconst onRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n apiRunner(`onRouteUpdate`, { location, prevLocation })\n if (\n process.env.GATSBY_EXPERIMENTAL_QUERY_ON_DEMAND &&\n process.env.GATSBY_QUERY_ON_DEMAND_LOADING_INDICATOR === `true`\n ) {\n emitter.emit(`onRouteUpdate`, { location, prevLocation })\n }\n }\n}\n\nconst navigate = (to, options = {}) => {\n // Support forward/backward navigation with numbers\n // navigate(-2) (jumps back 2 history steps)\n // navigate(2) (jumps forward 2 history steps)\n if (typeof to === `number`) {\n globalHistory.navigate(to)\n return\n }\n\n let { pathname } = parsePath(to)\n let redirect = redirectMap.get(pathname)\n if (!redirect) {\n redirect = redirectIgnoreCaseMap.get(pathname.toLowerCase())\n }\n\n // If we're redirecting, just replace the passed in pathname\n // to the one we want to redirect to.\n if (redirect) {\n to = redirect.toPath\n pathname = parsePath(to).pathname\n }\n\n // If we had a service worker update, no matter the path, reload window and\n // reset the pathname whitelist\n if (window.___swUpdated) {\n window.location = pathname\n return\n }\n\n // Start a timer to wait for a second before transitioning and showing a\n // loader in case resources aren't around yet.\n const timeoutId = setTimeout(() => {\n emitter.emit(`onDelayedLoadPageResources`, { pathname })\n apiRunner(`onRouteUpdateDelayed`, {\n location: window.location,\n })\n }, 1000)\n\n loader.loadPage(pathname).then(pageResources => {\n // If no page resources, then refresh the page\n // Do this, rather than simply `window.location.reload()`, so that\n // pressing the back/forward buttons work - otherwise when pressing\n // back, the browser will just change the URL and expect JS to handle\n // the change, which won't always work since it might not be a Gatsby\n // page.\n if (!pageResources || pageResources.status === PageResourceStatus.Error) {\n window.history.replaceState({}, ``, location.href)\n window.location = pathname\n clearTimeout(timeoutId)\n return\n }\n\n // If the loaded page has a different compilation hash to the\n // window, then a rebuild has occurred on the server. Reload.\n if (process.env.NODE_ENV === `production` && pageResources) {\n if (\n pageResources.page.webpackCompilationHash !==\n window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n window.location = pathname\n }\n }\n reachNavigate(to, options)\n clearTimeout(timeoutId)\n })\n}\n\nfunction shouldUpdateScroll(prevRouterProps, { location }) {\n const { pathname, hash } = location\n const results = apiRunner(`shouldUpdateScroll`, {\n prevRouterProps,\n // `pathname` for backwards compatibility\n pathname,\n routerProps: { location },\n getSavedScrollPosition: args => [\n 0,\n this._stateStorage.read(args, args.key),\n ],\n })\n if (results.length > 0) {\n // Use the latest registered shouldUpdateScroll result, this allows users to override plugin's configuration\n // @see https://github.com/gatsbyjs/gatsby/issues/12038\n return results[results.length - 1]\n }\n\n if (prevRouterProps) {\n const {\n location: { pathname: oldPathname },\n } = prevRouterProps\n if (oldPathname === pathname) {\n // Scroll to element if it exists, if it doesn't, or no hash is provided,\n // scroll to top.\n return hash ? decodeURI(hash.slice(1)) : [0, 0]\n }\n }\n return true\n}\n\nfunction init() {\n // The \"scroll-behavior\" package expects the \"action\" to be on the location\n // object so let's copy it over.\n globalHistory.listen(args => {\n args.location.action = args.action\n })\n\n window.___push = to => navigate(to, { replace: false })\n window.___replace = to => navigate(to, { replace: true })\n window.___navigate = (to, options) => navigate(to, options)\n\n // Check for initial page-load redirect\n maybeRedirect(window.location.pathname)\n}\n\nclass RouteAnnouncer extends React.Component {\n constructor(props) {\n super(props)\n this.announcementRef = React.createRef()\n }\n\n componentDidUpdate(prevProps, nextProps) {\n requestAnimationFrame(() => {\n let pageName = `new page at ${this.props.location.pathname}`\n if (document.title) {\n pageName = document.title\n }\n const pageHeadings = document.querySelectorAll(`#gatsby-focus-wrapper h1`)\n if (pageHeadings && pageHeadings.length) {\n pageName = pageHeadings[0].textContent\n }\n const newAnnouncement = `Navigated to ${pageName}`\n if (this.announcementRef.current) {\n const oldAnnouncement = this.announcementRef.current.innerText\n if (oldAnnouncement !== newAnnouncement) {\n this.announcementRef.current.innerText = newAnnouncement\n }\n }\n })\n }\n\n render() {\n return
\n }\n}\n\nconst compareLocationProps = (prevLocation, nextLocation) => {\n if (prevLocation.href !== nextLocation.href) {\n return true\n }\n\n if (prevLocation?.state?.key !== nextLocation?.state?.key) {\n return true\n }\n\n return false\n}\n\n// Fire on(Pre)RouteUpdate APIs\nclass RouteUpdates extends React.Component {\n constructor(props) {\n super(props)\n onPreRouteUpdate(props.location, null)\n }\n\n componentDidMount() {\n onRouteUpdate(this.props.location, null)\n }\n\n shouldComponentUpdate(prevProps) {\n if (compareLocationProps(prevProps.location, this.props.location)) {\n onPreRouteUpdate(this.props.location, prevProps.location)\n return true\n }\n return false\n }\n\n componentDidUpdate(prevProps) {\n if (compareLocationProps(prevProps.location, this.props.location)) {\n onRouteUpdate(this.props.location, prevProps.location)\n }\n }\n\n render() {\n return (\n \n {this.props.children}\n \n \n )\n }\n}\n\nRouteUpdates.propTypes = {\n location: PropTypes.object.isRequired,\n}\n\nexport { init, shouldUpdateScroll, RouteUpdates }\n","// Pulled from react-compat\n// https://github.com/developit/preact-compat/blob/7c5de00e7c85e2ffd011bf3af02899b63f699d3a/src/index.js#L349\nfunction shallowDiffers(a, b) {\n for (var i in a) {\n if (!(i in b)) return true;\n }for (var _i in b) {\n if (a[_i] !== b[_i]) return true;\n }return false;\n}\n\nexport default (function (instance, nextProps, nextState) {\n return shallowDiffers(instance.props, nextProps) || shallowDiffers(instance.state, nextState);\n});","import React from \"react\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport shallowCompare from \"shallow-compare\"\n\nclass EnsureResources extends React.Component {\n constructor(props) {\n super()\n const { location, pageResources } = props\n this.state = {\n location: { ...location },\n pageResources: pageResources || loader.loadPageSync(location.pathname),\n }\n }\n\n static getDerivedStateFromProps({ location }, prevState) {\n if (prevState.location.href !== location.href) {\n const pageResources = loader.loadPageSync(location.pathname)\n return {\n pageResources,\n location: { ...location },\n }\n }\n\n return {\n location: { ...location },\n }\n }\n\n loadResources(rawPath) {\n loader.loadPage(rawPath).then(pageResources => {\n if (pageResources && pageResources.status !== PageResourceStatus.Error) {\n this.setState({\n location: { ...window.location },\n pageResources,\n })\n } else {\n window.history.replaceState({}, ``, location.href)\n window.location = rawPath\n }\n })\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n // Always return false if we're missing resources.\n if (!nextState.pageResources) {\n this.loadResources(nextProps.location.pathname)\n return false\n }\n\n if (\n process.env.BUILD_STAGE === `develop` &&\n nextState.pageResources.stale\n ) {\n this.loadResources(nextProps.location.pathname)\n return false\n }\n\n // Check if the component or json have changed.\n if (this.state.pageResources !== nextState.pageResources) {\n return true\n }\n if (\n this.state.pageResources.component !== nextState.pageResources.component\n ) {\n return true\n }\n\n if (this.state.pageResources.json !== nextState.pageResources.json) {\n return true\n }\n // Check if location has changed on a page using internal routing\n // via matchPath configuration.\n if (\n this.state.location.key !== nextState.location.key &&\n nextState.pageResources.page &&\n (nextState.pageResources.page.matchPath ||\n nextState.pageResources.page.path)\n ) {\n return true\n }\n return shallowCompare(this, nextProps, nextState)\n }\n\n render() {\n if (process.env.NODE_ENV !== `production` && !this.state.pageResources) {\n throw new Error(\n `EnsureResources was not able to find resources for path: \"${this.props.location.pathname}\"\nThis typically means that an issue occurred building components for that path.\nRun \\`gatsby clean\\` to remove any cached elements.`\n )\n }\n\n return this.props.children(this.state)\n }\n}\n\nexport default EnsureResources\n","import { apiRunner, apiRunnerAsync } from \"./api-runner-browser\"\nimport React from \"react\"\nimport ReactDOM from \"react-dom\"\nimport { Router, navigate, Location, BaseContext } from \"@reach/router\"\nimport { ScrollContext } from \"gatsby-react-router-scroll\"\nimport domReady from \"@mikaelkristiansson/domready\"\nimport { StaticQueryContext } from \"gatsby\"\nimport {\n shouldUpdateScroll,\n init as navigationInit,\n RouteUpdates,\n} from \"./navigation\"\nimport emitter from \"./emitter\"\nimport PageRenderer from \"./page-renderer\"\nimport asyncRequires from \"$virtual/async-requires\"\nimport {\n setLoader,\n ProdLoader,\n publicLoader,\n PageResourceStatus,\n getStaticQueryResults,\n} from \"./loader\"\nimport EnsureResources from \"./ensure-resources\"\nimport stripPrefix from \"./strip-prefix\"\n\n// Generated during bootstrap\nimport matchPaths from \"$virtual/match-paths.json\"\n\nconst loader = new ProdLoader(asyncRequires, matchPaths)\nsetLoader(loader)\nloader.setApiRunner(apiRunner)\n\nwindow.asyncRequires = asyncRequires\nwindow.___emitter = emitter\nwindow.___loader = publicLoader\n\nnavigationInit()\n\napiRunnerAsync(`onClientEntry`).then(() => {\n // Let plugins register a service worker. The plugin just needs\n // to return true.\n if (apiRunner(`registerServiceWorker`).length > 0) {\n require(`./register-service-worker`)\n }\n\n // In gatsby v2 if Router is used in page using matchPaths\n // paths need to contain full path.\n // For example:\n // - page have `/app/*` matchPath\n // - inside template user needs to use `/app/xyz` as path\n // Resetting `basepath`/`baseuri` keeps current behaviour\n // to not introduce breaking change.\n // Remove this in v3\n const RouteHandler = props => (\n \n \n \n )\n\n const DataContext = React.createContext({})\n\n class GatsbyRoot extends React.Component {\n render() {\n const { children } = this.props\n return (\n \n {({ location }) => (\n \n {({ pageResources, location }) => {\n const staticQueryResults = getStaticQueryResults()\n return (\n \n \n {children}\n \n \n )\n }}\n \n )}\n \n )\n }\n }\n\n class LocationHandler extends React.Component {\n render() {\n return (\n \n {({ pageResources, location }) => (\n \n \n \n \n \n \n \n )}\n \n )\n }\n }\n\n const { pagePath, location: browserLoc } = window\n\n // Explicitly call navigate if the canonical path (window.pagePath)\n // is different to the browser path (window.location.pathname). But\n // only if NONE of the following conditions hold:\n //\n // - The url matches a client side route (page.matchPath)\n // - it's a 404 page\n // - it's the offline plugin shell (/offline-plugin-app-shell-fallback/)\n if (\n pagePath &&\n __BASE_PATH__ + pagePath !== browserLoc.pathname &&\n !(\n loader.findMatchPath(stripPrefix(browserLoc.pathname, __BASE_PATH__)) ||\n pagePath === `/404.html` ||\n pagePath.match(/^\\/404\\/?$/) ||\n pagePath.match(/^\\/offline-plugin-app-shell-fallback\\/?$/)\n )\n ) {\n navigate(__BASE_PATH__ + pagePath + browserLoc.search + browserLoc.hash, {\n replace: true,\n })\n }\n\n publicLoader.loadPage(browserLoc.pathname).then(page => {\n if (!page || page.status === PageResourceStatus.Error) {\n throw new Error(\n `page resources for ${browserLoc.pathname} not found. Not rendering React`\n )\n }\n\n window.___webpackCompilationHash = page.page.webpackCompilationHash\n\n const SiteRoot = apiRunner(\n `wrapRootElement`,\n { element: },\n ,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\n\n const App = () => {SiteRoot}\n\n const renderer = apiRunner(\n `replaceHydrateFunction`,\n undefined,\n ReactDOM.hydrate\n )[0]\n\n domReady(() => {\n renderer(\n ,\n typeof window !== `undefined`\n ? document.getElementById(`___gatsby`)\n : void 0,\n () => {\n apiRunner(`onInitialClientRender`)\n }\n )\n })\n })\n})\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.onRouteUpdate = void 0;\n\nvar _utils = require(\"./utils\");\n\nvar onRouteUpdate = function onRouteUpdate(_ref, _ref2) {\n var location = _ref.location;\n var _ref2$offset = _ref2.offset,\n offset = _ref2$offset === void 0 ? 0 : _ref2$offset,\n _ref2$duration = _ref2.duration,\n duration = _ref2$duration === void 0 ? 1000 : _ref2$duration;\n var windowHash;\n\n if (_utils.isBrowser) {\n window.gatsby_scroll_offset = offset;\n window.gatsby_scroll_duration = duration;\n windowHash = window.gatsby_scroll_hash;\n }\n\n windowHash ? (0, _utils.scroller)(windowHash, offset) : (0, _utils.checkHash)(location, offset);\n\n if (_utils.isBrowser && windowHash) {\n window.gatsby_scroll_hash = undefined;\n }\n};\n\nexports.onRouteUpdate = onRouteUpdate;","var _curry1 = require('./internal/_curry1');\n\nvar curryN = require('./curryN');\n/**\n * Returns a curried equivalent of the provided function. The curried function\n * has two unusual capabilities. First, its arguments needn't be provided one\n * at a time. If `f` is a ternary function and `g` is `R.curry(f)`, the\n * following are equivalent:\n *\n * - `g(1)(2)(3)`\n * - `g(1)(2, 3)`\n * - `g(1, 2)(3)`\n * - `g(1, 2, 3)`\n *\n * Secondly, the special placeholder value [`R.__`](#__) may be used to specify\n * \"gaps\", allowing partial application of any combination of arguments,\n * regardless of their positions. If `g` is as above and `_` is [`R.__`](#__),\n * the following are equivalent:\n *\n * - `g(1, 2, 3)`\n * - `g(_, 2, 3)(1)`\n * - `g(_, _, 3)(1)(2)`\n * - `g(_, _, 3)(1, 2)`\n * - `g(_, 2)(1)(3)`\n * - `g(_, 2)(1, 3)`\n * - `g(_, 2)(_, 3)(1)`\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (* -> a) -> (* -> a)\n * @param {Function} fn The function to curry.\n * @return {Function} A new, curried function.\n * @see R.curryN\n * @example\n *\n * var addFourNumbers = (a, b, c, d) => a + b + c + d;\n *\n * var curriedAddFourNumbers = R.curry(addFourNumbers);\n * var f = curriedAddFourNumbers(1, 2);\n * var g = f(3);\n * g(4); //=> 10\n */\n\n\nmodule.exports = _curry1(function curry(fn) {\n return curryN(fn.length, fn);\n});","'use strict';\n\nfunction replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp('(^|\\\\s)' + classToRemove + '(?:\\\\s|$)', 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n\nmodule.exports = function removeClass(element, className) {\n if (element.classList) element.classList.remove(className);else if (typeof element.className === 'string') element.className = replaceClassName(element.className, className);else element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n};","var setPrototypeOf = require(\"./setPrototypeOf.js\");\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;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","module.exports = function _reduced(x) {\n return x && x['@@transducer/reduced'] ? x : {\n '@@transducer/value': x,\n '@@transducer/reduced': true\n };\n};","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.15.2',\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","// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport Link, {\n withPrefix,\n withAssetPrefix,\n navigate,\n push,\n replace,\n navigateTo,\n parsePath,\n} from \"gatsby-link\"\nimport { useScrollRestoration } from \"gatsby-react-router-scroll\"\nimport PageRenderer from \"./public-page-renderer\"\nimport loader from \"./loader\"\n\nconst prefetchPathname = loader.enqueue\n\nconst StaticQueryContext = React.createContext({})\n\nfunction StaticQueryDataRenderer({ staticQueryData, data, query, render }) {\n const finalData = data\n ? data.data\n : staticQueryData[query] && staticQueryData[query].data\n\n return (\n \n {finalData && render(finalData)}\n {!finalData &&
Loading (StaticQuery)
}\n
\n )\n}\n\nconst StaticQuery = props => {\n const { data, query, render, children } = props\n\n return (\n \n {staticQueryData => (\n \n )}\n \n )\n}\n\nconst useStaticQuery = query => {\n if (\n typeof React.useContext !== `function` &&\n process.env.NODE_ENV === `development`\n ) {\n throw new Error(\n `You're likely using a version of React that doesn't support Hooks\\n` +\n `Please update React and ReactDOM to 16.8.0 or later to use the useStaticQuery hook.`\n )\n }\n const context = React.useContext(StaticQueryContext)\n\n // query is a stringified number like `3303882` when wrapped with graphql, If a user forgets\n // to wrap the query in a grqphql, then casting it to a Number results in `NaN` allowing us to\n // catch the misuse of the API and give proper direction\n if (isNaN(Number(query))) {\n throw new Error(`useStaticQuery was called with a string but expects to be called using \\`graphql\\`. Try this:\n\nimport { useStaticQuery, graphql } from 'gatsby';\n\nuseStaticQuery(graphql\\`${query}\\`);\n`)\n }\n\n if (context[query]?.data) {\n return context[query].data\n } else {\n throw new Error(\n `The result of this StaticQuery could not be fetched.\\n\\n` +\n `This is likely a bug in Gatsby and if refreshing the page does not fix it, ` +\n `please open an issue in https://github.com/gatsbyjs/gatsby/issues`\n )\n }\n}\n\nStaticQuery.propTypes = {\n data: PropTypes.object,\n query: PropTypes.string.isRequired,\n render: PropTypes.func,\n children: PropTypes.func,\n}\n\nfunction graphql() {\n throw new Error(\n `It appears like Gatsby is misconfigured. Gatsby related \\`graphql\\` calls ` +\n `are supposed to only be evaluated at compile time, and then compiled away. ` +\n `Unfortunately, something went wrong and the query was left in the compiled code.\\n\\n` +\n `Unless your site has a complex or custom babel/Gatsby configuration this is likely a bug in Gatsby.`\n )\n}\n\nexport {\n Link,\n withAssetPrefix,\n withPrefix,\n graphql,\n parsePath,\n navigate,\n 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 _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}\n\nmodule.exports = _arrayLikeToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var _curry1 = require('./_curry1');\n\nvar _isPlaceholder = require('./_isPlaceholder');\n/**\n * Optimized internal two-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\n\nmodule.exports = function _curry2(fn) {\n return function f2(a, b) {\n switch (arguments.length) {\n case 0:\n return f2;\n\n case 1:\n return _isPlaceholder(a) ? f2 : _curry1(function (_b) {\n return fn(a, _b);\n });\n\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f2 : _isPlaceholder(a) ? _curry1(function (_a) {\n return fn(_a, b);\n }) : _isPlaceholder(b) ? _curry1(function (_b) {\n return fn(a, _b);\n }) : fn(a, b);\n }\n };\n};","require(\"core-js/modules/es.array.sort.js\");\n\n/**\n * Copyright 2016 Google Inc. All Rights Reserved.\n *\n * Licensed under the W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE.\n *\n * https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document\n *\n */\n(function () {\n 'use strict'; // Exit early if we're not running in a browser.\n\n if (typeof window !== 'object') {\n return;\n } // Exit early if all IntersectionObserver and IntersectionObserverEntry\n // features are natively supported.\n\n\n if ('IntersectionObserver' in window && 'IntersectionObserverEntry' in window && 'intersectionRatio' in window.IntersectionObserverEntry.prototype) {\n // Minimal polyfill for Edge 15's lack of `isIntersecting`\n // See: https://github.com/w3c/IntersectionObserver/issues/211\n if (!('isIntersecting' in window.IntersectionObserverEntry.prototype)) {\n Object.defineProperty(window.IntersectionObserverEntry.prototype, 'isIntersecting', {\n get: function get() {\n return this.intersectionRatio > 0;\n }\n });\n }\n\n return;\n }\n /**\n * A local reference to the document.\n */\n\n\n var document = window.document;\n /**\n * An IntersectionObserver registry. This registry exists to hold a strong\n * reference to IntersectionObserver instances currently observing a target\n * element. Without this registry, instances without another reference may be\n * garbage collected.\n */\n\n var registry = [];\n /**\n * Creates the global IntersectionObserverEntry constructor.\n * https://w3c.github.io/IntersectionObserver/#intersection-observer-entry\n * @param {Object} entry A dictionary of instance properties.\n * @constructor\n */\n\n function IntersectionObserverEntry(entry) {\n this.time = entry.time;\n this.target = entry.target;\n this.rootBounds = entry.rootBounds;\n this.boundingClientRect = entry.boundingClientRect;\n this.intersectionRect = entry.intersectionRect || getEmptyRect();\n this.isIntersecting = !!entry.intersectionRect; // Calculates the intersection ratio.\n\n var targetRect = this.boundingClientRect;\n var targetArea = targetRect.width * targetRect.height;\n var intersectionRect = this.intersectionRect;\n var intersectionArea = intersectionRect.width * intersectionRect.height; // Sets intersection ratio.\n\n if (targetArea) {\n // Round the intersection ratio to avoid floating point math issues:\n // https://github.com/w3c/IntersectionObserver/issues/324\n this.intersectionRatio = Number((intersectionArea / targetArea).toFixed(4));\n } else {\n // If area is zero and is intersecting, sets to 1, otherwise to 0\n this.intersectionRatio = this.isIntersecting ? 1 : 0;\n }\n }\n /**\n * Creates the global IntersectionObserver constructor.\n * https://w3c.github.io/IntersectionObserver/#intersection-observer-interface\n * @param {Function} callback The function to be invoked after intersection\n * changes have queued. The function is not invoked if the queue has\n * been emptied by calling the `takeRecords` method.\n * @param {Object=} opt_options Optional configuration options.\n * @constructor\n */\n\n\n function IntersectionObserver(callback, opt_options) {\n var options = opt_options || {};\n\n if (typeof callback != 'function') {\n throw new Error('callback must be a function');\n }\n\n if (options.root && options.root.nodeType != 1) {\n throw new Error('root must be an Element');\n } // Binds and throttles `this._checkForIntersections`.\n\n\n this._checkForIntersections = throttle(this._checkForIntersections.bind(this), this.THROTTLE_TIMEOUT); // Private properties.\n\n this._callback = callback;\n this._observationTargets = [];\n this._queuedEntries = [];\n this._rootMarginValues = this._parseRootMargin(options.rootMargin); // Public properties.\n\n this.thresholds = this._initThresholds(options.threshold);\n this.root = options.root || null;\n this.rootMargin = this._rootMarginValues.map(function (margin) {\n return margin.value + margin.unit;\n }).join(' ');\n }\n /**\n * The minimum interval within which the document will be checked for\n * intersection changes.\n */\n\n\n IntersectionObserver.prototype.THROTTLE_TIMEOUT = 100;\n /**\n * The frequency in which the polyfill polls for intersection changes.\n * this can be updated on a per instance basis and must be set prior to\n * calling `observe` on the first target.\n */\n\n IntersectionObserver.prototype.POLL_INTERVAL = null;\n /**\n * Use a mutation observer on the root element\n * to detect intersection changes.\n */\n\n IntersectionObserver.prototype.USE_MUTATION_OBSERVER = true;\n /**\n * Starts observing a target element for intersection changes based on\n * the thresholds values.\n * @param {Element} target The DOM element to observe.\n */\n\n IntersectionObserver.prototype.observe = function (target) {\n var isTargetAlreadyObserved = this._observationTargets.some(function (item) {\n return item.element == target;\n });\n\n if (isTargetAlreadyObserved) {\n return;\n }\n\n if (!(target && target.nodeType == 1)) {\n throw new Error('target must be an Element');\n }\n\n this._registerInstance();\n\n this._observationTargets.push({\n element: target,\n entry: null\n });\n\n this._monitorIntersections();\n\n this._checkForIntersections();\n };\n /**\n * Stops observing a target element for intersection changes.\n * @param {Element} target The DOM element to observe.\n */\n\n\n IntersectionObserver.prototype.unobserve = function (target) {\n this._observationTargets = this._observationTargets.filter(function (item) {\n return item.element != target;\n });\n\n if (!this._observationTargets.length) {\n this._unmonitorIntersections();\n\n this._unregisterInstance();\n }\n };\n /**\n * Stops observing all target elements for intersection changes.\n */\n\n\n IntersectionObserver.prototype.disconnect = function () {\n this._observationTargets = [];\n\n this._unmonitorIntersections();\n\n this._unregisterInstance();\n };\n /**\n * Returns any queue entries that have not yet been reported to the\n * callback and clears the queue. This can be used in conjunction with the\n * callback to obtain the absolute most up-to-date intersection information.\n * @return {Array} The currently queued entries.\n */\n\n\n IntersectionObserver.prototype.takeRecords = function () {\n var records = this._queuedEntries.slice();\n\n this._queuedEntries = [];\n return records;\n };\n /**\n * Accepts the threshold value from the user configuration object and\n * returns a sorted array of unique threshold values. If a value is not\n * between 0 and 1 and error is thrown.\n * @private\n * @param {Array|number=} opt_threshold An optional threshold value or\n * a list of threshold values, defaulting to [0].\n * @return {Array} A sorted list of unique and valid threshold values.\n */\n\n\n IntersectionObserver.prototype._initThresholds = function (opt_threshold) {\n var threshold = opt_threshold || [0];\n if (!Array.isArray(threshold)) threshold = [threshold];\n return threshold.sort().filter(function (t, i, a) {\n if (typeof t != 'number' || isNaN(t) || t < 0 || t > 1) {\n throw new Error('threshold must be a number between 0 and 1 inclusively');\n }\n\n return t !== a[i - 1];\n });\n };\n /**\n * Accepts the rootMargin value from the user configuration object\n * and returns an array of the four margin values as an object containing\n * the value and unit properties. If any of the values are not properly\n * formatted or use a unit other than px or %, and error is thrown.\n * @private\n * @param {string=} opt_rootMargin An optional rootMargin value,\n * defaulting to '0px'.\n * @return {Array} An array of margin objects with the keys\n * value and unit.\n */\n\n\n IntersectionObserver.prototype._parseRootMargin = function (opt_rootMargin) {\n var marginString = opt_rootMargin || '0px';\n var margins = marginString.split(/\\s+/).map(function (margin) {\n var parts = /^(-?\\d*\\.?\\d+)(px|%)$/.exec(margin);\n\n if (!parts) {\n throw new Error('rootMargin must be specified in pixels or percent');\n }\n\n return {\n value: parseFloat(parts[1]),\n unit: parts[2]\n };\n }); // Handles shorthand.\n\n margins[1] = margins[1] || margins[0];\n margins[2] = margins[2] || margins[0];\n margins[3] = margins[3] || margins[1];\n return margins;\n };\n /**\n * Starts polling for intersection changes if the polling is not already\n * happening, and if the page's visibility state is visible.\n * @private\n */\n\n\n IntersectionObserver.prototype._monitorIntersections = function () {\n if (!this._monitoringIntersections) {\n this._monitoringIntersections = true; // If a poll interval is set, use polling instead of listening to\n // resize and scroll events or DOM mutations.\n\n if (this.POLL_INTERVAL) {\n this._monitoringInterval = setInterval(this._checkForIntersections, this.POLL_INTERVAL);\n } else {\n addEvent(window, 'resize', this._checkForIntersections, true);\n addEvent(document, 'scroll', this._checkForIntersections, true);\n\n if (this.USE_MUTATION_OBSERVER && 'MutationObserver' in window) {\n this._domObserver = new MutationObserver(this._checkForIntersections);\n\n this._domObserver.observe(document, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true\n });\n }\n }\n }\n };\n /**\n * Stops polling for intersection changes.\n * @private\n */\n\n\n IntersectionObserver.prototype._unmonitorIntersections = function () {\n if (this._monitoringIntersections) {\n this._monitoringIntersections = false;\n clearInterval(this._monitoringInterval);\n this._monitoringInterval = null;\n removeEvent(window, 'resize', this._checkForIntersections, true);\n removeEvent(document, 'scroll', this._checkForIntersections, true);\n\n if (this._domObserver) {\n this._domObserver.disconnect();\n\n this._domObserver = null;\n }\n }\n };\n /**\n * Scans each observation target for intersection changes and adds them\n * to the internal entries queue. If new entries are found, it\n * schedules the callback to be invoked.\n * @private\n */\n\n\n IntersectionObserver.prototype._checkForIntersections = function () {\n var rootIsInDom = this._rootIsInDom();\n\n var rootRect = rootIsInDom ? this._getRootRect() : getEmptyRect();\n\n this._observationTargets.forEach(function (item) {\n var target = item.element;\n var targetRect = getBoundingClientRect(target);\n\n var rootContainsTarget = this._rootContainsTarget(target);\n\n var oldEntry = item.entry;\n\n var intersectionRect = rootIsInDom && rootContainsTarget && this._computeTargetAndRootIntersection(target, rootRect);\n\n var newEntry = item.entry = new IntersectionObserverEntry({\n time: now(),\n target: target,\n boundingClientRect: targetRect,\n rootBounds: rootRect,\n intersectionRect: intersectionRect\n });\n\n if (!oldEntry) {\n this._queuedEntries.push(newEntry);\n } else if (rootIsInDom && rootContainsTarget) {\n // If the new entry intersection ratio has crossed any of the\n // thresholds, add a new entry.\n if (this._hasCrossedThreshold(oldEntry, newEntry)) {\n this._queuedEntries.push(newEntry);\n }\n } else {\n // If the root is not in the DOM or target is not contained within\n // root but the previous entry for this target had an intersection,\n // add a new record indicating removal.\n if (oldEntry && oldEntry.isIntersecting) {\n this._queuedEntries.push(newEntry);\n }\n }\n }, this);\n\n if (this._queuedEntries.length) {\n this._callback(this.takeRecords(), this);\n }\n };\n /**\n * Accepts a target and root rect computes the intersection between then\n * following the algorithm in the spec.\n * TODO(philipwalton): at this time clip-path is not considered.\n * https://w3c.github.io/IntersectionObserver/#calculate-intersection-rect-algo\n * @param {Element} target The target DOM element\n * @param {Object} rootRect The bounding rect of the root after being\n * expanded by the rootMargin value.\n * @return {?Object} The final intersection rect object or undefined if no\n * intersection is found.\n * @private\n */\n\n\n IntersectionObserver.prototype._computeTargetAndRootIntersection = function (target, rootRect) {\n // If the element isn't displayed, an intersection can't happen.\n if (window.getComputedStyle(target).display == 'none') return;\n var targetRect = getBoundingClientRect(target);\n var intersectionRect = targetRect;\n var parent = getParentNode(target);\n var atRoot = false;\n\n while (!atRoot) {\n var parentRect = null;\n var parentComputedStyle = parent.nodeType == 1 ? window.getComputedStyle(parent) : {}; // If the parent isn't displayed, an intersection can't happen.\n\n if (parentComputedStyle.display == 'none') return;\n\n if (parent == this.root || parent == document) {\n atRoot = true;\n parentRect = rootRect;\n } else {\n // If the element has a non-visible overflow, and it's not the \n // or element, update the intersection rect.\n // Note: and cannot be clipped to a rect that's not also\n // the document rect, so no need to compute a new intersection.\n if (parent != document.body && parent != document.documentElement && parentComputedStyle.overflow != 'visible') {\n parentRect = getBoundingClientRect(parent);\n }\n } // If either of the above conditionals set a new parentRect,\n // calculate new intersection data.\n\n\n if (parentRect) {\n intersectionRect = computeRectIntersection(parentRect, intersectionRect);\n if (!intersectionRect) break;\n }\n\n parent = getParentNode(parent);\n }\n\n return intersectionRect;\n };\n /**\n * Returns the root rect after being expanded by the rootMargin value.\n * @return {Object} The expanded root rect.\n * @private\n */\n\n\n IntersectionObserver.prototype._getRootRect = function () {\n var rootRect;\n\n if (this.root) {\n rootRect = getBoundingClientRect(this.root);\n } else {\n // Use / instead of window since scroll bars affect size.\n var html = document.documentElement;\n var body = document.body;\n rootRect = {\n top: 0,\n left: 0,\n right: html.clientWidth || body.clientWidth,\n width: html.clientWidth || body.clientWidth,\n bottom: html.clientHeight || body.clientHeight,\n height: html.clientHeight || body.clientHeight\n };\n }\n\n return this._expandRectByRootMargin(rootRect);\n };\n /**\n * Accepts a rect and expands it by the rootMargin value.\n * @param {Object} rect The rect object to expand.\n * @return {Object} The expanded rect.\n * @private\n */\n\n\n IntersectionObserver.prototype._expandRectByRootMargin = function (rect) {\n var margins = this._rootMarginValues.map(function (margin, i) {\n return margin.unit == 'px' ? margin.value : margin.value * (i % 2 ? rect.width : rect.height) / 100;\n });\n\n var newRect = {\n top: rect.top - margins[0],\n right: rect.right + margins[1],\n bottom: rect.bottom + margins[2],\n left: rect.left - margins[3]\n };\n newRect.width = newRect.right - newRect.left;\n newRect.height = newRect.bottom - newRect.top;\n return newRect;\n };\n /**\n * Accepts an old and new entry and returns true if at least one of the\n * threshold values has been crossed.\n * @param {?IntersectionObserverEntry} oldEntry The previous entry for a\n * particular target element or null if no previous entry exists.\n * @param {IntersectionObserverEntry} newEntry The current entry for a\n * particular target element.\n * @return {boolean} Returns true if a any threshold has been crossed.\n * @private\n */\n\n\n IntersectionObserver.prototype._hasCrossedThreshold = function (oldEntry, newEntry) {\n // To make comparing easier, an entry that has a ratio of 0\n // but does not actually intersect is given a value of -1\n var oldRatio = oldEntry && oldEntry.isIntersecting ? oldEntry.intersectionRatio || 0 : -1;\n var newRatio = newEntry.isIntersecting ? newEntry.intersectionRatio || 0 : -1; // Ignore unchanged ratios\n\n if (oldRatio === newRatio) return;\n\n for (var i = 0; i < this.thresholds.length; i++) {\n var threshold = this.thresholds[i]; // Return true if an entry matches a threshold or if the new ratio\n // and the old ratio are on the opposite sides of a threshold.\n\n if (threshold == oldRatio || threshold == newRatio || threshold < oldRatio !== threshold < newRatio) {\n return true;\n }\n }\n };\n /**\n * Returns whether or not the root element is an element and is in the DOM.\n * @return {boolean} True if the root element is an element and is in the DOM.\n * @private\n */\n\n\n IntersectionObserver.prototype._rootIsInDom = function () {\n return !this.root || containsDeep(document, this.root);\n };\n /**\n * Returns whether or not the target element is a child of root.\n * @param {Element} target The target element to check.\n * @return {boolean} True if the target element is a child of root.\n * @private\n */\n\n\n IntersectionObserver.prototype._rootContainsTarget = function (target) {\n return containsDeep(this.root || document, target);\n };\n /**\n * Adds the instance to the global IntersectionObserver registry if it isn't\n * already present.\n * @private\n */\n\n\n IntersectionObserver.prototype._registerInstance = function () {\n if (registry.indexOf(this) < 0) {\n registry.push(this);\n }\n };\n /**\n * Removes the instance from the global IntersectionObserver registry.\n * @private\n */\n\n\n IntersectionObserver.prototype._unregisterInstance = function () {\n var index = registry.indexOf(this);\n if (index != -1) registry.splice(index, 1);\n };\n /**\n * Returns the result of the performance.now() method or null in browsers\n * that don't support the API.\n * @return {number} The elapsed time since the page was requested.\n */\n\n\n function now() {\n return window.performance && performance.now && performance.now();\n }\n /**\n * Throttles a function and delays its execution, so it's only called at most\n * once within a given time period.\n * @param {Function} fn The function to throttle.\n * @param {number} timeout The amount of time that must pass before the\n * function can be called again.\n * @return {Function} The throttled function.\n */\n\n\n function throttle(fn, timeout) {\n var timer = null;\n return function () {\n if (!timer) {\n timer = setTimeout(function () {\n fn();\n timer = null;\n }, timeout);\n }\n };\n }\n /**\n * Adds an event handler to a DOM node ensuring cross-browser compatibility.\n * @param {Node} node The DOM node to add the event handler to.\n * @param {string} event The event name.\n * @param {Function} fn The event handler to add.\n * @param {boolean} opt_useCapture Optionally adds the even to the capture\n * phase. Note: this only works in modern browsers.\n */\n\n\n function addEvent(node, event, fn, opt_useCapture) {\n if (typeof node.addEventListener == 'function') {\n node.addEventListener(event, fn, opt_useCapture || false);\n } else if (typeof node.attachEvent == 'function') {\n node.attachEvent('on' + event, fn);\n }\n }\n /**\n * Removes a previously added event handler from a DOM node.\n * @param {Node} node The DOM node to remove the event handler from.\n * @param {string} event The event name.\n * @param {Function} fn The event handler to remove.\n * @param {boolean} opt_useCapture If the event handler was added with this\n * flag set to true, it should be set to true here in order to remove it.\n */\n\n\n function removeEvent(node, event, fn, opt_useCapture) {\n if (typeof node.removeEventListener == 'function') {\n node.removeEventListener(event, fn, opt_useCapture || false);\n } else if (typeof node.detatchEvent == 'function') {\n node.detatchEvent('on' + event, fn);\n }\n }\n /**\n * Returns the intersection between two rect objects.\n * @param {Object} rect1 The first rect.\n * @param {Object} rect2 The second rect.\n * @return {?Object} The intersection rect or undefined if no intersection\n * is found.\n */\n\n\n function computeRectIntersection(rect1, rect2) {\n var top = Math.max(rect1.top, rect2.top);\n var bottom = Math.min(rect1.bottom, rect2.bottom);\n var left = Math.max(rect1.left, rect2.left);\n var right = Math.min(rect1.right, rect2.right);\n var width = right - left;\n var height = bottom - top;\n return width >= 0 && height >= 0 && {\n top: top,\n bottom: bottom,\n left: left,\n right: right,\n width: width,\n height: height\n };\n }\n /**\n * Shims the native getBoundingClientRect for compatibility with older IE.\n * @param {Element} el The element whose bounding rect to get.\n * @return {Object} The (possibly shimmed) rect of the element.\n */\n\n\n function getBoundingClientRect(el) {\n var rect;\n\n try {\n rect = el.getBoundingClientRect();\n } catch (err) {// Ignore Windows 7 IE11 \"Unspecified error\"\n // https://github.com/w3c/IntersectionObserver/pull/205\n }\n\n if (!rect) return getEmptyRect(); // Older IE\n\n if (!(rect.width && rect.height)) {\n rect = {\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n }\n\n return rect;\n }\n /**\n * Returns an empty rect object. An empty rect is returned when an element\n * is not in the DOM.\n * @return {Object} The empty rect.\n */\n\n\n function getEmptyRect() {\n return {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n width: 0,\n height: 0\n };\n }\n /**\n * Checks to see if a parent element contains a child element (including inside\n * shadow DOM).\n * @param {Node} parent The parent element.\n * @param {Node} child The child element.\n * @return {boolean} True if the parent node contains the child node.\n */\n\n\n function containsDeep(parent, child) {\n var node = child;\n\n while (node) {\n if (node == parent) return true;\n node = getParentNode(node);\n }\n\n return false;\n }\n /**\n * Gets the parent node of an element or its host element if the parent node\n * is a shadow root.\n * @param {Node} node The node whose parent to get.\n * @return {Node|null} The parent node or null if no parent exists.\n */\n\n\n function getParentNode(node) {\n var parent = node.parentNode;\n\n if (parent && parent.nodeType == 11 && parent.host) {\n // If the parent is a shadow root, return the host element.\n return parent.host;\n }\n\n if (parent && parent.assignedSlot) {\n // If the parent is distributed in a , return the parent of a slot.\n return parent.assignedSlot.parentNode;\n }\n\n return parent;\n } // Exposes the constructors globally.\n\n\n window.IntersectionObserver = IntersectionObserver;\n window.IntersectionObserverEntry = IntersectionObserverEntry;\n})();","const React = require('react')\nconst TransitionHandler = require('./components/TransitionHandler').default\nconst Layout = require('./components/Layout').LayoutComponent\n\n// eslint-disable-next-line react/prop-types,react/display-name\nmodule.exports = ({ element, props }, pluginOptions) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{element}\n\t\t\t\n\t\t\n\t)\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _startsWith = require('ramda/src/startsWith');\n\nvar _startsWith2 = _interopRequireDefault(_startsWith);\n\nvar _filter = require('ramda/src/filter');\n\nvar _filter2 = _interopRequireDefault(_filter);\n\nvar _isNil = require('ramda/src/isNil');\n\nvar _isNil2 = _interopRequireDefault(_isNil);\n\nvar _curry = require('ramda/src/curry');\n\nvar _curry2 = _interopRequireDefault(_curry);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n/**\n * Get valid langKey in langs or return defaultLangKey\n * @func\n * @param {[String]} langs allowed lang keys ['en', 'fr', 'pt']\n * @param {String} defaultLangKey default browser language key\n * @returns {String} valid langKey\n */\n\n\nvar getValidLangKey = (0, _curry2.default)(function (langs, defaultLangKey, langKey) {\n if ((0, _isNil2.default)(langKey)) {\n return defaultLangKey;\n }\n\n var currentLangKey = (0, _filter2.default)(function (l) {\n return (0, _startsWith2.default)(l, langKey);\n }, langs);\n return currentLangKey[0] || defaultLangKey;\n});\nexports.default = getValidLangKey;","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","'use strict'; //----------------------------------------------------------------------\n//\n// This source file is part of the Folktale project.\n//\n// Licensed under MIT. See LICENCE for full licence information.\n// See CONTRIBUTORS for the list of contributors to the project.\n//\n//----------------------------------------------------------------------\n\nvar _require = require('../validation/validation'),\n Success = _require.Success,\n Failure = _require.Failure;\n/*~\n * stability: stable\n * authors:\n * - \"@boris-marinov\"\n * \n * type: |\n * forall a, b:\n * (Maybe a, b) => Validation b a\n */\n\n\nvar maybeToValidation = function maybeToValidation(aMaybe, failureValue) {\n return aMaybe.matchWith({\n Nothing: function Nothing() {\n return Failure(failureValue);\n },\n Just: function Just(_ref) {\n var value = _ref.value;\n return Success(value);\n }\n });\n};\n\nmodule.exports = maybeToValidation;","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 };","var _arity = require('./internal/_arity');\n\nvar _curry1 = require('./internal/_curry1');\n\nvar _curry2 = require('./internal/_curry2');\n\nvar _curryN = require('./internal/_curryN');\n/**\n * Returns a curried equivalent of the provided function, with the specified\n * arity. The curried function has two unusual capabilities. First, its\n * arguments needn't be provided one at a time. If `g` is `R.curryN(3, f)`, the\n * following are equivalent:\n *\n * - `g(1)(2)(3)`\n * - `g(1)(2, 3)`\n * - `g(1, 2)(3)`\n * - `g(1, 2, 3)`\n *\n * Secondly, the special placeholder value [`R.__`](#__) may be used to specify\n * \"gaps\", allowing partial application of any combination of arguments,\n * regardless of their positions. If `g` is as above and `_` is [`R.__`](#__),\n * the following are equivalent:\n *\n * - `g(1, 2, 3)`\n * - `g(_, 2, 3)(1)`\n * - `g(_, _, 3)(1)(2)`\n * - `g(_, _, 3)(1, 2)`\n * - `g(_, 2)(1)(3)`\n * - `g(_, 2)(1, 3)`\n * - `g(_, 2)(_, 3)(1)`\n *\n * @func\n * @memberOf R\n * @since v0.5.0\n * @category Function\n * @sig Number -> (* -> a) -> (* -> a)\n * @param {Number} length The arity for the returned function.\n * @param {Function} fn The function to curry.\n * @return {Function} A new, curried function.\n * @see R.curry\n * @example\n *\n * var sumArgs = (...args) => R.sum(args);\n *\n * var curriedAddFourNumbers = R.curryN(4, sumArgs);\n * var f = curriedAddFourNumbers(1, 2);\n * var g = f(3);\n * g(4); //=> 10\n */\n\n\nmodule.exports = _curry2(function curryN(length, fn) {\n if (length === 1) {\n return _curry1(fn);\n }\n\n return _arity(length, _curryN(length, [], fn));\n});","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _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}\n\nmodule.exports = _unsupportedIterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var _curry1 = require('./internal/_curry1');\n\nvar _isArguments = require('./internal/_isArguments');\n\nvar _isArray = require('./internal/_isArray');\n\nvar _isObject = require('./internal/_isObject');\n\nvar _isString = require('./internal/_isString');\n/**\n * Returns the empty value of its argument's type. Ramda defines the empty\n * value of Array (`[]`), Object (`{}`), String (`''`), and Arguments. Other\n * types are supported if they define `.empty` and/or\n * `.prototype.empty`.\n *\n * Dispatches to the `empty` method of the first argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Function\n * @sig a -> a\n * @param {*} x\n * @return {*}\n * @example\n *\n * R.empty(Just(42)); //=> Nothing()\n * R.empty([1, 2, 3]); //=> []\n * R.empty('unicorns'); //=> ''\n * R.empty({x: 1, y: 2}); //=> {}\n */\n\n\nmodule.exports = _curry1(function empty(x) {\n return x != null && typeof x['fantasy-land/empty'] === 'function' ? x['fantasy-land/empty']() : x != null && x.constructor != null && typeof x.constructor['fantasy-land/empty'] === 'function' ? x.constructor['fantasy-land/empty']() : x != null && typeof x.empty === 'function' ? x.empty() : x != null && x.constructor != null && typeof x.constructor.empty === 'function' ? x.constructor.empty() : _isArray(x) ? [] : _isString(x) ? '' : _isObject(x) ? {} : _isArguments(x) ? function () {\n return arguments;\n }() : // else\n void 0;\n});","import \"core-js/modules/es.array.reduce.js\";\nimport { __assign } from \"tslib\";\nimport { invariant } from '@formatjs/ecma402-abstract';\nimport { IntlMessageFormat } from 'intl-messageformat';\nimport { MissingTranslationError, MessageFormatError } from './error';\nimport { TYPE } from '@formatjs/icu-messageformat-parser';\n\nfunction setTimeZoneInOptions(opts, timeZone) {\n return Object.keys(opts).reduce(function (all, k) {\n all[k] = __assign({\n timeZone: timeZone\n }, opts[k]);\n return all;\n }, {});\n}\n\nfunction deepMergeOptions(opts1, opts2) {\n var keys = Object.keys(__assign(__assign({}, opts1), opts2));\n return keys.reduce(function (all, k) {\n all[k] = __assign(__assign({}, opts1[k] || {}), opts2[k] || {});\n return all;\n }, {});\n}\n\nfunction deepMergeFormatsAndSetTimeZone(f1, timeZone) {\n if (!timeZone) {\n return f1;\n }\n\n var mfFormats = IntlMessageFormat.formats;\n return __assign(__assign(__assign({}, mfFormats), f1), {\n date: deepMergeOptions(setTimeZoneInOptions(mfFormats.date, timeZone), setTimeZoneInOptions(f1.date || {}, timeZone)),\n time: deepMergeOptions(setTimeZoneInOptions(mfFormats.time, timeZone), setTimeZoneInOptions(f1.time || {}, timeZone))\n });\n}\n\nexport function formatMessage(_a, state, messageDescriptor, values, opts) {\n var locale = _a.locale,\n formats = _a.formats,\n messages = _a.messages,\n defaultLocale = _a.defaultLocale,\n defaultFormats = _a.defaultFormats,\n onError = _a.onError,\n timeZone = _a.timeZone,\n defaultRichTextElements = _a.defaultRichTextElements;\n\n if (messageDescriptor === void 0) {\n messageDescriptor = {\n id: ''\n };\n }\n\n var msgId = messageDescriptor.id,\n defaultMessage = messageDescriptor.defaultMessage; // `id` is a required field of a Message Descriptor.\n\n invariant(!!msgId, \"[@formatjs/intl] An `id` must be provided to format a message. You can either:\\n1. Configure your build toolchain with [babel-plugin-formatjs](https://formatjs.io/docs/tooling/babel-plugin)\\nor [@formatjs/ts-transformer](https://formatjs.io/docs/tooling/ts-transformer) OR\\n2. Configure your `eslint` config to include [eslint-plugin-formatjs](https://formatjs.io/docs/tooling/linter#enforce-id)\\nto autofix this issue\");\n var id = String(msgId);\n var message = // In case messages is Object.create(null)\n // e.g import('foo.json') from webpack)\n // See https://github.com/formatjs/formatjs/issues/1914\n messages && Object.prototype.hasOwnProperty.call(messages, id) && messages[id]; // IMPORTANT: Hot path if `message` is AST with a single literal node\n\n if (Array.isArray(message) && message.length === 1 && message[0].type === TYPE.literal) {\n return message[0].value;\n } // IMPORTANT: Hot path straight lookup for performance\n\n\n if (!values && message && typeof message === 'string' && !defaultRichTextElements) {\n return message.replace(/'\\{(.*?)\\}'/gi, \"{$1}\");\n }\n\n values = __assign(__assign({}, defaultRichTextElements), values || {});\n formats = deepMergeFormatsAndSetTimeZone(formats, timeZone);\n defaultFormats = deepMergeFormatsAndSetTimeZone(defaultFormats, timeZone);\n\n if (!message) {\n if (!defaultMessage || locale && locale.toLowerCase() !== defaultLocale.toLowerCase()) {\n // This prevents warnings from littering the console in development\n // when no `messages` are passed into the for the\n // default locale.\n onError(new MissingTranslationError(messageDescriptor, locale));\n }\n\n if (defaultMessage) {\n try {\n var formatter = state.getMessageFormat(defaultMessage, defaultLocale, defaultFormats, opts);\n return formatter.format(values);\n } catch (e) {\n onError(new MessageFormatError(\"Error formatting default message for: \\\"\" + id + \"\\\", rendering default message verbatim\", locale, messageDescriptor, e));\n return typeof defaultMessage === 'string' ? defaultMessage : id;\n }\n }\n\n return id;\n } // We have the translated message\n\n\n try {\n var formatter = state.getMessageFormat(message, locale, formats, __assign({\n formatters: state\n }, opts || {}));\n return formatter.format(values);\n } catch (e) {\n onError(new MessageFormatError(\"Error formatting message: \\\"\" + id + \"\\\", using \" + (defaultMessage ? 'default message' : 'id') + \" as fallback.\", locale, messageDescriptor, e));\n }\n\n if (defaultMessage) {\n try {\n var formatter = state.getMessageFormat(defaultMessage, defaultLocale, defaultFormats, opts);\n return formatter.format(values);\n } catch (e) {\n onError(new MessageFormatError(\"Error formatting the default message for: \\\"\" + id + \"\\\", rendering message verbatim\", locale, messageDescriptor, e));\n }\n }\n\n if (typeof message === 'string') {\n return message;\n }\n\n if (typeof defaultMessage === 'string') {\n return defaultMessage;\n }\n\n return id;\n}","import { getNamedFormat, filterProps } from './utils';\nimport { IntlError, IntlErrorCode } from './error';\nvar NUMBER_FORMAT_OPTIONS = ['localeMatcher', 'style', 'currency', 'currencyDisplay', 'unit', 'unitDisplay', 'useGrouping', 'minimumIntegerDigits', 'minimumFractionDigits', 'maximumFractionDigits', 'minimumSignificantDigits', 'maximumSignificantDigits', // ES2020 NumberFormat\n'compactDisplay', 'currencyDisplay', 'currencySign', 'notation', 'signDisplay', 'unit', 'unitDisplay', 'numberingSystem'];\nexport function getFormatter(_a, getNumberFormat, options) {\n var locale = _a.locale,\n formats = _a.formats,\n onError = _a.onError;\n\n if (options === void 0) {\n options = {};\n }\n\n var format = options.format;\n var defaults = format && getNamedFormat(formats, 'number', format, onError) || {};\n var filteredOptions = filterProps(options, NUMBER_FORMAT_OPTIONS, defaults);\n return getNumberFormat(locale, filteredOptions);\n}\nexport function formatNumber(config, getNumberFormat, value, options) {\n if (options === void 0) {\n options = {};\n }\n\n try {\n return getFormatter(config, getNumberFormat, options).format(value);\n } catch (e) {\n config.onError(new IntlError(IntlErrorCode.FORMAT_ERROR, 'Error formatting number.', e));\n }\n\n return String(value);\n}\nexport function formatNumberToParts(config, getNumberFormat, value, options) {\n if (options === void 0) {\n options = {};\n }\n\n try {\n return getFormatter(config, getNumberFormat, options).formatToParts(value);\n } catch (e) {\n config.onError(new IntlError(IntlErrorCode.FORMAT_ERROR, 'Error formatting number.', e));\n }\n\n return [];\n}","import { getNamedFormat, filterProps } from './utils';\nimport { FormatError, ErrorCode } from 'intl-messageformat';\nimport { MessageFormatError } from './error';\nvar RELATIVE_TIME_FORMAT_OPTIONS = ['numeric', 'style'];\n\nfunction getFormatter(_a, getRelativeTimeFormat, options) {\n var locale = _a.locale,\n formats = _a.formats,\n onError = _a.onError;\n\n if (options === void 0) {\n options = {};\n }\n\n var format = options.format;\n var defaults = !!format && getNamedFormat(formats, 'relative', format, onError) || {};\n var filteredOptions = filterProps(options, RELATIVE_TIME_FORMAT_OPTIONS, defaults);\n return getRelativeTimeFormat(locale, filteredOptions);\n}\n\nexport function formatRelativeTime(config, getRelativeTimeFormat, value, unit, options) {\n if (options === void 0) {\n options = {};\n }\n\n if (!unit) {\n unit = 'second';\n }\n\n var RelativeTimeFormat = Intl.RelativeTimeFormat;\n\n if (!RelativeTimeFormat) {\n config.onError(new FormatError(\"Intl.RelativeTimeFormat is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-relativetimeformat\\\"\\n\", ErrorCode.MISSING_INTL_API));\n }\n\n try {\n return getFormatter(config, getRelativeTimeFormat, options).format(value, unit);\n } catch (e) {\n config.onError(new MessageFormatError('Error formatting relative time.', e));\n }\n\n return String(value);\n}","import { __assign } from \"tslib\";\nimport { filterProps, getNamedFormat } from './utils';\nimport { IntlError, IntlErrorCode } from './error';\nvar DATE_TIME_FORMAT_OPTIONS = ['localeMatcher', 'formatMatcher', 'timeZone', 'hour12', 'weekday', 'era', 'year', 'month', 'day', 'hour', 'minute', 'second', 'timeZoneName', 'hourCycle', 'dateStyle', 'timeStyle', 'calendar', // 'dayPeriod',\n'numberingSystem'];\nexport function getFormatter(_a, type, getDateTimeFormat, options) {\n var locale = _a.locale,\n formats = _a.formats,\n onError = _a.onError,\n timeZone = _a.timeZone;\n\n if (options === void 0) {\n options = {};\n }\n\n var format = options.format;\n\n var defaults = __assign(__assign({}, timeZone && {\n timeZone: timeZone\n }), format && getNamedFormat(formats, type, format, onError));\n\n var filteredOptions = filterProps(options, DATE_TIME_FORMAT_OPTIONS, // @ts-expect-error es2020 has a lot stuff from es2021 bleed in\n defaults);\n\n if (type === 'time' && !filteredOptions.hour && !filteredOptions.minute && !filteredOptions.second && !filteredOptions.timeStyle && !filteredOptions.dateStyle) {\n // Add default formatting options if hour, minute, or second isn't defined.\n filteredOptions = __assign(__assign({}, filteredOptions), {\n hour: 'numeric',\n minute: 'numeric'\n });\n }\n\n return getDateTimeFormat(locale, filteredOptions);\n}\nexport function formatDate(config, getDateTimeFormat) {\n var _a = [];\n\n for (var _i = 2; _i < arguments.length; _i++) {\n _a[_i - 2] = arguments[_i];\n }\n\n var value = _a[0],\n _b = _a[1],\n options = _b === void 0 ? {} : _b;\n var date = typeof value === 'string' ? new Date(value || 0) : value;\n\n try {\n return getFormatter(config, 'date', getDateTimeFormat, options).format(date);\n } catch (e) {\n config.onError(new IntlError(IntlErrorCode.FORMAT_ERROR, 'Error formatting date.', e));\n }\n\n return String(date);\n}\nexport function formatTime(config, getDateTimeFormat) {\n var _a = [];\n\n for (var _i = 2; _i < arguments.length; _i++) {\n _a[_i - 2] = arguments[_i];\n }\n\n var value = _a[0],\n _b = _a[1],\n options = _b === void 0 ? {} : _b;\n var date = typeof value === 'string' ? new Date(value || 0) : value;\n\n try {\n return getFormatter(config, 'time', getDateTimeFormat, options).format(date);\n } catch (e) {\n config.onError(new IntlError(IntlErrorCode.FORMAT_ERROR, 'Error formatting time.', e));\n }\n\n return String(date);\n}\nexport function formatDateTimeRange(config, getDateTimeFormat) {\n var _a = [];\n\n for (var _i = 2; _i < arguments.length; _i++) {\n _a[_i - 2] = arguments[_i];\n }\n\n var from = _a[0],\n to = _a[1],\n _b = _a[2],\n options = _b === void 0 ? {} : _b;\n var timeZone = config.timeZone,\n locale = config.locale,\n onError = config.onError;\n var filteredOptions = filterProps(options, DATE_TIME_FORMAT_OPTIONS, timeZone ? {\n timeZone: timeZone\n } : {});\n\n try {\n return getDateTimeFormat(locale, filteredOptions).formatRange(from, to);\n } catch (e) {\n onError(new IntlError(IntlErrorCode.FORMAT_ERROR, 'Error formatting date time range.', e));\n }\n\n return String(from);\n}\nexport function formatDateToParts(config, getDateTimeFormat) {\n var _a = [];\n\n for (var _i = 2; _i < arguments.length; _i++) {\n _a[_i - 2] = arguments[_i];\n }\n\n var value = _a[0],\n _b = _a[1],\n options = _b === void 0 ? {} : _b;\n var date = typeof value === 'string' ? new Date(value || 0) : value;\n\n try {\n return getFormatter(config, 'date', getDateTimeFormat, options).formatToParts(date);\n } catch (e) {\n config.onError(new IntlError(IntlErrorCode.FORMAT_ERROR, 'Error formatting date.', e));\n }\n\n return [];\n}\nexport function formatTimeToParts(config, getDateTimeFormat) {\n var _a = [];\n\n for (var _i = 2; _i < arguments.length; _i++) {\n _a[_i - 2] = arguments[_i];\n }\n\n var value = _a[0],\n _b = _a[1],\n options = _b === void 0 ? {} : _b;\n var date = typeof value === 'string' ? new Date(value || 0) : value;\n\n try {\n return getFormatter(config, 'time', getDateTimeFormat, options).formatToParts(date);\n } catch (e) {\n config.onError(new IntlError(IntlErrorCode.FORMAT_ERROR, 'Error formatting time.', e));\n }\n\n return [];\n}","import { filterProps } from './utils';\nimport { MessageFormatError } from './error';\nimport { ErrorCode, FormatError } from 'intl-messageformat';\nvar PLURAL_FORMAT_OPTIONS = ['localeMatcher', 'type'];\nexport function formatPlural(_a, getPluralRules, value, options) {\n var locale = _a.locale,\n onError = _a.onError;\n\n if (options === void 0) {\n options = {};\n }\n\n if (!Intl.PluralRules) {\n onError(new FormatError(\"Intl.PluralRules is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-pluralrules\\\"\\n\", ErrorCode.MISSING_INTL_API));\n }\n\n var filteredOptions = filterProps(options, PLURAL_FORMAT_OPTIONS);\n\n try {\n return getPluralRules(locale, filteredOptions).select(value);\n } catch (e) {\n onError(new MessageFormatError('Error formatting plural.', e));\n }\n\n return 'other';\n}","import \"core-js/modules/es.array.reduce.js\";\nimport { __assign } from \"tslib\";\nimport { filterProps } from './utils';\nimport { FormatError, ErrorCode } from 'intl-messageformat';\nimport { IntlError, IntlErrorCode } from './error';\nvar LIST_FORMAT_OPTIONS = ['localeMatcher', 'type', 'style'];\nvar now = Date.now();\n\nfunction generateToken(i) {\n return now + \"_\" + i + \"_\" + now;\n}\n\nexport function formatList(opts, getListFormat, values, options) {\n if (options === void 0) {\n options = {};\n }\n\n var results = formatListToParts(opts, getListFormat, values, options).reduce(function (all, el) {\n var val = el.value;\n\n if (typeof val !== 'string') {\n all.push(val);\n } else if (typeof all[all.length - 1] === 'string') {\n all[all.length - 1] += val;\n } else {\n all.push(val);\n }\n\n return all;\n }, []);\n return results.length === 1 ? results[0] : results;\n}\nexport function formatListToParts(_a, getListFormat, values, options) {\n var locale = _a.locale,\n onError = _a.onError;\n\n if (options === void 0) {\n options = {};\n }\n\n var ListFormat = Intl.ListFormat;\n\n if (!ListFormat) {\n onError(new FormatError(\"Intl.ListFormat is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-listformat\\\"\\n\", ErrorCode.MISSING_INTL_API));\n }\n\n var filteredOptions = filterProps(options, LIST_FORMAT_OPTIONS);\n\n try {\n var richValues_1 = {};\n var serializedValues = values.map(function (v, i) {\n if (typeof v === 'object') {\n var id = generateToken(i);\n richValues_1[id] = v;\n return id;\n }\n\n return String(v);\n });\n return getListFormat(locale, filteredOptions).formatToParts(serializedValues).map(function (part) {\n return part.type === 'literal' ? part : __assign(__assign({}, part), {\n value: richValues_1[part.value] || part.value\n });\n });\n } catch (e) {\n onError(new IntlError(IntlErrorCode.FORMAT_ERROR, 'Error formatting list.', e));\n } // @ts-ignore\n\n\n return values;\n}","import { filterProps } from './utils';\nimport { FormatError, ErrorCode } from 'intl-messageformat';\nimport { IntlErrorCode, IntlError } from './error';\nvar DISPLAY_NAMES_OPTONS = ['localeMatcher', 'style', 'type', 'fallback'];\nexport function formatDisplayName(_a, getDisplayNames, value, options) {\n var locale = _a.locale,\n onError = _a.onError;\n var DisplayNames = Intl.DisplayNames;\n\n if (!DisplayNames) {\n onError(new FormatError(\"Intl.DisplayNames is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-displaynames\\\"\\n\", ErrorCode.MISSING_INTL_API));\n }\n\n var filteredOptions = filterProps(options, DISPLAY_NAMES_OPTONS);\n\n try {\n return getDisplayNames(locale, filteredOptions).of(value);\n } catch (e) {\n onError(new IntlError(IntlErrorCode.FORMAT_ERROR, 'Error formatting display name.', e));\n }\n}","import { __assign } from \"tslib\";\nimport { createFormatters, DEFAULT_INTL_CONFIG } from './utils';\nimport { InvalidConfigError, MissingDataError } from './error';\nimport { formatNumber, formatNumberToParts } from './number';\nimport { formatRelativeTime } from './relativeTime';\nimport { formatDate, formatDateToParts, formatTime, formatTimeToParts, formatDateTimeRange } from './dateTime';\nimport { formatPlural } from './plural';\nimport { formatMessage } from './message';\nimport { formatList, formatListToParts } from './list';\nimport { formatDisplayName } from './displayName';\n\nfunction messagesContainString(messages) {\n var firstMessage = messages ? messages[Object.keys(messages)[0]] : undefined;\n return typeof firstMessage === 'string';\n}\n\nfunction verifyConfigMessages(config) {\n if (config.defaultRichTextElements && messagesContainString(config.messages || {})) {\n console.warn(\"[@formatjs/intl] \\\"defaultRichTextElements\\\" was specified but \\\"message\\\" was not pre-compiled. \\nPlease consider using \\\"@formatjs/cli\\\" to pre-compile your messages for performance.\\nFor more details see https://formatjs.io/docs/getting-started/message-distribution\");\n }\n}\n/**\n * Create intl object\n * @param config intl config\n * @param cache cache for formatter instances to prevent memory leak\n */\n\n\nexport function createIntl(config, cache) {\n var formatters = createFormatters(cache);\n\n var resolvedConfig = __assign(__assign({}, DEFAULT_INTL_CONFIG), config);\n\n var locale = resolvedConfig.locale,\n defaultLocale = resolvedConfig.defaultLocale,\n onError = resolvedConfig.onError;\n\n if (!locale) {\n if (onError) {\n onError(new InvalidConfigError(\"\\\"locale\\\" was not configured, using \\\"\" + defaultLocale + \"\\\" as fallback. See https://formatjs.io/docs/react-intl/api#intlshape for more details\"));\n } // Since there's no registered locale data for `locale`, this will\n // fallback to the `defaultLocale` to make sure things can render.\n // The `messages` are overridden to the `defaultProps` empty object\n // to maintain referential equality across re-renders. It's assumed\n // each contains a `defaultMessage` prop.\n\n\n resolvedConfig.locale = resolvedConfig.defaultLocale || 'en';\n } else if (!Intl.NumberFormat.supportedLocalesOf(locale).length && onError) {\n onError(new MissingDataError(\"Missing locale data for locale: \\\"\" + locale + \"\\\" in Intl.NumberFormat. Using default locale: \\\"\" + defaultLocale + \"\\\" as fallback. See https://formatjs.io/docs/react-intl#runtime-requirements for more details\"));\n } else if (!Intl.DateTimeFormat.supportedLocalesOf(locale).length && onError) {\n onError(new MissingDataError(\"Missing locale data for locale: \\\"\" + locale + \"\\\" in Intl.DateTimeFormat. Using default locale: \\\"\" + defaultLocale + \"\\\" as fallback. See https://formatjs.io/docs/react-intl#runtime-requirements for more details\"));\n }\n\n verifyConfigMessages(resolvedConfig);\n return __assign(__assign({}, resolvedConfig), {\n formatters: formatters,\n formatNumber: formatNumber.bind(null, resolvedConfig, formatters.getNumberFormat),\n formatNumberToParts: formatNumberToParts.bind(null, resolvedConfig, formatters.getNumberFormat),\n formatRelativeTime: formatRelativeTime.bind(null, resolvedConfig, formatters.getRelativeTimeFormat),\n formatDate: formatDate.bind(null, resolvedConfig, formatters.getDateTimeFormat),\n formatDateToParts: formatDateToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat),\n formatTime: formatTime.bind(null, resolvedConfig, formatters.getDateTimeFormat),\n formatDateTimeRange: formatDateTimeRange.bind(null, resolvedConfig, formatters.getDateTimeFormat),\n formatTimeToParts: formatTimeToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat),\n formatPlural: formatPlural.bind(null, resolvedConfig, formatters.getPluralRules),\n formatMessage: formatMessage.bind(null, resolvedConfig, formatters),\n formatList: formatList.bind(null, resolvedConfig, formatters.getListFormat),\n formatListToParts: formatListToParts.bind(null, resolvedConfig, formatters.getListFormat),\n formatDisplayName: formatDisplayName.bind(null, resolvedConfig, formatters.getDisplayNames)\n });\n}","import \"core-js/modules/es.array.reduce.js\";\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport { __assign, __extends, __rest, __spreadArray } from \"tslib\";\nimport * as React from 'react';\nimport { Provider } from './injectIntl';\nimport { DEFAULT_INTL_CONFIG, invariantIntlContext, assignUniqueKeysToParts, shallowEqual } from '../utils';\nimport { formatMessage as coreFormatMessage, createIntl as coreCreateIntl, createIntlCache } from '@formatjs/intl';\nimport { isFormatXMLElementFn } from 'intl-messageformat';\n\nfunction processIntlConfig(config) {\n return {\n locale: config.locale,\n timeZone: config.timeZone,\n formats: config.formats,\n textComponent: config.textComponent,\n messages: config.messages,\n defaultLocale: config.defaultLocale,\n defaultFormats: config.defaultFormats,\n onError: config.onError,\n wrapRichTextChunksInFragment: config.wrapRichTextChunksInFragment,\n defaultRichTextElements: config.defaultRichTextElements\n };\n}\n\nfunction assignUniqueKeysToFormatXMLElementFnArgument(values) {\n if (!values) {\n return values;\n }\n\n return Object.keys(values).reduce(function (acc, k) {\n var v = values[k];\n acc[k] = isFormatXMLElementFn(v) ? assignUniqueKeysToParts(v) : v;\n return acc;\n }, {});\n}\n\nvar formatMessage = function formatMessage(config, formatters, descriptor, rawValues) {\n var rest = [];\n\n for (var _i = 4; _i < arguments.length; _i++) {\n rest[_i - 4] = arguments[_i];\n }\n\n var values = assignUniqueKeysToFormatXMLElementFnArgument(rawValues);\n var chunks = coreFormatMessage.apply(void 0, __spreadArray([config, formatters, descriptor, values], rest));\n\n if (Array.isArray(chunks)) {\n return React.Children.toArray(chunks);\n }\n\n return chunks;\n};\n/**\n * Create intl object\n * @param config intl config\n * @param cache cache for formatter instances to prevent memory leak\n */\n\n\nexport var createIntl = function createIntl(_a, cache) {\n var rawDefaultRichTextElements = _a.defaultRichTextElements,\n config = __rest(_a, [\"defaultRichTextElements\"]);\n\n var defaultRichTextElements = assignUniqueKeysToFormatXMLElementFnArgument(rawDefaultRichTextElements);\n var coreIntl = coreCreateIntl(__assign(__assign(__assign({}, DEFAULT_INTL_CONFIG), config), {\n defaultRichTextElements: defaultRichTextElements\n }), cache);\n return __assign(__assign({}, coreIntl), {\n formatMessage: formatMessage.bind(null, {\n locale: coreIntl.locale,\n timeZone: coreIntl.timeZone,\n formats: coreIntl.formats,\n defaultLocale: coreIntl.defaultLocale,\n defaultFormats: coreIntl.defaultFormats,\n messages: coreIntl.messages,\n onError: coreIntl.onError,\n defaultRichTextElements: defaultRichTextElements\n }, coreIntl.formatters)\n });\n};\n\nvar IntlProvider = function (_super) {\n __extends(IntlProvider, _super);\n\n function IntlProvider() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.cache = createIntlCache();\n _this.state = {\n cache: _this.cache,\n intl: createIntl(processIntlConfig(_this.props), _this.cache),\n prevConfig: processIntlConfig(_this.props)\n };\n return _this;\n }\n\n IntlProvider.getDerivedStateFromProps = function (props, _a) {\n var prevConfig = _a.prevConfig,\n cache = _a.cache;\n var config = processIntlConfig(props);\n\n if (!shallowEqual(prevConfig, config)) {\n return {\n intl: createIntl(config, cache),\n prevConfig: config\n };\n }\n\n return null;\n };\n\n IntlProvider.prototype.render = function () {\n invariantIntlContext(this.state.intl);\n return React.createElement(Provider, {\n value: this.state.intl\n }, this.props.children);\n };\n\n IntlProvider.displayName = 'IntlProvider';\n IntlProvider.defaultProps = DEFAULT_INTL_CONFIG;\n return IntlProvider;\n}(React.PureComponent);\n\nexport default IntlProvider;","/**\n * Layout component that queries for data\n * with Gatsby's useStaticQuery component\n *\n * See: https://www.gatsbyjs.com/docs/use-static-query/\n */\n\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { useStaticQuery, graphql } from \"gatsby\"\n\nimport { getCurrentLangKey, getLangs, getUrlForLang } from 'ptz-i18n';\nimport { IntlProvider } from 'react-intl';\n// import 'intl';\n\n// import Header from \"./header\"\n// import \"./layout.css\"\n\n\n\nconst Layout = ({ children, location, i18nMessages }) => {\n const data = useStaticQuery(graphql`\n query SiteTitleQuery {\n site {\n siteMetadata {\n title\n languages {\n defaultLangKey\n langs\n } \n }\n }\n }\n `)\n const url = location.pathname;\n const { langs, defaultLangKey } = data.site.siteMetadata.languages;\n const langKey = getCurrentLangKey(langs, defaultLangKey, url);\n const homeLink = `/${langKey}/`.replace(`/${defaultLangKey}/`, '/');\n const langsMenu = getLangs(langs, langKey, getUrlForLang(homeLink, url)).map((item) => ({ ...item, link: item.link.replace(`/${defaultLangKey}/`, '/') }));\n return (\n \n {/*
*/}\n \n
{children}
\n \n \n \n \n )\n}\n\nLayout.propTypes = {\n children: PropTypes.node.isRequired,\n}\n\nexport default Layout\n","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 OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\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 || shared.state) {\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 if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\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 if (objectHas(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\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 _checkForMethod = require('./internal/_checkForMethod');\n\nvar _curry3 = require('./internal/_curry3');\n/**\n * Returns the elements of the given list or string (or object with a `slice`\n * method) from `fromIndex` (inclusive) to `toIndex` (exclusive).\n *\n * Dispatches to the `slice` method of the third argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.4\n * @category List\n * @sig Number -> Number -> [a] -> [a]\n * @sig Number -> Number -> String -> String\n * @param {Number} fromIndex The start index (inclusive).\n * @param {Number} toIndex The end index (exclusive).\n * @param {*} list\n * @return {*}\n * @example\n *\n * R.slice(1, 3, ['a', 'b', 'c', 'd']); //=> ['b', 'c']\n * R.slice(1, Infinity, ['a', 'b', 'c', 'd']); //=> ['b', 'c', 'd']\n * R.slice(0, -1, ['a', 'b', 'c', 'd']); //=> ['a', 'b', 'c']\n * R.slice(-3, -1, ['a', 'b', 'c', 'd']); //=> ['b', 'c']\n * R.slice(0, 3, 'ramda'); //=> 'ram'\n */\n\n\nmodule.exports = _curry3(_checkForMethod('slice', function slice(fromIndex, toIndex, list) {\n return Array.prototype.slice.call(list, fromIndex, toIndex);\n}));","'use strict'; //----------------------------------------------------------------------\n//\n// This source file is part of the Folktale project.\n//\n// Licensed under MIT. See LICENCE for full licence information.\n// See CONTRIBUTORS for the list of contributors to the project.\n//\n//----------------------------------------------------------------------\n\nvar _require = require('../result/result'),\n Error = _require.Error,\n Ok = _require.Ok;\n/*~\n * stability: stable\n * authors:\n * - \"@boris-marinov\"\n * \n * type: |\n * forall a, b:\n * (Validation a b) => Result a b\n */\n\n\nvar validationToResult = function validationToResult(aValidation) {\n return aValidation.matchWith({\n Failure: function Failure(_ref) {\n var value = _ref.value;\n return Error(value);\n },\n Success: function Success(_ref2) {\n var value = _ref2.value;\n return Ok(value);\n }\n });\n};\n\nmodule.exports = validationToResult;","module.exports = function _filter(fn, list) {\n var idx = 0;\n var len = list.length;\n var result = [];\n\n while (idx < len) {\n if (fn(list[idx])) {\n result[result.length] = list[idx];\n }\n\n idx += 1;\n }\n\n return result;\n};","// Generated by CoffeeScript 1.12.2\n(function () {\n var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime;\n\n if (typeof performance !== \"undefined\" && performance !== null && performance.now) {\n module.exports = function () {\n return performance.now();\n };\n } else if (typeof process !== \"undefined\" && process !== null && process.hrtime) {\n module.exports = function () {\n return (getNanoSeconds() - nodeLoadTime) / 1e6;\n };\n\n hrtime = process.hrtime;\n\n getNanoSeconds = function getNanoSeconds() {\n var hr;\n hr = hrtime();\n return hr[0] * 1e9 + hr[1];\n };\n\n moduleLoadTime = getNanoSeconds();\n upTime = process.uptime() * 1e9;\n nodeLoadTime = moduleLoadTime - upTime;\n } else if (Date.now) {\n module.exports = function () {\n return Date.now() - loadTime;\n };\n\n loadTime = Date.now();\n } else {\n module.exports = function () {\n return new Date().getTime() - loadTime;\n };\n\n loadTime = new Date().getTime();\n }\n}).call(this);","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","import { setTimeout } from 'requestanimationframe-timer'\n\nconst onEnter = ({\n\tnode,\n\tinTransition,\n\tentryTrigger,\n\tentryProps,\n\texitProps,\n\ttriggerResolve,\n\tpathname,\n\tpreventScrollJump,\n\thash,\n\tlocationKey,\n\tentryProps: { delay = 0 },\n\tappearAfter = 0,\n\te,\n}) => {\n\tif (inTransition && !preventScrollJump) {\n\t\tsetTimeout(() => {\n\t\t\tlet scrollTo = [0, 0]\n\n\t\t\t// handle hashes that link to ID's\n\t\t\t// for ex /page-2#heading-section\n\t\t\tif (hash) {\n\t\t\t\tconst hashElement = document.getElementById(hash)\n\n\t\t\t\tif (hashElement) {\n\t\t\t\t\tconst clientOffsetTop = hashElement.offsetTop\n\t\t\t\t\tscrollTo = [0, clientOffsetTop]\n\t\t\t\t}\n\t\t\t}\n\n\t\t\twindow.scrollTo(...scrollTo)\n\t\t}, appearAfter)\n\t} else if (!inTransition) {\n\t\t// If session storage fails due to cookies being disabled,\n\t\t// scroll to the top after every navigation\n\t\tlet position = [0, 0]\n\t\ttry {\n\t\t\tconst storageKey = `@@scroll|${pathname}|${locationKey}`\n\t\t\tconst y = JSON.parse(sessionStorage.getItem(storageKey)) || 0\n\n\t\t\tposition = [0, y]\n\t\t} catch (e) {\n\t\t\tconsole.warn(\n\t\t\t\t`[gatsby-plugin-transition-link] Unable to save state in sessionStorage; sessionStorage is not available.`\n\t\t\t)\n\t\t} finally {\n\t\t\twindow.scrollTo(...position)\n\t\t}\n\t}\n\n\tif (!inTransition) return\n\n\tconst { trigger: removed, ...entryPropsTrimmed } = entryProps\n\n\tconst timeout = appearAfter + delay\n\n\tconst visiblePromise = new Promise(resolve => {\n\t\tsetTimeout(() => resolve(), timeout)\n\t})\n\n\ttriggerResolve.entry({\n\t\t...entryPropsTrimmed,\n\t\tvisible: visiblePromise,\n\t\tnode,\n\t})\n\n\tentryTrigger &&\n\t\ttypeof entryTrigger === 'function' &&\n\t\tentryTrigger({\n\t\t\tentry: entryProps,\n\t\t\texit: exitProps,\n\t\t\tnode,\n\t\t\te,\n\t\t})\n}\n\nexport { onEnter }\n","const getMs = seconds => seconds * 1000\n\nexport { getMs }\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\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\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 module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var _isPlaceholder = require('./_isPlaceholder');\n/**\n * Optimized internal one-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\n\nmodule.exports = function _curry1(fn) {\n return function f1(a) {\n if (arguments.length === 0 || _isPlaceholder(a)) {\n return f1;\n } else {\n return fn.apply(this, arguments);\n }\n };\n};","/**\n * Remove a prefix from a string. Return the input string if the given prefix\n * isn't found.\n */\n\nexport default function stripPrefix(str, prefix = ``) {\n if (!prefix) {\n return str\n }\n\n if (str === prefix) {\n return `/`\n }\n\n if (str.startsWith(`${prefix}/`)) {\n return str.slice(prefix.length)\n }\n\n return str\n}\n","//\n// Main\n//\nexport default function memoize(fn, options) {\n var cache = options && options.cache ? options.cache : cacheDefault;\n var serializer = options && options.serializer ? options.serializer : serializerDefault;\n var strategy = options && options.strategy ? options.strategy : strategyDefault;\n return strategy(fn, {\n cache: cache,\n serializer: serializer\n });\n} //\n// Strategy\n//\n\nfunction isPrimitive(value) {\n return value == null || typeof value === 'number' || typeof value === 'boolean'; // || typeof value === \"string\" 'unsafe' primitive for our needs\n}\n\nfunction monadic(fn, cache, serializer, arg) {\n var cacheKey = isPrimitive(arg) ? arg : serializer(arg);\n var computedValue = cache.get(cacheKey);\n\n if (typeof computedValue === 'undefined') {\n computedValue = fn.call(this, arg);\n cache.set(cacheKey, computedValue);\n }\n\n return computedValue;\n}\n\nfunction variadic(fn, cache, serializer) {\n var args = Array.prototype.slice.call(arguments, 3);\n var cacheKey = serializer(args);\n var computedValue = cache.get(cacheKey);\n\n if (typeof computedValue === 'undefined') {\n computedValue = fn.apply(this, args);\n cache.set(cacheKey, computedValue);\n }\n\n return computedValue;\n}\n\nfunction assemble(fn, context, strategy, cache, serialize) {\n return strategy.bind(context, fn, cache, serialize);\n}\n\nfunction strategyDefault(fn, options) {\n var strategy = fn.length === 1 ? monadic : variadic;\n return assemble(fn, this, strategy, options.cache.create(), options.serializer);\n}\n\nfunction strategyVariadic(fn, options) {\n return assemble(fn, this, variadic, options.cache.create(), options.serializer);\n}\n\nfunction strategyMonadic(fn, options) {\n return assemble(fn, this, monadic, options.cache.create(), options.serializer);\n} //\n// Serializer\n//\n\n\nvar serializerDefault = function serializerDefault() {\n return JSON.stringify(arguments);\n}; //\n// Cache\n//\n\n\nfunction ObjectWithoutPrototypeCache() {\n this.cache = Object.create(null);\n}\n\nObjectWithoutPrototypeCache.prototype.has = function (key) {\n return key in this.cache;\n};\n\nObjectWithoutPrototypeCache.prototype.get = function (key) {\n return this.cache[key];\n};\n\nObjectWithoutPrototypeCache.prototype.set = function (key, value) {\n this.cache[key] = value;\n};\n\nvar cacheDefault = {\n create: function create() {\n // @ts-ignore\n return new ObjectWithoutPrototypeCache();\n }\n};\nexport var strategies = {\n variadic: strategyVariadic,\n monadic: strategyMonadic\n};","\"use strict\"; //----------------------------------------------------------------------\n//\n// This source file is part of the Folktale project.\n//\n// Licensed under MIT. See LICENCE for full licence information.\n// See CONTRIBUTORS for the list of contributors to the project.\n//\n//----------------------------------------------------------------------\n\n/*~\n * stability : stable\n * authors:\n * - Quildreen Motta\n *\n * complexity : O(n), n is the number of own enumerable properties.\n * type: |\n * (Object 'a) => Array 'a\n */\n\nvar values = function values(object) {\n return Object.keys(object).map(function (k) {\n return object[k];\n });\n}; // --[ Exports ]-------------------------------------------------------\n\n\nmodule.exports = values;","\"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}","import React, { Component } from 'react'\nimport { setTimeout, clearTimeout } from 'requestanimationframe-timer'\n\nexport default function delayTransitionRender(WrappedComponent) {\n\tclass DelayedTransitionWrapper extends Component {\n\t\tconstructor(props) {\n\t\t\tsuper(props)\n\n\t\t\tthis.state = {\n\t\t\t\t// if there is a delay, set shouldRender to false\n\t\t\t\t// then in componentdid mount shouldRender becomes true\n\t\t\t\t// after the delay.\n\t\t\t\tshouldRender: !!!this.props.delay,\n\t\t\t}\n\t\t}\n\n\t\tcomponentDidMount() {\n\t\t\tthis.renderTimeout = setTimeout(\n\t\t\t\t() => this.setState({ shouldRender: true }),\n\t\t\t\tthis.props.delay\n\t\t\t)\n\t\t}\n\n\t\tcomponentWillUnmount() {\n\t\t\tclearTimeout(this.renderTimeout)\n\t\t}\n\n\t\trender() {\n\t\t\treturn this.state.shouldRender || typeof window === `undefined` ? (\n\t\t\t\t\n\t\t\t) : null\n\t\t}\n\t}\n\n\treturn DelayedTransitionWrapper\n}\n","'use strict'; //----------------------------------------------------------------------\n//\n// This source file is part of the Folktale project.\n//\n// Licensed under MIT. See LICENCE for full licence information.\n// See CONTRIBUTORS for the list of contributors to the project.\n//\n//----------------------------------------------------------------------\n\nvar copyDocs = require('./copy-documentation');\n\nvar defineAdtMethod = function defineAdtMethod(adt, definitions) {\n Object.keys(definitions).forEach(function (name) {\n var methods = definitions[name];\n adt.variants.forEach(function (variant) {\n var method = methods[variant.tag];\n\n if (!method) {\n throw new TypeError('Method ' + name + ' not defined for ' + variant.tag);\n }\n\n copyDocs(methods, method);\n variant.prototype[name] = method;\n });\n });\n};\n\nmodule.exports = defineAdtMethod;","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.logWarning = logWarning;\nexports.scroller = scroller;\nexports.handleLinkClick = handleLinkClick;\nexports.handleStrippedLinkClick = handleStrippedLinkClick;\nexports.stripHashedLocation = stripHashedLocation;\nexports.checkHash = checkHash;\nexports.isDevelopment = exports.isBrowser = void 0;\n\nvar _scrollToElement = _interopRequireDefault(require(\"scroll-to-element\"));\n\nvar _gatsby = require(\"gatsby\");\n\nvar errorTypes = _interopRequireWildcard(require(\"./errors\"));\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { 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\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 _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar isBrowser = typeof window !== 'undefined';\nexports.isBrowser = isBrowser;\nvar isDevelopment = process.env.NODE_ENV !== 'production';\nexports.isDevelopment = isDevelopment;\n\nfunction logWarning(message) {\n if (isDevelopment) console.warn(message);\n}\n\nfunction scroller(target) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1000;\n (0, _scrollToElement[\"default\"])(target, {\n duration: duration,\n offset: offset\n });\n}\n\nfunction handleLinkClick(to, e, onAnchorLinkClick) {\n /**\n * Log warnings on click\n */\n var improperFormatting = !to.includes('/') || !to.includes('#');\n if (improperFormatting) logWarning(errorTypes.IMPROPPER_FORMATTING);\n\n if (isBrowser && to.includes('#')) {\n var _to$split = to.split('#'),\n _to$split2 = _slicedToArray(_to$split, 2),\n anchorPath = _to$split2[0],\n anchor = _to$split2[1];\n\n if (window.location.pathname === (0, _gatsby.withPrefix)(anchorPath)) {\n e.preventDefault();\n scroller(\"#\".concat(anchor), window.gatsby_scroll_offset, window.gatsby_scroll_duration);\n }\n }\n\n if (onAnchorLinkClick) onAnchorLinkClick();\n}\n\nfunction handleStrippedLinkClick(to, e, onAnchorLinkClick) {\n /**\n * Log warnings on click\n */\n var improperFormatting = !to.includes('/') || !to.includes('#');\n if (improperFormatting) logWarning(errorTypes.IMPROPPER_FORMATTING);\n\n var _to$split3 = to.split('#'),\n _to$split4 = _slicedToArray(_to$split3, 2),\n anchorPath = _to$split4[0],\n anchor = _to$split4[1];\n /**\n * Determine location, run scroller or set window variable\n */\n\n\n var isSamePage = isBrowser && window.location.pathname === anchorPath;\n var isDifferentPage = isBrowser && window.location.pathname !== anchorPath;\n\n if (isSamePage) {\n e.preventDefault();\n scroller(\"#\".concat(anchor), window.gatsby_scroll_offset, window.gatsby_scroll_duration);\n }\n\n if (isDifferentPage) {\n window.gatsby_scroll_hash = \"#\".concat(anchor);\n }\n\n if (onAnchorLinkClick) onAnchorLinkClick();\n}\n\nfunction stripHashedLocation(to) {\n return to.split('#')[0];\n}\n\nfunction checkHash(location, offset) {\n var hash = location.hash,\n selector = hash ? hash.substr(1) : null,\n validElement = selector ? document.getElementById(selector) : null;\n if (hash && Boolean(validElement)) scroller(hash, offset);else if (hash && selector && !validElement) logWarning(errorTypes.INVALID_HASH);\n}","'use strict'; //----------------------------------------------------------------------\n//\n// This source file is part of the Folktale project.\n//\n// Licensed under MIT. See LICENCE for full licence information.\n// See CONTRIBUTORS for the list of contributors to the project.\n//\n//----------------------------------------------------------------------\n\nvar _require = require('../result/result'),\n Error = _require.Error,\n Ok = _require.Ok;\n/*~\n * stability: stable\n * authors:\n * - \"@boris-marinov\"\n * \n * type: |\n * forall a, b:\n * (Maybe a, b) => Result b a\n */\n\n\nvar maybeToResult = function maybeToResult(aMaybe, failureValue) {\n return aMaybe.matchWith({\n Nothing: function Nothing() {\n return Error(failureValue);\n },\n Just: function Just(_ref) {\n var value = _ref.value;\n return Ok(value);\n }\n });\n};\n\nmodule.exports = maybeToResult;","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","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}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\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}","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}","const support = function (feature) {\n if (typeof document === `undefined`) {\n return false\n }\n const fakeLink = document.createElement(`link`)\n try {\n if (fakeLink.relList && typeof fakeLink.relList.supports === `function`) {\n return fakeLink.relList.supports(feature)\n }\n } catch (err) {\n return false\n }\n return false\n}\n\nconst linkPrefetchStrategy = function (url, options) {\n return new Promise((resolve, reject) => {\n if (typeof document === `undefined`) {\n reject()\n return\n }\n\n const link = document.createElement(`link`)\n link.setAttribute(`rel`, `prefetch`)\n link.setAttribute(`href`, url)\n\n Object.keys(options).forEach(key => {\n link.setAttribute(key, options[key])\n })\n\n link.onload = resolve\n link.onerror = reject\n\n const parentElement =\n document.getElementsByTagName(`head`)[0] ||\n document.getElementsByName(`script`)[0].parentNode\n parentElement.appendChild(link)\n })\n}\n\nconst xhrPrefetchStrategy = function (url) {\n return new Promise((resolve, reject) => {\n const req = new XMLHttpRequest()\n req.open(`GET`, url, true)\n\n req.onload = () => {\n if (req.status === 200) {\n resolve()\n } else {\n reject()\n }\n }\n\n req.send(null)\n })\n}\n\nconst supportedPrefetchStrategy = support(`prefetch`)\n ? linkPrefetchStrategy\n : xhrPrefetchStrategy\n\nconst preFetched = {}\n\nconst prefetch = function (url, options) {\n return new Promise(resolve => {\n if (preFetched[url]) {\n resolve()\n return\n }\n\n supportedPrefetchStrategy(url, options)\n .then(() => {\n resolve()\n preFetched[url] = true\n })\n .catch(() => {}) // 404s are logged to the console anyway\n })\n}\n\nexport default prefetch\n","import prefetchHelper from \"./prefetch\"\nimport emitter from \"./emitter\"\nimport { setMatchPaths, findPath, findMatchPath } from \"./find-path\"\n\n/**\n * Available resource loading statuses\n */\nexport const PageResourceStatus = {\n /**\n * At least one of critical resources failed to load\n */\n Error: `error`,\n /**\n * Resources loaded successfully\n */\n Success: `success`,\n}\n\nconst preferDefault = m => (m && m.default) || m\n\nconst stripSurroundingSlashes = s => {\n s = s[0] === `/` ? s.slice(1) : s\n s = s.endsWith(`/`) ? s.slice(0, -1) : s\n return s\n}\n\nconst createPageDataUrl = path => {\n const fixedPath = path === `/` ? `index` : stripSurroundingSlashes(path)\n return `${__PATH_PREFIX__}/page-data/${fixedPath}/page-data.json`\n}\n\nfunction doFetch(url, method = `GET`) {\n return new Promise((resolve, reject) => {\n const req = new XMLHttpRequest()\n req.open(method, url, true)\n req.onreadystatechange = () => {\n if (req.readyState == 4) {\n resolve(req)\n }\n }\n req.send(null)\n })\n}\n\nconst doesConnectionSupportPrefetch = () => {\n if (\n `connection` in navigator &&\n typeof navigator.connection !== `undefined`\n ) {\n if ((navigator.connection.effectiveType || ``).includes(`2g`)) {\n return false\n }\n if (navigator.connection.saveData) {\n return false\n }\n }\n return true\n}\n\nconst toPageResources = (pageData, component = null) => {\n const page = {\n componentChunkName: pageData.componentChunkName,\n path: pageData.path,\n webpackCompilationHash: pageData.webpackCompilationHash,\n matchPath: pageData.matchPath,\n staticQueryHashes: pageData.staticQueryHashes,\n }\n\n return {\n component,\n json: pageData.result,\n page,\n }\n}\n\nexport class BaseLoader {\n constructor(loadComponent, matchPaths) {\n // Map of pagePath -> Page. Where Page is an object with: {\n // status: PageResourceStatus.Success || PageResourceStatus.Error,\n // payload: PageResources, // undefined if PageResourceStatus.Error\n // }\n // PageResources is {\n // component,\n // json: pageData.result,\n // page: {\n // componentChunkName,\n // path,\n // webpackCompilationHash,\n // staticQueryHashes\n // },\n // staticQueryResults\n // }\n this.pageDb = new Map()\n this.inFlightDb = new Map()\n this.staticQueryDb = {}\n this.pageDataDb = new Map()\n this.prefetchTriggered = new Set()\n this.prefetchCompleted = new Set()\n this.loadComponent = loadComponent\n setMatchPaths(matchPaths)\n }\n\n inFlightNetworkRequests = new Map()\n\n memoizedGet(url) {\n let inFlightPromise = this.inFlightNetworkRequests.get(url)\n\n if (!inFlightPromise) {\n inFlightPromise = doFetch(url, `GET`)\n this.inFlightNetworkRequests.set(url, inFlightPromise)\n }\n\n // Prefer duplication with then + catch over .finally to prevent problems in ie11 + firefox\n return inFlightPromise\n .then(response => {\n this.inFlightNetworkRequests.delete(url)\n return response\n })\n .catch(err => {\n this.inFlightNetworkRequests.delete(url)\n throw err\n })\n }\n\n setApiRunner(apiRunner) {\n this.apiRunner = apiRunner\n this.prefetchDisabled = apiRunner(`disableCorePrefetching`).some(a => a)\n }\n\n fetchPageDataJson(loadObj) {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath)\n return this.memoizedGet(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.path === undefined) {\n throw new Error(`not a valid pageData response`)\n }\n\n return Object.assign(loadObj, {\n status: PageResourceStatus.Success,\n payload: jsonPayload,\n })\n } catch (err) {\n // continue regardless of error\n }\n }\n\n // Handle 404\n if (status === 404 || status === 200) {\n // If the request was for a 404 page and it doesn't exist, we're done\n if (pagePath === `/404.html`) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Need some code here to cache the 404 request. In case\n // multiple loadPageDataJsons result in 404s\n return this.fetchPageDataJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Handle everything else, including status === 0, and 503s. Should retry\n if (retries < 3) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, { retries: retries + 1 })\n )\n }\n\n // Retried 3 times already, result is an error.\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n })\n }\n\n loadPageDataJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDataDb.has(pagePath)) {\n const pageData = this.pageDataDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !pageData.stale) {\n return Promise.resolve(pageData)\n }\n }\n\n return this.fetchPageDataJson({ pagePath }).then(pageData => {\n this.pageDataDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n findMatchPath(rawPath) {\n return findMatchPath(rawPath)\n }\n\n // TODO check all uses of this and whether they use undefined for page resources not exist\n loadPage(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const page = this.pageDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !page.payload.stale) {\n return Promise.resolve(page.payload)\n }\n }\n\n if (this.inFlightDb.has(pagePath)) {\n return this.inFlightDb.get(pagePath)\n }\n\n const inFlightPromise = Promise.all([\n this.loadAppData(),\n this.loadPageDataJson(pagePath),\n ]).then(allData => {\n const result = allData[1]\n if (result.status === PageResourceStatus.Error) {\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n let pageData = result.payload\n const { componentChunkName, staticQueryHashes = [] } = pageData\n\n const finalResult = {}\n\n const componentChunkPromise = this.loadComponent(componentChunkName).then(\n component => {\n finalResult.createdAt = new Date()\n let pageResources\n if (!component) {\n finalResult.status = PageResourceStatus.Error\n } else {\n finalResult.status = PageResourceStatus.Success\n if (result.notFound === true) {\n finalResult.notFound = true\n }\n pageData = Object.assign(pageData, {\n webpackCompilationHash: allData[0]\n ? allData[0].webpackCompilationHash\n : ``,\n })\n pageResources = toPageResources(pageData, component)\n }\n // undefined if final result is an error\n return pageResources\n }\n )\n\n const staticQueryBatchPromise = Promise.all(\n staticQueryHashes.map(staticQueryHash => {\n // Check for cache in case this static query result has already been loaded\n if (this.staticQueryDb[staticQueryHash]) {\n const jsonPayload = this.staticQueryDb[staticQueryHash]\n return { staticQueryHash, jsonPayload }\n }\n\n return this.memoizedGet(\n `${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json`\n ).then(req => {\n const jsonPayload = JSON.parse(req.responseText)\n return { staticQueryHash, jsonPayload }\n })\n })\n ).then(staticQueryResults => {\n const staticQueryResultsMap = {}\n\n staticQueryResults.forEach(({ staticQueryHash, jsonPayload }) => {\n staticQueryResultsMap[staticQueryHash] = jsonPayload\n this.staticQueryDb[staticQueryHash] = jsonPayload\n })\n\n return staticQueryResultsMap\n })\n\n return Promise.all([componentChunkPromise, staticQueryBatchPromise]).then(\n ([pageResources, staticQueryResults]) => {\n let payload\n if (pageResources) {\n payload = { ...pageResources, staticQueryResults }\n finalResult.payload = payload\n emitter.emit(`onPostLoadPageResources`, {\n page: payload,\n pageResources: payload,\n })\n }\n\n this.pageDb.set(pagePath, finalResult)\n\n return payload\n }\n )\n })\n\n inFlightPromise\n .then(response => {\n this.inFlightDb.delete(pagePath)\n })\n .catch(error => {\n this.inFlightDb.delete(pagePath)\n throw error\n })\n\n this.inFlightDb.set(pagePath, inFlightPromise)\n\n return inFlightPromise\n }\n\n // returns undefined if loading page ran into errors\n loadPageSync(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const pageData = this.pageDb.get(pagePath).payload\n return pageData\n }\n return undefined\n }\n\n shouldPrefetch(pagePath) {\n // Skip prefetching if we know user is on slow or constrained connection\n if (!doesConnectionSupportPrefetch()) {\n return false\n }\n\n // Check if the page exists.\n if (this.pageDb.has(pagePath)) {\n return false\n }\n\n return true\n }\n\n prefetch(pagePath) {\n if (!this.shouldPrefetch(pagePath)) {\n return false\n }\n\n // Tell plugins with custom prefetching logic that they should start\n // prefetching this path.\n if (!this.prefetchTriggered.has(pagePath)) {\n this.apiRunner(`onPrefetchPathname`, { pathname: pagePath })\n this.prefetchTriggered.add(pagePath)\n }\n\n // If a plugin has disabled core prefetching, stop now.\n if (this.prefetchDisabled) {\n return false\n }\n\n const realPath = findPath(pagePath)\n // Todo make doPrefetch logic cacheable\n // eslint-disable-next-line consistent-return\n this.doPrefetch(realPath).then(() => {\n if (!this.prefetchCompleted.has(pagePath)) {\n this.apiRunner(`onPostPrefetchPathname`, { pathname: pagePath })\n this.prefetchCompleted.add(pagePath)\n }\n })\n\n return true\n }\n\n doPrefetch(pagePath) {\n const pageDataUrl = createPageDataUrl(pagePath)\n return prefetchHelper(pageDataUrl, {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPageDataJson(pagePath)\n )\n }\n\n hovering(rawPath) {\n this.loadPage(rawPath)\n }\n\n getResourceURLsForPathname(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDataDb.get(pagePath)\n if (page) {\n const pageResources = toPageResources(page.payload)\n\n return [\n ...createComponentUrls(pageResources.page.componentChunkName),\n createPageDataUrl(pagePath),\n ]\n } else {\n return null\n }\n }\n\n isPageNotFound(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDb.get(pagePath)\n return !page || page.notFound\n }\n\n loadAppData(retries = 0) {\n return this.memoizedGet(`${__PATH_PREFIX__}/page-data/app-data.json`).then(\n req => {\n const { status, responseText } = req\n\n let appData\n\n if (status !== 200 && retries < 3) {\n // Retry 3 times incase of non-200 responses\n return this.loadAppData(retries + 1)\n }\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.webpackCompilationHash === undefined) {\n throw new Error(`not a valid app-data response`)\n }\n\n appData = jsonPayload\n } catch (err) {\n // continue regardless of error\n }\n }\n\n return appData\n }\n )\n }\n}\n\nconst createComponentUrls = componentChunkName =>\n (window.___chunkMapping[componentChunkName] || []).map(\n chunk => __PATH_PREFIX__ + chunk\n )\n\nexport class ProdLoader extends BaseLoader {\n constructor(asyncRequires, matchPaths) {\n const loadComponent = chunkName =>\n asyncRequires.components[chunkName]\n ? asyncRequires.components[chunkName]()\n .then(preferDefault)\n // loader will handle the case when component is null\n .catch(() => null)\n : Promise.resolve()\n\n super(loadComponent, matchPaths)\n }\n\n doPrefetch(pagePath) {\n return super.doPrefetch(pagePath).then(result => {\n if (result.status !== PageResourceStatus.Success) {\n return Promise.resolve()\n }\n const pageData = result.payload\n const chunkName = pageData.componentChunkName\n const componentUrls = createComponentUrls(chunkName)\n return Promise.all(componentUrls.map(prefetchHelper)).then(() => pageData)\n })\n }\n\n loadPageDataJson(rawPath) {\n return super.loadPageDataJson(rawPath).then(data => {\n if (data.notFound) {\n // check if html file exist using HEAD request:\n // if it does we should navigate to it instead of showing 404\n return doFetch(rawPath, `HEAD`).then(req => {\n if (req.status === 200) {\n // page (.html file) actually exist (or we asked for 404 )\n // returning page resources status as errored to trigger\n // regular browser navigation to given page\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n // if HEAD request wasn't 200, return notFound result\n // and show 404 page\n return data\n })\n }\n return data\n })\n }\n}\n\nlet instance\n\nexport const setLoader = _loader => {\n instance = _loader\n}\n\nexport const publicLoader = {\n // Deprecated methods. As far as we're aware, these are only used by\n // core gatsby and the offline plugin, however there's a very small\n // chance they're called by others.\n getResourcesForPathname: rawPath => {\n console.warn(\n `Warning: getResourcesForPathname is deprecated. Use loadPage instead`\n )\n return instance.i.loadPage(rawPath)\n },\n getResourcesForPathnameSync: rawPath => {\n console.warn(\n `Warning: getResourcesForPathnameSync is deprecated. Use loadPageSync instead`\n )\n return instance.i.loadPageSync(rawPath)\n },\n enqueue: rawPath => instance.prefetch(rawPath),\n\n // Real methods\n getResourceURLsForPathname: rawPath =>\n instance.getResourceURLsForPathname(rawPath),\n loadPage: rawPath => instance.loadPage(rawPath),\n loadPageSync: rawPath => instance.loadPageSync(rawPath),\n prefetch: rawPath => instance.prefetch(rawPath),\n isPageNotFound: rawPath => instance.isPageNotFound(rawPath),\n hovering: rawPath => instance.hovering(rawPath),\n loadAppData: () => instance.loadAppData(),\n}\n\nexport default publicLoader\n\nexport function getStaticQueryResults() {\n if (instance) {\n return instance.staticQueryDb\n } else {\n return {}\n }\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _isEmpty = require('ramda/src/isEmpty');\n\nvar _isEmpty2 = _interopRequireDefault(_isEmpty);\n\nvar _not = require('ramda/src/not');\n\nvar _not2 = _interopRequireDefault(_not);\n\nvar _compose = require('ramda/src/compose');\n\nvar _compose2 = _interopRequireDefault(_compose);\n\nvar _contains = require('ramda/src/contains');\n\nvar _contains2 = _interopRequireDefault(_contains);\n\nvar _filter = require('ramda/src/filter');\n\nvar _filter2 = _interopRequireDefault(_filter);\n\nvar _getPagesPaths = require('./getPagesPaths');\n\nvar _getPagesPaths2 = _interopRequireDefault(_getPagesPaths);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n/*\n * Checks if a path is in options.pagesPaths\n * @sig Options -> String -> Boolean\n * @param {{pagesPaths: string[]}} options plugin options\n * @param {String} path path to check\n * @return {Result} is in\n */\n\n\nvar isInPagesPaths = function isInPagesPaths(options, path) {\n return (0, _getPagesPaths2.default)(options).map((0, _filter2.default)(function (pagePath) {\n return (0, _contains2.default)(pagePath, path);\n })).map((0, _compose2.default)(_not2.default, _isEmpty2.default));\n};\n\nexports.default = isInPagesPaths;","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","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\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//\n// This source file is part of the Folktale project.\n//\n// Licensed under MIT. See LICENCE for full licence information.\n// See CONTRIBUTORS for the list of contributors to the project.\n//\n//----------------------------------------------------------------------\n\nvar _require = require('../adt/union/union'),\n typeSymbol = _require.typeSymbol;\n\nmodule.exports = function (type) {\n return function (method, value) {\n var typeName = type[typeSymbol];\n\n if (process.env.FOLKTALE_ASSERTIONS !== 'none' && !type.isPrototypeOf(value)) {\n console.warn(typeName + '.' + method + ' expects a value of the same type, but was given ' + value + '.');\n\n if (process.env.FOLKTALE_ASSERTIONS !== 'minimal') {\n console.warn('\\nThis could mean that you\\'ve provided the wrong value to the method, in\\nwhich case this is a bug in your program, and you should try to track\\ndown why the wrong value is getting here.\\n\\nBut this could also mean that you have more than one ' + typeName + ' library\\ninstantiated in your program. This is not **necessarily** a bug, it\\ncould happen for several reasons:\\n\\n 1) You\\'re loading the library in Node, and Node\\'s cache didn\\'t give\\n you back the same instance you had previously requested.\\n\\n 2) You have more than one Code Realm in your program, and objects\\n created from the same library, in different realms, are interacting.\\n\\n 3) You have a version conflict of folktale libraries, and objects\\n created from different versions of the library are interacting.\\n\\nIf your situation fits the cases (1) or (2), you are okay, as long as\\nthe objects originate from the same version of the library. Folktale\\ndoes not rely on reference checking, only structural checking. However\\nyou\\'ll want to watch out if you\\'re modifying the ' + typeName + \"'s prototype,\\nbecause you'll have more than one of them, and you'll want to make\\nsure you do the same change in all of them \\u2014 ideally you shouldn't\\nbe modifying the object, though.\\n\\nIf your situation fits the case (3), you are *probably* okay if the\\nversion difference isn't a major one. However, at this point the\\nbehaviour of your program using \" + typeName + ' is undefined, and you should\\ntry looking into why the version conflict is happening.\\n\\nParametric modules can help ensuring your program only has a single\\ninstance of the folktale library. Check out the Folktale Architecture\\ndocumentation for more information.\\n ');\n }\n }\n };\n};","// easing functions from \"Tween.js\"\nexports.linear = function (n) {\n return n;\n};\n\nexports.inQuad = function (n) {\n return n * n;\n};\n\nexports.outQuad = function (n) {\n return n * (2 - n);\n};\n\nexports.inOutQuad = function (n) {\n n *= 2;\n if (n < 1) return 0.5 * n * n;\n return -0.5 * (--n * (n - 2) - 1);\n};\n\nexports.inCube = function (n) {\n return n * n * n;\n};\n\nexports.outCube = function (n) {\n return --n * n * n + 1;\n};\n\nexports.inOutCube = function (n) {\n n *= 2;\n if (n < 1) return 0.5 * n * n * n;\n return 0.5 * ((n -= 2) * n * n + 2);\n};\n\nexports.inQuart = function (n) {\n return n * n * n * n;\n};\n\nexports.outQuart = function (n) {\n return 1 - --n * n * n * n;\n};\n\nexports.inOutQuart = function (n) {\n n *= 2;\n if (n < 1) return 0.5 * n * n * n * n;\n return -0.5 * ((n -= 2) * n * n * n - 2);\n};\n\nexports.inQuint = function (n) {\n return n * n * n * n * n;\n};\n\nexports.outQuint = function (n) {\n return --n * n * n * n * n + 1;\n};\n\nexports.inOutQuint = function (n) {\n n *= 2;\n if (n < 1) return 0.5 * n * n * n * n * n;\n return 0.5 * ((n -= 2) * n * n * n * n + 2);\n};\n\nexports.inSine = function (n) {\n return 1 - Math.cos(n * Math.PI / 2);\n};\n\nexports.outSine = function (n) {\n return Math.sin(n * Math.PI / 2);\n};\n\nexports.inOutSine = function (n) {\n return .5 * (1 - Math.cos(Math.PI * n));\n};\n\nexports.inExpo = function (n) {\n return 0 == n ? 0 : Math.pow(1024, n - 1);\n};\n\nexports.outExpo = function (n) {\n return 1 == n ? n : 1 - Math.pow(2, -10 * n);\n};\n\nexports.inOutExpo = function (n) {\n if (0 == n) return 0;\n if (1 == n) return 1;\n if ((n *= 2) < 1) return .5 * Math.pow(1024, n - 1);\n return .5 * (-Math.pow(2, -10 * (n - 1)) + 2);\n};\n\nexports.inCirc = function (n) {\n return 1 - Math.sqrt(1 - n * n);\n};\n\nexports.outCirc = function (n) {\n return Math.sqrt(1 - --n * n);\n};\n\nexports.inOutCirc = function (n) {\n n *= 2;\n if (n < 1) return -0.5 * (Math.sqrt(1 - n * n) - 1);\n return 0.5 * (Math.sqrt(1 - (n -= 2) * n) + 1);\n};\n\nexports.inBack = function (n) {\n var s = 1.70158;\n return n * n * ((s + 1) * n - s);\n};\n\nexports.outBack = function (n) {\n var s = 1.70158;\n return --n * n * ((s + 1) * n + s) + 1;\n};\n\nexports.inOutBack = function (n) {\n var s = 1.70158 * 1.525;\n if ((n *= 2) < 1) return 0.5 * (n * n * ((s + 1) * n - s));\n return 0.5 * ((n -= 2) * n * ((s + 1) * n + s) + 2);\n};\n\nexports.inBounce = function (n) {\n return 1 - exports.outBounce(1 - n);\n};\n\nexports.outBounce = function (n) {\n if (n < 1 / 2.75) {\n return 7.5625 * n * n;\n } else if (n < 2 / 2.75) {\n return 7.5625 * (n -= 1.5 / 2.75) * n + 0.75;\n } else if (n < 2.5 / 2.75) {\n return 7.5625 * (n -= 2.25 / 2.75) * n + 0.9375;\n } else {\n return 7.5625 * (n -= 2.625 / 2.75) * n + 0.984375;\n }\n};\n\nexports.inOutBounce = function (n) {\n if (n < .5) return exports.inBounce(n * 2) * .5;\n return exports.outBounce(n * 2 - 1) * .5 + .5;\n};\n\nexports.inElastic = function (n) {\n var s,\n a = 0.1,\n p = 0.4;\n if (n === 0) return 0;\n if (n === 1) return 1;\n\n if (!a || a < 1) {\n a = 1;\n s = p / 4;\n } else s = p * Math.asin(1 / a) / (2 * Math.PI);\n\n return -(a * Math.pow(2, 10 * (n -= 1)) * Math.sin((n - s) * (2 * Math.PI) / p));\n};\n\nexports.outElastic = function (n) {\n var s,\n a = 0.1,\n p = 0.4;\n if (n === 0) return 0;\n if (n === 1) return 1;\n\n if (!a || a < 1) {\n a = 1;\n s = p / 4;\n } else s = p * Math.asin(1 / a) / (2 * Math.PI);\n\n return a * Math.pow(2, -10 * n) * Math.sin((n - s) * (2 * Math.PI) / p) + 1;\n};\n\nexports.inOutElastic = function (n) {\n var s,\n a = 0.1,\n p = 0.4;\n if (n === 0) return 0;\n if (n === 1) return 1;\n\n if (!a || a < 1) {\n a = 1;\n s = p / 4;\n } else s = p * Math.asin(1 / a) / (2 * Math.PI);\n\n if ((n *= 2) < 1) return -0.5 * (a * Math.pow(2, 10 * (n -= 1)) * Math.sin((n - s) * (2 * Math.PI) / p));\n return a * Math.pow(2, -10 * (n -= 1)) * Math.sin((n - s) * (2 * Math.PI) / p) * 0.5 + 1;\n}; // aliases\n\n\nexports['in-quad'] = exports.inQuad;\nexports['out-quad'] = exports.outQuad;\nexports['in-out-quad'] = exports.inOutQuad;\nexports['in-cube'] = exports.inCube;\nexports['out-cube'] = exports.outCube;\nexports['in-out-cube'] = exports.inOutCube;\nexports['in-quart'] = exports.inQuart;\nexports['out-quart'] = exports.outQuart;\nexports['in-out-quart'] = exports.inOutQuart;\nexports['in-quint'] = exports.inQuint;\nexports['out-quint'] = exports.outQuint;\nexports['in-out-quint'] = exports.inOutQuint;\nexports['in-sine'] = exports.inSine;\nexports['out-sine'] = exports.outSine;\nexports['in-out-sine'] = exports.inOutSine;\nexports['in-expo'] = exports.inExpo;\nexports['out-expo'] = exports.outExpo;\nexports['in-out-expo'] = exports.inOutExpo;\nexports['in-circ'] = exports.inCirc;\nexports['out-circ'] = exports.outCirc;\nexports['in-out-circ'] = exports.inOutCirc;\nexports['in-back'] = exports.inBack;\nexports['out-back'] = exports.outBack;\nexports['in-out-back'] = exports.inOutBack;\nexports['in-bounce'] = exports.inBounce;\nexports['out-bounce'] = exports.outBounce;\nexports['in-out-bounce'] = exports.inOutBounce;\nexports['in-elastic'] = exports.inElastic;\nexports['out-elastic'] = exports.outElastic;\nexports['in-out-elastic'] = exports.inOutElastic;","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","/**\n * Tests whether or not an object is an array.\n *\n * @private\n * @param {*} val The object to test.\n * @return {Boolean} `true` if `val` is an array, `false` otherwise.\n * @example\n *\n * _isArray([]); //=> true\n * _isArray(null); //=> false\n * _isArray({}); //=> false\n */\nmodule.exports = Array.isArray || function _isArray(val) {\n return val != null && val.length >= 0 && Object.prototype.toString.call(val) === '[object Array]';\n};","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.ScrollContainer = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nvar _router = require(\"@reach/router\");\n\n// TODO: In Gatsby v3, this file should be removed.\n// We are deprecating this in V2 in favor of useScrollRestoration\nvar propTypes = {\n scrollKey: _propTypes.default.string.isRequired,\n shouldUpdateScroll: _propTypes.default.func,\n children: _propTypes.default.element.isRequired\n};\nvar hasNotWarnedDeprecation = true;\n\nvar ScrollContainerImplementation = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(ScrollContainerImplementation, _React$Component);\n\n function ScrollContainerImplementation(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n\n if (process.env.NODE_ENV !== \"production\" && hasNotWarnedDeprecation) {\n hasNotWarnedDeprecation = false;\n console.log(\"Deprecation Warning:\\n\\n Gatsby is deprecated in Gatsby v2 and will be removed in Gatsby v3.\\n Update to the React hook alternative useScrollRestoration, like this:.\\n \\n ```\\n import React from 'react';\\n import { useScrollRestoration } from 'gatsby-react-router-scroll';\\n\\n function Component() {\\n const scrollRestoration = useScrollRestoration('\" + _this.props.scrollKey + \"');\\n\\n return
    ;\\n }\\n ```\\n \");\n }\n\n return _this;\n }\n\n var _proto = ScrollContainerImplementation.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n // eslint-disable-next-line react/no-find-dom-node\n var node = _reactDom.default.findDOMNode(this);\n\n var _this$props = this.props,\n location = _this$props.location,\n scrollKey = _this$props.scrollKey;\n if (!node) return;\n node.addEventListener(\"scroll\", function () {\n _this2.props.context.save(location, scrollKey, node.scrollTop);\n });\n var position = this.props.context.read(location, scrollKey);\n node.scrollTo(0, position || 0);\n };\n\n _proto.render = function render() {\n return this.props.children;\n };\n\n return ScrollContainerImplementation;\n}(React.Component);\n\nvar ScrollContainer = function ScrollContainer(props) {\n return /*#__PURE__*/React.createElement(_router.Location, null, function (_ref) {\n var location = _ref.location;\n return /*#__PURE__*/React.createElement(_scrollHandler.ScrollContext.Consumer, null, function (context) {\n return /*#__PURE__*/React.createElement(ScrollContainerImplementation, (0, _extends2.default)({}, props, {\n context: context,\n location: location\n }));\n });\n });\n};\n\nexports.ScrollContainer = ScrollContainer;\nScrollContainer.propTypes = propTypes;","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var _curry2 = require('./internal/_curry2');\n\nvar equals = require('./equals');\n\nvar takeLast = require('./takeLast');\n/**\n * Checks if a list ends with the provided values\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category List\n * @sig [a] -> Boolean\n * @sig String -> Boolean\n * @param {*} suffix\n * @param {*} list\n * @return {Boolean}\n * @example\n *\n * R.endsWith('c', 'abc') //=> true\n * R.endsWith('b', 'abc') //=> false\n * R.endsWith(['c'], ['a', 'b', 'c']) //=> true\n * R.endsWith(['b'], ['a', 'b', 'c']) //=> false\n */\n\n\nmodule.exports = _curry2(function (suffix, list) {\n return equals(takeLast(suffix.length, list), suffix);\n});","var _curry2 = require('./internal/_curry2');\n/**\n * Returns true if its arguments are identical, false otherwise. Values are\n * identical if they reference the same memory. `NaN` is identical to `NaN`;\n * `0` and `-0` are not identical.\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category Relation\n * @sig a -> a -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @example\n *\n * var o = {};\n * R.identical(o, o); //=> true\n * R.identical(1, 1); //=> true\n * R.identical(1, '1'); //=> false\n * R.identical([], []); //=> false\n * R.identical(0, -0); //=> false\n * R.identical(NaN, NaN); //=> true\n */\n\n\nmodule.exports = _curry2(function identical(a, b) {\n // SameValue algorithm\n if (a === b) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return a !== 0 || 1 / a === 1 / b;\n } else {\n // Step 6.a: NaN == NaN\n return a !== a && b !== b;\n }\n});","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","!function (e, t) {\n \"object\" == typeof exports && \"object\" == typeof module ? module.exports = t() : \"function\" == typeof define && define.amd ? define([], t) : \"object\" == typeof exports ? exports.sal = t() : e.sal = t();\n}(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 = \"dist/\", n(n.s = 0);\n }([function (e, t, n) {\n \"use strict\";\n\n n.r(t);\n n(1);\n\n function r(e, t) {\n var n = Object.keys(e);\n\n if (Object.getOwnPropertySymbols) {\n var r = Object.getOwnPropertySymbols(e);\n t && (r = r.filter(function (t) {\n return Object.getOwnPropertyDescriptor(e, t).enumerable;\n })), n.push.apply(n, r);\n }\n\n return n;\n }\n\n function o(e) {\n for (var t = 1; t < arguments.length; t++) {\n var n = null != arguments[t] ? arguments[t] : {};\n t % 2 ? r(n, !0).forEach(function (t) {\n i(e, t, n[t]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : r(n).forEach(function (t) {\n Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t));\n });\n }\n\n return e;\n }\n\n function i(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 var a = \"Sal was not initialised! Probably it is used in SSR.\",\n s = \"Your browser does not support IntersectionObserver!\\nGet a polyfill from here:\\nhttps://github.com/w3c/IntersectionObserver/tree/master/polyfill\",\n l = {\n rootMargin: \"0% 50%\",\n threshold: .5,\n animateClassName: \"sal-animate\",\n disabledClassName: \"sal-disabled\",\n enterEventName: \"sal:in\",\n exitEventName: \"sal:out\",\n selector: \"[data-sal]\",\n once: !0,\n disabled: !1\n },\n u = [],\n c = null,\n f = function f(e, t) {\n var n = new CustomEvent(e, {\n bubbles: !0,\n detail: t\n });\n t.target.dispatchEvent(n);\n },\n d = function d() {\n document.body.classList.add(l.disabledClassName);\n },\n b = function b() {\n return l.disabled || \"function\" == typeof l.disabled && l.disabled();\n },\n p = function p(e, t) {\n e.forEach(function (e) {\n e.intersectionRatio >= l.threshold ? (!function (e) {\n e.target.classList.add(l.animateClassName), f(l.enterEventName, e);\n }(e), l.once && t.unobserve(e.target)) : l.once || function (e) {\n e.target.classList.remove(l.animateClassName), f(l.exitEventName, e);\n }(e);\n });\n },\n m = function m() {\n d(), c.disconnect(), c = null;\n },\n y = function y() {\n document.body.classList.remove(l.disabledClassName), c = new IntersectionObserver(p, {\n rootMargin: l.rootMargin,\n threshold: l.threshold\n }), (u = [].filter.call(document.querySelectorAll(l.selector), function (e) {\n return !function (e) {\n return e.classList.contains(l.animateClassName);\n }(e, l.animateClassName);\n })).forEach(function (e) {\n return c.observe(e);\n });\n };\n\n t.default = function () {\n var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : l;\n if (e !== l && (l = o({}, l, {}, e)), \"undefined\" == typeof window) return console.warn(a), {\n elements: u,\n disable: m,\n enable: y\n };\n if (!window.IntersectionObserver) throw d(), Error(s);\n return b() ? d() : y(), {\n elements: u,\n disable: m,\n enable: y\n };\n };\n }, function (e, t, n) {}]).default;\n});","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var _curry1 = require('./_curry1');\n\nvar _isArray = require('./_isArray');\n\nvar _isString = require('./_isString');\n/**\n * Tests whether or not an object is similar to an array.\n *\n * @private\n * @category Type\n * @category List\n * @sig * -> Boolean\n * @param {*} x The object to test.\n * @return {Boolean} `true` if `x` has a numeric length property and extreme indices defined; `false` otherwise.\n * @example\n *\n * _isArrayLike([]); //=> true\n * _isArrayLike(true); //=> false\n * _isArrayLike({}); //=> false\n * _isArrayLike({length: 10}); //=> false\n * _isArrayLike({0: 'zero', 9: 'nine', length: 10}); //=> true\n */\n\n\nmodule.exports = _curry1(function isArrayLike(x) {\n if (_isArray(x)) {\n return true;\n }\n\n if (!x) {\n return false;\n }\n\n if (typeof x !== 'object') {\n return false;\n }\n\n if (_isString(x)) {\n return false;\n }\n\n if (x.nodeType === 1) {\n return !!x.length;\n }\n\n if (x.length === 0) {\n return true;\n }\n\n if (x.length > 0) {\n return x.hasOwnProperty(0) && x.hasOwnProperty(x.length - 1);\n }\n\n return false;\n});","var _has = require('./_has');\n\nmodule.exports = function () {\n var toString = Object.prototype.toString;\n return toString.call(arguments) === '[object Arguments]' ? function _isArguments(x) {\n return toString.call(x) === '[object Arguments]';\n } : function _isArguments(x) {\n return _has('callee', x);\n };\n}();","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","const preferDefault = m => (m && m.default) || m\n\nif (process.env.BUILD_STAGE === `develop`) {\n module.exports = preferDefault(require(`./public-page-renderer-dev`))\n} else if (process.env.BUILD_STAGE === `build-javascript`) {\n module.exports = preferDefault(require(`./public-page-renderer-prod`))\n} else {\n module.exports = () => null\n}\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict'; //----------------------------------------------------------------------\n//\n// This source file is part of the Folktale project.\n//\n// Licensed under MIT. See LICENCE for full licence information.\n// See CONTRIBUTORS for the list of contributors to the project.\n//\n//----------------------------------------------------------------------\n\nmodule.exports = {\n equals: 'fantasy-land/equals',\n concat: 'fantasy-land/concat',\n empty: 'fantasy-land/empty',\n map: 'fantasy-land/map',\n ap: 'fantasy-land/ap',\n of: 'fantasy-land/of',\n alt: 'fantasy-land/alt',\n reduce: 'fantasy-land/reduce',\n traverse: 'fantasy-land/traverse',\n chain: 'fantasy-land/chain',\n chainRec: 'fantasy-land/chainRec',\n extend: 'fantasy-land/extend',\n extract: 'fantasy-land/extract',\n bimap: 'fantasy-land/bimap',\n promap: 'fantasy-land/promap'\n};","exports.wrapPageElement = require(`./wrap-page`)\nexports.wrapRootElement = require(`./wrap-root`)\n\nexports.shouldUpdateScroll = () => !window.__tl_inTransition\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, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || from);\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, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n}","var _curry2 = require('./_curry2');\n\nvar _xfBase = require('./_xfBase');\n\nmodule.exports = function () {\n function XDrop(n, xf) {\n this.xf = xf;\n this.n = n;\n }\n\n XDrop.prototype['@@transducer/init'] = _xfBase.init;\n XDrop.prototype['@@transducer/result'] = _xfBase.result;\n\n XDrop.prototype['@@transducer/step'] = function (result, input) {\n if (this.n > 0) {\n this.n -= 1;\n return result;\n }\n\n return this.xf['@@transducer/step'](result, input);\n };\n\n return _curry2(function _xdrop(n, xf) {\n return new XDrop(n, xf);\n });\n}();","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _gatsby = require(\"gatsby\");\n\nvar _getManifestPathname = _interopRequireDefault(require(\"./get-manifest-pathname\"));\n\n/* global __MANIFEST_PLUGIN_HAS_LOCALISATION__ */\n// when we don't have localisation in our manifest, we tree shake everything away\nif (__MANIFEST_PLUGIN_HAS_LOCALISATION__) {\n exports.onRouteUpdate = function (_ref, pluginOptions) {\n var location = _ref.location;\n var localize = pluginOptions.localize;\n var manifestFilename = (0, _getManifestPathname.default)(location.pathname, localize);\n var manifestEl = document.head.querySelector(\"link[rel=\\\"manifest\\\"]\");\n\n if (manifestEl) {\n manifestEl.setAttribute(\"href\", (0, _gatsby.withPrefix)(manifestFilename));\n }\n };\n}","/*\n Why commonjs and not ES imports/exports?\n\n This module is used to alias `create-react-context` package, but drop the the actual implementation part\n because Gatsby requires version of react that has implementatoin baked in.\n \n Package source is using ES modules:\n - https://github.com/jamiebuilds/create-react-context/blob/v0.3.0/src/index.js\n \n But to build this package `babel-plugin-add-module-exports` is used ( https://www.npmjs.com/package/babel-plugin-add-module-exports).\n Which result in both `module.exports` and `exports.default` being set to same thing.\n\n We don't use that babel plugin so we only have `exports.default`.\n\n This cause problems in various 3rd party react components that rely on `module.exports` being set.\n See https://github.com/gatsbyjs/gatsby/issues/23645 for example of it.\n \n Instead of adding same babel plugin we mimic output here. Adding babel plugin just for this would:\n a) unnecesairly slow down compilation for all other files (if we just apply it everywhere)\n b) or complicate babel-loader configuration with overwrite specifically for this file\n*/\n\nconst { createContext } = require(`react`)\n\nmodule.exports = createContext\nmodule.exports.default = createContext\n","const React = require('react')\nconst { navigate } = require('gatsby')\n\nconst InternalProvider = require('./context/InternalProvider').default\n\nmodule.exports = ({ element }) => {\n\tif (typeof window !== `undefined`) {\n\t\twindow.addEventListener('popstate', function(event) {\n\t\t\t// prevent the back button during transitions as it breaks pages\n\t\t\tif (window.__tl_inTransition) {\n\t\t\t\twindow.__tl_back_button_pressed = true\n\t\t\t\tnavigate(window.__tl_desiredPathname)\n\t\t\t}\n\t\t})\n\t}\n\n\treturn {element}\n}\n","function _extends() {\n module.exports = _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.es/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\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'use strict';\n\nvar b = \"function\" === typeof Symbol && Symbol.for,\n c = b ? Symbol.for(\"react.element\") : 60103,\n d = b ? Symbol.for(\"react.portal\") : 60106,\n e = b ? Symbol.for(\"react.fragment\") : 60107,\n f = b ? Symbol.for(\"react.strict_mode\") : 60108,\n g = b ? Symbol.for(\"react.profiler\") : 60114,\n h = b ? Symbol.for(\"react.provider\") : 60109,\n k = b ? Symbol.for(\"react.context\") : 60110,\n l = b ? Symbol.for(\"react.async_mode\") : 60111,\n m = b ? Symbol.for(\"react.concurrent_mode\") : 60111,\n n = b ? Symbol.for(\"react.forward_ref\") : 60112,\n p = b ? Symbol.for(\"react.suspense\") : 60113,\n q = b ? Symbol.for(\"react.suspense_list\") : 60120,\n r = b ? Symbol.for(\"react.memo\") : 60115,\n t = b ? Symbol.for(\"react.lazy\") : 60116,\n v = b ? Symbol.for(\"react.block\") : 60121,\n w = b ? Symbol.for(\"react.fundamental\") : 60117,\n x = b ? Symbol.for(\"react.responder\") : 60118,\n y = b ? Symbol.for(\"react.scope\") : 60119;\n\nfunction z(a) {\n if (\"object\" === typeof a && null !== a) {\n var u = a.$$typeof;\n\n switch (u) {\n case c:\n switch (a = a.type, a) {\n case l:\n case m:\n case e:\n case g:\n case f:\n case p:\n return a;\n\n default:\n switch (a = a && a.$$typeof, a) {\n case k:\n case n:\n case t:\n case r:\n case h:\n return a;\n\n default:\n return u;\n }\n\n }\n\n case d:\n return u;\n }\n }\n}\n\nfunction A(a) {\n return z(a) === m;\n}\n\nexports.AsyncMode = l;\nexports.ConcurrentMode = m;\nexports.ContextConsumer = k;\nexports.ContextProvider = h;\nexports.Element = c;\nexports.ForwardRef = n;\nexports.Fragment = e;\nexports.Lazy = t;\nexports.Memo = r;\nexports.Portal = d;\nexports.Profiler = g;\nexports.StrictMode = f;\nexports.Suspense = p;\n\nexports.isAsyncMode = function (a) {\n return A(a) || z(a) === l;\n};\n\nexports.isConcurrentMode = A;\n\nexports.isContextConsumer = function (a) {\n return z(a) === k;\n};\n\nexports.isContextProvider = function (a) {\n return z(a) === h;\n};\n\nexports.isElement = function (a) {\n return \"object\" === typeof a && null !== a && a.$$typeof === c;\n};\n\nexports.isForwardRef = function (a) {\n return z(a) === n;\n};\n\nexports.isFragment = function (a) {\n return z(a) === e;\n};\n\nexports.isLazy = function (a) {\n return z(a) === t;\n};\n\nexports.isMemo = function (a) {\n return z(a) === r;\n};\n\nexports.isPortal = function (a) {\n return z(a) === d;\n};\n\nexports.isProfiler = function (a) {\n return z(a) === g;\n};\n\nexports.isStrictMode = function (a) {\n return z(a) === f;\n};\n\nexports.isSuspense = function (a) {\n return z(a) === p;\n};\n\nexports.isValidElementType = function (a) {\n return \"string\" === typeof a || \"function\" === typeof a || a === e || a === m || a === g || a === f || a === p || a === q || \"object\" === typeof a && null !== a && (a.$$typeof === t || a.$$typeof === r || a.$$typeof === h || a.$$typeof === k || a.$$typeof === n || a.$$typeof === w || a.$$typeof === x || a.$$typeof === y || a.$$typeof === v);\n};\n\nexports.typeOf = z;","\"use strict\"; //----------------------------------------------------------------------\n//\n// This source file is part of the Folktale project.\n//\n// Licensed under MIT. See LICENCE for full licence information.\n// See CONTRIBUTORS for the list of contributors to the project.\n//\n//----------------------------------------------------------------------\n\n/*~\n * stability: stable\n * authors:\n * - Quildreen Motta\n *\n * complexity: O(n), n is the number of own enumerable properties.\n * type: |\n * (Object 'a, ('a) => 'b) => Object 'b\n */\n\nvar mapValues = function mapValues(object, transformation) {\n var keys = Object.keys(object);\n var result = {};\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n result[key] = transformation(object[key]);\n }\n\n return result;\n}; // --[ Convenience ]---------------------------------------------------\n\n/*~\n * stability: stable\n * authors:\n * - Quildreen Motta\n * \n * complexity: O(n), n is the number of own enumerable properties.\n * type: |\n * (Object 'a) . (('a) => 'b) => Object 'b\n */\n\n\nmapValues.infix = function (transformation) {\n return mapValues(this, transformation);\n}; // --[ Exports ]-------------------------------------------------------\n\n\nmodule.exports = mapValues;","var _indexOf = require('./_indexOf');\n\nmodule.exports = function _contains(a, list) {\n return _indexOf(list, a, 0) >= 0;\n};","var _arity = require('./_arity');\n\nvar _isPlaceholder = require('./_isPlaceholder');\n/**\n * Internal curryN function.\n *\n * @private\n * @category Function\n * @param {Number} length The arity of the curried function.\n * @param {Array} received An array of arguments received thus far.\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\n\nmodule.exports = function _curryN(length, received, fn) {\n return function () {\n var combined = [];\n var argsIdx = 0;\n var left = length;\n var combinedIdx = 0;\n\n while (combinedIdx < received.length || argsIdx < arguments.length) {\n var result;\n\n if (combinedIdx < received.length && (!_isPlaceholder(received[combinedIdx]) || argsIdx >= arguments.length)) {\n result = received[combinedIdx];\n } else {\n result = arguments[argsIdx];\n argsIdx += 1;\n }\n\n combined[combinedIdx] = result;\n\n if (!_isPlaceholder(result)) {\n left -= 1;\n }\n\n combinedIdx += 1;\n }\n\n return left <= 0 ? fn.apply(this, combined) : _arity(left, _curryN(length, combined, fn));\n };\n};","module.exports = {\n init: function init() {\n return this.xf['@@transducer/init']();\n },\n result: function result(_result) {\n return this.xf['@@transducer/result'](_result);\n }\n};","var _contains = require('./internal/_contains');\n\nvar _curry2 = require('./internal/_curry2');\n/**\n * Returns `true` if the specified value is equal, in [`R.equals`](#equals)\n * terms, to at least one element of the given list; `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig a -> [a] -> Boolean\n * @param {Object} a The item to compare against.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if an equivalent item is in the list, `false` otherwise.\n * @see R.any\n * @example\n *\n * R.contains(3, [1, 2, 3]); //=> true\n * R.contains(4, [1, 2, 3]); //=> false\n * R.contains({ name: 'Fred' }, [{ name: 'Fred' }]); //=> true\n * R.contains([42], [[42]]); //=> true\n */\n\n\nmodule.exports = _curry2(_contains);","// TODO: use something more complex like timsort?\nvar floor = Math.floor;\n\nvar mergeSort = function (array, comparefn) {\n var length = array.length;\n var middle = floor(length / 2);\n return length < 8 ? insertionSort(array, comparefn) : merge(\n mergeSort(array.slice(0, middle), comparefn),\n mergeSort(array.slice(middle), comparefn),\n comparefn\n );\n};\n\nvar insertionSort = function (array, comparefn) {\n var length = array.length;\n var i = 1;\n var element, j;\n\n while (i < length) {\n j = i;\n element = array[i];\n while (j && comparefn(array[j - 1], element) > 0) {\n array[j] = array[--j];\n }\n if (j !== i++) array[j] = element;\n } return array;\n};\n\nvar merge = function (left, right, comparefn) {\n var llength = left.length;\n var rlength = right.length;\n var lindex = 0;\n var rindex = 0;\n var result = [];\n\n while (lindex < llength || rindex < rlength) {\n if (lindex < llength && rindex < rlength) {\n result.push(comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]);\n } else {\n result.push(lindex < llength ? left[lindex++] : right[rindex++]);\n }\n } return result;\n};\n\nmodule.exports = mergeSort;\n","'use strict'; //----------------------------------------------------------------------\n//\n// This source file is part of the Folktale project.\n//\n// Licensed under MIT. See LICENCE for full licence information.\n// See CONTRIBUTORS for the list of contributors to the project.\n//\n//----------------------------------------------------------------------\n\nvar assertType = require('../helpers/assert-type');\n\nvar assertFunction = require('../helpers/assert-function');\n\nvar _require = require('../adt/union'),\n union = _require.union,\n derivations = _require.derivations;\n\nvar provideAliases = require('../helpers/provide-fantasy-land-aliases');\n\nvar warnDeprecation = require('../helpers/warn-deprecation');\n\nvar adtMethods = require('../helpers/define-adt-methods');\n\nvar extend = require('../helpers/extend');\n\nvar equality = derivations.equality,\n debugRepresentation = derivations.debugRepresentation,\n serialization = derivations.serialization;\n/*~ stability: stable */\n\nvar Maybe = union('folktale:Maybe', {\n /*~\n * type: |\n * forall a: () => Maybe a\n */\n Nothing: function Nothing() {},\n\n /*~\n * type: |\n * forall a: (a) => Maybe a\n */\n Just: function Just(value) {\n return {\n value: value\n };\n }\n}).derive(equality, debugRepresentation, serialization);\nvar Nothing = Maybe.Nothing,\n _Just = Maybe.Just;\nvar assertMaybe = assertType(Maybe);\nextend(_Just.prototype, {\n /*~\n * isRequired: true\n * type: |\n * forall a: get (Maybe a) => a\n */\n get value() {\n throw new TypeError('`value` can’t be accessed in an abstract instance of Maybe.Just');\n }\n\n});\n/*~~belongsTo: Maybe */\n\nadtMethods(Maybe, {\n /*~\n * stability: stable\n * type: |\n * forall a, b: (Maybe a).((a) => b) => Maybe b\n */\n map: {\n /*~*/\n Nothing: function map(transformation) {\n assertFunction('Maybe.Nothing#map', transformation);\n return this;\n },\n\n /*~*/\n Just: function map(transformation) {\n assertFunction('Maybe.Just#map', transformation);\n return _Just(transformation(this.value));\n }\n },\n\n /*~\n * stability: stable\n * type: |\n * forall a, b: (Maybe (a) => b).(Maybe a) => Maybe b\n */\n apply: {\n /*~*/\n Nothing: function apply(aMaybe) {\n assertMaybe('Maybe.Nothing#apply', aMaybe);\n return this;\n },\n\n /*~*/\n Just: function apply(aMaybe) {\n assertMaybe('Maybe.Just#apply', aMaybe);\n return aMaybe.map(this.value);\n }\n },\n\n /*~\n * stability: stable\n * type: |\n * forall a, b: (Maybe a).((a) => Maybe b) => Maybe b\n */\n chain: {\n /*~*/\n Nothing: function chain(transformation) {\n assertFunction('Maybe.Nothing#chain', transformation);\n return this;\n },\n\n /*~*/\n Just: function chain(transformation) {\n assertFunction('Maybe.Just#chain', transformation);\n return transformation(this.value);\n }\n },\n\n /*~\n * type: |\n * forall a: (Maybe a).() => a :: (throws TypeError)\n */\n unsafeGet: {\n /*~*/\n Nothing: function unsafeGet() {\n throw new TypeError('Can\\'t extract the value of a Nothing.\\n\\n Since Nothing holds no values, it\\'s not possible to extract one from them.\\n You might consider switching from Maybe#get to Maybe#getOrElse, or some other method\\n that is not partial.\\n ');\n },\n\n /*~*/\n Just: function unsafeGet() {\n return this.value;\n }\n },\n\n /*~\n * type: |\n * forall a: (Maybe a).(a) => a\n */\n getOrElse: {\n /*~*/\n Nothing: function getOrElse(_default) {\n return _default;\n },\n\n /*~*/\n Just: function getOrElse(_default) {\n return this.value;\n }\n },\n\n /*~\n * type: |\n * forall a: (Maybe a).((a) => Maybe a) => Maybe a\n */\n orElse: {\n /*~*/\n Nothing: function orElse(handler) {\n assertFunction('Maybe.Nothing#orElse', handler);\n return handler(this.value);\n },\n\n /*~*/\n Just: function orElse(handler) {\n assertFunction('Maybe.Nothing#orElse', handler);\n return this;\n }\n },\n\n /*~\n * authors:\n * - \"@diasbruno\"\n * type: |\n * forall a: (Maybe a).(Maybe a) => Maybe a\n * where a is Semigroup\n */\n concat: {\n /*~*/\n Nothing: function concat(aMaybe) {\n assertMaybe('Maybe.Nothing#concat', aMaybe);\n return aMaybe;\n },\n\n /*~*/\n Just: function concat(aMaybe) {\n var _this = this;\n\n assertMaybe('Maybe.Just#concat', aMaybe);\n return aMaybe.matchWith({\n Nothing: function Nothing() {\n return _Just(_this.value);\n },\n Just: function Just(a) {\n return _Just(_this.value.concat(a.value));\n }\n });\n }\n },\n\n /*~\n * deprecated:\n * since: 2.0.0\n * replacedBy: .matchWith(pattern)\n *\n * type: |\n * forall a, b:\n * (Maybe a).({\n * Nothing: () => b,\n * Just: (a) => b\n * }) => b\n */\n cata: {\n /*~*/\n Nothing: function cata(pattern) {\n warnDeprecation('`.cata(pattern)` is deprecated. Use `.matchWith(pattern)` instead.');\n return pattern.Nothing();\n },\n\n /*~*/\n Just: function cata(pattern) {\n warnDeprecation('`.cata(pattern)` is deprecated. Use `.matchWith(pattern)` instead.');\n return pattern.Just(this.value);\n }\n },\n\n /*~\n * type: |\n * forall a, b: (Maybe a).(() => b, (a) => b) => b\n */\n fold: {\n /*~*/\n Nothing: function Nothing(transformNothing, transformJust) {\n assertFunction('Maybe.Nothing#fold', transformNothing);\n assertFunction('Maybe.Nothing#fold', transformJust);\n return transformNothing();\n },\n\n /*~*/\n Just: function Just(transformNothing, transformJust) {\n assertFunction('Maybe.Just#fold', transformNothing);\n assertFunction('Maybe.Just#fold', transformJust);\n return transformJust(this.value);\n }\n },\n\n /*~\n * stability: stable\n * type: |\n * forall a: (Maybe a).((a) => Boolean) => Maybe a\n */\n filter: {\n /*~*/\n Nothing: function filter(predicate) {\n assertFunction('Maybe.Nothing#filter', predicate);\n return this;\n },\n\n /*~*/\n Just: function filter(predicate) {\n assertFunction('Maybe.Just#filter', predicate);\n return predicate(this.value) ? this : Nothing();\n }\n },\n\n /*~\n * authors:\n * - \"@joshmili\"\n * type: |\n * forall a: (Maybe a).(Maybe a) => Maybe a\n */\n or: {\n /*~*/\n Nothing: function alt(aMaybe) {\n assertMaybe('Maybe.Nothing#or', aMaybe);\n return aMaybe;\n },\n\n /*~*/\n Just: function alt(aMaybe) {\n assertMaybe('Maybe.Just#or', aMaybe);\n return this;\n }\n }\n});\nObject.assign(Maybe, {\n /*~\n * stability: stable\n * type: |\n * forall a: (a) => Maybe a\n */\n of: function of(value) {\n return _Just(value);\n },\n\n /*~\n * authors:\n * - \"@diasbruno\"\n * type: |\n * forall a: () => Maybe a\n */\n empty: function empty() {\n return Nothing();\n },\n\n /*~\n * deprecated:\n * since: 2.0.0\n * replacedBy: .unsafeGet()\n * type: |\n * forall a: (Maybe a).() => a :: (throws TypeError)\n */\n 'get': function get() {\n warnDeprecation('`.get()` is deprecated, and has been renamed to `.unsafeGet()`.');\n return this.unsafeGet();\n },\n\n /*~\n * stability: stable\n * type: |\n * forall a, b: (Maybe a).(b) => Result b a\n */\n toResult: function toResult(fallbackValue) {\n return require('../conversions/maybe-to-result')(this, fallbackValue);\n },\n\n /*~\n * stability: stable\n * type: |\n * forall a, b: (Maybe a).(b) => Result b a\n */\n toValidation: function toValidation(fallbackValue) {\n return require('../conversions/maybe-to-validation')(this, fallbackValue);\n }\n});\nprovideAliases(_Just.prototype);\nprovideAliases(Nothing.prototype);\nprovideAliases(Maybe);\nmodule.exports = Maybe;","var _checkForMethod = require('./internal/_checkForMethod');\n\nvar _curry1 = require('./internal/_curry1');\n\nvar slice = require('./slice');\n/**\n * Returns all but the first element of the given list or string (or object\n * with a `tail` method).\n *\n * Dispatches to the `slice` method of the first argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a]\n * @sig String -> String\n * @param {*} list\n * @return {*}\n * @see R.head, R.init, R.last\n * @example\n *\n * R.tail([1, 2, 3]); //=> [2, 3]\n * R.tail([1, 2]); //=> [2]\n * R.tail([1]); //=> []\n * R.tail([]); //=> []\n *\n * R.tail('abc'); //=> 'bc'\n * R.tail('ab'); //=> 'b'\n * R.tail('a'); //=> ''\n * R.tail(''); //=> ''\n */\n\n\nmodule.exports = _curry1(_checkForMethod('tail', slice(1, Infinity)));","'use strict'; //----------------------------------------------------------------------\n//\n// This source file is part of the Folktale project.\n//\n// Licensed under MIT. See LICENCE for full licence information.\n// See CONTRIBUTORS for the list of contributors to the project.\n//\n//----------------------------------------------------------------------\n\nmodule.exports = function (method, transformation) {\n if (typeof transformation !== 'function') {\n throw new TypeError(method + ' expects a function, but was given ' + transformation + '.');\n }\n};","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport loader from \"./loader\"\nimport InternalPageRenderer from \"./page-renderer\"\n\nconst ProdPageRenderer = ({ location }) => {\n const pageResources = loader.loadPageSync(location.pathname)\n if (!pageResources) {\n return null\n }\n return React.createElement(InternalPageRenderer, {\n location,\n pageResources,\n ...pageResources.json,\n })\n}\n\nProdPageRenderer.propTypes = {\n location: PropTypes.shape({\n pathname: PropTypes.string.isRequired,\n }).isRequired,\n}\n\nexport default ProdPageRenderer\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nrequire('sal.js/dist/sal.css');\n\nrequire('intersection-observer');\n\nvar React = require(\"react\");\n\nvar Wrapper = require('./Wrapper').default;\n\nexports.wrapPageElement = function (_ref, _ref2) {\n var element = _ref.element,\n props = _ref.props;\n var plugins = _ref2.plugins,\n options = (0, _objectWithoutPropertiesLoose2.default)(_ref2, [\"plugins\"]);\n return (\n /*#__PURE__*/\n React.createElement(Wrapper, {\n options: options,\n path: props.path\n }, element)\n );\n};","\"use strict\"; //----------------------------------------------------------------------\n//\n// This source file is part of the Folktale project.\n//\n// Licensed under MIT. See LICENCE for full licence information.\n// See CONTRIBUTORS for the list of contributors to the project.\n//\n//----------------------------------------------------------------------\n\nmodule.exports = function (methodName) {\n return function (object) {\n throw new TypeError(object + \" does not have a method '\" + methodName + \"'.\");\n };\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _getUserLangKey = require('./getUserLangKey');\n\nvar _getUserLangKey2 = _interopRequireDefault(_getUserLangKey);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n/**\n * Redirect to user language home page, from: / to: /langKey/\n * @param {[String]} langs allowed lang keys ['en', 'fr', 'pt']\n * @param {String} defaultLangKey default browser language key\n * @return {void}\n */\n\n\nvar redirectToHome = function redirectToHome(langs, defaultLangKey) {\n if (typeof window === 'undefined') {\n return;\n }\n\n var langKey = (0, _getUserLangKey2.default)(langs, defaultLangKey);\n var newUrl = '/' + langKey + '/';\n window.location.replace(newUrl);\n};\n\nexports.default = redirectToHome;","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport { Provider } from './createTransitionContext'\nimport getPagesPromises from '../utils/getPagesPromises'\n\nclass InternalProvider extends Component {\n\tconstructor(props) {\n\t\tsuper(props)\n\t\tconst prefersReducedMotionSetting =\n\t\t\ttypeof window !== `undefined` &&\n\t\t\twindow.matchMedia('(prefers-reduced-motion: reduce)')\n\n\t\tconst prefersReducedMotion = prefersReducedMotionSetting\n\n\t\tif (\n\t\t\tprefersReducedMotionSetting.matches &&\n\t\t\tprocess.env.NODE_ENV === `development`\n\t\t) {\n\t\t\tconsole.warn(\n\t\t\t\t`[gatsby-plugin-transition-link] Warning! prefers-reduced-motion is activated via your OS settings. This means TransitionLink animations will not run.`\n\t\t\t)\n\t\t}\n\n\t\tthis.state = {\n\t\t\tinTransition: false,\n\t\t\tdisableAnimation: prefersReducedMotion.matches,\n\t\t\t// event\n\t\t\te: false,\n\t\t\t// exit\n\t\t\texitDelay: 0,\n\t\t\texitLength: 0,\n\t\t\texitState: {},\n\t\t\texitProps: {},\n\t\t\texitTrigger: false,\n\t\t\t// entry\n\t\t\tentryDelay: 0,\n\t\t\tentryLength: 0,\n\t\t\tentryState: {},\n\t\t\tentryProps: {},\n\t\t\tentryTrigger: false,\n\t\t\t// state updates\n\t\t\tupdateContext: obj => this.setState(obj),\n\t\t}\n\n\t\tif (\n\t\t\tprefersReducedMotion &&\n\t\t\ttypeof prefersReducedMotion.addEventListener === `function`\n\t\t) {\n\t\t\tprefersReducedMotion.addEventListener('change', () => {\n\t\t\t\tthis.setState({\n\t\t\t\t\tdisableAnimation: prefersReducedMotion.matches,\n\t\t\t\t})\n\t\t\t})\n\t\t} else if (\n\t\t\tprefersReducedMotion &&\n\t\t\ttypeof prefersReducedMotion.addListener === `function`\n\t\t) {\n\t\t\tprefersReducedMotion.addListener(() => {\n\t\t\t\tthis.setState({\n\t\t\t\t\tdisableAnimation: prefersReducedMotion.matches,\n\t\t\t\t})\n\t\t\t})\n\t\t}\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.state.updateContext(getPagesPromises())\n\t}\n\n\trender() {\n\t\treturn {this.props.children}\n\t}\n}\n\nInternalProvider.propTypes = {\n\tchildren: PropTypes.node.isRequired,\n}\n\nexport default InternalProvider\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n if (NATIVE_SYMBOL && has(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n }\n } return WellKnownSymbolsStore[name];\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","require(\"core-js/modules/es.array.reduce.js\");\n\nvar _isArrayLike = require('./_isArrayLike');\n\nvar _xwrap = require('./_xwrap');\n\nvar bind = require('../bind');\n\nmodule.exports = function () {\n function _arrayReduce(xf, acc, list) {\n var idx = 0;\n var len = list.length;\n\n while (idx < len) {\n acc = xf['@@transducer/step'](acc, list[idx]);\n\n if (acc && acc['@@transducer/reduced']) {\n acc = acc['@@transducer/value'];\n break;\n }\n\n idx += 1;\n }\n\n return xf['@@transducer/result'](acc);\n }\n\n function _iterableReduce(xf, acc, iter) {\n var step = iter.next();\n\n while (!step.done) {\n acc = xf['@@transducer/step'](acc, step.value);\n\n if (acc && acc['@@transducer/reduced']) {\n acc = acc['@@transducer/value'];\n break;\n }\n\n step = iter.next();\n }\n\n return xf['@@transducer/result'](acc);\n }\n\n function _methodReduce(xf, acc, obj, methodName) {\n return xf['@@transducer/result'](obj[methodName](bind(xf['@@transducer/step'], xf), acc));\n }\n\n var symIterator = typeof Symbol !== 'undefined' ? Symbol.iterator : '@@iterator';\n return function _reduce(fn, acc, list) {\n if (typeof fn === 'function') {\n fn = _xwrap(fn);\n }\n\n if (_isArrayLike(list)) {\n return _arrayReduce(fn, acc, list);\n }\n\n if (typeof list['fantasy-land/reduce'] === 'function') {\n return _methodReduce(fn, acc, list, 'fantasy-land/reduce');\n }\n\n if (list[symIterator] != null) {\n return _iterableReduce(fn, acc, list[symIterator]());\n }\n\n if (typeof list.next === 'function') {\n return _iterableReduce(fn, acc, list);\n }\n\n if (typeof list.reduce === 'function') {\n return _methodReduce(fn, acc, list, 'reduce');\n }\n\n throw new TypeError('reduce: list must be array or iterable');\n };\n}();","var $ = require('../internals/export');\nvar iterate = require('../internals/iterate');\nvar createProperty = require('../internals/create-property');\n\n// `Object.fromEntries` method\n// https://github.com/tc39/proposal-object-from-entries\n$({ target: 'Object', stat: true }, {\n fromEntries: function fromEntries(iterable) {\n var obj = {};\n iterate(iterable, function (k, v) {\n createProperty(obj, k, v);\n }, { AS_ENTRIES: true });\n return obj;\n }\n});\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.redirectToHome = exports.nPaths = exports.getUrlForLang = exports.getSlugAndLang = exports.getLangs = exports.getI18nBase = exports.getValidLangKey = exports.getUserLangKey = exports.getPagesPaths = exports.getCurrentLangKey = exports.getBrowserLanguage = exports.isInPagesPaths = exports.isHomePage = exports.addLangKeyToSlug = undefined;\n\nvar _startsWith = require('ramda/src/startsWith');\n\nvar _startsWith2 = _interopRequireDefault(_startsWith);\n\nvar _curry = require('ramda/src/curry');\n\nvar _curry2 = _interopRequireDefault(_curry);\n\nvar _getCurrentLangKey = require('./getCurrentLangKey');\n\nvar _getCurrentLangKey2 = _interopRequireDefault(_getCurrentLangKey);\n\nvar _getValidLangKey = require('./getValidLangKey');\n\nvar _getValidLangKey2 = _interopRequireDefault(_getValidLangKey);\n\nvar _getBrowserLanguage = require('./getBrowserLanguage');\n\nvar _getBrowserLanguage2 = _interopRequireDefault(_getBrowserLanguage);\n\nvar _redirectToHome = require('./redirectToHome');\n\nvar _redirectToHome2 = _interopRequireDefault(_redirectToHome);\n\nvar _getUserLangKey = require('./getUserLangKey');\n\nvar _getUserLangKey2 = _interopRequireDefault(_getUserLangKey);\n\nvar _getSlugAndLang = require('./getSlugAndLang');\n\nvar _getSlugAndLang2 = _interopRequireDefault(_getSlugAndLang);\n\nvar _getPagesPaths = require('./getPagesPaths');\n\nvar _getPagesPaths2 = _interopRequireDefault(_getPagesPaths);\n\nvar _isInPagesPaths = require('./isInPagesPaths');\n\nvar _isInPagesPaths2 = _interopRequireDefault(_isInPagesPaths);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n/**\n * Gets the number of paths in a url\n * @param {*} url pathName\n * @returns {Number} number of paths\n */\n\n\nvar nPaths = function nPaths(url) {\n return (url.match(/\\//g) || []).length - 1;\n};\n/**\n * Checks if the url is /, /en/ or /pt/\n * @param {*} url this.props.location\n * @returns {Boolean} is home or not\n */\n\n\nvar isHomePage = function isHomePage(url) {\n return nPaths(url) <= 1;\n};\n/**\n * Add lang to slug\n * @param {String} slug Slug to add lang\n * @param {String} langKey langKey to add\n * @param {{langKeyDefault: string, prefixDefault: boolean }} options prefixDefault: boolean indicating whether the the urls for the default land should be prefix or not\n * @returns {String} new slug\n */\n\n\nvar addLangKeyToSlug = (0, _curry2.default)(function (slug, langKey, options) {\n return langKey !== options.langKeyDefault || options.prefixDefault ? '/' + langKey + slug : '' + slug;\n});\n/**\n * Get url to the language\n * @param {String} homeLink link for the home page\n * @param {String} url browser url\n * @param {String} langKey default browser language key\n * @returns {String} new url\n */\n\nvar getUrlForLang = (0, _curry2.default)(function (homeLink, url, langKey) {\n return url === '/' || !(0, _startsWith2.default)(homeLink, url) ? '/' + langKey + '/' : url.replace(homeLink, '/' + langKey + '/');\n});\n/**\n * Get langs to create Menu\n * @param {[String]} langs lang keys ['en', 'fr', 'pt']\n * @param {String} currentLangKey current Lang Key\n * @param {func} getUrlForLang getUrlForLang curried, waiting for langKey\n * @returns {Array} langs menu data\n */\n\nvar getLangs = (0, _curry2.default)(function (langs, currentLangKey, getUrlForLang) {\n return langs.map(function (langKey) {\n return {\n langKey: langKey,\n selected: currentLangKey === langKey,\n link: getUrlForLang(langKey)\n };\n });\n});\n/**\n * Get i18n obj for the given langKey or first when not found\n * @param {*} i18n Translations object\n * @param {*} langKey langKey\n * @returns {*} i18n[langKey] or i18n[defaultLangKey]\n */\n\nvar getI18nBase = (0, _curry2.default)(function (i18n, langKey) {\n return i18n[langKey] || Object.values(i18n)[0];\n});\nexports.addLangKeyToSlug = addLangKeyToSlug;\nexports.isHomePage = isHomePage;\nexports.isInPagesPaths = _isInPagesPaths2.default;\nexports.getBrowserLanguage = _getBrowserLanguage2.default;\nexports.getCurrentLangKey = _getCurrentLangKey2.default;\nexports.getPagesPaths = _getPagesPaths2.default;\nexports.getUserLangKey = _getUserLangKey2.default;\nexports.getValidLangKey = _getValidLangKey2.default;\nexports.getI18nBase = getI18nBase;\nexports.getLangs = getLangs;\nexports.getSlugAndLang = _getSlugAndLang2.default;\nexports.getUrlForLang = getUrlForLang;\nexports.nPaths = nPaths;\nexports.redirectToHome = _redirectToHome2.default;","/* eslint-disable no-undef */\nconst React = require('react')\n\nconst preferDefault = m => (m && m.default) || m\nlet Layout = false\n\nif (\n\ttypeof TL__GATSBY_LAYOUT_COMPONENT_PATH !== `undefined` &&\n\t!!TL__GATSBY_LAYOUT_COMPONENT_PATH\n) {\n\ttry {\n\t\tLayout = preferDefault(require(TL__GATSBY_LAYOUT_COMPONENT_PATH))\n\t} catch (e) {\n\t\tif (e.toString().indexOf(`Error: Cannot find module`) !== -1) {\n\t\t\tthrow new Error(\n\t\t\t\t`Couldn't find layout component at \"${TL__GATSBY_LAYOUT_COMPONENT_PATH}.\\n\\n` +\n\t\t\t\t\t`Please create layout component in that location or specify path to layout component in gatsby-config.js`\n\t\t\t)\n\t\t} else {\n\t\t\t// Logging the error for debugging older browsers as there is no way\n\t\t\t// to wrap the thrown error in a try/catch.\n\t\t\tconsole.error(e)\n\t\t\tthrow e\n\t\t}\n\t}\n}\n\nconst LayoutComponent = ({ children, ...props }) => {\n\tif (Layout) {\n\t\treturn {children}\n\t} else {\n\t\treturn children\n\t}\n}\n\nexport { LayoutComponent }\n","module.exports = false;\n","var now = require('performance-now'),\n root = typeof window === 'undefined' ? global : window,\n vendors = ['moz', 'webkit'],\n suffix = 'AnimationFrame',\n raf = root['request' + suffix],\n caf = root['cancel' + suffix] || root['cancelRequest' + suffix];\n\nfor (var i = 0; !raf && i < vendors.length; i++) {\n raf = root[vendors[i] + 'Request' + suffix];\n caf = root[vendors[i] + 'Cancel' + suffix] || root[vendors[i] + 'CancelRequest' + suffix];\n} // Some versions of FF have rAF but not cAF\n\n\nif (!raf || !caf) {\n var last = 0,\n id = 0,\n queue = [],\n frameDuration = 1000 / 60;\n\n raf = function raf(callback) {\n if (queue.length === 0) {\n var _now = now(),\n next = Math.max(0, frameDuration - (_now - last));\n\n last = next + _now;\n setTimeout(function () {\n var cp = queue.slice(0); // Clear queue here to prevent\n // callbacks from appending listeners\n // to the current frame's queue\n\n queue.length = 0;\n\n for (var i = 0; i < cp.length; i++) {\n if (!cp[i].cancelled) {\n try {\n cp[i].callback(last);\n } catch (e) {\n setTimeout(function () {\n throw e;\n }, 0);\n }\n }\n }\n }, Math.round(next));\n }\n\n queue.push({\n handle: ++id,\n callback: callback,\n cancelled: false\n });\n return id;\n };\n\n caf = function caf(handle) {\n for (var i = 0; i < queue.length; i++) {\n if (queue[i].handle === handle) {\n queue[i].cancelled = true;\n }\n }\n };\n}\n\nmodule.exports = function (fn) {\n // Wrap in a new function to prevent\n // `cancel` potentially being assigned\n // to the native rAF function\n return raf.call(root, fn);\n};\n\nmodule.exports.cancel = function () {\n caf.apply(root, arguments);\n};\n\nmodule.exports.polyfill = function (object) {\n if (!object) {\n object = root;\n }\n\n object.requestAnimationFrame = raf;\n object.cancelAnimationFrame = caf;\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.classNamesShape = exports.timeoutsShape = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nvar timeoutsShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({\n enter: _propTypes.default.number,\n exit: _propTypes.default.number,\n appear: _propTypes.default.number\n}).isRequired]) : null;\nexports.timeoutsShape = timeoutsShape;\nvar classNamesShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.shape({\n enter: _propTypes.default.string,\n exit: _propTypes.default.string,\n active: _propTypes.default.string\n}), _propTypes.default.shape({\n enter: _propTypes.default.string,\n enterDone: _propTypes.default.string,\n enterActive: _propTypes.default.string,\n exit: _propTypes.default.string,\n exitDone: _propTypes.default.string,\n exitActive: _propTypes.default.string\n})]) : null;\nexports.classNamesShape = classNamesShape;","'use strict'; //----------------------------------------------------------------------\n//\n// This source file is part of the Folktale project.\n//\n// Licensed under MIT. See LICENCE for full licence information.\n// See CONTRIBUTORS for the list of contributors to the project.\n//\n//----------------------------------------------------------------------\n\nvar _require = require('../helpers/fantasy-land'),\n flEquals = _require.equals;\n\nvar curry = require('../core/lambda/curry');\n\nvar warn = require('../helpers/warn-deprecated-method')('equals');\n\nvar unsupported = require('../helpers/unsupported-method')('equals');\n\nvar isNew = function isNew(a) {\n return typeof a[flEquals] === 'function';\n};\n\nvar isOld = function isOld(a) {\n return typeof a.equals === 'function';\n};\n/*~\n * stability: stable\n * authors:\n * - \"@boris-marinov\"\n * - Quildreen Motta\n * \n * type: |\n * forall S, a:\n * (S a, S a) => Boolean\n * where S is Setoid\n */\n\n\nvar equals = function equals(setoidLeft, setoidRight) {\n return isNew(setoidLeft) ? setoidLeft[flEquals](setoidRight) : isOld(setoidLeft) ? warn(setoidLeft.equals(setoidRight)) :\n /*otherwise*/\n unsupported(setoidLeft);\n};\n/*~\n * stability: stable\n * authors:\n * - \"@boris-marinov\"\n * - Quildreen Motta\n * \n * type: |\n * forall S, a:\n * (S a) => (S a) => Boolean\n * where S is Setoid\n */\n\n\nequals.curried = curry(2, function (setoidRight, setoidLeft) {\n return (// eslint-disable-line no-magic-numbers\n equals(setoidLeft, setoidRight)\n );\n});\n/*~\n * stability: experimental\n * authors:\n * - Quildreen Motta\n * \n * type: |\n * forall S, a:\n * (S a).(S a) => Boolean\n * where S is Setoid\n */\n\nequals.infix = function (aSetoid) {\n return equals(this, aSetoid);\n};\n\nmodule.exports = equals;","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","const plugins = require(`./api-runner-browser-plugins`)\nconst {\n getResourcesForPathname,\n getResourcesForPathnameSync,\n getResourceURLsForPathname,\n loadPage,\n loadPageSync,\n} = require(`./loader`).publicLoader\n\nexports.apiRunner = (api, args = {}, defaultReturn, argTransform) => {\n // Hooks for gatsby-cypress's API handler\n if (process.env.CYPRESS_SUPPORT) {\n if (window.___apiHandler) {\n window.___apiHandler(api)\n } else if (window.___resolvedAPIs) {\n window.___resolvedAPIs.push(api)\n } else {\n window.___resolvedAPIs = [api]\n }\n }\n\n let results = plugins.map(plugin => {\n if (!plugin.plugin[api]) {\n return undefined\n }\n\n // Deprecated April 2019. Use `loadPageSync` instead\n args.getResourcesForPathnameSync = getResourcesForPathnameSync\n // Deprecated April 2019. Use `loadPage` instead\n args.getResourcesForPathname = getResourcesForPathname\n args.getResourceURLsForPathname = getResourceURLsForPathname\n args.loadPage = loadPage\n args.loadPageSync = loadPageSync\n\n const result = plugin.plugin[api](args, plugin.options)\n if (result && argTransform) {\n args = argTransform({ args, result, plugin })\n }\n return result\n })\n\n // Filter out undefined results.\n results = results.filter(result => typeof result !== `undefined`)\n\n if (results.length > 0) {\n return results\n } else if (defaultReturn) {\n return [defaultReturn]\n } else {\n return []\n }\n}\n\nexports.apiRunnerAsync = (api, args, defaultReturn) =>\n plugins.reduce(\n (previous, next) =>\n next.plugin[api]\n ? previous.then(() => next.plugin[api](args, next.options))\n : previous,\n Promise.resolve()\n )\n","var _curry1 = require('./internal/_curry1');\n/**\n * A function that returns the `!` of its argument. It will return `true` when\n * passed false-y value, and `false` when passed a truth-y one.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Logic\n * @sig * -> Boolean\n * @param {*} a any value\n * @return {Boolean} the logical inverse of passed argument.\n * @see R.complement\n * @example\n *\n * R.not(true); //=> false\n * R.not(false); //=> true\n * R.not(0); //=> true\n * R.not(1); //=> false\n */\n\n\nmodule.exports = _curry1(function not(a) {\n return !a;\n});","\"use strict\";\n\nexports.__esModule = true;\nexports.default = hasClass;\n\nfunction hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);else return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}\n\nmodule.exports = exports[\"default\"];","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = addClass;\n\nvar _hasClass = _interopRequireDefault(require(\"./hasClass\"));\n\nfunction addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!(0, _hasClass.default)(element, className)) if (typeof element.className === 'string') element.className = element.className + ' ' + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + ' ' + className);\n}\n\nmodule.exports = exports[\"default\"];","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","\"use strict\";\n\nfunction _toConsumableArray(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n} //----------------------------------------------------------------------\n//\n// This source file is part of the Folktale project.\n//\n// Licensed under MIT. See LICENCE for full licence information.\n// See CONTRIBUTORS for the list of contributors to the project.\n//\n//----------------------------------------------------------------------\n\n/*~\n * stability: stable\n * authors:\n * - Quildreen Motta\n *\n * type: |\n * (Number, (Any...) => 'a) => Any... => 'a or ((Any...) => 'a)\n */\n\n\nvar curry = function curry(arity, fn) {\n var curried = function curried(oldArgs) {\n return function () {\n for (var _len = arguments.length, newArgs = Array(_len), _key = 0; _key < _len; _key++) {\n newArgs[_key] = arguments[_key];\n }\n\n var allArgs = oldArgs.concat(newArgs);\n var argCount = allArgs.length;\n return argCount < arity ? curried(allArgs) :\n /* otherwise */\n fn.apply(undefined, _toConsumableArray(allArgs));\n };\n };\n\n return curried([]);\n}; // --[ Exports ]-------------------------------------------------------\n\n\nmodule.exports = curry;","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var _arrayFromIterator = require('./_arrayFromIterator');\n\nvar _functionName = require('./_functionName');\n\nvar _has = require('./_has');\n\nvar identical = require('../identical');\n\nvar keys = require('../keys');\n\nvar type = require('../type');\n\nmodule.exports = function _equals(a, b, stackA, stackB) {\n if (identical(a, b)) {\n return true;\n }\n\n if (type(a) !== type(b)) {\n return false;\n }\n\n if (a == null || b == null) {\n return false;\n }\n\n if (typeof a['fantasy-land/equals'] === 'function' || typeof b['fantasy-land/equals'] === 'function') {\n return typeof a['fantasy-land/equals'] === 'function' && a['fantasy-land/equals'](b) && typeof b['fantasy-land/equals'] === 'function' && b['fantasy-land/equals'](a);\n }\n\n if (typeof a.equals === 'function' || typeof b.equals === 'function') {\n return typeof a.equals === 'function' && a.equals(b) && typeof b.equals === 'function' && b.equals(a);\n }\n\n switch (type(a)) {\n case 'Arguments':\n case 'Array':\n case 'Object':\n if (typeof a.constructor === 'function' && _functionName(a.constructor) === 'Promise') {\n return a === b;\n }\n\n break;\n\n case 'Boolean':\n case 'Number':\n case 'String':\n if (!(typeof a === typeof b && identical(a.valueOf(), b.valueOf()))) {\n return false;\n }\n\n break;\n\n case 'Date':\n if (!identical(a.valueOf(), b.valueOf())) {\n return false;\n }\n\n break;\n\n case 'Error':\n return a.name === b.name && a.message === b.message;\n\n case 'RegExp':\n if (!(a.source === b.source && a.global === b.global && a.ignoreCase === b.ignoreCase && a.multiline === b.multiline && a.sticky === b.sticky && a.unicode === b.unicode)) {\n return false;\n }\n\n break;\n\n case 'Map':\n case 'Set':\n if (!_equals(_arrayFromIterator(a.entries()), _arrayFromIterator(b.entries()), stackA, stackB)) {\n return false;\n }\n\n break;\n\n case 'Int8Array':\n case 'Uint8Array':\n case 'Uint8ClampedArray':\n case 'Int16Array':\n case 'Uint16Array':\n case 'Int32Array':\n case 'Uint32Array':\n case 'Float32Array':\n case 'Float64Array':\n break;\n\n case 'ArrayBuffer':\n break;\n\n default:\n // Values of other types are only equal if identical.\n return false;\n }\n\n var keysA = keys(a);\n\n if (keysA.length !== keys(b).length) {\n return false;\n }\n\n var idx = stackA.length - 1;\n\n while (idx >= 0) {\n if (stackA[idx] === a) {\n return stackB[idx] === b;\n }\n\n idx -= 1;\n }\n\n stackA.push(a);\n stackB.push(b);\n idx = keysA.length - 1;\n\n while (idx >= 0) {\n var key = keysA[idx];\n\n if (!(_has(key, b) && _equals(b[key], a[key], stackA, stackB))) {\n return false;\n }\n\n idx -= 1;\n }\n\n stackA.pop();\n stackB.pop();\n return true;\n};","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","module.exports = function _arrayFromIterator(iter) {\n var list = [];\n var next;\n\n while (!(next = iter.next()).done) {\n list.push(next.value);\n }\n\n return list;\n};"],"sourceRoot":""}