{"version":3,"sources":["webpack:///./node_modules/tslib/tslib.es6.js","webpack:///./node_modules/lodash/_createCompounder.js","webpack:///./app/javascript/constants/SupportColours.js","webpack:///./node_modules/lodash/isArray.js","webpack:///./node_modules/@material-ui/core/node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./node_modules/lodash/isObjectLike.js","webpack:///./node_modules/@apollo/client/react/context/ApolloProvider.js","webpack:///./app/javascript/components/apollo/withApollo.tsx","webpack:///./node_modules/lodash/upperFirst.js","webpack:///./node_modules/lodash/_root.js","webpack:///./node_modules/@material-ui/styles/esm/useTheme/useTheme.js","webpack:///./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack:///./node_modules/lodash/isNil.js","webpack:///./node_modules/date-fns/esm/_lib/requiredArgs/index.js","webpack:///./node_modules/@apollo/client/react/parser/index.js","webpack:///./node_modules/react-i18next/node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack:///./node_modules/react-i18next/node_modules/@babel/runtime/helpers/typeof.js","webpack:///./node_modules/react-i18next/node_modules/@babel/runtime/helpers/classCallCheck.js","webpack:///./node_modules/react-i18next/node_modules/@babel/runtime/helpers/createClass.js","webpack:///./app/javascript/components/elements/molecules/BannerManager/queries.ts","webpack:///./app/javascript/components/elements/molecules/BannerManager/BannerManager.module.sass","webpack:///./node_modules/graphql/jsutils/inspect.mjs","webpack:///./node_modules/@apollo/client/utilities/globals/global.js","webpack:///./node_modules/graphql/jsutils/nodejsCustomInspectSymbol.mjs","webpack:///./node_modules/@apollo/client/utilities/common/canUse.js","webpack:///./node_modules/@material-ui/core/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack:///./node_modules/@material-ui/core/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./node_modules/react-i18next/node_modules/@babel/runtime/helpers/slicedToArray.js","webpack:///./node_modules/@apollo/client/node_modules/zen-observable-ts/module.js","webpack:///./node_modules/@apollo/client/utilities/graphql/fragments.js","webpack:///./node_modules/@apollo/client/utilities/graphql/storeUtils.js","webpack:///./node_modules/@apollo/client/utilities/graphql/getFromAST.js","webpack:///./node_modules/@apollo/client/link/core/ApolloLink.js","webpack:///./node_modules/@apollo/client/link/utils/createOperation.js","webpack:///./node_modules/@apollo/client/link/utils/transformOperation.js","webpack:///./node_modules/@apollo/client/link/utils/validateOperation.js","webpack:///./node_modules/@apollo/client/link/core/execute.js","webpack:///./node_modules/graphql/language/visitor.mjs","webpack:///./node_modules/@apollo/client/utilities/graphql/directives.js","webpack:///./node_modules/@apollo/client/link/http/serializeFetchParameter.js","webpack:///./node_modules/@apollo/client/link/http/selectURI.js","webpack:///./node_modules/@apollo/client/link/http/iterators/nodeStream.js","webpack:///./node_modules/@apollo/client/link/http/iterators/reader.js","webpack:///./node_modules/@apollo/client/link/http/responseIterator.js","webpack:///./node_modules/@apollo/client/link/http/iterators/async.js","webpack:///./node_modules/@apollo/client/utilities/common/responseIterator.js","webpack:///./node_modules/@apollo/client/link/http/iterators/promise.js","webpack:///./node_modules/@apollo/client/link/utils/throwServerError.js","webpack:///./node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js","webpack:///./node_modules/@apollo/client/link/http/checkFetcher.js","webpack:///./node_modules/graphql/language/printer.mjs","webpack:///./node_modules/@apollo/client/link/http/selectHttpOptionsAndBody.js","webpack:///./node_modules/@apollo/client/link/http/createSignalIfSupported.js","webpack:///./node_modules/@apollo/client/link/utils/fromError.js","webpack:///./node_modules/@apollo/client/link/http/createHttpLink.js","webpack:///./node_modules/@apollo/client/link/http/rewriteURIForGET.js","webpack:///./node_modules/@apollo/client/link/http/HttpLink.js","webpack:///./node_modules/@apollo/client/utilities/common/mergeDeep.js","webpack:///./node_modules/@apollo/client/cache/inmemory/helpers.js","webpack:///./node_modules/@apollo/client/cache/inmemory/object-canon.js","webpack:///./node_modules/@apollo/client/utilities/observables/asyncMap.js","webpack:///./node_modules/@apollo/client/utilities/common/errorHandling.js","webpack:///./node_modules/@apollo/client/utilities/common/filterInPlace.js","webpack:///./node_modules/@apollo/client/utilities/graphql/transform.js","webpack:///./node_modules/@apollo/client/utilities/common/makeUniqueId.js","webpack:///./node_modules/@apollo/client/utilities/observables/iteration.js","webpack:///./node_modules/@apollo/client/utilities/observables/subclassing.js","webpack:///./node_modules/@apollo/client/utilities/observables/Concast.js","webpack:///./node_modules/@apollo/client/utilities/common/cloneDeep.js","webpack:///./node_modules/@apollo/client/core/ObservableQuery.js","webpack:///./node_modules/@apollo/client/core/LocalState.js","webpack:///./node_modules/@apollo/client/core/QueryInfo.js","webpack:///./node_modules/@apollo/client/core/QueryManager.js","webpack:///./node_modules/@apollo/client/cache/inmemory/entityStore.js","webpack:///./node_modules/@apollo/client/utilities/common/incrementalResult.js","webpack:///./node_modules/@apollo/client/core/ApolloClient.js","webpack:///./node_modules/@apollo/client/version.js","webpack:///./node_modules/@apollo/client/cache/core/cache.js","webpack:///./node_modules/@apollo/client/cache/core/types/common.js","webpack:///./node_modules/@apollo/client/cache/inmemory/readFromStore.js","webpack:///./node_modules/@apollo/client/cache/inmemory/key-extractor.js","webpack:///./node_modules/@apollo/client/cache/inmemory/policies.js","webpack:///./node_modules/@apollo/client/utilities/common/stringifyForDisplay.js","webpack:///./node_modules/@apollo/client/cache/inmemory/writeToStore.js","webpack:///./node_modules/@apollo/client/cache/inmemory/inMemoryCache.js","webpack:///./node_modules/@apollo/client/link/batch/batching.js","webpack:///./node_modules/@apollo/client/link/batch/batchLink.js","webpack:///./node_modules/@apollo/client/link/batch-http/batchHttpLink.js","webpack:///./node_modules/@apollo/client/link/error/index.js","webpack:///./node_modules/@apollo/client/link/retry/retryLink.js","webpack:///./node_modules/@apollo/client/link/retry/delayFunction.js","webpack:///./node_modules/@apollo/client/link/retry/retryFunction.js","webpack:///./node_modules/@apollo/client/utilities/policies/pagination.js","webpack:///./app/javascript/components/apollo/client.ts","webpack:///./node_modules/lodash/_baseGetTag.js","webpack:///./node_modules/@material-ui/styles/node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./node_modules/@apollo/client/react/hooks/useApolloClient.js","webpack:///./node_modules/date-fns/esm/toDate/index.js","webpack:///./node_modules/@material-ui/utils/esm/formatMuiErrorMessage.js","webpack:///./node_modules/lodash/_arrayReduce.js","webpack:///./node_modules/lodash/deburr.js","webpack:///./node_modules/lodash/_deburrLetter.js","webpack:///./node_modules/lodash/_basePropertyOf.js","webpack:///./node_modules/lodash/words.js","webpack:///./node_modules/lodash/_asciiWords.js","webpack:///./node_modules/lodash/_hasUnicodeWord.js","webpack:///./node_modules/lodash/_unicodeWords.js","webpack:///./node_modules/graphql/language/blockString.mjs","webpack:///./node_modules/graphql/polyfills/symbols.mjs","webpack:///./node_modules/lodash/_Symbol.js","webpack:///./node_modules/@apollo/client/node_modules/ts-invariant/lib/invariant.js","webpack:///./node_modules/@apollo/client/utilities/globals/DEV.js","webpack:///./node_modules/@apollo/client/utilities/globals/fix-graphql.js","webpack:///./node_modules/@apollo/client/utilities/globals/index.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars.js","webpack:///./node_modules/@material-ui/utils/node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./node_modules/@material-ui/utils/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./node_modules/@material-ui/utils/esm/deepmerge.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/react-i18next/node_modules/@babel/runtime/helpers/toPrimitive.js","webpack:///./node_modules/graphql/language/kinds.mjs","webpack:///./node_modules/@apollo/client/node_modules/@wry/context/lib/context.esm.js","webpack:///./app/javascript/components/elements/atoms/Interactive/Interactive.tsx","webpack:///./node_modules/dom-parse/lib/browser.esm.js","webpack:///./node_modules/css-to-style/lib/index.esm.js","webpack:///./node_modules/react-render-markup/lib/index.esm.js","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/Chevron.module.sass","webpack:///./node_modules/date-fns/esm/_lib/toInteger/index.js","webpack:///./node_modules/@apollo/client/node_modules/ts-invariant/process/index.js","webpack:///./node_modules/@apollo/client/react/context/ApolloContext.js","webpack:///./node_modules/graphql/jsutils/devAssert.mjs","webpack:///./node_modules/graphql/jsutils/instanceOf.mjs","webpack:///./node_modules/graphql/language/source.mjs","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./node_modules/lodash/isUndefined.js","webpack:///./node_modules/react-i18next/node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack:///./node_modules/react-i18next/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack:///./node_modules/react-i18next/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack:///./node_modules/react-i18next/node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack:///./node_modules/react-i18next/node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack:///./node_modules/@material-ui/core/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/base.js","webpack:///./node_modules/react-i18next/dist/es/utils.js","webpack:///./node_modules/react-i18next/dist/es/useTranslation.js","webpack:///./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack:///./app/javascript/components/elements/molecules/IconButton/IconButton.module.sass","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/star.module.sass","webpack:///./app/javascript/components/elements/atoms/Icon/Icon.tsx","webpack:///./node_modules/@apollo/client/core/networkStatus.js","webpack:///./node_modules/prop-types/factoryWithThrowingShims.js","webpack:///./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///./node_modules/@wry/equality/lib/equality.esm.js","webpack:///./node_modules/@apollo/client/utilities/common/compact.js","webpack:///./node_modules/@apollo/client/utilities/common/arrays.js","webpack:///./node_modules/@react-spring/rafz/dist/react-spring_rafz.legacy-esm.js","webpack:///./node_modules/@react-spring/shared/dist/react-spring_shared.legacy-esm.js","webpack:///./node_modules/@react-spring/animated/dist/react-spring_animated.legacy-esm.js","webpack:///./node_modules/@react-spring/core/dist/react-spring_core.legacy-esm.js","webpack:///./node_modules/@react-spring/web/dist/react-spring_web.legacy-esm.js","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/ButternutLogo.tsx","webpack:///./app/javascript/components/elements/atoms/Interactive/Interactive.module.sass","webpack:///./node_modules/lodash/_arrayMap.js","webpack:///./app/javascript/utils/isDevelopment.ts","webpack:///./app/javascript/components/analytics/Analytics.js","webpack:///./node_modules/clsx/dist/clsx.m.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/helpers.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/logger.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/internal/proto-access.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/no-conflict.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/compiler/ast.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/compiler/visitor.js","webpack:///./node_modules/react-display-name/lib/getDisplayName.js","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/Plus.tsx","webpack:///./node_modules/lodash/toString.js","webpack:///./node_modules/lodash/isSymbol.js","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/Chevron.tsx","webpack:///./app/javascript/components/elements/molecules/IconButton/IconButton.tsx","webpack:///./node_modules/graphql/jsutils/defineInspect.mjs","webpack:///./node_modules/graphql/jsutils/invariant.mjs","webpack:///./node_modules/graphql/language/ast.mjs","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/BoxOpen.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/curvedarrow.module.sass","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/curveddashedarrow.module.sass","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/House.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/paw.module.sass","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/Phone.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/sprinkles.module.sass","webpack:///./app/javascript/components/elements/atoms/Icon/brandAssets.ts","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/Calendar.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/Alert.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/Arrow.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/Badge.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/Bin.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/BoxClosed.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/Bubble.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/Checkmark.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/ChevronFilled.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/Close.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/CloseBold.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/CurvedArrow.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/CurvedDashedArrow.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/Customer.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/DecorativeCheckbox.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/DogBowl.tsx","webpack:///./app/javascript/components/elements/atoms/Text/Text.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/Email.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/ErrorCircle.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/Eye.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/Facebook.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/FacebookLetter.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/Food.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/HeartWithPlus.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/Lock.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/Minus.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/Padlock.tsx","webpack:///./app/javascript/packs/bannerManager.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/Pause.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/Paw.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/PaymentMethod.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/Play.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/Pouch.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/Question.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/RadioSelected.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/RadioUnselected.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/Receipt.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/ShoppingDog.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/Sprinkles.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/SquiggleDashedArrow.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/Star.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/Stethoscope.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/StopVan.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/SurveyClose.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/Van.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/VanFilled.tsx","webpack:///./app/javascript/components/elements/atoms/Icon/Icons/WhatsApp.tsx","webpack:///./node_modules/lodash/_freeGlobal.js","webpack:///./node_modules/@apollo/client/utilities/common/mergeOptions.js","webpack:///./node_modules/lodash/_baseToString.js","webpack:///./node_modules/lodash/_hasUnicode.js","webpack:///./node_modules/graphql/jsutils/isObjectLike.mjs","webpack:///./node_modules/graphql/language/location.mjs","webpack:///./node_modules/graphql/language/printLocation.mjs","webpack:///./node_modules/graphql/error/GraphQLError.mjs","webpack:///./node_modules/graphql/error/syntaxError.mjs","webpack:///./node_modules/graphql/language/tokenKind.mjs","webpack:///./node_modules/graphql/language/directiveLocation.mjs","webpack:///./node_modules/graphql/language/lexer.mjs","webpack:///./node_modules/graphql/language/parser.mjs","webpack:///./node_modules/graphql-tag/lib/index.js","webpack:///./app/javascript/components/apollo/types-with-ids.ts","webpack:///./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack:///./node_modules/@apollo/client/cache/inmemory/reactiveVars.js","webpack:///./app/javascript/hooks/useLocalStorage.js","webpack:///./node_modules/prop-types/index.js","webpack:///./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///./node_modules/lodash/_castSlice.js","webpack:///./node_modules/lodash/_stringToArray.js","webpack:///./node_modules/@material-ui/core/esm/utils/capitalize.js","webpack:///./node_modules/@material-ui/core/esm/Container/Container.js","webpack:///./node_modules/lodash/_getRawTag.js","webpack:///./node_modules/lodash/_objectToString.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars.runtime.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/helpers/block-helper-missing.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/helpers/each.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/helpers/helper-missing.js","webpack:///./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/helpers/if.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/helpers/log.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/helpers/lookup.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/helpers/with.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/decorators.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/decorators/inline.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/internal/create-new-lookup-object.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/safe-string.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/runtime.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/internal/wrapHelper.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/compiler/base.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/compiler/parser.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/compiler/whitespace-control.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/compiler/helpers.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/compiler/compiler.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/compiler/code-gen.js","webpack:///./node_modules/@material-ui/styles/esm/useTheme/ThemeContext.js","webpack:///./node_modules/lodash/isNull.js","webpack:///./node_modules/lodash/_baseSlice.js","webpack:///./node_modules/classnames/index.js","webpack:///./node_modules/lodash/_asciiToArray.js","webpack:///./node_modules/lodash/_unicodeToArray.js","webpack:///./node_modules/lodash/startCase.js","webpack:///./node_modules/@material-ui/styles/esm/ThemeProvider/nested.js","webpack:///./app/javascript/constants/BrandColours.js","webpack:///./node_modules/@wry/trie/lib/trie.esm.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/utils.js","webpack:///./node_modules/lodash/kebabCase.js","webpack:///./node_modules/@wry/context/lib/context.esm.js","webpack:///./node_modules/optimism/lib/bundle.esm.js","webpack:///./app/javascript/components/elements/atoms/TopBanner/TopBanner.module.sass","webpack:///./node_modules/date-fns/esm/isAfter/index.js","webpack:///./node_modules/@apollo/client/errors/index.js","webpack:///./node_modules/@material-ui/core/esm/styles/createBreakpoints.js","webpack:///./node_modules/@material-ui/core/esm/styles/createMixins.js","webpack:///./node_modules/@material-ui/core/esm/colors/common.js","webpack:///./node_modules/@material-ui/core/esm/colors/grey.js","webpack:///./node_modules/@material-ui/core/esm/colors/indigo.js","webpack:///./node_modules/@material-ui/core/esm/colors/pink.js","webpack:///./node_modules/@material-ui/core/esm/colors/red.js","webpack:///./node_modules/@material-ui/core/esm/colors/orange.js","webpack:///./node_modules/@material-ui/core/esm/colors/blue.js","webpack:///./node_modules/@material-ui/core/esm/colors/green.js","webpack:///./node_modules/@material-ui/core/esm/styles/colorManipulator.js","webpack:///./node_modules/@material-ui/core/esm/styles/createPalette.js","webpack:///./node_modules/@material-ui/core/esm/styles/createTypography.js","webpack:///./node_modules/@material-ui/core/esm/styles/shadows.js","webpack:///./node_modules/@material-ui/core/esm/styles/shape.js","webpack:///./node_modules/@material-ui/system/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack:///./node_modules/@material-ui/system/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack:///./node_modules/@material-ui/system/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack:///./node_modules/@material-ui/system/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack:///./node_modules/@material-ui/system/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack:///./node_modules/@material-ui/system/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack:///./node_modules/@material-ui/system/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./node_modules/@material-ui/system/esm/merge.js","webpack:///./node_modules/@material-ui/system/esm/breakpoints.js","webpack:///./node_modules/@material-ui/system/esm/spacing.js","webpack:///./node_modules/@material-ui/system/esm/memoize.js","webpack:///./node_modules/@material-ui/core/esm/styles/createSpacing.js","webpack:///./node_modules/@material-ui/core/esm/styles/transitions.js","webpack:///./node_modules/@material-ui/core/esm/styles/zIndex.js","webpack:///./node_modules/@material-ui/core/esm/styles/createTheme.js","webpack:///./node_modules/react-spring/dist/react-spring.legacy-esm.js","webpack:///./node_modules/@apollo/client/react/hooks/useSyncExternalStore.js","webpack:///./node_modules/@apollo/client/react/hooks/useQuery.js","webpack:///./node_modules/@apollo/client/utilities/globals/maybe.js","webpack:///./node_modules/@apollo/client/utilities/common/objects.js","webpack:///./node_modules/react-i18next/dist/es/unescape.js","webpack:///./node_modules/react-i18next/dist/es/context.js","webpack:///./node_modules/handlebars/dist/cjs/handlebars/exception.js","webpack:///./node_modules/date-fns/esm/addDays/index.js","webpack:///./node_modules/hoist-non-react-statics/node_modules/react-is/index.js","webpack:///./node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","webpack:///./node_modules/lodash/_createCaseFirst.js","webpack:///./app/javascript/components/elements/atoms/Text/Text.module.sass","webpack:///./node_modules/react-i18next/node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./node_modules/@material-ui/styles/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack:///./node_modules/@material-ui/styles/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./node_modules/is-in-browser/dist/module.js","webpack:///./node_modules/tiny-warning/dist/tiny-warning.esm.js","webpack:///./node_modules/jss/dist/jss.esm.js","webpack:///./node_modules/@material-ui/styles/esm/mergeClasses/mergeClasses.js","webpack:///./node_modules/@material-ui/styles/esm/makeStyles/multiKeyStore.js","webpack:///./node_modules/@material-ui/styles/esm/createGenerateClassName/createGenerateClassName.js","webpack:///./node_modules/jss-plugin-rule-value-function/dist/jss-plugin-rule-value-function.esm.js","webpack:///./node_modules/jss-plugin-global/dist/jss-plugin-global.esm.js","webpack:///./node_modules/jss-plugin-nested/dist/jss-plugin-nested.esm.js","webpack:///./node_modules/hyphenate-style-name/index.js","webpack:///./node_modules/jss-plugin-camel-case/dist/jss-plugin-camel-case.esm.js","webpack:///./node_modules/jss-plugin-default-unit/dist/jss-plugin-default-unit.esm.js","webpack:///./node_modules/css-vendor/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack:///./node_modules/css-vendor/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack:///./node_modules/css-vendor/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack:///./node_modules/css-vendor/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack:///./node_modules/css-vendor/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack:///./node_modules/css-vendor/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack:///./node_modules/css-vendor/dist/css-vendor.esm.js","webpack:///./node_modules/jss-plugin-vendor-prefixer/dist/jss-plugin-vendor-prefixer.esm.js","webpack:///./node_modules/jss-plugin-props-sort/dist/jss-plugin-props-sort.esm.js","webpack:///./node_modules/@material-ui/styles/esm/jssPreset/jssPreset.js","webpack:///./node_modules/@material-ui/styles/esm/StylesProvider/StylesProvider.js","webpack:///./node_modules/@material-ui/styles/esm/makeStyles/indexCounter.js","webpack:///./node_modules/@material-ui/styles/esm/getStylesCreator/getStylesCreator.js","webpack:///./node_modules/@material-ui/styles/esm/getStylesCreator/noopTheme.js","webpack:///./node_modules/@material-ui/styles/esm/makeStyles/makeStyles.js","webpack:///./node_modules/@material-ui/styles/esm/getThemeProps/getThemeProps.js","webpack:///./node_modules/@material-ui/styles/esm/withStyles/withStyles.js","webpack:///./node_modules/@material-ui/core/esm/styles/defaultTheme.js","webpack:///./node_modules/@material-ui/core/esm/styles/withStyles.js","webpack:///./node_modules/date-fns/esm/isBefore/index.js","webpack:///./node_modules/@apollo/client/utilities/common/maybeDeepFreeze.js","webpack:///./app/javascript/components/elements/molecules/BannerManager/BannerManager.tsx","webpack:///./app/javascript/components/elements/atoms/TopBanner/TopBanner.tsx"],"names":["_extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","String","__","this","constructor","create","_assign","assign","t","s","i","n","arguments","length","apply","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","Symbol","iterator","v","op","pop","push","__spreadArray","to","from","pack","ar","l","slice","concat","arrayReduce","deburr","words","reApos","RegExp","module","exports","callback","string","replace","SUPPORT_COLOURS","supportBlue100","supportBlue200","supportBlue300","supportBlue400","supportBlue500","successGreen100","successGreen200","successGreen300","successGreen400","successGreen500","dangerRed100","dangerRed200","dangerRed300","dangerRed400","dangerRed500","warningOrange100","warningOrange200","warningOrange300","warningOrange400","warningOrange500","grey100","grey200","grey300","grey400","grey500","grey600","shadowYellow","isArray","_extends","bind","target","source","key","_a","client","children","ApolloContext","Consumer","context","__DEV__","Provider","withApollo","WrappedComponent","props","upperFirst","createCaseFirst","freeGlobal","freeSelf","self","root","Function","useTheme","useContext","_setPrototypeOf","o","requiredArgs","required","args","DocumentType","cache","Map","operationName","type","name","Query","Mutation","Subscription","verifyDocumentType","document","operation","variables","cached","get","kind","fragments","queries","mutations","subscriptions","_i","definitions","x","definition","variableDefinitions","payload","set","parser","requiredOperationName","usedOperationName","_typeof","toPrimitive","arg","__esModule","obj","instance","Constructor","toPropertyKey","_defineProperties","descriptor","enumerable","configurable","writable","defineProperty","protoProps","staticProps","BANNER_QUERY","gql","inspect","formatValue","seenValues","JSON","stringify","previouslySeenValues","customInspectFn","object","getCustomFn","undefined","customValue","array","len","Math","min","remaining","items","join","formatArray","keys","tag","toString","getObjectTag","properties","map","formatObject","formatObjectValue","globalThis","window","global","nodejsCustomInspectSymbol","for","canUseWeakMap","WeakMap","navigator","product","canUseWeakSet","WeakSet","canUseSymbol","canUseAsyncIteratorSymbol","asyncIterator","canUseDOM","createElement","usingJSDOM","userAgent","canUseLayoutEffect","_objectWithoutProperties","excluded","sourceKeys","sourceSymbolKeys","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","arr","_createForOfIteratorHelperLoose","allowArrayLike","it","minLen","_arrayLikeToArray","test","_unsupportedIterableToArray","arr2","_createClass","hasSymbols","hasSymbol","Boolean","getSymbol","observable","SymbolIterator","SymbolObservable","SymbolSpecies","getMethod","getSpecies","ctor","Observable","isObservable","hostReportError","log","setTimeout","enqueue","fn","cleanupSubscription","subscription","cleanup","_cleanup","unsubscribe","closeSubscription","_observer","_queue","_state","notifySubscription","observer","m","onNotify","queue","flushSubscription","subscriber","subscriptionObserver","SubscriptionObserver","error","_subscription","_proto2","complete","_subscriber","_proto3","subscribe","forEach","_this","_this2","filter","_this3","reduce","_this4","C","hasSeed","hasValue","seed","acc","first","_this5","_len","sources","_key","index","startNext","flatMap","_this6","outer","inner","splice","completeIfDone","closed","method","_step","_iterator","item","of","_len2","_key2","symbol","getFragmentQueryDocument","fragmentName","actualFragmentName","selectionSet","selections","createFragmentMap","symTable","fragment","getFragmentFromSelection","selection","fragmentMap","makeReference","id","__ref","valueToObjectRepresentation","argObj","isIntValue","isFloatValue","Number","isBooleanValue","isStringValue","isObjectValue","nestedArgObj_1","fields","isVariable","variableValue","isListValue","values","listValue","nestedArgArrayObj","isEnumValue","isNullValue","KNOWN_DIRECTIVES","getStoreKeyName","fieldName","directives","filterKeys","sort","filteredArgs_1","completeFieldName","stringifiedArgs","setStringify","previous","stringifyReplacer","copy","argumentsObjectFromField","field","argObj_1","resultKeyNameFromField","alias","getTypenameFromResult","__typename","isField","typename","isInlineFragment","checkDocument","doc","operations","getOperationDefinition","getOperationName","getFragmentDefinitions","getQueryDefinition","queryDef","getMainDefinition","queryDoc","fragmentDefinition","getDefaultValues","defaultValues","defs","def","defaultValue","variable","passthrough","forward","toLink","handler","isTerminating","link","request","_super","LinkError","message","Error","ApolloLink","empty","links","split","left","right","leftLink","rightLink","execute","starting","createOperation","transformedOperation","extensions","query","transformOperation","OPERATION_FIELDS","validateOperation","second","firstLink","warn","nextLink","onError","setOnError","QueryDocumentKeys","Name","Document","OperationDefinition","VariableDefinition","Variable","SelectionSet","Field","Argument","FragmentSpread","InlineFragment","FragmentDefinition","IntValue","FloatValue","StringValue","BooleanValue","NullValue","EnumValue","ListValue","ObjectValue","ObjectField","Directive","NamedType","ListType","NonNullType","SchemaDefinition","OperationTypeDefinition","ScalarTypeDefinition","ObjectTypeDefinition","FieldDefinition","InputValueDefinition","InterfaceTypeDefinition","UnionTypeDefinition","EnumTypeDefinition","EnumValueDefinition","InputObjectTypeDefinition","DirectiveDefinition","SchemaExtension","ScalarTypeExtension","ObjectTypeExtension","InterfaceTypeExtension","UnionTypeExtension","EnumTypeExtension","InputObjectTypeExtension","BREAK","freeze","visit","visitor","visitorKeys","stack","inArray","edits","node","parent","path","ancestors","newRoot","isLeaving","isEdited","clone","_i2","_Object$keys2","k","editOffset","ii","editKey","editValue","prev","_visitorKeys$node$kin","visitFn","getVisitFn","kindVisitor","kindSpecificVisitor","leave","enter","specificVisitor","specificKindVisitor","shouldInclude","directive","isInclusionDirective","directiveArguments","directiveName","ifArgument","ifValue","getInclusionDirectives","every","evaledValue","hasDirectives","names","all","nameSet","Set","uniqueCount","size","delete","serialized","parseError","selectURI","fallbackURI","contextURI","getContext","uri","nodeStreamIterator","stream","data","waiting","onData","chunk","shiftedArr","shift","err","pair","onEnd","removeListener","on","canUse","readerIterator","reader","read","responseIterator","response","isAsyncIterableIterator","getReader","isReadableStream","isStreamableBlob","arrayBuffer","isBlob","promise","resolved","catch","promiseIterator","pipe","isNodeReadableStream","throwServerError","statusCode","status","parseHeaders","headerText","headersInit","line","name_1","trim","toLowerCase","parseJsonBody","bodyText","parse","getResult","handleError","_b","errors","parseAndCheckHttpResponse","text","fetcher","fetch","ast","printDocASTReducer","varDefs","wrap","_ref","_ref2","block","_ref3","prefix","argsLine","indent","_ref4","_ref5","_ref6","typeCondition","_ref7","_ref8","_ref9","_ref10","_ref11","_ref12","_ref13","_ref14","_ref15","_ref16","_ref17","_ref18","_ref19","addDescription","_ref20","operationTypes","_ref21","_ref22","_ref23","interfaces","_ref24","hasMultilineItems","_ref25","_ref26","_ref27","types","_ref28","_ref29","_ref30","_ref31","repeatable","locations","_ref32","_ref33","_ref34","_ref35","_ref36","_ref37","_ref38","cb","description","maybeArray","_maybeArray$filter$jo","separator","start","maybeString","end","str","isMultiline","some","fallbackHttpConfig","http","includeQuery","includeExtensions","preserveHeaderCase","headers","accept","options","defaultPrinter","printer","selectHttpOptionsAndBodyInternal","configs","config","credentials","removeDuplicateHeaders","normalizedHeaders_1","headerData","originalName","normalizedHeaders","createSignalIfSupported","AbortController","controller","signal","fromError","errorValue","backupFetch","linkOptions","preferredFetch","print","useGETForQueries","_c","includeUnusedVariables","requestOptions","linkConfig","fetchOptions","chosenURI","clientAwarenessHeaders","clientAwareness","version","contextHeaders","contextConfig","unusedNames_1","_controller","_d","queryParams","addQueryParam","encodeURIComponent","serializedVariables","serializedExtensions","preFragment","fragmentStart","substr","queryParamsPrefix","newURI","rewriteURIForGET","setContext","ctype","decoder","contentType","delimiter","boundaryVal","boundary","buffer","running","bi","contentType_1","_e","_f","TextDecoder","includes","substring","decode","readMultipartBody","readJsonBody","abort","HttpLink","mergeDeep","mergeDeepArray","count","merger","merge","defaultReconciler","property","DeepMerger","reconciler","isObject","pastCopies","sourceKey","targetValue","shallowCopyForMerge","has","getPrototypeOf","add","hasOwn","isNullish","defaultDataIdFromObject","_id","keyObject","defaultConfig","dataIdFromObject","addTypename","resultCaching","canonizeResults","shouldCanonizeResults","TypeOrFieldNameRegExp","fieldNameFromStoreName","storeFieldName","match","selectionSetMatchesResult","storeValueIsStoreObject","extractFragmentContext","lookupFragment","lookup","stringifyCanon","stringifyCache","ObjectCanon","known","pool","passes","keysByJSON","admit","isKnown","pass","shallowCopy","original","lookupArray","proto_1","array_1","sortedKeys","json","firstValueIndex_1","sorted","obj_1","canonicalStringify","resetCanonicalStringify","canonical","reset","asyncMap","mapFn","catchFn","_complete","activeCallbackCount","completed","promiseQueue","makeCallback","examiner","delegate","both","caught","sub","graphQLResultHasError","filterInPlace","elem","TYPENAME_FIELD","isEmpty","nullIfDocIsEmpty","fragmentDef","getFragmentDefinition","getDirectiveMatcher","dir","removeDirectivesFromDocument","variablesInUse","variablesToRemove","fragmentSpreadsInUse","fragmentSpreadsToRemove","modifiedDoc","remove","getAllFragmentSpreadsFromSelectionSet","frag","argMatcher","argument","aConfig","getArgumentMatcher","varDef","argConfig","argMatchCount_1","removeArgumentsFromDocument","fs","removeFragmentSpreadFromDocument","addTypenameToDocument","lastIndexOf","added","connectionRemoveConfig","willRemove","allFragments","buildQueryFromSelectionSet","prefixCounts","makeUniqueId","random","iterateObserversSafely","observers","observersWithMethod","obs","fixObservableSubclass","subclass","species","isPromiseLike","Concast","addObserver","removeObserver","handlers","latest","notify","_error","nextResultListeners","cancel","reason","iterable","deliverLastMessage","nextOrError","listener","beforeNext","called","cloneDeep","cloneDeepHelper","val","seen","copy_1","child","copy_2","ObservableQuery","queryManager","queryInfo","subObserver","defaultSubscriptionObserverErrorCallback","last","reobserve","tearDownQuery","isTornDown","defaultOptions","watchQuery","fetchPolicy","defaultFetchPolicy","initialFetchPolicy","queryId","generateQueryId","opDef","queryName","transform","removeQuery","getCurrentResult","saveAsLastResult","lastResult","getLastResult","networkStatus","ready","loading","hasForcedResolvers","diff","getDiff","returnPartialData","partial","partialRefetch","logMissingFieldErrors","missing","updateLastResult","isDifferentFromLastResult","newResult","getLast","variablesMustMatch","getLastError","resetLastResults","resetQueryStoreErrors","resetErrors","refetch","reobserveOptions","pollInterval","vars","resetLastWrite","fetchMore","fetchMoreOptions","combinedOptions","qid","originalNetworkStatus","notifyOnNetworkStatusChange","observe","updatedQuerySet","fetchQuery","fetchMoreResult","batch","update","updateQuery","optimistic","writeQuery","onWatchUpdated","watch","finally","reobserveCacheFirst","subscribeToMore","startGraphQLSubscription","subscriptionData","setOptions","newOptions","setVariables","broadcastQueries","startPolling","updatePolling","stopPolling","applyNextFetchPolicy","nextFetchPolicy","newNetworkStatus","setObservableQuery","fetchQueryObservable","ssrMode","pollingInfo","interval","maybeFetch","poll","info","clearTimeout","timeout","assumeImmutableResults","useDisposableConcast","oldVariables","oldFetchPolicy","mergedOptions","compact","concast","reportResult","reportError","lastError","errorResult","graphQLErrors","hasObservers","clear","stopQuery","obsQuery","_nextFetchPolicy","debug","LocalState","resolvers","fragmentMatcher","addResolvers","setFragmentMatcher","resolverGroup","setResolvers","getResolvers","runResolvers","remoteResult","onlyRunForcedResolvers","resolveDocument","localResult","getFragmentMatcher","clientQuery","serverQuery","removeClientSetsFromDocument","prepareContext","getCacheKey","identify","addExportedVariables","buildRootValueFromCache","exportedVariables","shouldForceResolvers","forceResolvers","rootValue","mainDefinition","definitionOperation","defaultOperationType","execContext","charAt","toUpperCase","resolveSelectionSet","resultsToMerge","resolveField","fieldResult","fragmentResult","aliasedFieldName","aliasUsed","defaultResult","resultPromise","resolverType","resolverMap","withValue","resolveSubSelectedArray","destructiveMethodCounts","wrapDestructiveCacheMethod","methodName","cancelNotifyTimeout","QueryInfo","listeners","lastRequestId","stopped","dirty","observableQuery","init","lastDiff","networkError","getDiffOptions","updateWatch","oq","updateLastDiff","setDiff","oldDiff","notifyTimeout","oqListener","fromOptimisticTransaction","shouldNotify","stop","watchOptions","watcher","lastWatch","lastWrite","shouldWrite","dmCount","markResult","cacheWriteBehavior","incremental","mergedData_1","merger_1","parent_1","isNaN","shouldWriteResult","errorPolicy","performTransaction","overwrite","diffOptions","markReady","markError","ignoreErrors","writeWithErrors","EntityStore","Root","QueryManager","queryDeduplication","onBroadcast","localState","fetchCancelFns","transformCache","queryIdCounter","requestIdCounter","mutationIdCounter","inFlightLinkObservables","mutationStore","_info","stopQueryNoBroadcast","cancelPendingFetches","mutate","mutation","optimisticResponse","updateQueries","refetchQueries","awaitRefetchQueries","updateWithProxyFn","onQueryUpdated","_g","keepRootFields","mutationId","_h","hasClientExports","mutationStoreValue","_j","generateMutationId","transformForLink","getVariables","markMutationOptimistic","getObservableFromLink","storeResult","markMutationResult","removeOptimistic","cacheWrites","skipCache","dataId","updateQueries_1","updater","currentQueryResult","nextQueryResult","mutationResult","queryVariables","results_1","updateCache","write","asQuery","modify","DELETE","include","recordOptimisticTransaction","getQueryStore","store","transformed","transformDocument","noConnection","cacheEntry_1","defaultVars","generateRequestId","stopQueryInStore","stopQueryInStoreNoBroadcast","clearStore","discardWatches","getObservableQueries","queryNamesAndDocs","legacyQueryOptions","desc","getQuery","included","nameOrDoc","reFetchObservableQueries","includeStandby","observableQueryPromises","makeObservable","observablePromise_1","getLocalState","deduplication","inFlightLinkObservables_1","forceFetch","byVariables_1","varJson_1","getResultsFromLink","requestId","linkDocument","incrementalResult","hasErrors","aqr","defaults","normalized","fromVariables","concastSources","fetchQueryByPolicy","cleanupCancelFn","includedQueriesById","results","refetchWritePolicy","oldNetworkStatus","readCache","resultsFromCache","fromData","resultsFromLink","newContext","hasSuggestedDevtools","ApolloClient","resetStoreCallbacks","clearStoreCallbacks","ssrForceFetchDelay","connectToDevTools","__APOLLO_CLIENT__","typeDefs","clientAwarenessName","clientAwarenessVersion","disableNetworkFetches","resetStore","top","__APOLLO_DEVTOOLS_GLOBAL_HOOK__","nav","ua","url","devToolsHookCb","action","state","dataWithOptimisticResults","extract","mergeOptions","readQuery","readFragment","writeFragment","__actionHookForDevTools","__requestRaw","onResetStore","c","onClearStore","restore","serializedState","setLocalStateFragmentMatcher","setLink","newLink","ApolloCache","getFragmentDoc","updateResult","optimisticId","transaction","gc","rootId","_update","updateFragment","_update2","MissingFieldError","delModifier","INVALIDATE","policies","group","rootIds","refs","getFieldValue","objectOrReference","maybeDeepFreeze","canRead","objOrRef","toReference","objOrIdOrRef","mergeIntoStore","ref","toObject","depend","storeObject","rootTypenamesById","dependOnExistence","older","newer","existing","incoming","merged","storeObjectReconciler","caching","fieldsToDirty_1","__exists","hasKeyArgs","changedFields_1","needToMerge_1","allDeleted_1","sharedDetails_1","isReference","readField","fieldNameOrOptions","fieldValue","newValue","storage","getStorage","getStoreFieldName","evict","limit","evicted","extraRootIds","getRootIdSet","__META","newData","rest_1","retain","release","ids","snapshot","findChildRefIds","idsToRemove","root_1","found_1","workSet_1","makeCacheKey","keyMaker","CacheGroup","resetCaching","makeDepKey","maybeDependOnExistenceOfEntity","entityId","supportsResultCaching","stump","storageTrie","addLayer","layerId","replay","removeLayer","Layer","ownStoreObject","parentStoreObject","fromParent","Stump","existingObject","incomingObject","existingValue","incomingValue","execSelectionSetKeyArgs","StoreReader","knownResults","canon","executeSelectionSet","peekArgs","other","peek","enclosingRef","execSelectionSetImpl","max","resultCacheMaxSize","keyArgs","varString","executeSubSelectedArray","execSubSelectedArrayImpl","resetCanon","diffQueryAgainstStore","rootRef","execResult","firstMissing","isFresh","objectsToMerge","missingMerger","handleMissing","resultName","rootIdsByTypename","workSet","FRAGMENT_SPREAD","fragmentMatches","finalResult","frozen","childResult","getTypenameFromStoreObject","assertSelectionSetForIdValue","tree","specifierInfoCache","lookupSpecifierInfo","spec","cacheKey","keyFieldsFnFromSpecifier","specifier","keyFieldsFn","collectSpecifierPaths","schemaKeyPath","extracted","extractKeyPath","extractKey","keyArgsFnFromSpecifier","keyArgsFn","collected","keyPath","firstKey","firstChar","variableName","varKeyPath","directiveName_1","find","directiveArgs","suffix","extractor","getSpecifierPaths","toMerge","paths","paths_1","currentPath_1","normalize","reducer","argsFromFieldSpecifier","nullKeyFieldsFn","simpleKeyArgsFn","_args","mergeTrueFn","mergeObjects","mergeFalseFn","Policies","typePolicies","toBeAdded","supertypeMap","fuzzySubtypes","usingPossibleTypes","setRootTypename","possibleTypes","addPossibleTypes","addTypePolicies","partialContext","ROOT_QUERY","normalizeReadFieldOptions","policy","getTypePolicy","keyFn","specifierOrId","queryType","mutationType","subscriptionType","updateTypePolicy","keyFields","setMerge","getFieldPolicy","which","old","supertype","getSupertypeSet","subtype","policy_1","supertypes","rest","inbox","createIfMissing","fieldPolicies","supertypeSet","typenameSupertypeSet","workQueue_1","maybeEnqueue_1","needToCheckFuzzySubtypes","checkingFuzzySubtypes","regExp","fuzzyString","fieldSpec","specifierOrString","directivesObj","storeKeyNameFromField","readOptions","makeFieldFunctionOptions","getReadFunction","getMergeFunction","parentTypename","childTypename","runMergeFunction","makeMergeObjectsFunction","readFieldArgs","undefId","argc","eType","iType","getContextFlavor","clientOnly","deferred","flavored","flavors","StoreWriter","writeToStore","operationDefinition","written","incomingById","processSelectionSet","mergeTree","fieldNodeSet","entityRef","applied","applyMerges","fieldsWithSelectionSets_1","hasSelectionSet_1","childTree","hasMergeFunction_1","existingRef","incomingObj","getChild","parentType","typeDotName","warnings","childTypenames","warnAboutDataLoss","result_1","flattenFields","resultFieldKey","getChildMergeTree","processFieldValue","maybeRecycleChildMergeTree","dataRef","sets","previous_1","mergeMergeTrees","mergeTreeIsEmpty","fieldMap","limitingTrie","flatten","inheritedContext","visitedNode","visited","if","getStorageArgs","e_1","i_1","getValue_1","eVal","iVal","aVal","emptyMergeTreePool","needToMergeMaps","remainingRightKeys_1","leftTree","InMemoryCache","watches","typenameDocumentCache","makeVar","txCount","normalizeConfig","rootStore","optimisticData","resetResultCache","resetResultIdentities","previousReader","storeReader","storeWriter","maybeBroadcastWatch","broadcastWatch","broadcast","broadcastWatches","immediate","forget","idToRemove","newOptimisticData","_onWatchUpdated","perform","layer","alreadyDirty","OperationBatcher","batchDebounce","batchInterval","batchMax","batchHandler","batchKey","batchesByKey","enqueueRequest","requestCopy","subscribers","isFirstEnqueuedRequest","isFirstSubscriber","scheduleQueueConsumption","consumeQueue","forwards","observables","nexts","completes","batchedObservable","rejecters","scheduledBatchTimer","BatchLink","fetchParams","batcher","BatchHttpLink","optsAndBody","loadedBody","errorHandler","retriedSub","retriedResult","ErrorLink","RetryableOperation","delayFor","retryIf","retryCount","canceled","currentSubscription","onNext","onComplete","scheduleRetry","try","timerId","delay","RetryLink","attempts","delayOptions","initial","jitter","Infinity","baseDelay","pow","buildDelayFunction","retryOptions","buildRetryFunction","retryable","offsetLimitPagination","offset","csrfMeta","querySelector","batchLink","getAttribute","retryLink","apolloLinks","console","User","ordersByDate","orders","Meal","getRawTag","objectToString","symToStringTag","toStringTag","useApolloClient","override","toDate","argStr","Date","getTime","NaN","formatMuiErrorMessage","code","iteratee","accumulator","initAccum","deburrLetter","reLatin","reComboMark","basePropertyOf","asciiWords","hasUnicodeWord","unicodeWords","pattern","guard","reAsciiWord","reHasUnicodeWord","rsDingbatRange","rsLowerRange","rsUpperRange","rsBreakRange","rsMathOpRange","rsBreak","rsDigits","rsDingbat","rsLower","rsMisc","rsRegional","rsSurrPair","rsUpper","rsMiscLower","rsMiscUpper","rsOptContrLower","rsOptContrUpper","reOptMod","rsModifier","rsOptVar","rsSeq","rsEmoji","reUnicodeWord","dedentBlockStringValue","rawString","lines","commonIndent","_commonIndent","isFirstLine","isEmptyLine","charCodeAt","getBlockStringIndentation","startLine","isBlank","endLine","printBlockString","indentation","preferMultipleLines","isSingleLine","hasLeadingSpace","hasTrailingQuote","hasTrailingSlash","printAsMultipleLines","SYMBOL_TO_STRING_TAG","genericMessage","proto","InvariantError","framesToPop","invariant","condition","verbosityLevels","verbosityLevel","wrapConsoleMethod","GLOBAL_KEY","maybe","DEV","_interopRequireDefault","_handlebarsRuntime2","_handlebarsCompilerAst2","_handlebarsCompilerBase","_handlebarsCompilerCompiler","_handlebarsCompilerJavascriptCompiler2","_handlebarsCompilerVisitor2","_handlebarsNoConflict2","_create","hb","compile","input","precompile","AST","Compiler","JavaScriptCompiler","Parser","parseWithoutProcessing","inst","Visitor","isPlainObject","deepmerge","output","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","run","marker","runClearTimeout","Item","noop","nextTick","title","browser","env","argv","versions","addListener","once","off","removeAllListeners","emit","prependListener","prependOnceListener","binding","cwd","chdir","umask","hint","prim","res","Kind","NAME","DOCUMENT","OPERATION_DEFINITION","VARIABLE_DEFINITION","SELECTION_SET","FIELD","ARGUMENT","INLINE_FRAGMENT","FRAGMENT_DEFINITION","VARIABLE","INT","FLOAT","STRING","BOOLEAN","NULL","ENUM","LIST","OBJECT","OBJECT_FIELD","DIRECTIVE","NAMED_TYPE","LIST_TYPE","NON_NULL_TYPE","SCHEMA_DEFINITION","OPERATION_TYPE_DEFINITION","SCALAR_TYPE_DEFINITION","OBJECT_TYPE_DEFINITION","FIELD_DEFINITION","INPUT_VALUE_DEFINITION","INTERFACE_TYPE_DEFINITION","UNION_TYPE_DEFINITION","ENUM_TYPE_DEFINITION","ENUM_VALUE_DEFINITION","INPUT_OBJECT_TYPE_DEFINITION","DIRECTIVE_DEFINITION","SCHEMA_EXTENSION","SCALAR_TYPE_EXTENSION","OBJECT_TYPE_EXTENSION","INTERFACE_TYPE_EXTENSION","UNION_TYPE_EXTENSION","ENUM_TYPE_EXTENSION","INPUT_OBJECT_TYPE_EXTENSION","currentContext","MISSING_VALUE","idCounter","ignored","globalKey","globalHost","Slot","now","context_1","slots","getValue","saved","noContext","Interactive","forwardRef","className","element","disabled","selected","focusHighlight","onInteraction","styles","api","useSpring","scale","loop","reverse","duration","easing","easings","easeInQuad","onRest","easeOutQuad","useEffect","onClick","useCallback","event","onPress","preventDefault","stopPropagation","classes","classNames","STYLES","interactive","disableSelectedState","Element","animated","tabIndex","role","onKeyUp","onKeyDown","style","markup","DOMParser","parseFromString","wrapMarkup","childNodes","splitDeclaration","declaration","cssText","capturing","declarations","unshift","splitDeclarations","prop","startsWith","p1","standardProps","reactProps","attrs","_standardProps$get","_attrs$i","isHTMLTagName","nodesToElements","nodeList","nodeName","nodeType","allowed","replacement","attributes","textContent","_ref$allowed","_ref$markup","_ref$replace","_ref$trim","propTypes","toInteger","dirtyNumber","number","ceil","floor","thunk","safeGlobal","needToRemove","NODE_ENV","contextKey","getApolloContext","displayName","devAssert","Source","locationOffset","column","isSource","instanceOf","_objectWithoutPropertiesLoose","_s","_x","_r","_arr","_n","arrayLikeToArray","_defineProperty","HandlebarsEnvironment","_utils","_exception2","_helpers","_decorators","_logger2","_internalProtoAccess","VERSION","COMPILER_REVISION","LAST_COMPATIBLE_COMPILER_REVISION","REVISION_CHANGES","objectType","helpers","partials","decorators","registerDefaultHelpers","registerDefaultDecorators","logger","registerHelper","extend","unregisterHelper","registerPartial","unregisterPartial","registerDecorator","unregisterDecorator","resetLoggedPropertyAccesses","resetLoggedProperties","createFrame","_console","alreadyWarned","warnOnce","loadNamespaces","i18n","ns","isInitialized","initialized","oldI18nextHasLoadedNamespace","lng","languages","fallbackLng","lastLng","loadNotPending","loadState","services","backendConnector","bindI18n","backend","isLanguageChangingTo","hasResourceBundle","resources","partialBundledLanguages","hasLoadedNamespace","isNewerI18next","ignoreJSONStructure","precheck","i18nInstance","ownKeys","enumerableOnly","symbols","sym","getOwnPropertyDescriptor","_objectSpread","getOwnPropertyDescriptors","defineProperties","ignore","current","useTranslation","i18nFromProps","i18nFromContext","defaultNSFromContext","defaultNS","reportNamespaces","notReadyT","retNotReady","react","wait","i18nOptions","useSuspense","keyPrefix","namespaces","addUsedNamespaces","initializedStoreOnce","getT","getFixedT","nsMode","_useState","_useState2","setT","joinedNS","previousJoinedNS","isMounted","bindI18nStore","boundReset","isInitial","ret","_inheritsLoose","subClass","superClass","ICON_COLOURS","BRAND_COLOURS","transparent","Icon","accentColour","asset","width","backgroundColour","starType","direction","responsive","DynamicAsset","BRAND_ASSETS","NetworkStatus","isNetworkRequestInFlight","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","location","propFullName","secret","getShim","isRequired","ReactPropTypes","bool","func","any","arrayOf","elementType","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","fnToStr","previousComparisons","equal","a","check","full","fromIndex","aTag","previouslyCompared","aKeys","definedKeys","bKeys","keyCount","aIterator","entries","isMap","aKey","aValue","Uint8Array","byteLength","aCode","nativeCodeSuffix","isDefinedKey","bSet","objects","isNonEmptyArray","updateQueue","makeQueue","raf","schedule","writeQueue","onStartQueue","onStart","onFrameQueue","onFrame","onFinishQueue","onFinish","timeouts","ms","time","findIndex","pendingCount","findTimeout","sync","batchedUpdates","throttle","lastArgs","queuedFn","throttled","nativeRaf","requestAnimationFrame","use","impl","performance","frameLoop","advance","ts","prevTs","eachSafely","flush","each","__defProp","globals_exports","__export","colors","_colors","createStringInterpolator","_createStringInterpolator","skipAnimation","_skipAnimation","_to","willAdvance","_willAdvance","is","num","und","isEqual","eachProp","ctx","toArray","flushCalls","isSSR","globals","startQueue","currentFrame","prevFrame","idle","animation","priority","flushStartQueue","startSafely","prevIndex","startUnsafely","dt","nextFrame","clamp","NUMBER","PERCENTAGE","parts","rgb","rgba","hsl","hsla","hex3","hex4","hex6","hex8","hue2rgb","q","hslToRgb","h","r","round","parse255","int","parseInt","parse360","parseFloat","parse1","parsePercentage","colorToRgba","color","int32Color","exec","createInterpolator","range","extrapolate","outputRange","inputRange","extrapolateLeft","extrapolateRight","range2","findRange","inputMin","inputMax","outputMin","outputMax","c1","c2","c3","c4","PI","c5","bounceOut","n1","d1","linear","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","cos","easeOutSine","sin","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","sqrt","easeOutCirc","easeInOutCirc","easeInBack","easeOutBack","easeInOutBack","easeInElastic","easeOutElastic","easeInOutElastic","easeInBounce","easeOutBounce","easeInOutBounce","steps","steps2","progress2","expanded","rounded","$get","$observers","hasFluidValue","getFluidValue","getFluidObservers","callFluidObservers","observer2","eventObserved","callFluidObserver","FluidValue","setFluidGetter","setHidden","addFluidObserver","observerAdded","removeFluidObserver","observerRemoved","namedColorRegex","numberRegex","colorRegex","unitRegex","rgbaRegex","cssVariableRegex","variableToRgba","token","fallback","parseCSSVariable","getComputedStyle","documentElement","getPropertyValue","value2","rgbaRound","p2","p3","p4","createStringInterpolator2","keyframes","interpolators","output2","_output$find","missingUnit","warnInterpolate","deprecateInterpolate","warnDirectCall","isAnimatedString","useIsomorphicLayoutEffect","useForceUpdate","useIsMounted","useOnce","effect","emptyDeps","usePrev","prevRef","$node","getAnimated","owner","setAnimated","defineHidden","getPayload","Animated","AnimatedValue","_value","super","durationProgress","lastPosition","static","setValue","elapsedTime","lastVelocity","v0","AnimatedString","_string","_toString","goal","TreeContext","dependencies","AnimatedObject","_makePayload","_addToPayload","AnimatedArray","makeAnimated","getAnimatedType","parentNode","withAnimated","Component","host","hasInstance","isReactComponent","givenProps","givenRef","instanceRef","updateRef","deps","createAnimatedStyle","getAnimatedState","forceUpdate","applyAnimatedValues","PropsObserver","observerRef","dep","usedProps","getComponentProps","getDisplayName","_excluded","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","callProp","matchProp","resolveProp","getDefaultProp","default","noopTransform","DEFAULT_PROPS","defaults2","RESERVED_PROPS","pause","onProps","onChange","onPause","onResume","onResolve","trail","expires","onDestroyed","callId","parentId","inferTo","to2","getForwardProps","out","computeGoal","hasProps","isAsyncTo","detachRefs","ctrl","_ctrl$ref","replaceRef","_ctrl$ref2","tension","friction","mass","damping","sanitizeConfig","config2","decay","isTensionConfig","frequency","emptyArray","scheduleProps","defaultProps","actions","_props$cancel","paused","resumeQueue","resume","delayed","pauseQueue","cancelId","getCombinedResult","cancelled","getCancelledResult","getNoopResult","getFinishedResult","finished","runAsync","asyncTo","prevTo","prevPromise","asyncId","preventBail","bail","bailPromise","bailIfEnded","bailSignal","bailResult","animate","arg1","arg2","BailSignal","skipAnimationSignal","SkipAnimationSignal","stopAsync","props2","result2","animating","isFrameValue","FrameValue","nextId","_priority","_onPriorityChange","interpolate","_len3","_key3","toJSON","_attach","_detach","_onChange","$P","hasAnimated","isAnimating","isPaused","setActiveBit","active","IS_ANIMATING","setPausedBit","SpringValue","changed","toValues","fromValues","velocity","_pendingCalls","_lastCallId","_lastToId","_memoizedDuration","node2","isDelayed","anim","position","elapsed","precision","abs","exp","restVelocity","bounceFactor","bounce","canBounce","isGrowing","numSteps","progress","currVal","finalVal","_stop","_focus","_set","finish","_onStart","_start","_prepareNode","isLoop","mergeActiveFn","sendEvent","isFrozen","checkFinished","_resume","_merge","nextProps","createLoopUpdate","hasToProp","hasFromProp","prevFrom","hasFromChanged","hasToChanged","hasAsyncTo","newConfig","mergeConfig","isAnimatable","goalType","started","hasValueChanged","ACTIVE_EVENTS","_anim$onStart","oldNode","loopRet","overrides","createUpdate","findDefined","declareUpdate","update2","_target$animation$typ","_target$animation","_target$defaultProps$","_target$defaultProps","_len4","_key4","BATCHED_EVENTS","nextId2","Controller","flush3","springs","_lastAsyncId","_active","_changed","_started","_events","_onFrame","_flush","spring","_item","prepareKeys","flushUpdateQueue","onStart2","onChange2","onRest2","flushUpdate","_x2","_x3","_x4","_flushUpdate","promises","getSprings","prepareSprings","createSpring","setSprings","SpringContext","inherited","inputs","committed","prevCache","areInputsEqual","useMemoOne","_context","SpringRef","SpringRef2","_getProps","useSprings","propsFn","layoutId","ctrls","updates2","springs2","updates","prevLength","declareUpdates","startIndex","endIndex","prevContext","hasContext","isFn","useTransition","exitBeforeEnter","propsRef","propsConfig","transitions","usedTransitions","prevTransitions","expired","expirationId","getKeys","reused","phase","keyIndex","changes","exitingTransitions","forceChange","prevPhase","propsDelay","isLeave","transitions2","t2","t3","expiry","expiryMs","ind","renderTransitions","render","nextKey","Interpolation","calc","_get","_dt","checkIdle","becomeIdle","highest","isIdle","isCustomPropRE","dangerousStyleValue","isUnitlessNumber","attributeCache","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","prefixes","prefixKey","domTransforms","pxTransforms","degTransforms","addUnit","unit","isValueIdentity","AnimatedStyle","z","transforms","xyz","x2","y2","z2","deg","FluidTransform","identity","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","burntsienna","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","components","hostConfig","setAttribute","isFilterElement","scrollTop","scrollLeft","viewBox","hasAttribute","setProperty","ButternutLogo","height","fill","xmlns","maskType","maskUnits","mask","fillRule","clipRule","isDevelopment","hostname","segmentTrack","eventName","analytics","track","Analytics","analyticsBackend","interactionEventProperties","extraProperties","_helpersBlockHelperMissing2","_helpersEach2","_helpersHelperMissing2","_helpersIf2","_helpersLog2","_helpersLookup2","_helpersWith2","moveHelperToHooks","helperName","keepHelper","hooks","methodMap","level","lookupLevel","levelMap","createProtoAccessControl","runtimeOptions","defaultMethodWhiteList","defaultPropertyWhiteList","whitelist","_createNewLookupObject","createNewLookupObject","allowedProtoProperties","allowProtoPropertiesByDefault","methods","allowedProtoMethods","allowProtoMethodsByDefault","resultIsAllowed","protoAccessControl","propertyName","checkWhiteList","loggedProperties","newObj","_interopRequireWildcard","protoAccessControlForType","logUnexpecedPropertyAccessOnce","Handlebars","$Handlebars","noConflict","helperExpression","params","hash","scopedId","simpleId","depth","_exception","parents","visitSubExpression","mustache","acceptRequired","acceptArray","acceptKey","visitBlock","visitPartial","mutating","Program","program","MustacheStatement","Decorator","BlockStatement","DecoratorBlock","PartialStatement","PartialBlockStatement","ContentStatement","CommentStatement","SubExpression","PathExpression","StringLiteral","NumberLiteral","BooleanLiteral","UndefinedLiteral","NullLiteral","Hash","pairs","HashPair","Arrow","baseToString","baseGetTag","isObjectLike","Chevron","IconButton","icon","variant","iconSize","iconColor","iconDirection","ariaLabel","button","defineInspect","classObject","Location","startToken","endToken","Token","isNode","maybeNode","BoxOpen","House","clipPath","Phone","stroke","strokeLinecap","checkmark","Checkmark","badge","Badge","boxClosed","BoxClosed","boxOpen","chevron","chevronFilled","ChevronFilled","close","Close","closeBold","CloseBold","van","Van","vanFilled","VanFilled","calendar","Calendar","pouch","Pouch","arrow","bin","Bin","plus","Plus","decorativeCheckbox","DecorativeCheckbox","minus","Minus","bubble","Bubble","shoppingDog","ShoppingDog","whatsApp","WhatsApp","facebook","Facebook","facebookLetter","FacebookLetter","email","Email","errorCircle","ErrorCircle","curvedDashedArrow","CurvedDashedArrow","alert","Alert","question","Question","star","Star","house","paw","Paw","Pause","play","Play","curvedArrow","CurvedArrow","customer","Customer","paymentMethods","PaymentMethod","receipt","Receipt","phone","stopVan","StopVan","butternutLogo","eye","Eye","padlock","Padlock","radioUnselected","RadioUnselected","radioSelected","RadioSelected","squiggleDashedArrow","SquiggleDashedArrow","lock","Lock","sprinkles","Sprinkles","surveyClose","SurveyClose","dogBowl","DogBowl","food","Food","stethoscope","Stethoscope","heartWithPlus","HeartWithPlus","strokeLinejoin","allowedHtmlElement","accent","Text","namespace","margin","translate","bold","colour","align","shouldScale","wonky","underline","hideOverflow","uppercase","strikeThrough","tight","dataTestId","hyphens","translatedText","textToDisplay","char","minWidth","applyRotation","classnames","nomargin","cx","cy","mountBannerManagerWhenI18nReady","bannerManagerContainer","getElementById","isNull","isUndefined","detail","ReactDOM","removeEventListener","addEventListener","x1","y1","stopColor","starTypeFill","arrayMap","isSymbol","symbolProto","symbolToString","reHasUnicode","getLocation","lineRegexp","printLocation","printSourceLocation","sourceLocation","firstLineColumnOffset","whitespace","lineIndex","lineOffset","lineNum","columnOffset","columnNum","locationStr","locationLine","subLineIndex","subLineColumnNum","subLines","printPrefixedLines","subLine","existingLines","padLen","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","_wrapNativeSuper","Class","_cache","Wrapper","_construct","_getPrototypeOf","Parent","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","_Error","_inherits","GraphQLError","Derived","hasNativeReflectConstruct","Super","NewTarget","nodes","positions","originalError","_nodeLocations","_nodeLocations2","_nodeLocations3","_classCallCheck","undefinedIfEmpty","nodeLocations","_this$nodes","loc","pos","originalExtensions","captureStackTrace","_i4","_error$nodes2","_i6","_error$locations2","printError","syntaxError","TokenKind","SOF","EOF","BANG","DOLLAR","AMP","PAREN_L","PAREN_R","SPREAD","COLON","EQUALS","AT","BRACKET_L","BRACKET_R","BRACE_L","PIPE","BRACE_R","BLOCK_STRING","COMMENT","DirectiveLocation","QUERY","MUTATION","SUBSCRIPTION","SCHEMA","SCALAR","ARGUMENT_DEFINITION","INTERFACE","UNION","ENUM_VALUE","INPUT_OBJECT","INPUT_FIELD_DEFINITION","Lexer","startOfFileToken","lastToken","lineStart","_proto","lookahead","_token$next","readToken","printCharCode","fromCharCode","lexer","bodyLength","_line","_col","readComment","readBlockString","readString","readNumber","readName","unexpectedCharacterMessage","col","firstCode","isFloat","readDigits","isNameStart","chunkStart","charCode","char2hex","invalidSequence","rawValue","sourceObj","_lexer","_options","parseName","expectToken","parseDocument","many","parseDefinition","parseOperationDefinition","parseFragmentDefinition","parseTypeSystemDefinition","parseTypeSystemExtension","peekDescription","unexpected","parseSelectionSet","parseOperationType","parseVariableDefinitions","parseDirectives","operationToken","optionalMany","parseVariableDefinition","parseVariable","parseTypeReference","expectOptionalToken","parseValueLiteral","parseSelection","parseFragment","parseField","nameOrAlias","parseArguments","isConst","parseConstArgument","parseArgument","hasTypeCondition","expectOptionalKeyword","parseFragmentName","parseNamedType","_this$_options","expectKeyword","experimentalFragmentVariables","parseList","parseObject","parseStringLiteral","parseObjectField","parseDirective","keywordToken","parseSchemaDefinition","parseScalarTypeDefinition","parseObjectTypeDefinition","parseInterfaceTypeDefinition","parseUnionTypeDefinition","parseEnumTypeDefinition","parseInputObjectTypeDefinition","parseDirectiveDefinition","parseDescription","parseOperationTypeDefinition","parseImplementsInterfaces","parseFieldsDefinition","_this$_options2","allowLegacySDLImplementsInterfaces","delimitedMany","_this$_options3","allowLegacySDLEmptyFields","parseFieldDefinition","parseArgumentDefs","parseInputValueDef","parseUnionMemberTypes","parseEnumValuesDefinition","parseEnumValueDefinition","parseInputFieldsDefinition","parseSchemaExtension","parseScalarTypeExtension","parseObjectTypeExtension","parseInterfaceTypeExtension","parseUnionTypeExtension","parseEnumTypeExtension","parseInputObjectTypeExtension","parseDirectiveLocations","parseDirectiveLocation","_this$_options4","noLocation","getTokenKindDesc","getTokenDesc","atToken","openKind","parseFn","closeKind","delimiterKind","isPunctuatorTokenKind","docCache","fragmentSourceMap","printFragmentWarnings","processFragments","seenKeys","sourceKeySet","parsed","allowLegacyFragmentVariables","stripLoc","literals","gql_1","extras","resetCaches","disableFragmentWarnings","enableExperimentalFragmentVariables","disableExperimentalFragmentVariables","typesWithId","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","Memo","getOwnPropertyNames","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","cacheSlot","cacheInfoMap","getCacheInfo","forgetCache","rv","recallCache","attachCache","caches","oldListeners","attach","onNextChange","useLocalStorage","initialValue","storedValue","setStoredValue","useState","localStorage","getItem","setItem","baseSlice","asciiToArray","hasUnicode","unicodeToArray","capitalize","_props$component","_props$disableGutters","disableGutters","_props$fixed","fixed","_props$maxWidth","maxWidth","withStyles","theme","marginLeft","boxSizing","marginRight","paddingLeft","spacing","paddingRight","display","breakpoints","up","breakpoint","maxWidthXs","xs","maxWidthSm","sm","maxWidthMd","md","maxWidthLg","lg","maxWidthXl","xl","objectProto","nativeObjectToString","isOwn","unmasked","base","_handlebarsSafeString2","_handlebarsException2","Utils","runtime","SafeString","Exception","escapeExpression","VM","template","inverse","contextPath","appendContextPath","priorKey","execIteration","blockParams","isFunction","j","conditional","includeZero","lookupProperty","_decoratorsInline2","_decoratorsInline","container","toHTML","checkRevision","compilerInfo","compilerRevision","currentRevision","_base","runtimeVersions","compilerVersions","templateSpec","main","decorator","main_d","compiler","templateWasPrecompiledWithCompilerV7","strict","depths","lambda","invokePartial","resolvePartial","extendedOptions","compilerOptions","programs","declaredBlockParams","programWrapper","wrapProgram","_parent","mergeIfNeeded","param","common","nullContext","seal","_setup","useData","initData","useBlockParams","useDepths","executeDecorators","isTop","mergedHelpers","helper","_internalWrapHelper","wrapHelper","passLookupPropertyOption","wrapHelpersToPassLookupProperty","usePartial","useDecorators","keepHelperInHelpers","allowCallsToHelperMissing","_child","currentPartialBlock","partialBlock","prog","currentDepths","transformOptionsFn","_whitespaceControl2","_parser2","Helpers","yy","locInfo","SourceLocation","srcName","handlebars","trace","symbols_","terminals_","productions_","performAction","yytext","yyleng","yylineno","yystate","$$","_$","$0","$","prepareProgram","stripComment","strip","stripFlags","prepareRawBlock","prepareBlock","open","chained","chain","prepareMustache","preparePartialBlock","preparePath","part","table","defaultActions","vstack","lstack","recovering","setInput","yylloc","yyloc","ranges","preErrorSymbol","newState","expected","yyval","lex","errStr","showPosition","first_line","last_line","first_column","last_column","_input","_more","_less","matched","conditionStack","ch","unput","oldLines","more","less","pastInput","past","upcomingInput","pre","tempMatch","rules","_currentRules","matches","begin","popState","conditions","topState","pushState","yy_","$avoiding_name_collisions","YY_START","_visitor","_visitor2","WhitespaceControl","isPrevWhitespace","isRoot","sibling","isNextWhitespace","omitRight","multiple","rightStripped","omitLeft","leftStripped","doStandalone","ignoreStandalone","isRootSeen","_isPrevWhitespace","_isNextWhitespace","openStandalone","closeStandalone","inlineStandalone","firstInverse","lastInverse","openStrip","closeStrip","inverseStrip","comment","dig","isLiteral","escapeFlag","escaped","openRawBlock","contents","validateClose","openBlock","inverseAndProgram","inverted","statements","firstLoc","lastLoc","errorNode","compat","environment","compiled","compileInput","execOptions","setupOptions","_ast2","argEquals","transformLiteralToPath","sexpr","literal","equals","opcodes","opcode","otherOpcode","guid","sourceNode","stringParams","trackIds","knownHelpers","helperMissing","blockHelperMissing","unless","compileProgram","isSimple","classifySexpr","helperSexpr","simpleSexpr","ambiguousSexpr","setupFullMustacheParams","explicitPartialContext","partialName","isDynamic","preventIndent","noEscape","content","isBlock","knownHelpersOnly","falsy","addDepth","scoped","blockParamId","blockParamIndex","pushParam","isBlockParam","isHelper","isEligible","_name","pushParams","blockParamChild","omitEmpty","_codeGen2","Literal","nameLookup","internalNameLookup","depthedLookup","aliasable","revision","appendToBuffer","explicit","initializeBuffer","quotedString","lookupPropertyFunctionIsUsed","asObject","isChild","environments","preamble","stackSlot","stackVars","aliases","registers","list","hashes","compileStack","inlineStack","compileChildren","currentLocation","pushSource","prepend","lookupPropertyFunctionVarDeclaration","createFunctionContext","objectLiteral","toStringWithSourceMap","file","destName","lastContext","varDeclarations","locals","aliasCount","referenceCount","mergeSource","appendOnly","forceBuffer","appendFirst","sourceSeen","bufferStart","bufferEnd","blockValue","contextName","setupHelperArgs","blockName","popStack","functionCall","ambiguousBlockValue","flushInline","topStack","lastHelper","appendContent","pendingContent","pendingLocation","append","isInline","replaceStack","local","appendEscaped","pushContext","pushStackLiteral","lookupOnContext","resolvePath","lookupBlockParam","lookupData","assumeObjects","requireTerminal","strictLookup","resolvePossibleLambda","pushStringParam","pushString","emptyHash","pushHash","contexts","popHash","pushLiteral","pushProgram","programExpression","paramSize","foundDecorator","invokeHelper","nonHelper","setupHelper","possibleFunctionCalls","functionLookupCode","itemsSeparatedBy","callParams","invokeKnownHelper","invokeAmbiguous","helperCall","useRegister","paramsInit","setupParams","assignToHash","pushId","matchExistingProgram","programParams","expr","createdStack","usedLiteral","incrStack","topStackName","entry","wrapped","inline","blockHelper","objectArgs","hashIds","hashTypes","hashContexts","generateArray","reservedWords","compilerWords","RESERVED_WORDS","isValidJavaScriptVariableName","SourceNode","castChunk","codeGen","CodeGen","srcFile","chunks","src","iter","generateList","ThemeContext","createContext","appendClass","parseValue","newClass","rsAstral","rsCombo","rsFitz","rsNonAstral","rsSymbol","reUnicode","createCompounder","startCase","word","brandBlue100","brandBlue200","brandBlue300","brandBlue400","brandBlue500","brandBlue600","brandBlue700","brandYellow100","brandYellow200","brandYellow300","brandYellow400","brandYellow500","brandYellow600","brandYellow700","brandPink100","brandPink200","brandPink300","brandPink400","brandPink500","brandPink600","brandPink700","brandRed100","brandRed200","brandRed300","brandRed400","brandRed500","brandRed600","brandRed700","brandBlack","brandWhite","cardboardBrown","defaultMakeData","Trie","weakness","makeData","getChildTrie","isObjRef","weak","strong","possible","badChars","escapeChar","frame","escape","chr","kebabCase","defaultDispose","Cache","dispose","newest","oldest","getNode","clean","parentEntrySlot","collection","maybeUnsubscribe","entryOrDep","emptySetPool","assert","optionalMessage","valueGet","Entry","childValues","dirtyChildren","recomputing","mightBeDirty","rememberParent","recompute","forgetChildren","recomputeNewValue","setDirty","maybeSubscribe","reportClean","setClean","reallyRecompute","reportDirty","eachParent","forgetChild","dependOn","forgetDeps","reportDirtyChild","reportCleanChild","parentCount","parentWasClean","childValue","removeDirtyChild","dc","EntryMethods","depsByKey","dep_1","entryMethodName","m_1","makeDefaultMakeCacheKeyFunction","keyTrie","originalFunction","dirtyKey","peekKey","forgetKey","getKey","isAfter","dirtyDate","dirtyDateToCompare","date","dateToCompare","isApolloError","ApolloError","clientErrors","errorMessage","extraInfo","createBreakpoints","_breakpoints$values","_breakpoints$unit","_breakpoints$step","between","down","upperbound","only","createMixins","_toolbar","gutters","toolbar","minHeight","A100","A200","A400","A700","decomposeColor","re","hexToRgb","recomposeColor","getLuminance","toFixed","darken","coefficient","lighten","light","primary","secondary","divider","background","paper","hover","hoverOpacity","selectedOpacity","disabledBackground","disabledOpacity","focus","focusOpacity","activatedOpacity","dark","addLightOrDark","intent","shade","tonalOffset","tonalOffsetLight","tonalOffsetDark","createPalette","palette","_palette$primary","_palette$secondary","_palette$error","_palette$warning","warning","_palette$info","_palette$success","success","_palette$type","_palette$contrastThre","contrastThreshold","_palette$tonalOffset","getContrastText","contrastText","foreground","lumA","lumB","getContrastRatio","augmentColor","mainShade","lightShade","darkShade","roundWithDeprecationWarning","caseAllCaps","textTransform","defaultFontFamily","createTypography","typography","_ref$fontFamily","fontFamily","_ref$fontSize","fontSize","_ref$fontWeightLight","fontWeightLight","_ref$fontWeightRegula","fontWeightRegular","_ref$fontWeightMedium","fontWeightMedium","_ref$fontWeightBold","fontWeightBold","_ref$htmlFontSize","htmlFontSize","allVariants","pxToRem2","pxToRem","coef","buildVariant","letterSpacing","casing","variants","h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","caption","overline","createShadow","borderRadius","_slicedToArray","defaultBreakpoints","directions","marginX","marginY","paddingX","paddingY","getCssProperties","_prop$split2","spacingKeys","createUnarySpacing","themeSpacing","getStyleFromPropValue","cssProperties","transformer","propValue","cssProperty","styleFromPropValue","themeBreakpoints","_themeBreakpoints","handleBreakpoints","filterProps","createSpacing","spacingInput","mui","easeInOut","easeOut","easeIn","sharp","shortest","shorter","short","standard","complex","enteringScreen","leavingScreen","formatMs","milliseconds","_options$duration","durationOption","_options$easing","easingOption","_options$delay","animatedProp","getAutoHeightDuration","constant","mobileStepper","speedDial","appBar","drawer","modal","snackbar","tooltip","createTheme","_options$breakpoints","breakpointsInput","_options$mixins","mixinsInput","_options$palette","paletteInput","_options$typography","typographyInput","muiTheme","shadows","didWarnUncachedGetSnapshot","useSyncExternalStore","getSnapshot","getServerSnapshot","checkIfSnapshotChanged","useQuery","useInternalState","stateRef","setTick","tick","InternalState","asyncResolveFns","optionsToIgnoreOnce","ssrDisabledResult","skipStandbyResult","toQueryResultCache","previousResult","previousData","asyncUpdate","watchQueryOptions","renderPromises","useOptions","useObservableQuery","setResult","unsafeHandlePartialRefetch","queryResult","toQueryResult","createWatchQueryOptions","queryHookOptions","currentWatchQueryOptions","getObsQueryOptions","onCompleted","ssr","skip","globalDefaults","otherOptions","getDefaultFetchPolicy","getSSRObservable","obsQueryFields","ssrAllowed","registerSSRObservable","addObservableQueryPromise","nextResult","handleErrorOrCompleted","resultWithoutPartial","isNonNullObject","matchHtmlEntity","htmlEntities","unescapeHtmlEntity","transEmptyNodeValue","transSupportBasicHtmlNodes","transWrapTextNodes","transKeepBasicHtmlNodesFor","unescape","I18nContext","getDefaults","ReportNamespaces","usedNamespaces","getI18n","initReactI18next","setDefaults","setI18n","errorProps","endLineNumber","endColumn","tmp","idx","lineNumber","nop","addDays","dirtyAmount","amount","setDate","getDate","w","u","$$typeof","A","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","castSlice","stringToArray","strSymbols","trailing","plainObjectConstrurctor","cloneStyle","newStyle","createRule","decl","jss","declCopy","rule","plugins","onCreateRule","by","toCssValue","cssValue","getWhitespaceSymbols","format","linebreak","space","indentStr","toCss","selector","_options$indent","fallbacks","_getWhitespaceSymbols","_prop","_prop2","_value2","allowEmpty","escapeRegex","nativeEscape","CSS","BaseStyleRule","isProcessed","sheet","Renderer","renderer","force","onChangeValue","isDefined","renderable","removeProperty","attached","_BaseStyleRule","StyleRule","generateId","selectorText","applyTo","opts","setSelector","replaceRule","pluginStyleRule","defaultToStringOptions","atRegExp","ConditionalRule","atMatch","at","getRule","addRule","onProcessRule","newRule","keyRegExp","pluginConditionalRule","defaultToStringOptions$1","nameRegExp","KeyframesRule","frames","nameMatch","keyRegExp$1","refRegExp","findReferencedKeyframe","refKeyframe","pluginKeyframesRule","onProcessStyle","KeyframeRule","pluginKeyframeRule","FontFaceRule","keyRegExp$2","pluginFontFaceRule","ViewportRule","pluginViewportRule","SimpleRule","keysMap","defaultUpdateOptions","forceUpdateOptions","RuleList","raw","counter","ruleOptions","_this$options","register","oldRule","oldIndex","nameOrSelector","unregister","updateOne","_this$options2","onUpdate","nextValue","_nextValue","_prevValue","css","StyleSheet","deployed","deploy","detach","insertRule","deleteRule","addRules","_this$rules","PluginsRegistry","internal","external","registry","onProcessSheet","processedValue","newPlugin","plugin","sheets","SheetsRegistry","_temp","globalThis$1","moduleId","createGenerateId","ruleCounter","jssId","classNamePrefix","minify","memoize","cssRule","attributeStyleMap","indexOfImportantFlag","cssValueWithoutImportantFlag","getHead","findPrevNode","insertionPoint","findHigherSheet","findHighestSheet","nextSibling","head","nodeValue","findCommentNode","getNonce","_insertRule","appendRule","cssRules","getValidRuleInsertionIndex","maxIndex","DomRenderer","hasInsertedRules","media","meta","el","createStyle","nonce","nextNode","insertBefore","insertionPointElement","appendChild","insertStyle","removeChild","insertRules","nativeParent","latestNativeParent","_insertionIndex","refCssRule","ruleStr","insertionIndex","nativeRule","getRules","instanceCounter","Jss","setup","createStyleSheet","removeStyleSheet","createJss","hasCSSTOMSupport","getDynamicStyles","mergeClasses","baseClasses","newClasses","nextClasses","multiKeyStore","key1","key2","subCache","pseudoClasses","fnValuesNs","fnRuleNs","fnValues","styleRule","fnRule","atPrefix","GlobalContainerRule","GlobalPrefixedRule","separatorRegExp","addScope","scope","handleNestedGlobalContainerRule","handlePrefixedGlobalRule","parentRegExp","getReplaceRef","replaceParentRefs","nestedProp","parentProp","parentSelectors","nestedSelectors","nested","getOptions","prevOptions","nestingLevel","isNested","isNestedConditional","uppercasePattern","msPattern","toHyphenLower","hName","convertCase","converted","hyphenatedProp","px","percent","addCamelCasedVersion","units","border","padding","bottom","inset","motion","outline","perspective","gap","grid","iterate","innerProp","_innerProp","camelCasedOptions","_toConsumableArray","js","vendor","isTouch","jsCssMap","Moz","O","Webkit","appearence","noPrefill","supportedProperty","colorAdjust","toUpper","camelize","pascalize","longhand","textOrientation","transition","writingMode","userSelect","breakPropsOld","inlineLogicalOld","newProp","unprefixed","prefixed","pascalized","scrollSnap","overscrollBehavior","propMap","flex2012","propMap$1","propKeys","prefixCss","propertyDetectors","computed","key$1","el$1","cache$1","transitionProperties","transPropsRegExp","prefixTransitionCallback","prefixedValue","supportedValue","prefixStyle","changeProp","supportedProp","changeValue","supportedValue$1","atRule","prop0","prop1","jssPreset","generateClassName","_options$disableGloba","disableGlobal","_options$productionPr","productionPrefix","_options$seed","seedPrefix","getNextCounterId","styleSheet","createGenerateClassName","disableGeneration","sheetsCache","sheetsManager","sheetsRegistry","StylesContext","indexCounter","increment","getStylesCreator","stylesOrCreator","themingEnabled","stylesWithOverrides","getClasses","stylesOptions","cacheClasses","lastProp","lastJSS","generate","stylesCreator","sheetManager","staticSheet","dynamicStyles","flip","serverGenerateClassName","dynamicSheet","useSynchronousEffect","useRef","currentKey","useMemo","makeStyles","classNamePrefixOption","_options$defaultTheme","defaultTheme","stylesOptions2","useStyles","shouldUpdate","getThemeProps","_options$withTheme","withTheme","WithStyles","innerRef","isBefore","deepFreeze","shallowFreeze","filterDismissedBanners","banners","dismissedBanners","banner","bannerLastDismissed","showBanner","showEveryXDays","filterBannersOutsideOfDateRange","adminBanners","today","liveDate","isNil","endDate","limitNumberOfBanners","orderBanners","bannerA","bannerB","BannerManager","generateBannerLocalStorageKey","getDismissedBanners","dismissible","bannersToDisplay","adminBanner","slug","showAgainAfterXDays","Sentry","extra","getDismissedTime","isInternalRoute","TopBanner","dismissed","setDismissed","onCloseBanner","onClickLink","href","stripDomainIfDevelopment","BannerElement","isExternalLink"],"mappings":"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,EAAG,IACP,CACD,EAAG,CAAC,EAAG,GACP,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,IACP,CACD,EAAG,CAAC,EAAG,GACP,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,IACP,CACD,EAAG,CAAC,EAAG,GACP,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,IACP,CACD,EAAG,CAAC,EAAG,GACP,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,GACR,GAAI,CAAC,EAAG,IACP,CACD,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,GACJ,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,IACH,CACD,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,GACJ,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,IACH,CACD,EAAG,GACH,EAAG,EACH,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,EAAG,GACH,EAAG,EACH,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,GACJ,GAAI,CAAC,EAAG,KACP,CACD,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,GACJ,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,IACH,CACD,EAAG,GACH,EAAG,EACH,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,EAAG,CAAC,EAAG,IACP,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,GACJ,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,IACH,CACD,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,GACJ,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,IACH,CACD,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,GACJ,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,IACH,CACD,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,GACJ,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,IACH,CACD,GAAI,CAAC,EAAG,IACR,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,IACH,CACD,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,GACJ,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,GACJ,GAAI,CAAC,EAAG,KACP,CACD,GAAI,GACJ,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,GACJ,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,IACH,CACD,GAAI,GACJ,GAAI,CAAC,EAAG,KACP,CACD,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,GACJ,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI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,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,GACJ,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,IACH,CACD,GAAI,GACJ,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,GACJ,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,GACJ,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,IACH,CACD,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,GACJ,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,IACH,CACD,GAAI,GACJ,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,IACJ,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,IACJ,GAAI,GACJ,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,GACJ,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,IACH,CACD,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,IACJ,GAAI,IACJ,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,IACJ,GAAI,GACJ,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,GACJ,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,IACH,CACD,GAAI,CAAC,EAAG,MACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,IACJ,GAAI,CAAC,EAAG,KACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,MACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,KACP,CACD,EAAG,CAAC,EAAG,IACP,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,IACJ,GAAI,IACJ,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,IACJ,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,KACP,CACD,EAAG,CAAC,EAAG,IACP,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,MACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,KACP,CACD,GAAI,GACJ,GAAI,IACJ,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,IACJ,GAAI,CAAC,EAAG,IACR,GAAI,IACJ,GAAI,GACJ,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,GACJ,GAAI,GACJ,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,IACH,CACD,GAAI,CAAC,EAAG,MACP,CACD,GAAI,IACJ,GAAI,CAAC,EAAG,IACR,GAAI,IACJ,GAAI,CAAC,EAAG,MACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,IACJ,GAAI,IACJ,GAAI,CAAC,EAAG,MACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,MACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,MACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,KACP,CACD,EAAG,CAAC,EAAG,IACP,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI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,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,IACJ,GAAI,IACJ,GAAI,CAAC,EAAG,MACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,KACR,GAAI,CAAC,EAAG,MACP,CACD,GAAI,CAAC,EAAG,KACR,GAAI,CAAC,EAAG,MACP,CACD,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,IACR,GAAI,CAAC,EAAG,KACP,CACD,GAAI,CAAC,EAAG,MACP,CACD,GAAI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","file":"js/bannerManager-cc04c1bf549187c0098b.chunk.js","sourcesContent":["/*! *****************************************************************************\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 || Array.prototype.slice.call(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 arrayReduce = require('./_arrayReduce'),\n deburr = require('./deburr'),\n words = require('./words');\n/** Used to compose unicode capture groups. */\n\n\nvar rsApos = \"['\\u2019]\";\n/** Used to match apostrophes. */\n\nvar reApos = RegExp(rsApos, 'g');\n/**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\n\nfunction createCompounder(callback) {\n return function (string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n}\n\nmodule.exports = createCompounder;","// @flow\n\n/**\n * Support Colours\n * Here is where we define our core support colours in JavaScript variables so we\n * can pass them as parameters into our asset functions that are stored inside\n * 'javascript/assets/...'. These colours should ALWAYS be in-line with the\n * variables stored in our `_colours.scss` CSS sheet.\n */\n\ntype SupportColours = {|\n // Blue\n supportBlue100: '#f1fcfd',\n supportBlue200: '#beebf4',\n supportBlue300: '#0bb4d0',\n supportBlue400: '#078aa2',\n supportBlue500: '#05697a',\n\n // Green\n successGreen100: '#eff8ed',\n successGreen200: '#98d98c',\n successGreen300: '#4dbd37',\n successGreen400: '#238a0f',\n successGreen500: '#1f6412',\n\n // Red\n dangerRed100: '#fdf2f1',\n dangerRed200: '#f5bebc',\n dangerRed300: '#d2322d',\n dangerRed400: '#9d100b',\n dangerRed500: '#7a0a06',\n\n // Orange\n warningOrange100: '#fcf2e8',\n warningOrange200: '#f9c794',\n warningOrange300: '#f6820e',\n warningOrange400: '#c60',\n warningOrange500: '#66401a',\n\n // Grey\n grey100: '#f7f5f3',\n grey200: '#e7e6e4',\n grey300: '#cfccc9',\n grey400: '#b6b3af',\n grey500: '#9c9896',\n grey600: '#696563',\n\n // Shadows\n shadowYellow: '#f6d17d'\n|}\n\nconst SUPPORT_COLOURS: SupportColours = {\n // Blue\n supportBlue100: '#f1fcfd',\n supportBlue200: '#beebf4',\n supportBlue300: '#0bb4d0',\n supportBlue400: '#078aa2',\n supportBlue500: '#05697a',\n\n // Green\n successGreen100: '#eff8ed',\n successGreen200: '#98d98c',\n successGreen300: '#4dbd37',\n successGreen400: '#238a0f',\n successGreen500: '#1f6412',\n\n // Red\n dangerRed100: '#fdf2f1',\n dangerRed200: '#f5bebc',\n dangerRed300: '#d2322d',\n dangerRed400: '#9d100b',\n dangerRed500: '#7a0a06',\n\n // Orange\n warningOrange100: '#fcf2e8',\n warningOrange200: '#f9c794',\n warningOrange300: '#f6820e',\n warningOrange400: '#c60',\n warningOrange500: '#66401a',\n\n // Grey\n grey100: '#f7f5f3',\n grey200: '#e7e6e4',\n grey300: '#cfccc9',\n grey400: '#b6b3af',\n grey500: '#9c9896',\n grey600: '#696563',\n\n // Shadows\n shadowYellow: '#f6d17d',\n}\n\nexport default SUPPORT_COLOURS\n\nexport type { SupportColours }\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\nmodule.exports = isArray;","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : 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 return _extends.apply(this, arguments);\n}","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;","import { invariant } from \"../../utilities/globals/index.js\";\nimport * as React from 'react';\nimport { getApolloContext } from \"./ApolloContext.js\";\nexport var ApolloProvider = function ApolloProvider(_a) {\n var client = _a.client,\n children = _a.children;\n var ApolloContext = getApolloContext();\n return React.createElement(ApolloContext.Consumer, null, function (context) {\n if (context === void 0) {\n context = {};\n }\n\n if (client && context.client !== client) {\n context = Object.assign({}, context, {\n client: client\n });\n }\n\n __DEV__ ? invariant(context.client, 'ApolloProvider was not passed a client instance. Make ' + 'sure you pass in your client via the \"client\" prop.') : invariant(context.client, 28);\n return React.createElement(ApolloContext.Provider, {\n value: context\n }, children);\n });\n};","import { ApolloProvider } from '@apollo/client'\nimport React from 'react'\n\nimport client from './client'\n\n// In most standard ( non railsy ) react apps there is a root level App component\n// in to which we can place the apollo wrapper. But we don't have that. As such we need to\n// wrapp each page component in the apollo provider using this HOC\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction withApollo<P>(WrappedComponent: React.ComponentType<P>) {\n const ComponentWithApollo = (props: P) => (\n <ApolloProvider client={client}>\n <WrappedComponent {...props} />\n </ApolloProvider>\n )\n return ComponentWithApollo\n}\n\nexport default withApollo\n","var createCaseFirst = require('./_createCaseFirst');\n/**\n * Converts the first character of `string` to upper case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.upperFirst('fred');\n * // => 'Fred'\n *\n * _.upperFirst('FRED');\n * // => 'FRED'\n */\n\n\nvar upperFirst = createCaseFirst('toUpperCase');\nmodule.exports = upperFirst;","var freeGlobal = require('./_freeGlobal');\n/** Detect free variable `self`. */\n\n\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n/** Used as a reference to the global object. */\n\nvar root = freeGlobal || freeSelf || Function('return this')();\nmodule.exports = root;","import React from 'react';\nimport ThemeContext from './ThemeContext';\nexport default function useTheme() {\n var theme = React.useContext(ThemeContext);\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue(theme);\n }\n\n return theme;\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}","/**\n * Checks if `value` is `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\nfunction isNil(value) {\n return value == null;\n}\n\nmodule.exports = isNil;","export default function requiredArgs(required, args) {\n if (args.length < required) {\n throw new TypeError(required + ' argument' + (required > 1 ? 's' : '') + ' required, but only ' + args.length + ' present');\n }\n}","import { invariant } from \"../../utilities/globals/index.js\";\nexport var DocumentType;\n\n(function (DocumentType) {\n DocumentType[DocumentType[\"Query\"] = 0] = \"Query\";\n DocumentType[DocumentType[\"Mutation\"] = 1] = \"Mutation\";\n DocumentType[DocumentType[\"Subscription\"] = 2] = \"Subscription\";\n})(DocumentType || (DocumentType = {}));\n\nvar cache = new Map();\nexport function operationName(type) {\n var name;\n\n switch (type) {\n case DocumentType.Query:\n name = 'Query';\n break;\n\n case DocumentType.Mutation:\n name = 'Mutation';\n break;\n\n case DocumentType.Subscription:\n name = 'Subscription';\n break;\n }\n\n return name;\n}\nexport function parser(document) {\n var cached = cache.get(document);\n if (cached) return cached;\n var variables, type, name;\n __DEV__ ? invariant(!!document && !!document.kind, \"Argument of \".concat(document, \" passed to parser was not a valid GraphQL \") + \"DocumentNode. You may need to use 'graphql-tag' or another method \" + \"to convert your operation into a document\") : invariant(!!document && !!document.kind, 32);\n var fragments = [];\n var queries = [];\n var mutations = [];\n var subscriptions = [];\n\n for (var _i = 0, _a = document.definitions; _i < _a.length; _i++) {\n var x = _a[_i];\n\n if (x.kind === 'FragmentDefinition') {\n fragments.push(x);\n continue;\n }\n\n if (x.kind === 'OperationDefinition') {\n switch (x.operation) {\n case 'query':\n queries.push(x);\n break;\n\n case 'mutation':\n mutations.push(x);\n break;\n\n case 'subscription':\n subscriptions.push(x);\n break;\n }\n }\n }\n\n __DEV__ ? invariant(!fragments.length || queries.length || mutations.length || subscriptions.length, \"Passing only a fragment to 'graphql' is not yet supported. \" + \"You must include a query, subscription or mutation as well\") : invariant(!fragments.length || queries.length || mutations.length || subscriptions.length, 33);\n __DEV__ ? invariant(queries.length + mutations.length + subscriptions.length <= 1, \"react-apollo only supports a query, subscription, or a mutation per HOC. \" + \"\".concat(document, \" had \").concat(queries.length, \" queries, \").concat(subscriptions.length, \" \") + \"subscriptions and \".concat(mutations.length, \" mutations. \") + \"You can use 'compose' to join multiple operation types to a component\") : invariant(queries.length + mutations.length + subscriptions.length <= 1, 34);\n type = queries.length ? DocumentType.Query : DocumentType.Mutation;\n if (!queries.length && !mutations.length) type = DocumentType.Subscription;\n var definitions = queries.length ? queries : mutations.length ? mutations : subscriptions;\n __DEV__ ? invariant(definitions.length === 1, \"react-apollo only supports one definition per HOC. \".concat(document, \" had \") + \"\".concat(definitions.length, \" definitions. \") + \"You can use 'compose' to join multiple operation types to a component\") : invariant(definitions.length === 1, 35);\n var definition = definitions[0];\n variables = definition.variableDefinitions || [];\n\n if (definition.name && definition.name.kind === 'Name') {\n name = definition.name.value;\n } else {\n name = 'data';\n }\n\n var payload = {\n name: name,\n type: type,\n variables: variables\n };\n cache.set(document, payload);\n return payload;\n}\nexport function verifyDocumentType(document, type) {\n var operation = parser(document);\n var requiredOperationName = operationName(type);\n var usedOperationName = operationName(operation.type);\n __DEV__ ? invariant(operation.type === type, \"Running a \".concat(requiredOperationName, \" requires a graphql \") + \"\".concat(requiredOperationName, \", but a \").concat(usedOperationName, \" was used instead.\")) : invariant(operation.type === type, 36);\n}","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}\nmodule.exports = _toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import { gql } from '@apollo/client'\n\nconst BANNER_QUERY = gql`\n query Banners {\n banners {\n id\n slug\n link\n order\n template\n text\n liveDate\n endDate\n showAgainAfterXDays\n }\n currentUser {\n __typename\n ... on User {\n id\n }\n ... on Guest {\n id\n }\n }\n }\n`\n\nexport { BANNER_QUERY }\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"xs\":\"375px\",\"sm\":\"600px\",\"md\":\"834px\",\"lg\":\"1280px\",\"xl\":\"1280px\",\"container\":\"BannerManager-module__container___1k66i\"};","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n/* eslint-disable flowtype/no-weak-types */\n\n\nimport nodejsCustomInspectSymbol from \"./nodejsCustomInspectSymbol.mjs\";\nvar MAX_ARRAY_LENGTH = 10;\nvar MAX_RECURSIVE_DEPTH = 2;\n/**\n * Used to print values in error messages.\n */\n\nexport default function inspect(value) {\n return formatValue(value, []);\n}\n\nfunction formatValue(value, seenValues) {\n switch (_typeof(value)) {\n case 'string':\n return JSON.stringify(value);\n\n case 'function':\n return value.name ? \"[function \".concat(value.name, \"]\") : '[function]';\n\n case 'object':\n if (value === null) {\n return 'null';\n }\n\n return formatObjectValue(value, seenValues);\n\n default:\n return String(value);\n }\n}\n\nfunction formatObjectValue(value, previouslySeenValues) {\n if (previouslySeenValues.indexOf(value) !== -1) {\n return '[Circular]';\n }\n\n var seenValues = [].concat(previouslySeenValues, [value]);\n var customInspectFn = getCustomFn(value);\n\n if (customInspectFn !== undefined) {\n var customValue = customInspectFn.call(value); // check for infinite recursion\n\n if (customValue !== value) {\n return typeof customValue === 'string' ? customValue : formatValue(customValue, seenValues);\n }\n } else if (Array.isArray(value)) {\n return formatArray(value, seenValues);\n }\n\n return formatObject(value, seenValues);\n}\n\nfunction formatObject(object, seenValues) {\n var keys = Object.keys(object);\n\n if (keys.length === 0) {\n return '{}';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[' + getObjectTag(object) + ']';\n }\n\n var properties = keys.map(function (key) {\n var value = formatValue(object[key], seenValues);\n return key + ': ' + value;\n });\n return '{ ' + properties.join(', ') + ' }';\n}\n\nfunction formatArray(array, seenValues) {\n if (array.length === 0) {\n return '[]';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[Array]';\n }\n\n var len = Math.min(MAX_ARRAY_LENGTH, array.length);\n var remaining = array.length - len;\n var items = [];\n\n for (var i = 0; i < len; ++i) {\n items.push(formatValue(array[i], seenValues));\n }\n\n if (remaining === 1) {\n items.push('... 1 more item');\n } else if (remaining > 1) {\n items.push(\"... \".concat(remaining, \" more items\"));\n }\n\n return '[' + items.join(', ') + ']';\n}\n\nfunction getCustomFn(object) {\n var customInspectFn = object[String(nodejsCustomInspectSymbol)];\n\n if (typeof customInspectFn === 'function') {\n return customInspectFn;\n }\n\n if (typeof object.inspect === 'function') {\n return object.inspect;\n }\n}\n\nfunction getObjectTag(object) {\n var tag = Object.prototype.toString.call(object).replace(/^\\[object /, '').replace(/]$/, '');\n\n if (tag === 'Object' && typeof object.constructor === 'function') {\n var name = object.constructor.name;\n\n if (typeof name === 'string' && name !== '') {\n return name;\n }\n }\n\n return tag;\n}","import { maybe } from \"./maybe.js\";\nexport default maybe(function () {\n return globalThis;\n}) || maybe(function () {\n return window;\n}) || maybe(function () {\n return self;\n}) || maybe(function () {\n return global;\n}) || maybe(function () {\n return maybe.constructor(\"return this\")();\n});","// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\nvar nodejsCustomInspectSymbol = typeof Symbol === 'function' && typeof Symbol.for === 'function' ? Symbol.for('nodejs.util.inspect.custom') : undefined;\nexport default nodejsCustomInspectSymbol;","import { maybe } from \"../globals/index.js\";\nexport var canUseWeakMap = typeof WeakMap === 'function' && maybe(function () {\n return navigator.product;\n}) !== 'ReactNative';\nexport var canUseWeakSet = typeof WeakSet === 'function';\nexport var canUseSymbol = typeof Symbol === 'function' && typeof Symbol.for === 'function';\nexport var canUseAsyncIteratorSymbol = canUseSymbol && Symbol.asyncIterator;\nexport var canUseDOM = typeof maybe(function () {\n return window.document.createElement;\n}) === \"function\";\nvar usingJSDOM = maybe(function () {\n return navigator.userAgent.indexOf(\"jsdom\") >= 0;\n}) || false;\nexport var canUseLayoutEffect = canUseDOM && !usingJSDOM;","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default 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}","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it) return (it = it.call(o)).next.bind(it);\n\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\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\nfunction _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\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n} // === Symbol Support ===\n\n\nvar hasSymbols = function hasSymbols() {\n return typeof Symbol === 'function';\n};\n\nvar hasSymbol = function hasSymbol(name) {\n return hasSymbols() && Boolean(Symbol[name]);\n};\n\nvar getSymbol = function getSymbol(name) {\n return hasSymbol(name) ? Symbol[name] : '@@' + name;\n};\n\nif (hasSymbols() && !hasSymbol('observable')) {\n Symbol.observable = Symbol('observable');\n}\n\nvar SymbolIterator = getSymbol('iterator');\nvar SymbolObservable = getSymbol('observable');\nvar SymbolSpecies = getSymbol('species'); // === Abstract Operations ===\n\nfunction getMethod(obj, key) {\n var value = obj[key];\n if (value == null) return undefined;\n if (typeof value !== 'function') throw new TypeError(value + ' is not a function');\n return value;\n}\n\nfunction getSpecies(obj) {\n var ctor = obj.constructor;\n\n if (ctor !== undefined) {\n ctor = ctor[SymbolSpecies];\n\n if (ctor === null) {\n ctor = undefined;\n }\n }\n\n return ctor !== undefined ? ctor : Observable;\n}\n\nfunction isObservable(x) {\n return x instanceof Observable; // SPEC: Brand check\n}\n\nfunction hostReportError(e) {\n if (hostReportError.log) {\n hostReportError.log(e);\n } else {\n setTimeout(function () {\n throw e;\n });\n }\n}\n\nfunction enqueue(fn) {\n Promise.resolve().then(function () {\n try {\n fn();\n } catch (e) {\n hostReportError(e);\n }\n });\n}\n\nfunction cleanupSubscription(subscription) {\n var cleanup = subscription._cleanup;\n if (cleanup === undefined) return;\n subscription._cleanup = undefined;\n\n if (!cleanup) {\n return;\n }\n\n try {\n if (typeof cleanup === 'function') {\n cleanup();\n } else {\n var unsubscribe = getMethod(cleanup, 'unsubscribe');\n\n if (unsubscribe) {\n unsubscribe.call(cleanup);\n }\n }\n } catch (e) {\n hostReportError(e);\n }\n}\n\nfunction closeSubscription(subscription) {\n subscription._observer = undefined;\n subscription._queue = undefined;\n subscription._state = 'closed';\n}\n\nfunction flushSubscription(subscription) {\n var queue = subscription._queue;\n\n if (!queue) {\n return;\n }\n\n subscription._queue = undefined;\n subscription._state = 'ready';\n\n for (var i = 0; i < queue.length; ++i) {\n notifySubscription(subscription, queue[i].type, queue[i].value);\n if (subscription._state === 'closed') break;\n }\n}\n\nfunction notifySubscription(subscription, type, value) {\n subscription._state = 'running';\n var observer = subscription._observer;\n\n try {\n var m = getMethod(observer, type);\n\n switch (type) {\n case 'next':\n if (m) m.call(observer, value);\n break;\n\n case 'error':\n closeSubscription(subscription);\n if (m) m.call(observer, value);else throw value;\n break;\n\n case 'complete':\n closeSubscription(subscription);\n if (m) m.call(observer);\n break;\n }\n } catch (e) {\n hostReportError(e);\n }\n\n if (subscription._state === 'closed') cleanupSubscription(subscription);else if (subscription._state === 'running') subscription._state = 'ready';\n}\n\nfunction onNotify(subscription, type, value) {\n if (subscription._state === 'closed') return;\n\n if (subscription._state === 'buffering') {\n subscription._queue.push({\n type: type,\n value: value\n });\n\n return;\n }\n\n if (subscription._state !== 'ready') {\n subscription._state = 'buffering';\n subscription._queue = [{\n type: type,\n value: value\n }];\n enqueue(function () {\n return flushSubscription(subscription);\n });\n return;\n }\n\n notifySubscription(subscription, type, value);\n}\n\nvar Subscription = /*#__PURE__*/function () {\n function Subscription(observer, subscriber) {\n // ASSERT: observer is an object\n // ASSERT: subscriber is callable\n this._cleanup = undefined;\n this._observer = observer;\n this._queue = undefined;\n this._state = 'initializing';\n var subscriptionObserver = new SubscriptionObserver(this);\n\n try {\n this._cleanup = subscriber.call(undefined, subscriptionObserver);\n } catch (e) {\n subscriptionObserver.error(e);\n }\n\n if (this._state === 'initializing') this._state = 'ready';\n }\n\n var _proto = Subscription.prototype;\n\n _proto.unsubscribe = function unsubscribe() {\n if (this._state !== 'closed') {\n closeSubscription(this);\n cleanupSubscription(this);\n }\n };\n\n _createClass(Subscription, [{\n key: \"closed\",\n get: function get() {\n return this._state === 'closed';\n }\n }]);\n\n return Subscription;\n}();\n\nvar SubscriptionObserver = /*#__PURE__*/function () {\n function SubscriptionObserver(subscription) {\n this._subscription = subscription;\n }\n\n var _proto2 = SubscriptionObserver.prototype;\n\n _proto2.next = function next(value) {\n onNotify(this._subscription, 'next', value);\n };\n\n _proto2.error = function error(value) {\n onNotify(this._subscription, 'error', value);\n };\n\n _proto2.complete = function complete() {\n onNotify(this._subscription, 'complete');\n };\n\n _createClass(SubscriptionObserver, [{\n key: \"closed\",\n get: function get() {\n return this._subscription._state === 'closed';\n }\n }]);\n\n return SubscriptionObserver;\n}();\n\nvar Observable = /*#__PURE__*/function () {\n function Observable(subscriber) {\n if (!(this instanceof Observable)) throw new TypeError('Observable cannot be called as a function');\n if (typeof subscriber !== 'function') throw new TypeError('Observable initializer must be a function');\n this._subscriber = subscriber;\n }\n\n var _proto3 = Observable.prototype;\n\n _proto3.subscribe = function subscribe(observer) {\n if (typeof observer !== 'object' || observer === null) {\n observer = {\n next: observer,\n error: arguments[1],\n complete: arguments[2]\n };\n }\n\n return new Subscription(observer, this._subscriber);\n };\n\n _proto3.forEach = function forEach(fn) {\n var _this = this;\n\n return new Promise(function (resolve, reject) {\n if (typeof fn !== 'function') {\n reject(new TypeError(fn + ' is not a function'));\n return;\n }\n\n function done() {\n subscription.unsubscribe();\n resolve();\n }\n\n var subscription = _this.subscribe({\n next: function next(value) {\n try {\n fn(value, done);\n } catch (e) {\n reject(e);\n subscription.unsubscribe();\n }\n },\n error: reject,\n complete: resolve\n });\n });\n };\n\n _proto3.map = function map(fn) {\n var _this2 = this;\n\n if (typeof fn !== 'function') throw new TypeError(fn + ' is not a function');\n var C = getSpecies(this);\n return new C(function (observer) {\n return _this2.subscribe({\n next: function next(value) {\n try {\n value = fn(value);\n } catch (e) {\n return observer.error(e);\n }\n\n observer.next(value);\n },\n error: function error(e) {\n observer.error(e);\n },\n complete: function complete() {\n observer.complete();\n }\n });\n });\n };\n\n _proto3.filter = function filter(fn) {\n var _this3 = this;\n\n if (typeof fn !== 'function') throw new TypeError(fn + ' is not a function');\n var C = getSpecies(this);\n return new C(function (observer) {\n return _this3.subscribe({\n next: function next(value) {\n try {\n if (!fn(value)) return;\n } catch (e) {\n return observer.error(e);\n }\n\n observer.next(value);\n },\n error: function error(e) {\n observer.error(e);\n },\n complete: function complete() {\n observer.complete();\n }\n });\n });\n };\n\n _proto3.reduce = function reduce(fn) {\n var _this4 = this;\n\n if (typeof fn !== 'function') throw new TypeError(fn + ' is not a function');\n var C = getSpecies(this);\n var hasSeed = arguments.length > 1;\n var hasValue = false;\n var seed = arguments[1];\n var acc = seed;\n return new C(function (observer) {\n return _this4.subscribe({\n next: function next(value) {\n var first = !hasValue;\n hasValue = true;\n\n if (!first || hasSeed) {\n try {\n acc = fn(acc, value);\n } catch (e) {\n return observer.error(e);\n }\n } else {\n acc = value;\n }\n },\n error: function error(e) {\n observer.error(e);\n },\n complete: function complete() {\n if (!hasValue && !hasSeed) return observer.error(new TypeError('Cannot reduce an empty sequence'));\n observer.next(acc);\n observer.complete();\n }\n });\n });\n };\n\n _proto3.concat = function concat() {\n var _this5 = this;\n\n for (var _len = arguments.length, sources = new Array(_len), _key = 0; _key < _len; _key++) {\n sources[_key] = arguments[_key];\n }\n\n var C = getSpecies(this);\n return new C(function (observer) {\n var subscription;\n var index = 0;\n\n function startNext(next) {\n subscription = next.subscribe({\n next: function next(v) {\n observer.next(v);\n },\n error: function error(e) {\n observer.error(e);\n },\n complete: function complete() {\n if (index === sources.length) {\n subscription = undefined;\n observer.complete();\n } else {\n startNext(C.from(sources[index++]));\n }\n }\n });\n }\n\n startNext(_this5);\n return function () {\n if (subscription) {\n subscription.unsubscribe();\n subscription = undefined;\n }\n };\n });\n };\n\n _proto3.flatMap = function flatMap(fn) {\n var _this6 = this;\n\n if (typeof fn !== 'function') throw new TypeError(fn + ' is not a function');\n var C = getSpecies(this);\n return new C(function (observer) {\n var subscriptions = [];\n\n var outer = _this6.subscribe({\n next: function next(value) {\n if (fn) {\n try {\n value = fn(value);\n } catch (e) {\n return observer.error(e);\n }\n }\n\n var inner = C.from(value).subscribe({\n next: function next(value) {\n observer.next(value);\n },\n error: function error(e) {\n observer.error(e);\n },\n complete: function complete() {\n var i = subscriptions.indexOf(inner);\n if (i >= 0) subscriptions.splice(i, 1);\n completeIfDone();\n }\n });\n subscriptions.push(inner);\n },\n error: function error(e) {\n observer.error(e);\n },\n complete: function complete() {\n completeIfDone();\n }\n });\n\n function completeIfDone() {\n if (outer.closed && subscriptions.length === 0) observer.complete();\n }\n\n return function () {\n subscriptions.forEach(function (s) {\n return s.unsubscribe();\n });\n outer.unsubscribe();\n };\n });\n };\n\n _proto3[SymbolObservable] = function () {\n return this;\n };\n\n Observable.from = function from(x) {\n var C = typeof this === 'function' ? this : Observable;\n if (x == null) throw new TypeError(x + ' is not an object');\n var method = getMethod(x, SymbolObservable);\n\n if (method) {\n var observable = method.call(x);\n if (Object(observable) !== observable) throw new TypeError(observable + ' is not an object');\n if (isObservable(observable) && observable.constructor === C) return observable;\n return new C(function (observer) {\n return observable.subscribe(observer);\n });\n }\n\n if (hasSymbol('iterator')) {\n method = getMethod(x, SymbolIterator);\n\n if (method) {\n return new C(function (observer) {\n enqueue(function () {\n if (observer.closed) return;\n\n for (var _iterator = _createForOfIteratorHelperLoose(method.call(x)), _step; !(_step = _iterator()).done;) {\n var item = _step.value;\n observer.next(item);\n if (observer.closed) return;\n }\n\n observer.complete();\n });\n });\n }\n }\n\n if (Array.isArray(x)) {\n return new C(function (observer) {\n enqueue(function () {\n if (observer.closed) return;\n\n for (var i = 0; i < x.length; ++i) {\n observer.next(x[i]);\n if (observer.closed) return;\n }\n\n observer.complete();\n });\n });\n }\n\n throw new TypeError(x + ' is not observable');\n };\n\n Observable.of = function of() {\n for (var _len2 = arguments.length, items = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n items[_key2] = arguments[_key2];\n }\n\n var C = typeof this === 'function' ? this : Observable;\n return new C(function (observer) {\n enqueue(function () {\n if (observer.closed) return;\n\n for (var i = 0; i < items.length; ++i) {\n observer.next(items[i]);\n if (observer.closed) return;\n }\n\n observer.complete();\n });\n });\n };\n\n _createClass(Observable, null, [{\n key: SymbolSpecies,\n get: function get() {\n return this;\n }\n }]);\n\n return Observable;\n}();\n\nif (hasSymbols()) {\n Object.defineProperty(Observable, Symbol('extensions'), {\n value: {\n symbol: SymbolObservable,\n hostReportError: hostReportError\n },\n configurable: true\n });\n}\n\nexport { Observable };","import { __assign, __spreadArray } from \"tslib\";\nimport { invariant, InvariantError } from \"../globals/index.js\";\nexport function getFragmentQueryDocument(document, fragmentName) {\n var actualFragmentName = fragmentName;\n var fragments = [];\n document.definitions.forEach(function (definition) {\n if (definition.kind === 'OperationDefinition') {\n throw __DEV__ ? new InvariantError(\"Found a \".concat(definition.operation, \" operation\").concat(definition.name ? \" named '\".concat(definition.name.value, \"'\") : '', \". \") + 'No operations are allowed when using a fragment as a query. Only fragments are allowed.') : new InvariantError(43);\n }\n\n if (definition.kind === 'FragmentDefinition') {\n fragments.push(definition);\n }\n });\n\n if (typeof actualFragmentName === 'undefined') {\n __DEV__ ? invariant(fragments.length === 1, \"Found \".concat(fragments.length, \" fragments. `fragmentName` must be provided when there is not exactly 1 fragment.\")) : invariant(fragments.length === 1, 44);\n actualFragmentName = fragments[0].name.value;\n }\n\n var query = __assign(__assign({}, document), {\n definitions: __spreadArray([{\n kind: 'OperationDefinition',\n operation: 'query',\n selectionSet: {\n kind: 'SelectionSet',\n selections: [{\n kind: 'FragmentSpread',\n name: {\n kind: 'Name',\n value: actualFragmentName\n }\n }]\n }\n }], document.definitions, true)\n });\n\n return query;\n}\nexport function createFragmentMap(fragments) {\n if (fragments === void 0) {\n fragments = [];\n }\n\n var symTable = {};\n fragments.forEach(function (fragment) {\n symTable[fragment.name.value] = fragment;\n });\n return symTable;\n}\nexport function getFragmentFromSelection(selection, fragmentMap) {\n switch (selection.kind) {\n case 'InlineFragment':\n return selection;\n\n case 'FragmentSpread':\n {\n var fragmentName = selection.name.value;\n\n if (typeof fragmentMap === \"function\") {\n return fragmentMap(fragmentName);\n }\n\n var fragment = fragmentMap && fragmentMap[fragmentName];\n __DEV__ ? invariant(fragment, \"No fragment named \".concat(fragmentName)) : invariant(fragment, 45);\n return fragment || null;\n }\n\n default:\n return null;\n }\n}","import { InvariantError } from \"../globals/index.js\";\nimport { isNonNullObject } from \"../common/objects.js\";\nimport { getFragmentFromSelection } from \"./fragments.js\";\nexport function makeReference(id) {\n return {\n __ref: String(id)\n };\n}\nexport function isReference(obj) {\n return Boolean(obj && typeof obj === 'object' && typeof obj.__ref === 'string');\n}\nexport function isDocumentNode(value) {\n return isNonNullObject(value) && value.kind === \"Document\" && Array.isArray(value.definitions);\n}\n\nfunction isStringValue(value) {\n return value.kind === 'StringValue';\n}\n\nfunction isBooleanValue(value) {\n return value.kind === 'BooleanValue';\n}\n\nfunction isIntValue(value) {\n return value.kind === 'IntValue';\n}\n\nfunction isFloatValue(value) {\n return value.kind === 'FloatValue';\n}\n\nfunction isVariable(value) {\n return value.kind === 'Variable';\n}\n\nfunction isObjectValue(value) {\n return value.kind === 'ObjectValue';\n}\n\nfunction isListValue(value) {\n return value.kind === 'ListValue';\n}\n\nfunction isEnumValue(value) {\n return value.kind === 'EnumValue';\n}\n\nfunction isNullValue(value) {\n return value.kind === 'NullValue';\n}\n\nexport function valueToObjectRepresentation(argObj, name, value, variables) {\n if (isIntValue(value) || isFloatValue(value)) {\n argObj[name.value] = Number(value.value);\n } else if (isBooleanValue(value) || isStringValue(value)) {\n argObj[name.value] = value.value;\n } else if (isObjectValue(value)) {\n var nestedArgObj_1 = {};\n value.fields.map(function (obj) {\n return valueToObjectRepresentation(nestedArgObj_1, obj.name, obj.value, variables);\n });\n argObj[name.value] = nestedArgObj_1;\n } else if (isVariable(value)) {\n var variableValue = (variables || {})[value.name.value];\n argObj[name.value] = variableValue;\n } else if (isListValue(value)) {\n argObj[name.value] = value.values.map(function (listValue) {\n var nestedArgArrayObj = {};\n valueToObjectRepresentation(nestedArgArrayObj, name, listValue, variables);\n return nestedArgArrayObj[name.value];\n });\n } else if (isEnumValue(value)) {\n argObj[name.value] = value.value;\n } else if (isNullValue(value)) {\n argObj[name.value] = null;\n } else {\n throw __DEV__ ? new InvariantError(\"The inline argument \\\"\".concat(name.value, \"\\\" of kind \\\"\").concat(value.kind, \"\\\"\") + 'is not supported. Use variables instead of inline arguments to ' + 'overcome this limitation.') : new InvariantError(54);\n }\n}\nexport function storeKeyNameFromField(field, variables) {\n var directivesObj = null;\n\n if (field.directives) {\n directivesObj = {};\n field.directives.forEach(function (directive) {\n directivesObj[directive.name.value] = {};\n\n if (directive.arguments) {\n directive.arguments.forEach(function (_a) {\n var name = _a.name,\n value = _a.value;\n return valueToObjectRepresentation(directivesObj[directive.name.value], name, value, variables);\n });\n }\n });\n }\n\n var argObj = null;\n\n if (field.arguments && field.arguments.length) {\n argObj = {};\n field.arguments.forEach(function (_a) {\n var name = _a.name,\n value = _a.value;\n return valueToObjectRepresentation(argObj, name, value, variables);\n });\n }\n\n return getStoreKeyName(field.name.value, argObj, directivesObj);\n}\nvar KNOWN_DIRECTIVES = ['connection', 'include', 'skip', 'client', 'rest', 'export'];\nexport var getStoreKeyName = Object.assign(function (fieldName, args, directives) {\n if (args && directives && directives['connection'] && directives['connection']['key']) {\n if (directives['connection']['filter'] && directives['connection']['filter'].length > 0) {\n var filterKeys = directives['connection']['filter'] ? directives['connection']['filter'] : [];\n filterKeys.sort();\n var filteredArgs_1 = {};\n filterKeys.forEach(function (key) {\n filteredArgs_1[key] = args[key];\n });\n return \"\".concat(directives['connection']['key'], \"(\").concat(stringify(filteredArgs_1), \")\");\n } else {\n return directives['connection']['key'];\n }\n }\n\n var completeFieldName = fieldName;\n\n if (args) {\n var stringifiedArgs = stringify(args);\n completeFieldName += \"(\".concat(stringifiedArgs, \")\");\n }\n\n if (directives) {\n Object.keys(directives).forEach(function (key) {\n if (KNOWN_DIRECTIVES.indexOf(key) !== -1) return;\n\n if (directives[key] && Object.keys(directives[key]).length) {\n completeFieldName += \"@\".concat(key, \"(\").concat(stringify(directives[key]), \")\");\n } else {\n completeFieldName += \"@\".concat(key);\n }\n });\n }\n\n return completeFieldName;\n}, {\n setStringify: function setStringify(s) {\n var previous = stringify;\n stringify = s;\n return previous;\n }\n});\n\nvar stringify = function defaultStringify(value) {\n return JSON.stringify(value, stringifyReplacer);\n};\n\nfunction stringifyReplacer(_key, value) {\n if (isNonNullObject(value) && !Array.isArray(value)) {\n value = Object.keys(value).sort().reduce(function (copy, key) {\n copy[key] = value[key];\n return copy;\n }, {});\n }\n\n return value;\n}\n\nexport function argumentsObjectFromField(field, variables) {\n if (field.arguments && field.arguments.length) {\n var argObj_1 = {};\n field.arguments.forEach(function (_a) {\n var name = _a.name,\n value = _a.value;\n return valueToObjectRepresentation(argObj_1, name, value, variables);\n });\n return argObj_1;\n }\n\n return null;\n}\nexport function resultKeyNameFromField(field) {\n return field.alias ? field.alias.value : field.name.value;\n}\nexport function getTypenameFromResult(result, selectionSet, fragmentMap) {\n if (typeof result.__typename === 'string') {\n return result.__typename;\n }\n\n for (var _i = 0, _a = selectionSet.selections; _i < _a.length; _i++) {\n var selection = _a[_i];\n\n if (isField(selection)) {\n if (selection.name.value === '__typename') {\n return result[resultKeyNameFromField(selection)];\n }\n } else {\n var typename = getTypenameFromResult(result, getFragmentFromSelection(selection, fragmentMap).selectionSet, fragmentMap);\n\n if (typeof typename === 'string') {\n return typename;\n }\n }\n }\n}\nexport function isField(selection) {\n return selection.kind === 'Field';\n}\nexport function isInlineFragment(selection) {\n return selection.kind === 'InlineFragment';\n}","import { invariant, InvariantError } from \"../globals/index.js\";\nimport { valueToObjectRepresentation } from \"./storeUtils.js\";\nexport function checkDocument(doc) {\n __DEV__ ? invariant(doc && doc.kind === 'Document', \"Expecting a parsed GraphQL document. Perhaps you need to wrap the query string in a \\\"gql\\\" tag? http://docs.apollostack.com/apollo-client/core.html#gql\") : invariant(doc && doc.kind === 'Document', 46);\n var operations = doc.definitions.filter(function (d) {\n return d.kind !== 'FragmentDefinition';\n }).map(function (definition) {\n if (definition.kind !== 'OperationDefinition') {\n throw __DEV__ ? new InvariantError(\"Schema type definitions not allowed in queries. Found: \\\"\".concat(definition.kind, \"\\\"\")) : new InvariantError(47);\n }\n\n return definition;\n });\n __DEV__ ? invariant(operations.length <= 1, \"Ambiguous GraphQL document: contains \".concat(operations.length, \" operations\")) : invariant(operations.length <= 1, 48);\n return doc;\n}\nexport function getOperationDefinition(doc) {\n checkDocument(doc);\n return doc.definitions.filter(function (definition) {\n return definition.kind === 'OperationDefinition';\n })[0];\n}\nexport function getOperationName(doc) {\n return doc.definitions.filter(function (definition) {\n return definition.kind === 'OperationDefinition' && definition.name;\n }).map(function (x) {\n return x.name.value;\n })[0] || null;\n}\nexport function getFragmentDefinitions(doc) {\n return doc.definitions.filter(function (definition) {\n return definition.kind === 'FragmentDefinition';\n });\n}\nexport function getQueryDefinition(doc) {\n var queryDef = getOperationDefinition(doc);\n __DEV__ ? invariant(queryDef && queryDef.operation === 'query', 'Must contain a query definition.') : invariant(queryDef && queryDef.operation === 'query', 49);\n return queryDef;\n}\nexport function getFragmentDefinition(doc) {\n __DEV__ ? invariant(doc.kind === 'Document', \"Expecting a parsed GraphQL document. Perhaps you need to wrap the query string in a \\\"gql\\\" tag? http://docs.apollostack.com/apollo-client/core.html#gql\") : invariant(doc.kind === 'Document', 50);\n __DEV__ ? invariant(doc.definitions.length <= 1, 'Fragment must have exactly one definition.') : invariant(doc.definitions.length <= 1, 51);\n var fragmentDef = doc.definitions[0];\n __DEV__ ? invariant(fragmentDef.kind === 'FragmentDefinition', 'Must be a fragment definition.') : invariant(fragmentDef.kind === 'FragmentDefinition', 52);\n return fragmentDef;\n}\nexport function getMainDefinition(queryDoc) {\n checkDocument(queryDoc);\n var fragmentDefinition;\n\n for (var _i = 0, _a = queryDoc.definitions; _i < _a.length; _i++) {\n var definition = _a[_i];\n\n if (definition.kind === 'OperationDefinition') {\n var operation = definition.operation;\n\n if (operation === 'query' || operation === 'mutation' || operation === 'subscription') {\n return definition;\n }\n }\n\n if (definition.kind === 'FragmentDefinition' && !fragmentDefinition) {\n fragmentDefinition = definition;\n }\n }\n\n if (fragmentDefinition) {\n return fragmentDefinition;\n }\n\n throw __DEV__ ? new InvariantError('Expected a parsed GraphQL query with a query, mutation, subscription, or a fragment.') : new InvariantError(53);\n}\nexport function getDefaultValues(definition) {\n var defaultValues = Object.create(null);\n var defs = definition && definition.variableDefinitions;\n\n if (defs && defs.length) {\n defs.forEach(function (def) {\n if (def.defaultValue) {\n valueToObjectRepresentation(defaultValues, def.variable.name, def.defaultValue);\n }\n });\n }\n\n return defaultValues;\n}","import { __extends } from \"tslib\";\nimport { InvariantError, invariant } from \"../../utilities/globals/index.js\";\nimport { Observable } from \"../../utilities/index.js\";\nimport { validateOperation, createOperation, transformOperation } from \"../utils/index.js\";\n\nfunction passthrough(op, forward) {\n return forward ? forward(op) : Observable.of();\n}\n\nfunction toLink(handler) {\n return typeof handler === 'function' ? new ApolloLink(handler) : handler;\n}\n\nfunction isTerminating(link) {\n return link.request.length <= 1;\n}\n\nvar LinkError = function (_super) {\n __extends(LinkError, _super);\n\n function LinkError(message, link) {\n var _this = _super.call(this, message) || this;\n\n _this.link = link;\n return _this;\n }\n\n return LinkError;\n}(Error);\n\nvar ApolloLink = function () {\n function ApolloLink(request) {\n if (request) this.request = request;\n }\n\n ApolloLink.empty = function () {\n return new ApolloLink(function () {\n return Observable.of();\n });\n };\n\n ApolloLink.from = function (links) {\n if (links.length === 0) return ApolloLink.empty();\n return links.map(toLink).reduce(function (x, y) {\n return x.concat(y);\n });\n };\n\n ApolloLink.split = function (test, left, right) {\n var leftLink = toLink(left);\n var rightLink = toLink(right || new ApolloLink(passthrough));\n\n if (isTerminating(leftLink) && isTerminating(rightLink)) {\n return new ApolloLink(function (operation) {\n return test(operation) ? leftLink.request(operation) || Observable.of() : rightLink.request(operation) || Observable.of();\n });\n } else {\n return new ApolloLink(function (operation, forward) {\n return test(operation) ? leftLink.request(operation, forward) || Observable.of() : rightLink.request(operation, forward) || Observable.of();\n });\n }\n };\n\n ApolloLink.execute = function (link, operation) {\n return link.request(createOperation(operation.context, transformOperation(validateOperation(operation)))) || Observable.of();\n };\n\n ApolloLink.concat = function (first, second) {\n var firstLink = toLink(first);\n\n if (isTerminating(firstLink)) {\n __DEV__ && invariant.warn(new LinkError(\"You are calling concat on a terminating link, which will have no effect\", firstLink));\n return firstLink;\n }\n\n var nextLink = toLink(second);\n\n if (isTerminating(nextLink)) {\n return new ApolloLink(function (operation) {\n return firstLink.request(operation, function (op) {\n return nextLink.request(op) || Observable.of();\n }) || Observable.of();\n });\n } else {\n return new ApolloLink(function (operation, forward) {\n return firstLink.request(operation, function (op) {\n return nextLink.request(op, forward) || Observable.of();\n }) || Observable.of();\n });\n }\n };\n\n ApolloLink.prototype.split = function (test, left, right) {\n return this.concat(ApolloLink.split(test, left, right || new ApolloLink(passthrough)));\n };\n\n ApolloLink.prototype.concat = function (next) {\n return ApolloLink.concat(this, next);\n };\n\n ApolloLink.prototype.request = function (operation, forward) {\n throw __DEV__ ? new InvariantError('request is not implemented') : new InvariantError(21);\n };\n\n ApolloLink.prototype.onError = function (error, observer) {\n if (observer && observer.error) {\n observer.error(error);\n return false;\n }\n\n throw error;\n };\n\n ApolloLink.prototype.setOnError = function (fn) {\n this.onError = fn;\n return this;\n };\n\n return ApolloLink;\n}();\n\nexport { ApolloLink };","import { __assign } from \"tslib\";\nexport function createOperation(starting, operation) {\n var context = __assign({}, starting);\n\n var setContext = function setContext(next) {\n if (typeof next === 'function') {\n context = __assign(__assign({}, context), next(context));\n } else {\n context = __assign(__assign({}, context), next);\n }\n };\n\n var getContext = function getContext() {\n return __assign({}, context);\n };\n\n Object.defineProperty(operation, 'setContext', {\n enumerable: false,\n value: setContext\n });\n Object.defineProperty(operation, 'getContext', {\n enumerable: false,\n value: getContext\n });\n return operation;\n}","import { getOperationName } from \"../../utilities/index.js\";\nexport function transformOperation(operation) {\n var transformedOperation = {\n variables: operation.variables || {},\n extensions: operation.extensions || {},\n operationName: operation.operationName,\n query: operation.query\n };\n\n if (!transformedOperation.operationName) {\n transformedOperation.operationName = typeof transformedOperation.query !== 'string' ? getOperationName(transformedOperation.query) || undefined : '';\n }\n\n return transformedOperation;\n}","import { InvariantError } from \"../../utilities/globals/index.js\";\nexport function validateOperation(operation) {\n var OPERATION_FIELDS = ['query', 'operationName', 'variables', 'extensions', 'context'];\n\n for (var _i = 0, _a = Object.keys(operation); _i < _a.length; _i++) {\n var key = _a[_i];\n\n if (OPERATION_FIELDS.indexOf(key) < 0) {\n throw __DEV__ ? new InvariantError(\"illegal argument: \".concat(key)) : new InvariantError(26);\n }\n }\n\n return operation;\n}","import { ApolloLink } from \"./ApolloLink.js\";\nexport var execute = ApolloLink.execute;","import inspect from \"../jsutils/inspect.mjs\";\nimport { isNode } from \"./ast.mjs\";\n/**\n * A visitor is provided to visit, it contains the collection of\n * relevant functions to be called during the visitor's traversal.\n */\n\nexport var QueryDocumentKeys = {\n Name: [],\n Document: ['definitions'],\n OperationDefinition: ['name', 'variableDefinitions', 'directives', 'selectionSet'],\n VariableDefinition: ['variable', 'type', 'defaultValue', 'directives'],\n Variable: ['name'],\n SelectionSet: ['selections'],\n Field: ['alias', 'name', 'arguments', 'directives', 'selectionSet'],\n Argument: ['name', 'value'],\n FragmentSpread: ['name', 'directives'],\n InlineFragment: ['typeCondition', 'directives', 'selectionSet'],\n FragmentDefinition: ['name', // Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n 'variableDefinitions', 'typeCondition', 'directives', 'selectionSet'],\n IntValue: [],\n FloatValue: [],\n StringValue: [],\n BooleanValue: [],\n NullValue: [],\n EnumValue: [],\n ListValue: ['values'],\n ObjectValue: ['fields'],\n ObjectField: ['name', 'value'],\n Directive: ['name', 'arguments'],\n NamedType: ['name'],\n ListType: ['type'],\n NonNullType: ['type'],\n SchemaDefinition: ['description', 'directives', 'operationTypes'],\n OperationTypeDefinition: ['type'],\n ScalarTypeDefinition: ['description', 'name', 'directives'],\n ObjectTypeDefinition: ['description', 'name', 'interfaces', 'directives', 'fields'],\n FieldDefinition: ['description', 'name', 'arguments', 'type', 'directives'],\n InputValueDefinition: ['description', 'name', 'type', 'defaultValue', 'directives'],\n InterfaceTypeDefinition: ['description', 'name', 'interfaces', 'directives', 'fields'],\n UnionTypeDefinition: ['description', 'name', 'directives', 'types'],\n EnumTypeDefinition: ['description', 'name', 'directives', 'values'],\n EnumValueDefinition: ['description', 'name', 'directives'],\n InputObjectTypeDefinition: ['description', 'name', 'directives', 'fields'],\n DirectiveDefinition: ['description', 'name', 'arguments', 'locations'],\n SchemaExtension: ['directives', 'operationTypes'],\n ScalarTypeExtension: ['name', 'directives'],\n ObjectTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n InterfaceTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n UnionTypeExtension: ['name', 'directives', 'types'],\n EnumTypeExtension: ['name', 'directives', 'values'],\n InputObjectTypeExtension: ['name', 'directives', 'fields']\n};\nexport var BREAK = Object.freeze({});\n/**\n * visit() will walk through an AST using a depth-first traversal, calling\n * the visitor's enter function at each node in the traversal, and calling the\n * leave function after visiting that node and all of its child nodes.\n *\n * By returning different values from the enter and leave functions, the\n * behavior of the visitor can be altered, including skipping over a sub-tree of\n * the AST (by returning false), editing the AST by returning a value or null\n * to remove the value, or to stop the whole traversal by returning BREAK.\n *\n * When using visit() to edit an AST, the original AST will not be modified, and\n * a new version of the AST with the changes applied will be returned from the\n * visit function.\n *\n * const editedAST = visit(ast, {\n * enter(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: skip visiting this node\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * },\n * leave(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: no action\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * }\n * });\n *\n * Alternatively to providing enter() and leave() functions, a visitor can\n * instead provide functions named the same as the kinds of AST nodes, or\n * enter/leave visitors at a named key, leading to four permutations of the\n * visitor API:\n *\n * 1) Named visitors triggered when entering a node of a specific kind.\n *\n * visit(ast, {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * })\n *\n * 2) Named visitors that trigger upon entering and leaving a node of\n * a specific kind.\n *\n * visit(ast, {\n * Kind: {\n * enter(node) {\n * // enter the \"Kind\" node\n * }\n * leave(node) {\n * // leave the \"Kind\" node\n * }\n * }\n * })\n *\n * 3) Generic visitors that trigger upon entering and leaving any node.\n *\n * visit(ast, {\n * enter(node) {\n * // enter any node\n * },\n * leave(node) {\n * // leave any node\n * }\n * })\n *\n * 4) Parallel visitors for entering and leaving nodes of a specific kind.\n *\n * visit(ast, {\n * enter: {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * },\n * leave: {\n * Kind(node) {\n * // leave the \"Kind\" node\n * }\n * }\n * })\n */\n\nexport function visit(root, visitor) {\n var visitorKeys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : QueryDocumentKeys;\n /* eslint-disable no-undef-init */\n\n var stack = undefined;\n var inArray = Array.isArray(root);\n var keys = [root];\n var index = -1;\n var edits = [];\n var node = undefined;\n var key = undefined;\n var parent = undefined;\n var path = [];\n var ancestors = [];\n var newRoot = root;\n /* eslint-enable no-undef-init */\n\n do {\n index++;\n var isLeaving = index === keys.length;\n var isEdited = isLeaving && edits.length !== 0;\n\n if (isLeaving) {\n key = ancestors.length === 0 ? undefined : path[path.length - 1];\n node = parent;\n parent = ancestors.pop();\n\n if (isEdited) {\n if (inArray) {\n node = node.slice();\n } else {\n var clone = {};\n\n for (var _i2 = 0, _Object$keys2 = Object.keys(node); _i2 < _Object$keys2.length; _i2++) {\n var k = _Object$keys2[_i2];\n clone[k] = node[k];\n }\n\n node = clone;\n }\n\n var editOffset = 0;\n\n for (var ii = 0; ii < edits.length; ii++) {\n var editKey = edits[ii][0];\n var editValue = edits[ii][1];\n\n if (inArray) {\n editKey -= editOffset;\n }\n\n if (inArray && editValue === null) {\n node.splice(editKey, 1);\n editOffset++;\n } else {\n node[editKey] = editValue;\n }\n }\n }\n\n index = stack.index;\n keys = stack.keys;\n edits = stack.edits;\n inArray = stack.inArray;\n stack = stack.prev;\n } else {\n key = parent ? inArray ? index : keys[index] : undefined;\n node = parent ? parent[key] : newRoot;\n\n if (node === null || node === undefined) {\n continue;\n }\n\n if (parent) {\n path.push(key);\n }\n }\n\n var result = void 0;\n\n if (!Array.isArray(node)) {\n if (!isNode(node)) {\n throw new Error(\"Invalid AST Node: \".concat(inspect(node), \".\"));\n }\n\n var visitFn = getVisitFn(visitor, node.kind, isLeaving);\n\n if (visitFn) {\n result = visitFn.call(visitor, node, key, parent, path, ancestors);\n\n if (result === BREAK) {\n break;\n }\n\n if (result === false) {\n if (!isLeaving) {\n path.pop();\n continue;\n }\n } else if (result !== undefined) {\n edits.push([key, result]);\n\n if (!isLeaving) {\n if (isNode(result)) {\n node = result;\n } else {\n path.pop();\n continue;\n }\n }\n }\n }\n }\n\n if (result === undefined && isEdited) {\n edits.push([key, node]);\n }\n\n if (isLeaving) {\n path.pop();\n } else {\n var _visitorKeys$node$kin;\n\n stack = {\n inArray: inArray,\n index: index,\n keys: keys,\n edits: edits,\n prev: stack\n };\n inArray = Array.isArray(node);\n keys = inArray ? node : (_visitorKeys$node$kin = visitorKeys[node.kind]) !== null && _visitorKeys$node$kin !== void 0 ? _visitorKeys$node$kin : [];\n index = -1;\n edits = [];\n\n if (parent) {\n ancestors.push(parent);\n }\n\n parent = node;\n }\n } while (stack !== undefined);\n\n if (edits.length !== 0) {\n newRoot = edits[edits.length - 1][1];\n }\n\n return newRoot;\n}\n/**\n * Creates a new visitor instance which delegates to many visitors to run in\n * parallel. Each visitor will be visited for each node before moving on.\n *\n * If a prior visitor edits a node, no following visitors will see that node.\n */\n\nexport function visitInParallel(visitors) {\n var skipping = new Array(visitors.length);\n return {\n enter: function enter(node) {\n for (var i = 0; i < visitors.length; i++) {\n if (skipping[i] == null) {\n var fn = getVisitFn(visitors[i], node.kind,\n /* isLeaving */\n false);\n\n if (fn) {\n var result = fn.apply(visitors[i], arguments);\n\n if (result === false) {\n skipping[i] = node;\n } else if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined) {\n return result;\n }\n }\n }\n }\n },\n leave: function leave(node) {\n for (var i = 0; i < visitors.length; i++) {\n if (skipping[i] == null) {\n var fn = getVisitFn(visitors[i], node.kind,\n /* isLeaving */\n true);\n\n if (fn) {\n var result = fn.apply(visitors[i], arguments);\n\n if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined && result !== false) {\n return result;\n }\n }\n } else if (skipping[i] === node) {\n skipping[i] = null;\n }\n }\n }\n };\n}\n/**\n * Given a visitor instance, if it is leaving or not, and a node kind, return\n * the function the visitor runtime should call.\n */\n\nexport function getVisitFn(visitor, kind, isLeaving) {\n var kindVisitor = visitor[kind];\n\n if (kindVisitor) {\n if (!isLeaving && typeof kindVisitor === 'function') {\n // { Kind() {} }\n return kindVisitor;\n }\n\n var kindSpecificVisitor = isLeaving ? kindVisitor.leave : kindVisitor.enter;\n\n if (typeof kindSpecificVisitor === 'function') {\n // { Kind: { enter() {}, leave() {} } }\n return kindSpecificVisitor;\n }\n } else {\n var specificVisitor = isLeaving ? visitor.leave : visitor.enter;\n\n if (specificVisitor) {\n if (typeof specificVisitor === 'function') {\n // { enter() {}, leave() {} }\n return specificVisitor;\n }\n\n var specificKindVisitor = specificVisitor[kind];\n\n if (typeof specificKindVisitor === 'function') {\n // { enter: { Kind() {} }, leave: { Kind() {} } }\n return specificKindVisitor;\n }\n }\n }\n}","import { invariant } from \"../globals/index.js\";\nimport { visit, BREAK } from 'graphql';\nexport function shouldInclude(_a, variables) {\n var directives = _a.directives;\n\n if (!directives || !directives.length) {\n return true;\n }\n\n return getInclusionDirectives(directives).every(function (_a) {\n var directive = _a.directive,\n ifArgument = _a.ifArgument;\n var evaledValue = false;\n\n if (ifArgument.value.kind === 'Variable') {\n evaledValue = variables && variables[ifArgument.value.name.value];\n __DEV__ ? invariant(evaledValue !== void 0, \"Invalid variable referenced in @\".concat(directive.name.value, \" directive.\")) : invariant(evaledValue !== void 0, 39);\n } else {\n evaledValue = ifArgument.value.value;\n }\n\n return directive.name.value === 'skip' ? !evaledValue : evaledValue;\n });\n}\nexport function getDirectiveNames(root) {\n var names = [];\n visit(root, {\n Directive: function Directive(node) {\n names.push(node.name.value);\n }\n });\n return names;\n}\nexport var hasAnyDirectives = function hasAnyDirectives(names, root) {\n return hasDirectives(names, root, false);\n};\nexport var hasAllDirectives = function hasAllDirectives(names, root) {\n return hasDirectives(names, root, true);\n};\nexport function hasDirectives(names, root, all) {\n var nameSet = new Set(names);\n var uniqueCount = nameSet.size;\n visit(root, {\n Directive: function Directive(node) {\n if (nameSet.delete(node.name.value) && (!all || !nameSet.size)) {\n return BREAK;\n }\n }\n });\n return all ? !nameSet.size : nameSet.size < uniqueCount;\n}\nexport function hasClientExports(document) {\n return document && hasDirectives(['client', 'export'], document, true);\n}\n\nfunction isInclusionDirective(_a) {\n var value = _a.name.value;\n return value === 'skip' || value === 'include';\n}\n\nexport function getInclusionDirectives(directives) {\n var result = [];\n\n if (directives && directives.length) {\n directives.forEach(function (directive) {\n if (!isInclusionDirective(directive)) return;\n var directiveArguments = directive.arguments;\n var directiveName = directive.name.value;\n __DEV__ ? invariant(directiveArguments && directiveArguments.length === 1, \"Incorrect number of arguments for the @\".concat(directiveName, \" directive.\")) : invariant(directiveArguments && directiveArguments.length === 1, 40);\n var ifArgument = directiveArguments[0];\n __DEV__ ? invariant(ifArgument.name && ifArgument.name.value === 'if', \"Invalid argument for the @\".concat(directiveName, \" directive.\")) : invariant(ifArgument.name && ifArgument.name.value === 'if', 41);\n var ifValue = ifArgument.value;\n __DEV__ ? invariant(ifValue && (ifValue.kind === 'Variable' || ifValue.kind === 'BooleanValue'), \"Argument for the @\".concat(directiveName, \" directive must be a variable or a boolean value.\")) : invariant(ifValue && (ifValue.kind === 'Variable' || ifValue.kind === 'BooleanValue'), 42);\n result.push({\n directive: directive,\n ifArgument: ifArgument\n });\n });\n }\n\n return result;\n}","import { InvariantError } from \"../../utilities/globals/index.js\";\nexport var serializeFetchParameter = function serializeFetchParameter(p, label) {\n var serialized;\n\n try {\n serialized = JSON.stringify(p);\n } catch (e) {\n var parseError = __DEV__ ? new InvariantError(\"Network request failed. \".concat(label, \" is not serializable: \").concat(e.message)) : new InvariantError(23);\n parseError.parseError = e;\n throw parseError;\n }\n\n return serialized;\n};","export var selectURI = function selectURI(operation, fallbackURI) {\n var context = operation.getContext();\n var contextURI = context.uri;\n\n if (contextURI) {\n return contextURI;\n } else if (typeof fallbackURI === 'function') {\n return fallbackURI(operation);\n } else {\n return fallbackURI || '/graphql';\n }\n};","import { canUseAsyncIteratorSymbol } from \"../../../utilities/index.js\";\nexport default function nodeStreamIterator(stream) {\n var _cleanup = null;\n var error = null;\n var done = false;\n var data = [];\n var waiting = [];\n\n function onData(chunk) {\n if (error) return;\n\n if (waiting.length) {\n var shiftedArr = waiting.shift();\n\n if (Array.isArray(shiftedArr) && shiftedArr[0]) {\n return shiftedArr[0]({\n value: chunk,\n done: false\n });\n }\n }\n\n data.push(chunk);\n }\n\n function onError(err) {\n error = err;\n var all = waiting.slice();\n all.forEach(function (pair) {\n pair[1](err);\n });\n !_cleanup || _cleanup();\n }\n\n function onEnd() {\n done = true;\n var all = waiting.slice();\n all.forEach(function (pair) {\n pair[0]({\n value: undefined,\n done: true\n });\n });\n !_cleanup || _cleanup();\n }\n\n _cleanup = function cleanup() {\n _cleanup = null;\n stream.removeListener(\"data\", onData);\n stream.removeListener(\"error\", onError);\n stream.removeListener(\"end\", onEnd);\n stream.removeListener(\"finish\", onEnd);\n stream.removeListener(\"close\", onEnd);\n };\n\n stream.on(\"data\", onData);\n stream.on(\"error\", onError);\n stream.on(\"end\", onEnd);\n stream.on(\"finish\", onEnd);\n stream.on(\"close\", onEnd);\n\n function getNext() {\n return new Promise(function (resolve, reject) {\n if (error) return reject(error);\n if (data.length) return resolve({\n value: data.shift(),\n done: false\n });\n if (done) return resolve({\n value: undefined,\n done: true\n });\n waiting.push([resolve, reject]);\n });\n }\n\n var iterator = {\n next: function next() {\n return getNext();\n }\n };\n\n if (canUseAsyncIteratorSymbol) {\n iterator[Symbol.asyncIterator] = function () {\n return this;\n };\n }\n\n return iterator;\n}","import { canUseAsyncIteratorSymbol } from \"../../../utilities/index.js\";\nexport default function readerIterator(reader) {\n var iterator = {\n next: function next() {\n return reader.read();\n }\n };\n\n if (canUseAsyncIteratorSymbol) {\n iterator[Symbol.asyncIterator] = function () {\n return this;\n };\n }\n\n return iterator;\n}","import { isAsyncIterableIterator, isBlob, isNodeResponse, isNodeReadableStream, isReadableStream, isStreamableBlob } from \"../../utilities/common/responseIterator.js\";\nimport asyncIterator from \"./iterators/async.js\";\nimport nodeStreamIterator from \"./iterators/nodeStream.js\";\nimport promiseIterator from \"./iterators/promise.js\";\nimport readerIterator from \"./iterators/reader.js\";\nexport function responseIterator(response) {\n var body = response;\n if (isNodeResponse(response)) body = response.body;\n if (isAsyncIterableIterator(body)) return asyncIterator(body);\n if (isReadableStream(body)) return readerIterator(body.getReader());\n\n if (isStreamableBlob(body)) {\n return readerIterator(body.stream().getReader());\n }\n\n if (isBlob(body)) return promiseIterator(body.arrayBuffer());\n if (isNodeReadableStream(body)) return nodeStreamIterator(body);\n throw new Error(\"Unknown body type for responseIterator. Please pass a streamable response.\");\n}","export default function asyncIterator(source) {\n var _a;\n\n var iterator = source[Symbol.asyncIterator]();\n return _a = {\n next: function next() {\n return iterator.next();\n }\n }, _a[Symbol.asyncIterator] = function () {\n return this;\n }, _a;\n}","import { canUseAsyncIteratorSymbol } from \"./canUse.js\";\nexport function isNodeResponse(value) {\n return !!value.body;\n}\nexport function isReadableStream(value) {\n return !!value.getReader;\n}\nexport function isAsyncIterableIterator(value) {\n return !!(canUseAsyncIteratorSymbol && value[Symbol.asyncIterator]);\n}\nexport function isStreamableBlob(value) {\n return !!value.stream;\n}\nexport function isBlob(value) {\n return !!value.arrayBuffer;\n}\nexport function isNodeReadableStream(value) {\n return !!value.pipe;\n}","import { canUseAsyncIteratorSymbol } from \"../../../utilities/index.js\";\nexport default function promiseIterator(promise) {\n var resolved = false;\n var iterator = {\n next: function next() {\n if (resolved) return Promise.resolve({\n value: undefined,\n done: true\n });\n resolved = true;\n return new Promise(function (resolve, reject) {\n promise.then(function (value) {\n resolve({\n value: value,\n done: false\n });\n }).catch(reject);\n });\n }\n };\n\n if (canUseAsyncIteratorSymbol) {\n iterator[Symbol.asyncIterator] = function () {\n return this;\n };\n }\n\n return iterator;\n}","export var throwServerError = function throwServerError(response, result, message) {\n var error = new Error(message);\n error.name = 'ServerError';\n error.response = response;\n error.statusCode = response.status;\n error.result = result;\n throw error;\n};","import { __awaiter, __generator } from \"tslib\";\nimport { responseIterator } from \"./responseIterator.js\";\nimport { throwServerError } from \"../utils/index.js\";\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nexport function readMultipartBody(response, observer) {\n var _a, _b, _c;\n\n return __awaiter(this, void 0, void 0, function () {\n var decoder, contentType, delimiter, boundaryVal, boundary, buffer, iterator, running, _d, value, done, chunk, bi, message, i, headers, contentType_1, body, result;\n\n var _e;\n\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0:\n if (TextDecoder === undefined) {\n throw new Error(\"TextDecoder must be defined in the environment: please import a polyfill.\");\n }\n\n decoder = new TextDecoder(\"utf-8\");\n contentType = (_a = response.headers) === null || _a === void 0 ? void 0 : _a.get('content-type');\n delimiter = \"boundary=\";\n boundaryVal = (contentType === null || contentType === void 0 ? void 0 : contentType.includes(delimiter)) ? contentType === null || contentType === void 0 ? void 0 : contentType.substring((contentType === null || contentType === void 0 ? void 0 : contentType.indexOf(delimiter)) + delimiter.length).replace(/['\"]/g, \"\").replace(/\\;(.*)/gm, \"\").trim() : \"-\";\n boundary = \"--\".concat(boundaryVal);\n buffer = \"\";\n iterator = responseIterator(response);\n running = true;\n _f.label = 1;\n\n case 1:\n if (!running) return [3, 3];\n return [4, iterator.next()];\n\n case 2:\n _d = _f.sent(), value = _d.value, done = _d.done;\n chunk = typeof value === \"string\" ? value : decoder.decode(value);\n running = !done;\n buffer += chunk;\n bi = buffer.indexOf(boundary);\n\n while (bi > -1) {\n message = void 0;\n _e = [buffer.slice(0, bi), buffer.slice(bi + boundary.length)], message = _e[0], buffer = _e[1];\n\n if (message.trim()) {\n i = message.indexOf(\"\\r\\n\\r\\n\");\n headers = parseHeaders(message.slice(0, i));\n contentType_1 = headers[\"content-type\"];\n\n if (contentType_1 && contentType_1.toLowerCase().indexOf(\"application/json\") === -1) {\n throw new Error(\"Unsupported patch content type: application/json is required.\");\n }\n\n body = message.slice(i);\n\n try {\n result = parseJsonBody(response, body.replace(\"\\r\\n\", \"\"));\n\n if (Object.keys(result).length > 1 || \"data\" in result || \"incremental\" in result || \"errors\" in result) {\n (_b = observer.next) === null || _b === void 0 ? void 0 : _b.call(observer, result);\n }\n } catch (err) {\n handleError(err, observer);\n }\n }\n\n bi = buffer.indexOf(boundary);\n }\n\n return [3, 1];\n\n case 3:\n (_c = observer.complete) === null || _c === void 0 ? void 0 : _c.call(observer);\n return [2];\n }\n });\n });\n}\nexport function parseHeaders(headerText) {\n var headersInit = {};\n headerText.split(\"\\n\").forEach(function (line) {\n var i = line.indexOf(\":\");\n\n if (i > -1) {\n var name_1 = line.slice(0, i).trim().toLowerCase();\n var value = line.slice(i + 1).trim();\n headersInit[name_1] = value;\n }\n });\n return headersInit;\n}\nexport function parseJsonBody(response, bodyText) {\n if (response.status >= 300) {\n var getResult = function getResult() {\n try {\n return JSON.parse(bodyText);\n } catch (err) {\n return bodyText;\n }\n };\n\n throwServerError(response, getResult(), \"Response not successful: Received status code \".concat(response.status));\n }\n\n try {\n return JSON.parse(bodyText);\n } catch (err) {\n var parseError = err;\n parseError.name = \"ServerParseError\";\n parseError.response = response;\n parseError.statusCode = response.status;\n parseError.bodyText = bodyText;\n throw parseError;\n }\n}\nexport function handleError(err, observer) {\n var _a, _b;\n\n if (err.name === \"AbortError\") return;\n\n if (err.result && err.result.errors && err.result.data) {\n (_a = observer.next) === null || _a === void 0 ? void 0 : _a.call(observer, err.result);\n }\n\n (_b = observer.error) === null || _b === void 0 ? void 0 : _b.call(observer, err);\n}\nexport function readJsonBody(response, operation, observer) {\n parseAndCheckHttpResponse(operation)(response).then(function (result) {\n var _a, _b;\n\n (_a = observer.next) === null || _a === void 0 ? void 0 : _a.call(observer, result);\n (_b = observer.complete) === null || _b === void 0 ? void 0 : _b.call(observer);\n }).catch(function (err) {\n return handleError(err, observer);\n });\n}\nexport function parseAndCheckHttpResponse(operations) {\n return function (response) {\n return response.text().then(function (bodyText) {\n return parseJsonBody(response, bodyText);\n }).then(function (result) {\n if (response.status >= 300) {\n throwServerError(response, result, \"Response not successful: Received status code \".concat(response.status));\n }\n\n if (!Array.isArray(result) && !hasOwnProperty.call(result, \"data\") && !hasOwnProperty.call(result, \"errors\")) {\n throwServerError(response, result, \"Server response was missing for query '\".concat(Array.isArray(operations) ? operations.map(function (op) {\n return op.operationName;\n }) : operations.operationName, \"'.\"));\n }\n\n return result;\n });\n };\n}","import { InvariantError } from \"../../utilities/globals/index.js\";\nexport var checkFetcher = function checkFetcher(fetcher) {\n if (!fetcher && typeof fetch === 'undefined') {\n throw __DEV__ ? new InvariantError(\"\\n\\\"fetch\\\" has not been found globally and no fetcher has been configured. To fix this, install a fetch package (like https://www.npmjs.com/package/cross-fetch), instantiate the fetcher, and pass it into your HttpLink constructor. For example:\\n\\nimport fetch from 'cross-fetch';\\nimport { ApolloClient, HttpLink } from '@apollo/client';\\nconst client = new ApolloClient({\\n link: new HttpLink({ uri: '/graphql', fetch })\\n});\\n \") : new InvariantError(22);\n }\n};","import { visit } from \"./visitor.mjs\";\nimport { printBlockString } from \"./blockString.mjs\";\n/**\n * Converts an AST into a string, using one set of reasonable\n * formatting rules.\n */\n\nexport function print(ast) {\n return visit(ast, {\n leave: printDocASTReducer\n });\n}\nvar MAX_LINE_LENGTH = 80; // TODO: provide better type coverage in future\n\nvar printDocASTReducer = {\n Name: function Name(node) {\n return node.value;\n },\n Variable: function Variable(node) {\n return '$' + node.name;\n },\n // Document\n Document: function Document(node) {\n return join(node.definitions, '\\n\\n') + '\\n';\n },\n OperationDefinition: function OperationDefinition(node) {\n var op = node.operation;\n var name = node.name;\n var varDefs = wrap('(', join(node.variableDefinitions, ', '), ')');\n var directives = join(node.directives, ' ');\n var selectionSet = node.selectionSet; // Anonymous queries with no directives or variable definitions can use\n // the query short form.\n\n return !name && !directives && !varDefs && op === 'query' ? selectionSet : join([op, join([name, varDefs]), directives, selectionSet], ' ');\n },\n VariableDefinition: function VariableDefinition(_ref) {\n var variable = _ref.variable,\n type = _ref.type,\n defaultValue = _ref.defaultValue,\n directives = _ref.directives;\n return variable + ': ' + type + wrap(' = ', defaultValue) + wrap(' ', join(directives, ' '));\n },\n SelectionSet: function SelectionSet(_ref2) {\n var selections = _ref2.selections;\n return block(selections);\n },\n Field: function Field(_ref3) {\n var alias = _ref3.alias,\n name = _ref3.name,\n args = _ref3.arguments,\n directives = _ref3.directives,\n selectionSet = _ref3.selectionSet;\n var prefix = wrap('', alias, ': ') + name;\n var argsLine = prefix + wrap('(', join(args, ', '), ')');\n\n if (argsLine.length > MAX_LINE_LENGTH) {\n argsLine = prefix + wrap('(\\n', indent(join(args, '\\n')), '\\n)');\n }\n\n return join([argsLine, join(directives, ' '), selectionSet], ' ');\n },\n Argument: function Argument(_ref4) {\n var name = _ref4.name,\n value = _ref4.value;\n return name + ': ' + value;\n },\n // Fragments\n FragmentSpread: function FragmentSpread(_ref5) {\n var name = _ref5.name,\n directives = _ref5.directives;\n return '...' + name + wrap(' ', join(directives, ' '));\n },\n InlineFragment: function InlineFragment(_ref6) {\n var typeCondition = _ref6.typeCondition,\n directives = _ref6.directives,\n selectionSet = _ref6.selectionSet;\n return join(['...', wrap('on ', typeCondition), join(directives, ' '), selectionSet], ' ');\n },\n FragmentDefinition: function FragmentDefinition(_ref7) {\n var name = _ref7.name,\n typeCondition = _ref7.typeCondition,\n variableDefinitions = _ref7.variableDefinitions,\n directives = _ref7.directives,\n selectionSet = _ref7.selectionSet;\n return (// Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n \"fragment \".concat(name).concat(wrap('(', join(variableDefinitions, ', '), ')'), \" \") + \"on \".concat(typeCondition, \" \").concat(wrap('', join(directives, ' '), ' ')) + selectionSet\n );\n },\n // Value\n IntValue: function IntValue(_ref8) {\n var value = _ref8.value;\n return value;\n },\n FloatValue: function FloatValue(_ref9) {\n var value = _ref9.value;\n return value;\n },\n StringValue: function StringValue(_ref10, key) {\n var value = _ref10.value,\n isBlockString = _ref10.block;\n return isBlockString ? printBlockString(value, key === 'description' ? '' : ' ') : JSON.stringify(value);\n },\n BooleanValue: function BooleanValue(_ref11) {\n var value = _ref11.value;\n return value ? 'true' : 'false';\n },\n NullValue: function NullValue() {\n return 'null';\n },\n EnumValue: function EnumValue(_ref12) {\n var value = _ref12.value;\n return value;\n },\n ListValue: function ListValue(_ref13) {\n var values = _ref13.values;\n return '[' + join(values, ', ') + ']';\n },\n ObjectValue: function ObjectValue(_ref14) {\n var fields = _ref14.fields;\n return '{' + join(fields, ', ') + '}';\n },\n ObjectField: function ObjectField(_ref15) {\n var name = _ref15.name,\n value = _ref15.value;\n return name + ': ' + value;\n },\n // Directive\n Directive: function Directive(_ref16) {\n var name = _ref16.name,\n args = _ref16.arguments;\n return '@' + name + wrap('(', join(args, ', '), ')');\n },\n // Type\n NamedType: function NamedType(_ref17) {\n var name = _ref17.name;\n return name;\n },\n ListType: function ListType(_ref18) {\n var type = _ref18.type;\n return '[' + type + ']';\n },\n NonNullType: function NonNullType(_ref19) {\n var type = _ref19.type;\n return type + '!';\n },\n // Type System Definitions\n SchemaDefinition: addDescription(function (_ref20) {\n var directives = _ref20.directives,\n operationTypes = _ref20.operationTypes;\n return join(['schema', join(directives, ' '), block(operationTypes)], ' ');\n }),\n OperationTypeDefinition: function OperationTypeDefinition(_ref21) {\n var operation = _ref21.operation,\n type = _ref21.type;\n return operation + ': ' + type;\n },\n ScalarTypeDefinition: addDescription(function (_ref22) {\n var name = _ref22.name,\n directives = _ref22.directives;\n return join(['scalar', name, join(directives, ' ')], ' ');\n }),\n ObjectTypeDefinition: addDescription(function (_ref23) {\n var name = _ref23.name,\n interfaces = _ref23.interfaces,\n directives = _ref23.directives,\n fields = _ref23.fields;\n return join(['type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n }),\n FieldDefinition: addDescription(function (_ref24) {\n var name = _ref24.name,\n args = _ref24.arguments,\n type = _ref24.type,\n directives = _ref24.directives;\n return name + (hasMultilineItems(args) ? wrap('(\\n', indent(join(args, '\\n')), '\\n)') : wrap('(', join(args, ', '), ')')) + ': ' + type + wrap(' ', join(directives, ' '));\n }),\n InputValueDefinition: addDescription(function (_ref25) {\n var name = _ref25.name,\n type = _ref25.type,\n defaultValue = _ref25.defaultValue,\n directives = _ref25.directives;\n return join([name + ': ' + type, wrap('= ', defaultValue), join(directives, ' ')], ' ');\n }),\n InterfaceTypeDefinition: addDescription(function (_ref26) {\n var name = _ref26.name,\n interfaces = _ref26.interfaces,\n directives = _ref26.directives,\n fields = _ref26.fields;\n return join(['interface', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n }),\n UnionTypeDefinition: addDescription(function (_ref27) {\n var name = _ref27.name,\n directives = _ref27.directives,\n types = _ref27.types;\n return join(['union', name, join(directives, ' '), types && types.length !== 0 ? '= ' + join(types, ' | ') : ''], ' ');\n }),\n EnumTypeDefinition: addDescription(function (_ref28) {\n var name = _ref28.name,\n directives = _ref28.directives,\n values = _ref28.values;\n return join(['enum', name, join(directives, ' '), block(values)], ' ');\n }),\n EnumValueDefinition: addDescription(function (_ref29) {\n var name = _ref29.name,\n directives = _ref29.directives;\n return join([name, join(directives, ' ')], ' ');\n }),\n InputObjectTypeDefinition: addDescription(function (_ref30) {\n var name = _ref30.name,\n directives = _ref30.directives,\n fields = _ref30.fields;\n return join(['input', name, join(directives, ' '), block(fields)], ' ');\n }),\n DirectiveDefinition: addDescription(function (_ref31) {\n var name = _ref31.name,\n args = _ref31.arguments,\n repeatable = _ref31.repeatable,\n locations = _ref31.locations;\n return 'directive @' + name + (hasMultilineItems(args) ? wrap('(\\n', indent(join(args, '\\n')), '\\n)') : wrap('(', join(args, ', '), ')')) + (repeatable ? ' repeatable' : '') + ' on ' + join(locations, ' | ');\n }),\n SchemaExtension: function SchemaExtension(_ref32) {\n var directives = _ref32.directives,\n operationTypes = _ref32.operationTypes;\n return join(['extend schema', join(directives, ' '), block(operationTypes)], ' ');\n },\n ScalarTypeExtension: function ScalarTypeExtension(_ref33) {\n var name = _ref33.name,\n directives = _ref33.directives;\n return join(['extend scalar', name, join(directives, ' ')], ' ');\n },\n ObjectTypeExtension: function ObjectTypeExtension(_ref34) {\n var name = _ref34.name,\n interfaces = _ref34.interfaces,\n directives = _ref34.directives,\n fields = _ref34.fields;\n return join(['extend type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n },\n InterfaceTypeExtension: function InterfaceTypeExtension(_ref35) {\n var name = _ref35.name,\n interfaces = _ref35.interfaces,\n directives = _ref35.directives,\n fields = _ref35.fields;\n return join(['extend interface', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n },\n UnionTypeExtension: function UnionTypeExtension(_ref36) {\n var name = _ref36.name,\n directives = _ref36.directives,\n types = _ref36.types;\n return join(['extend union', name, join(directives, ' '), types && types.length !== 0 ? '= ' + join(types, ' | ') : ''], ' ');\n },\n EnumTypeExtension: function EnumTypeExtension(_ref37) {\n var name = _ref37.name,\n directives = _ref37.directives,\n values = _ref37.values;\n return join(['extend enum', name, join(directives, ' '), block(values)], ' ');\n },\n InputObjectTypeExtension: function InputObjectTypeExtension(_ref38) {\n var name = _ref38.name,\n directives = _ref38.directives,\n fields = _ref38.fields;\n return join(['extend input', name, join(directives, ' '), block(fields)], ' ');\n }\n};\n\nfunction addDescription(cb) {\n return function (node) {\n return join([node.description, cb(node)], '\\n');\n };\n}\n/**\n * Given maybeArray, print an empty string if it is null or empty, otherwise\n * print all items together separated by separator if provided\n */\n\n\nfunction join(maybeArray) {\n var _maybeArray$filter$jo;\n\n var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return (_maybeArray$filter$jo = maybeArray === null || maybeArray === void 0 ? void 0 : maybeArray.filter(function (x) {\n return x;\n }).join(separator)) !== null && _maybeArray$filter$jo !== void 0 ? _maybeArray$filter$jo : '';\n}\n/**\n * Given array, print each item on its own line, wrapped in an\n * indented \"{ }\" block.\n */\n\n\nfunction block(array) {\n return wrap('{\\n', indent(join(array, '\\n')), '\\n}');\n}\n/**\n * If maybeString is not null or empty, then wrap with start and end, otherwise print an empty string.\n */\n\n\nfunction wrap(start, maybeString) {\n var end = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n return maybeString != null && maybeString !== '' ? start + maybeString + end : '';\n}\n\nfunction indent(str) {\n return wrap(' ', str.replace(/\\n/g, '\\n '));\n}\n\nfunction isMultiline(str) {\n return str.indexOf('\\n') !== -1;\n}\n\nfunction hasMultilineItems(maybeArray) {\n return maybeArray != null && maybeArray.some(isMultiline);\n}","import { __assign, __spreadArray } from \"tslib\";\nimport { print } from 'graphql';\n;\nvar defaultHttpOptions = {\n includeQuery: true,\n includeExtensions: false,\n preserveHeaderCase: false\n};\nvar defaultHeaders = {\n accept: '*/*',\n 'content-type': 'application/json'\n};\nvar defaultOptions = {\n method: 'POST'\n};\nexport var fallbackHttpConfig = {\n http: defaultHttpOptions,\n headers: defaultHeaders,\n options: defaultOptions\n};\nexport var defaultPrinter = function defaultPrinter(ast, printer) {\n return printer(ast);\n};\nexport function selectHttpOptionsAndBody(operation, fallbackConfig) {\n var configs = [];\n\n for (var _i = 2; _i < arguments.length; _i++) {\n configs[_i - 2] = arguments[_i];\n }\n\n configs.unshift(fallbackConfig);\n return selectHttpOptionsAndBodyInternal.apply(void 0, __spreadArray([operation, defaultPrinter], configs, false));\n}\nexport function selectHttpOptionsAndBodyInternal(operation, printer) {\n var configs = [];\n\n for (var _i = 2; _i < arguments.length; _i++) {\n configs[_i - 2] = arguments[_i];\n }\n\n var options = {};\n var http = {};\n configs.forEach(function (config) {\n options = __assign(__assign(__assign({}, options), config.options), {\n headers: __assign(__assign({}, options.headers), config.headers)\n });\n\n if (config.credentials) {\n options.credentials = config.credentials;\n }\n\n http = __assign(__assign({}, http), config.http);\n });\n options.headers = removeDuplicateHeaders(options.headers, http.preserveHeaderCase);\n var operationName = operation.operationName,\n extensions = operation.extensions,\n variables = operation.variables,\n query = operation.query;\n var body = {\n operationName: operationName,\n variables: variables\n };\n if (http.includeExtensions) body.extensions = extensions;\n if (http.includeQuery) body.query = printer(query, print);\n return {\n options: options,\n body: body\n };\n}\n;\n\nfunction removeDuplicateHeaders(headers, preserveHeaderCase) {\n if (!preserveHeaderCase) {\n var normalizedHeaders_1 = Object.create(null);\n Object.keys(Object(headers)).forEach(function (name) {\n normalizedHeaders_1[name.toLowerCase()] = headers[name];\n });\n return normalizedHeaders_1;\n }\n\n var headerData = Object.create(null);\n Object.keys(Object(headers)).forEach(function (name) {\n headerData[name.toLowerCase()] = {\n originalName: name,\n value: headers[name]\n };\n });\n var normalizedHeaders = Object.create(null);\n Object.keys(headerData).forEach(function (name) {\n normalizedHeaders[headerData[name].originalName] = headerData[name].value;\n });\n return normalizedHeaders;\n}","export var createSignalIfSupported = function createSignalIfSupported() {\n if (typeof AbortController === 'undefined') return {\n controller: false,\n signal: false\n };\n var controller = new AbortController();\n var signal = controller.signal;\n return {\n controller: controller,\n signal: signal\n };\n};","import { Observable } from \"../../utilities/index.js\";\nexport function fromError(errorValue) {\n return new Observable(function (observer) {\n observer.error(errorValue);\n });\n}","import { __assign, __rest } from \"tslib\";\nimport \"../../utilities/globals/index.js\";\nimport { visit } from 'graphql';\nimport { ApolloLink } from \"../core/index.js\";\nimport { Observable, hasDirectives } from \"../../utilities/index.js\";\nimport { serializeFetchParameter } from \"./serializeFetchParameter.js\";\nimport { selectURI } from \"./selectURI.js\";\nimport { handleError, readMultipartBody, readJsonBody } from \"./parseAndCheckHttpResponse.js\";\nimport { checkFetcher } from \"./checkFetcher.js\";\nimport { selectHttpOptionsAndBodyInternal, defaultPrinter, fallbackHttpConfig } from \"./selectHttpOptionsAndBody.js\";\nimport { createSignalIfSupported } from \"./createSignalIfSupported.js\";\nimport { rewriteURIForGET } from \"./rewriteURIForGET.js\";\nimport { fromError } from \"../utils/index.js\";\nimport { maybe } from \"../../utilities/index.js\";\nvar backupFetch = maybe(function () {\n return fetch;\n});\nexport var createHttpLink = function createHttpLink(linkOptions) {\n if (linkOptions === void 0) {\n linkOptions = {};\n }\n\n var _a = linkOptions.uri,\n uri = _a === void 0 ? '/graphql' : _a,\n preferredFetch = linkOptions.fetch,\n _b = linkOptions.print,\n print = _b === void 0 ? defaultPrinter : _b,\n includeExtensions = linkOptions.includeExtensions,\n preserveHeaderCase = linkOptions.preserveHeaderCase,\n useGETForQueries = linkOptions.useGETForQueries,\n _c = linkOptions.includeUnusedVariables,\n includeUnusedVariables = _c === void 0 ? false : _c,\n requestOptions = __rest(linkOptions, [\"uri\", \"fetch\", \"print\", \"includeExtensions\", \"preserveHeaderCase\", \"useGETForQueries\", \"includeUnusedVariables\"]);\n\n if (__DEV__) {\n checkFetcher(preferredFetch || backupFetch);\n }\n\n var linkConfig = {\n http: {\n includeExtensions: includeExtensions,\n preserveHeaderCase: preserveHeaderCase\n },\n options: requestOptions.fetchOptions,\n credentials: requestOptions.credentials,\n headers: requestOptions.headers\n };\n return new ApolloLink(function (operation) {\n var chosenURI = selectURI(operation, uri);\n var context = operation.getContext();\n var clientAwarenessHeaders = {};\n\n if (context.clientAwareness) {\n var _a = context.clientAwareness,\n name_1 = _a.name,\n version = _a.version;\n\n if (name_1) {\n clientAwarenessHeaders['apollographql-client-name'] = name_1;\n }\n\n if (version) {\n clientAwarenessHeaders['apollographql-client-version'] = version;\n }\n }\n\n var contextHeaders = __assign(__assign({}, clientAwarenessHeaders), context.headers);\n\n var contextConfig = {\n http: context.http,\n options: context.fetchOptions,\n credentials: context.credentials,\n headers: contextHeaders\n };\n\n var _b = selectHttpOptionsAndBodyInternal(operation, print, fallbackHttpConfig, linkConfig, contextConfig),\n options = _b.options,\n body = _b.body;\n\n if (body.variables && !includeUnusedVariables) {\n var unusedNames_1 = new Set(Object.keys(body.variables));\n visit(operation.query, {\n Variable: function Variable(node, _key, parent) {\n if (parent && parent.kind !== 'VariableDefinition') {\n unusedNames_1.delete(node.name.value);\n }\n }\n });\n\n if (unusedNames_1.size) {\n body.variables = __assign({}, body.variables);\n unusedNames_1.forEach(function (name) {\n delete body.variables[name];\n });\n }\n }\n\n var controller;\n\n if (!options.signal) {\n var _c = createSignalIfSupported(),\n _controller = _c.controller,\n signal = _c.signal;\n\n controller = _controller;\n if (controller) options.signal = signal;\n }\n\n var definitionIsMutation = function definitionIsMutation(d) {\n return d.kind === 'OperationDefinition' && d.operation === 'mutation';\n };\n\n if (useGETForQueries && !operation.query.definitions.some(definitionIsMutation)) {\n options.method = 'GET';\n }\n\n if (hasDirectives(['defer'], operation.query)) {\n options.headers.accept = \"multipart/mixed; deferSpec=20220824, application/json\";\n }\n\n if (options.method === 'GET') {\n var _d = rewriteURIForGET(chosenURI, body),\n newURI = _d.newURI,\n parseError = _d.parseError;\n\n if (parseError) {\n return fromError(parseError);\n }\n\n chosenURI = newURI;\n } else {\n try {\n options.body = serializeFetchParameter(body, 'Payload');\n } catch (parseError) {\n return fromError(parseError);\n }\n }\n\n return new Observable(function (observer) {\n var currentFetch = preferredFetch || maybe(function () {\n return fetch;\n }) || backupFetch;\n currentFetch(chosenURI, options).then(function (response) {\n var _a;\n\n operation.setContext({\n response: response\n });\n var ctype = (_a = response.headers) === null || _a === void 0 ? void 0 : _a.get('content-type');\n\n if (ctype !== null && /^multipart\\/mixed/i.test(ctype)) {\n return readMultipartBody(response, observer);\n } else {\n return readJsonBody(response, operation, observer);\n }\n }).catch(function (err) {\n return handleError(err, observer);\n });\n return function () {\n if (controller) controller.abort();\n };\n });\n });\n};","import { serializeFetchParameter } from \"./serializeFetchParameter.js\";\nexport function rewriteURIForGET(chosenURI, body) {\n var queryParams = [];\n\n var addQueryParam = function addQueryParam(key, value) {\n queryParams.push(\"\".concat(key, \"=\").concat(encodeURIComponent(value)));\n };\n\n if ('query' in body) {\n addQueryParam('query', body.query);\n }\n\n if (body.operationName) {\n addQueryParam('operationName', body.operationName);\n }\n\n if (body.variables) {\n var serializedVariables = void 0;\n\n try {\n serializedVariables = serializeFetchParameter(body.variables, 'Variables map');\n } catch (parseError) {\n return {\n parseError: parseError\n };\n }\n\n addQueryParam('variables', serializedVariables);\n }\n\n if (body.extensions) {\n var serializedExtensions = void 0;\n\n try {\n serializedExtensions = serializeFetchParameter(body.extensions, 'Extensions map');\n } catch (parseError) {\n return {\n parseError: parseError\n };\n }\n\n addQueryParam('extensions', serializedExtensions);\n }\n\n var fragment = '',\n preFragment = chosenURI;\n var fragmentStart = chosenURI.indexOf('#');\n\n if (fragmentStart !== -1) {\n fragment = chosenURI.substr(fragmentStart);\n preFragment = chosenURI.substr(0, fragmentStart);\n }\n\n var queryParamsPrefix = preFragment.indexOf('?') === -1 ? '?' : '&';\n var newURI = preFragment + queryParamsPrefix + queryParams.join('&') + fragment;\n return {\n newURI: newURI\n };\n}","import { __extends } from \"tslib\";\nimport { ApolloLink } from \"../core/index.js\";\nimport { createHttpLink } from \"./createHttpLink.js\";\n\nvar HttpLink = function (_super) {\n __extends(HttpLink, _super);\n\n function HttpLink(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _this = _super.call(this, createHttpLink(options).request) || this;\n\n _this.options = options;\n return _this;\n }\n\n return HttpLink;\n}(ApolloLink);\n\nexport { HttpLink };","import { __assign, __spreadArray } from \"tslib\";\nimport { isNonNullObject } from \"./objects.js\";\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nexport function mergeDeep() {\n var sources = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n sources[_i] = arguments[_i];\n }\n\n return mergeDeepArray(sources);\n}\nexport function mergeDeepArray(sources) {\n var target = sources[0] || {};\n var count = sources.length;\n\n if (count > 1) {\n var merger = new DeepMerger();\n\n for (var i = 1; i < count; ++i) {\n target = merger.merge(target, sources[i]);\n }\n }\n\n return target;\n}\n\nvar defaultReconciler = function defaultReconciler(target, source, property) {\n return this.merge(target[property], source[property]);\n};\n\nvar DeepMerger = function () {\n function DeepMerger(reconciler) {\n if (reconciler === void 0) {\n reconciler = defaultReconciler;\n }\n\n this.reconciler = reconciler;\n this.isObject = isNonNullObject;\n this.pastCopies = new Set();\n }\n\n DeepMerger.prototype.merge = function (target, source) {\n var _this = this;\n\n var context = [];\n\n for (var _i = 2; _i < arguments.length; _i++) {\n context[_i - 2] = arguments[_i];\n }\n\n if (isNonNullObject(source) && isNonNullObject(target)) {\n Object.keys(source).forEach(function (sourceKey) {\n if (hasOwnProperty.call(target, sourceKey)) {\n var targetValue = target[sourceKey];\n\n if (source[sourceKey] !== targetValue) {\n var result = _this.reconciler.apply(_this, __spreadArray([target, source, sourceKey], context, false));\n\n if (result !== targetValue) {\n target = _this.shallowCopyForMerge(target);\n target[sourceKey] = result;\n }\n }\n } else {\n target = _this.shallowCopyForMerge(target);\n target[sourceKey] = source[sourceKey];\n }\n });\n return target;\n }\n\n return source;\n };\n\n DeepMerger.prototype.shallowCopyForMerge = function (value) {\n if (isNonNullObject(value)) {\n if (!this.pastCopies.has(value)) {\n if (Array.isArray(value)) {\n value = value.slice(0);\n } else {\n value = __assign({\n __proto__: Object.getPrototypeOf(value)\n }, value);\n }\n\n this.pastCopies.add(value);\n }\n }\n\n return value;\n };\n\n return DeepMerger;\n}();\n\nexport { DeepMerger };","import { isReference, isField, DeepMerger, resultKeyNameFromField, shouldInclude, isNonNullObject, compact, createFragmentMap, getFragmentDefinitions } from \"../../utilities/index.js\";\nexport var hasOwn = Object.prototype.hasOwnProperty;\nexport function isNullish(value) {\n return value === null || value === void 0;\n}\nexport var isArray = Array.isArray;\nexport function defaultDataIdFromObject(_a, context) {\n var __typename = _a.__typename,\n id = _a.id,\n _id = _a._id;\n\n if (typeof __typename === \"string\") {\n if (context) {\n context.keyObject = !isNullish(id) ? {\n id: id\n } : !isNullish(_id) ? {\n _id: _id\n } : void 0;\n }\n\n if (isNullish(id) && !isNullish(_id)) {\n id = _id;\n }\n\n if (!isNullish(id)) {\n return \"\".concat(__typename, \":\").concat(typeof id === \"number\" || typeof id === \"string\" ? id : JSON.stringify(id));\n }\n }\n}\nvar defaultConfig = {\n dataIdFromObject: defaultDataIdFromObject,\n addTypename: true,\n resultCaching: true,\n canonizeResults: false\n};\nexport function normalizeConfig(config) {\n return compact(defaultConfig, config);\n}\nexport function shouldCanonizeResults(config) {\n var value = config.canonizeResults;\n return value === void 0 ? defaultConfig.canonizeResults : value;\n}\nexport function getTypenameFromStoreObject(store, objectOrReference) {\n return isReference(objectOrReference) ? store.get(objectOrReference.__ref, \"__typename\") : objectOrReference && objectOrReference.__typename;\n}\nexport var TypeOrFieldNameRegExp = /^[_a-z][_0-9a-z]*/i;\nexport function fieldNameFromStoreName(storeFieldName) {\n var match = storeFieldName.match(TypeOrFieldNameRegExp);\n return match ? match[0] : storeFieldName;\n}\nexport function selectionSetMatchesResult(selectionSet, result, variables) {\n if (isNonNullObject(result)) {\n return isArray(result) ? result.every(function (item) {\n return selectionSetMatchesResult(selectionSet, item, variables);\n }) : selectionSet.selections.every(function (field) {\n if (isField(field) && shouldInclude(field, variables)) {\n var key = resultKeyNameFromField(field);\n return hasOwn.call(result, key) && (!field.selectionSet || selectionSetMatchesResult(field.selectionSet, result[key], variables));\n }\n\n return true;\n });\n }\n\n return false;\n}\nexport function storeValueIsStoreObject(value) {\n return isNonNullObject(value) && !isReference(value) && !isArray(value);\n}\nexport function makeProcessedFieldsMerger() {\n return new DeepMerger();\n}\nexport function extractFragmentContext(document, fragments) {\n var fragmentMap = createFragmentMap(getFragmentDefinitions(document));\n return {\n fragmentMap: fragmentMap,\n lookupFragment: function lookupFragment(name) {\n var def = fragmentMap[name];\n\n if (!def && fragments) {\n def = fragments.lookup(name);\n }\n\n return def || null;\n }\n };\n}","import { __assign } from \"tslib\";\nimport \"../../utilities/globals/index.js\";\nimport { Trie } from \"@wry/trie\";\nimport { canUseWeakMap, canUseWeakSet, isNonNullObject as isObjectOrArray } from \"../../utilities/index.js\";\nimport { isArray } from \"./helpers.js\";\n\nfunction shallowCopy(value) {\n if (isObjectOrArray(value)) {\n return isArray(value) ? value.slice(0) : __assign({\n __proto__: Object.getPrototypeOf(value)\n }, value);\n }\n\n return value;\n}\n\nvar ObjectCanon = function () {\n function ObjectCanon() {\n this.known = new (canUseWeakSet ? WeakSet : Set)();\n this.pool = new Trie(canUseWeakMap);\n this.passes = new WeakMap();\n this.keysByJSON = new Map();\n this.empty = this.admit({});\n }\n\n ObjectCanon.prototype.isKnown = function (value) {\n return isObjectOrArray(value) && this.known.has(value);\n };\n\n ObjectCanon.prototype.pass = function (value) {\n if (isObjectOrArray(value)) {\n var copy = shallowCopy(value);\n this.passes.set(copy, value);\n return copy;\n }\n\n return value;\n };\n\n ObjectCanon.prototype.admit = function (value) {\n var _this = this;\n\n if (isObjectOrArray(value)) {\n var original = this.passes.get(value);\n if (original) return original;\n var proto = Object.getPrototypeOf(value);\n\n switch (proto) {\n case Array.prototype:\n {\n if (this.known.has(value)) return value;\n var array = value.map(this.admit, this);\n var node = this.pool.lookupArray(array);\n\n if (!node.array) {\n this.known.add(node.array = array);\n\n if (__DEV__) {\n Object.freeze(array);\n }\n }\n\n return node.array;\n }\n\n case null:\n case Object.prototype:\n {\n if (this.known.has(value)) return value;\n var proto_1 = Object.getPrototypeOf(value);\n var array_1 = [proto_1];\n var keys = this.sortedKeys(value);\n array_1.push(keys.json);\n var firstValueIndex_1 = array_1.length;\n keys.sorted.forEach(function (key) {\n array_1.push(_this.admit(value[key]));\n });\n var node = this.pool.lookupArray(array_1);\n\n if (!node.object) {\n var obj_1 = node.object = Object.create(proto_1);\n this.known.add(obj_1);\n keys.sorted.forEach(function (key, i) {\n obj_1[key] = array_1[firstValueIndex_1 + i];\n });\n\n if (__DEV__) {\n Object.freeze(obj_1);\n }\n }\n\n return node.object;\n }\n }\n }\n\n return value;\n };\n\n ObjectCanon.prototype.sortedKeys = function (obj) {\n var keys = Object.keys(obj);\n var node = this.pool.lookupArray(keys);\n\n if (!node.keys) {\n keys.sort();\n var json = JSON.stringify(keys);\n\n if (!(node.keys = this.keysByJSON.get(json))) {\n this.keysByJSON.set(json, node.keys = {\n sorted: keys,\n json: json\n });\n }\n }\n\n return node.keys;\n };\n\n return ObjectCanon;\n}();\n\nexport { ObjectCanon };\nexport var canonicalStringify = Object.assign(function (value) {\n if (isObjectOrArray(value)) {\n if (stringifyCanon === void 0) {\n resetCanonicalStringify();\n }\n\n var canonical = stringifyCanon.admit(value);\n var json = stringifyCache.get(canonical);\n\n if (json === void 0) {\n stringifyCache.set(canonical, json = JSON.stringify(canonical));\n }\n\n return json;\n }\n\n return JSON.stringify(value);\n}, {\n reset: resetCanonicalStringify\n});\nvar stringifyCanon;\nvar stringifyCache;\n\nfunction resetCanonicalStringify() {\n stringifyCanon = new ObjectCanon();\n stringifyCache = new (canUseWeakMap ? WeakMap : Map)();\n}","import { Observable } from \"./Observable.js\";\nexport function asyncMap(observable, mapFn, catchFn) {\n return new Observable(function (observer) {\n var next = observer.next,\n error = observer.error,\n _complete = observer.complete;\n var activeCallbackCount = 0;\n var completed = false;\n var promiseQueue = {\n then: function then(callback) {\n return new Promise(function (resolve) {\n return resolve(callback());\n });\n }\n };\n\n function makeCallback(examiner, delegate) {\n if (examiner) {\n return function (arg) {\n ++activeCallbackCount;\n\n var both = function both() {\n return examiner(arg);\n };\n\n promiseQueue = promiseQueue.then(both, both).then(function (result) {\n --activeCallbackCount;\n next && next.call(observer, result);\n\n if (completed) {\n handler.complete();\n }\n }, function (error) {\n --activeCallbackCount;\n throw error;\n }).catch(function (caught) {\n error && error.call(observer, caught);\n });\n };\n } else {\n return function (arg) {\n return delegate && delegate.call(observer, arg);\n };\n }\n }\n\n var handler = {\n next: makeCallback(mapFn, next),\n error: makeCallback(catchFn, error),\n complete: function complete() {\n completed = true;\n\n if (!activeCallbackCount) {\n _complete && _complete.call(observer);\n }\n }\n };\n var sub = observable.subscribe(handler);\n return function () {\n return sub.unsubscribe();\n };\n });\n}","export function graphQLResultHasError(result) {\n return result.errors && result.errors.length > 0 || false;\n}","export function filterInPlace(array, test, context) {\n var target = 0;\n array.forEach(function (elem, i) {\n if (test.call(this, elem, i, array)) {\n array[target++] = elem;\n }\n }, context);\n array.length = target;\n return array;\n}","import { __assign, __spreadArray } from \"tslib\";\nimport { invariant } from \"../globals/index.js\";\nimport { visit } from 'graphql';\nimport { checkDocument, getOperationDefinition, getFragmentDefinition, getFragmentDefinitions, getMainDefinition } from \"./getFromAST.js\";\nimport { filterInPlace } from \"../common/filterInPlace.js\";\nimport { isField, isInlineFragment } from \"./storeUtils.js\";\nimport { createFragmentMap } from \"./fragments.js\";\nvar TYPENAME_FIELD = {\n kind: 'Field',\n name: {\n kind: 'Name',\n value: '__typename'\n }\n};\n\nfunction isEmpty(op, fragmentMap) {\n return !op || op.selectionSet.selections.every(function (selection) {\n return selection.kind === 'FragmentSpread' && isEmpty(fragmentMap[selection.name.value], fragmentMap);\n });\n}\n\nfunction nullIfDocIsEmpty(doc) {\n return isEmpty(getOperationDefinition(doc) || getFragmentDefinition(doc), createFragmentMap(getFragmentDefinitions(doc))) ? null : doc;\n}\n\nfunction getDirectiveMatcher(directives) {\n return function directiveMatcher(directive) {\n return directives.some(function (dir) {\n return dir.name && dir.name === directive.name.value || dir.test && dir.test(directive);\n });\n };\n}\n\nexport function removeDirectivesFromDocument(directives, doc) {\n var variablesInUse = Object.create(null);\n var variablesToRemove = [];\n var fragmentSpreadsInUse = Object.create(null);\n var fragmentSpreadsToRemove = [];\n var modifiedDoc = nullIfDocIsEmpty(visit(doc, {\n Variable: {\n enter: function enter(node, _key, parent) {\n if (parent.kind !== 'VariableDefinition') {\n variablesInUse[node.name.value] = true;\n }\n }\n },\n Field: {\n enter: function enter(node) {\n if (directives && node.directives) {\n var shouldRemoveField = directives.some(function (directive) {\n return directive.remove;\n });\n\n if (shouldRemoveField && node.directives && node.directives.some(getDirectiveMatcher(directives))) {\n if (node.arguments) {\n node.arguments.forEach(function (arg) {\n if (arg.value.kind === 'Variable') {\n variablesToRemove.push({\n name: arg.value.name.value\n });\n }\n });\n }\n\n if (node.selectionSet) {\n getAllFragmentSpreadsFromSelectionSet(node.selectionSet).forEach(function (frag) {\n fragmentSpreadsToRemove.push({\n name: frag.name.value\n });\n });\n }\n\n return null;\n }\n }\n }\n },\n FragmentSpread: {\n enter: function enter(node) {\n fragmentSpreadsInUse[node.name.value] = true;\n }\n },\n Directive: {\n enter: function enter(node) {\n if (getDirectiveMatcher(directives)(node)) {\n return null;\n }\n }\n }\n }));\n\n if (modifiedDoc && filterInPlace(variablesToRemove, function (v) {\n return !!v.name && !variablesInUse[v.name];\n }).length) {\n modifiedDoc = removeArgumentsFromDocument(variablesToRemove, modifiedDoc);\n }\n\n if (modifiedDoc && filterInPlace(fragmentSpreadsToRemove, function (fs) {\n return !!fs.name && !fragmentSpreadsInUse[fs.name];\n }).length) {\n modifiedDoc = removeFragmentSpreadFromDocument(fragmentSpreadsToRemove, modifiedDoc);\n }\n\n return modifiedDoc;\n}\nexport var addTypenameToDocument = Object.assign(function (doc) {\n return visit(doc, {\n SelectionSet: {\n enter: function enter(node, _key, parent) {\n if (parent && parent.kind === 'OperationDefinition') {\n return;\n }\n\n var selections = node.selections;\n\n if (!selections) {\n return;\n }\n\n var skip = selections.some(function (selection) {\n return isField(selection) && (selection.name.value === '__typename' || selection.name.value.lastIndexOf('__', 0) === 0);\n });\n\n if (skip) {\n return;\n }\n\n var field = parent;\n\n if (isField(field) && field.directives && field.directives.some(function (d) {\n return d.name.value === 'export';\n })) {\n return;\n }\n\n return __assign(__assign({}, node), {\n selections: __spreadArray(__spreadArray([], selections, true), [TYPENAME_FIELD], false)\n });\n }\n }\n });\n}, {\n added: function added(field) {\n return field === TYPENAME_FIELD;\n }\n});\nvar connectionRemoveConfig = {\n test: function test(directive) {\n var willRemove = directive.name.value === 'connection';\n\n if (willRemove) {\n if (!directive.arguments || !directive.arguments.some(function (arg) {\n return arg.name.value === 'key';\n })) {\n __DEV__ && invariant.warn('Removing an @connection directive even though it does not have a key. ' + 'You may want to use the key parameter to specify a store key.');\n }\n }\n\n return willRemove;\n }\n};\nexport function removeConnectionDirectiveFromDocument(doc) {\n return removeDirectivesFromDocument([connectionRemoveConfig], checkDocument(doc));\n}\n\nfunction hasDirectivesInSelectionSet(directives, selectionSet, nestedCheck) {\n if (nestedCheck === void 0) {\n nestedCheck = true;\n }\n\n return !!selectionSet && selectionSet.selections && selectionSet.selections.some(function (selection) {\n return hasDirectivesInSelection(directives, selection, nestedCheck);\n });\n}\n\nfunction hasDirectivesInSelection(directives, selection, nestedCheck) {\n if (nestedCheck === void 0) {\n nestedCheck = true;\n }\n\n if (!isField(selection)) {\n return true;\n }\n\n if (!selection.directives) {\n return false;\n }\n\n return selection.directives.some(getDirectiveMatcher(directives)) || nestedCheck && hasDirectivesInSelectionSet(directives, selection.selectionSet, nestedCheck);\n}\n\nfunction getArgumentMatcher(config) {\n return function argumentMatcher(argument) {\n return config.some(function (aConfig) {\n return argument.value && argument.value.kind === 'Variable' && argument.value.name && (aConfig.name === argument.value.name.value || aConfig.test && aConfig.test(argument));\n });\n };\n}\n\nexport function removeArgumentsFromDocument(config, doc) {\n var argMatcher = getArgumentMatcher(config);\n return nullIfDocIsEmpty(visit(doc, {\n OperationDefinition: {\n enter: function enter(node) {\n return __assign(__assign({}, node), {\n variableDefinitions: node.variableDefinitions ? node.variableDefinitions.filter(function (varDef) {\n return !config.some(function (arg) {\n return arg.name === varDef.variable.name.value;\n });\n }) : []\n });\n }\n },\n Field: {\n enter: function enter(node) {\n var shouldRemoveField = config.some(function (argConfig) {\n return argConfig.remove;\n });\n\n if (shouldRemoveField) {\n var argMatchCount_1 = 0;\n\n if (node.arguments) {\n node.arguments.forEach(function (arg) {\n if (argMatcher(arg)) {\n argMatchCount_1 += 1;\n }\n });\n }\n\n if (argMatchCount_1 === 1) {\n return null;\n }\n }\n }\n },\n Argument: {\n enter: function enter(node) {\n if (argMatcher(node)) {\n return null;\n }\n }\n }\n }));\n}\nexport function removeFragmentSpreadFromDocument(config, doc) {\n function enter(node) {\n if (config.some(function (def) {\n return def.name === node.name.value;\n })) {\n return null;\n }\n }\n\n return nullIfDocIsEmpty(visit(doc, {\n FragmentSpread: {\n enter: enter\n },\n FragmentDefinition: {\n enter: enter\n }\n }));\n}\n\nfunction getAllFragmentSpreadsFromSelectionSet(selectionSet) {\n var allFragments = [];\n selectionSet.selections.forEach(function (selection) {\n if ((isField(selection) || isInlineFragment(selection)) && selection.selectionSet) {\n getAllFragmentSpreadsFromSelectionSet(selection.selectionSet).forEach(function (frag) {\n return allFragments.push(frag);\n });\n } else if (selection.kind === 'FragmentSpread') {\n allFragments.push(selection);\n }\n });\n return allFragments;\n}\n\nexport function buildQueryFromSelectionSet(document) {\n var definition = getMainDefinition(document);\n var definitionOperation = definition.operation;\n\n if (definitionOperation === 'query') {\n return document;\n }\n\n var modifiedDoc = visit(document, {\n OperationDefinition: {\n enter: function enter(node) {\n return __assign(__assign({}, node), {\n operation: 'query'\n });\n }\n }\n });\n return modifiedDoc;\n}\nexport function removeClientSetsFromDocument(document) {\n checkDocument(document);\n var modifiedDoc = removeDirectivesFromDocument([{\n test: function test(directive) {\n return directive.name.value === 'client';\n },\n remove: true\n }], document);\n\n if (modifiedDoc) {\n modifiedDoc = visit(modifiedDoc, {\n FragmentDefinition: {\n enter: function enter(node) {\n if (node.selectionSet) {\n var isTypenameOnly = node.selectionSet.selections.every(function (selection) {\n return isField(selection) && selection.name.value === '__typename';\n });\n\n if (isTypenameOnly) {\n return null;\n }\n }\n }\n }\n });\n }\n\n return modifiedDoc;\n}","var prefixCounts = new Map();\nexport function makeUniqueId(prefix) {\n var count = prefixCounts.get(prefix) || 1;\n prefixCounts.set(prefix, count + 1);\n return \"\".concat(prefix, \":\").concat(count, \":\").concat(Math.random().toString(36).slice(2));\n}","export function iterateObserversSafely(observers, method, argument) {\n var observersWithMethod = [];\n observers.forEach(function (obs) {\n return obs[method] && observersWithMethod.push(obs);\n });\n observersWithMethod.forEach(function (obs) {\n return obs[method](argument);\n });\n}","import { Observable } from \"./Observable.js\";\nimport { canUseSymbol } from \"../common/canUse.js\";\nexport function fixObservableSubclass(subclass) {\n function set(key) {\n Object.defineProperty(subclass, key, {\n value: Observable\n });\n }\n\n if (canUseSymbol && Symbol.species) {\n set(Symbol.species);\n }\n\n set(\"@@species\");\n return subclass;\n}","import { __extends } from \"tslib\";\nimport { Observable } from \"./Observable.js\";\nimport { iterateObserversSafely } from \"./iteration.js\";\nimport { fixObservableSubclass } from \"./subclassing.js\";\n\nfunction isPromiseLike(value) {\n return value && typeof value.then === \"function\";\n}\n\nvar Concast = function (_super) {\n __extends(Concast, _super);\n\n function Concast(sources) {\n var _this = _super.call(this, function (observer) {\n _this.addObserver(observer);\n\n return function () {\n return _this.removeObserver(observer);\n };\n }) || this;\n\n _this.observers = new Set();\n _this.promise = new Promise(function (resolve, reject) {\n _this.resolve = resolve;\n _this.reject = reject;\n });\n _this.handlers = {\n next: function next(result) {\n if (_this.sub !== null) {\n _this.latest = [\"next\", result];\n\n _this.notify(\"next\", result);\n\n iterateObserversSafely(_this.observers, \"next\", result);\n }\n },\n error: function error(_error) {\n var sub = _this.sub;\n\n if (sub !== null) {\n if (sub) setTimeout(function () {\n return sub.unsubscribe();\n });\n _this.sub = null;\n _this.latest = [\"error\", _error];\n\n _this.reject(_error);\n\n _this.notify(\"error\", _error);\n\n iterateObserversSafely(_this.observers, \"error\", _error);\n }\n },\n complete: function complete() {\n var sub = _this.sub;\n\n if (sub !== null) {\n var value = _this.sources.shift();\n\n if (!value) {\n if (sub) setTimeout(function () {\n return sub.unsubscribe();\n });\n _this.sub = null;\n\n if (_this.latest && _this.latest[0] === \"next\") {\n _this.resolve(_this.latest[1]);\n } else {\n _this.resolve();\n }\n\n _this.notify(\"complete\");\n\n iterateObserversSafely(_this.observers, \"complete\");\n } else if (isPromiseLike(value)) {\n value.then(function (obs) {\n return _this.sub = obs.subscribe(_this.handlers);\n });\n } else {\n _this.sub = value.subscribe(_this.handlers);\n }\n }\n }\n };\n _this.nextResultListeners = new Set();\n\n _this.cancel = function (reason) {\n _this.reject(reason);\n\n _this.sources = [];\n\n _this.handlers.complete();\n };\n\n _this.promise.catch(function (_) {});\n\n if (typeof sources === \"function\") {\n sources = [new Observable(sources)];\n }\n\n if (isPromiseLike(sources)) {\n sources.then(function (iterable) {\n return _this.start(iterable);\n }, _this.handlers.error);\n } else {\n _this.start(sources);\n }\n\n return _this;\n }\n\n Concast.prototype.start = function (sources) {\n if (this.sub !== void 0) return;\n this.sources = Array.from(sources);\n this.handlers.complete();\n };\n\n Concast.prototype.deliverLastMessage = function (observer) {\n if (this.latest) {\n var nextOrError = this.latest[0];\n var method = observer[nextOrError];\n\n if (method) {\n method.call(observer, this.latest[1]);\n }\n\n if (this.sub === null && nextOrError === \"next\" && observer.complete) {\n observer.complete();\n }\n }\n };\n\n Concast.prototype.addObserver = function (observer) {\n if (!this.observers.has(observer)) {\n this.deliverLastMessage(observer);\n this.observers.add(observer);\n }\n };\n\n Concast.prototype.removeObserver = function (observer) {\n if (this.observers.delete(observer) && this.observers.size < 1) {\n this.handlers.complete();\n }\n };\n\n Concast.prototype.notify = function (method, arg) {\n var nextResultListeners = this.nextResultListeners;\n\n if (nextResultListeners.size) {\n this.nextResultListeners = new Set();\n nextResultListeners.forEach(function (listener) {\n return listener(method, arg);\n });\n }\n };\n\n Concast.prototype.beforeNext = function (callback) {\n var called = false;\n this.nextResultListeners.add(function (method, arg) {\n if (!called) {\n called = true;\n callback(method, arg);\n }\n });\n };\n\n return Concast;\n}(Observable);\n\nexport { Concast };\nfixObservableSubclass(Concast);","var toString = Object.prototype.toString;\nexport function cloneDeep(value) {\n return cloneDeepHelper(value);\n}\n\nfunction cloneDeepHelper(val, seen) {\n switch (toString.call(val)) {\n case \"[object Array]\":\n {\n seen = seen || new Map();\n if (seen.has(val)) return seen.get(val);\n var copy_1 = val.slice(0);\n seen.set(val, copy_1);\n copy_1.forEach(function (child, i) {\n copy_1[i] = cloneDeepHelper(child, seen);\n });\n return copy_1;\n }\n\n case \"[object Object]\":\n {\n seen = seen || new Map();\n if (seen.has(val)) return seen.get(val);\n var copy_2 = Object.create(Object.getPrototypeOf(val));\n seen.set(val, copy_2);\n Object.keys(val).forEach(function (key) {\n copy_2[key] = cloneDeepHelper(val[key], seen);\n });\n return copy_2;\n }\n\n default:\n return val;\n }\n}","import { __assign, __extends } from \"tslib\";\nimport { invariant } from \"../utilities/globals/index.js\";\nimport { equal } from '@wry/equality';\nimport { NetworkStatus, isNetworkRequestInFlight } from \"./networkStatus.js\";\nimport { cloneDeep, compact, getOperationDefinition, Observable, iterateObserversSafely, isNonEmptyArray, fixObservableSubclass, getQueryDefinition } from \"../utilities/index.js\";\nvar assign = Object.assign,\n hasOwnProperty = Object.hasOwnProperty;\n\nvar ObservableQuery = function (_super) {\n __extends(ObservableQuery, _super);\n\n function ObservableQuery(_a) {\n var queryManager = _a.queryManager,\n queryInfo = _a.queryInfo,\n options = _a.options;\n\n var _this = _super.call(this, function (observer) {\n try {\n var subObserver = observer._subscription._observer;\n\n if (subObserver && !subObserver.error) {\n subObserver.error = defaultSubscriptionObserverErrorCallback;\n }\n } catch (_a) {}\n\n var first = !_this.observers.size;\n\n _this.observers.add(observer);\n\n var last = _this.last;\n\n if (last && last.error) {\n observer.error && observer.error(last.error);\n } else if (last && last.result) {\n observer.next && observer.next(last.result);\n }\n\n if (first) {\n _this.reobserve().catch(function () {});\n }\n\n return function () {\n if (_this.observers.delete(observer) && !_this.observers.size) {\n _this.tearDownQuery();\n }\n };\n }) || this;\n\n _this.observers = new Set();\n _this.subscriptions = new Set();\n _this.queryInfo = queryInfo;\n _this.queryManager = queryManager;\n _this.isTornDown = false;\n\n var _b = queryManager.defaultOptions.watchQuery,\n _c = _b === void 0 ? {} : _b,\n _d = _c.fetchPolicy,\n defaultFetchPolicy = _d === void 0 ? \"cache-first\" : _d;\n\n var _e = options.fetchPolicy,\n fetchPolicy = _e === void 0 ? defaultFetchPolicy : _e,\n _f = options.initialFetchPolicy,\n initialFetchPolicy = _f === void 0 ? fetchPolicy === \"standby\" ? defaultFetchPolicy : fetchPolicy : _f;\n _this.options = __assign(__assign({}, options), {\n initialFetchPolicy: initialFetchPolicy,\n fetchPolicy: fetchPolicy\n });\n _this.queryId = queryInfo.queryId || queryManager.generateQueryId();\n var opDef = getOperationDefinition(_this.query);\n _this.queryName = opDef && opDef.name && opDef.name.value;\n return _this;\n }\n\n Object.defineProperty(ObservableQuery.prototype, \"query\", {\n get: function get() {\n return this.queryManager.transform(this.options.query).document;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ObservableQuery.prototype, \"variables\", {\n get: function get() {\n return this.options.variables;\n },\n enumerable: false,\n configurable: true\n });\n\n ObservableQuery.prototype.result = function () {\n var _this = this;\n\n return new Promise(function (resolve, reject) {\n var observer = {\n next: function next(result) {\n resolve(result);\n\n _this.observers.delete(observer);\n\n if (!_this.observers.size) {\n _this.queryManager.removeQuery(_this.queryId);\n }\n\n setTimeout(function () {\n subscription.unsubscribe();\n }, 0);\n },\n error: reject\n };\n\n var subscription = _this.subscribe(observer);\n });\n };\n\n ObservableQuery.prototype.getCurrentResult = function (saveAsLastResult) {\n if (saveAsLastResult === void 0) {\n saveAsLastResult = true;\n }\n\n var lastResult = this.getLastResult(true);\n var networkStatus = this.queryInfo.networkStatus || lastResult && lastResult.networkStatus || NetworkStatus.ready;\n\n var result = __assign(__assign({}, lastResult), {\n loading: isNetworkRequestInFlight(networkStatus),\n networkStatus: networkStatus\n });\n\n var _a = this.options.fetchPolicy,\n fetchPolicy = _a === void 0 ? \"cache-first\" : _a;\n\n if (fetchPolicy === 'network-only' || fetchPolicy === 'no-cache' || fetchPolicy === 'standby' || this.queryManager.transform(this.options.query).hasForcedResolvers) {} else {\n var diff = this.queryInfo.getDiff();\n\n if (diff.complete || this.options.returnPartialData) {\n result.data = diff.result;\n }\n\n if (equal(result.data, {})) {\n result.data = void 0;\n }\n\n if (diff.complete) {\n delete result.partial;\n\n if (diff.complete && result.networkStatus === NetworkStatus.loading && (fetchPolicy === 'cache-first' || fetchPolicy === 'cache-only')) {\n result.networkStatus = NetworkStatus.ready;\n result.loading = false;\n }\n } else {\n result.partial = true;\n }\n\n if (__DEV__ && !diff.complete && !this.options.partialRefetch && !result.loading && !result.data && !result.error) {\n logMissingFieldErrors(diff.missing);\n }\n }\n\n if (saveAsLastResult) {\n this.updateLastResult(result);\n }\n\n return result;\n };\n\n ObservableQuery.prototype.isDifferentFromLastResult = function (newResult, variables) {\n return !this.last || !equal(this.last.result, newResult) || variables && !equal(this.last.variables, variables);\n };\n\n ObservableQuery.prototype.getLast = function (key, variablesMustMatch) {\n var last = this.last;\n\n if (last && last[key] && (!variablesMustMatch || equal(last.variables, this.variables))) {\n return last[key];\n }\n };\n\n ObservableQuery.prototype.getLastResult = function (variablesMustMatch) {\n return this.getLast(\"result\", variablesMustMatch);\n };\n\n ObservableQuery.prototype.getLastError = function (variablesMustMatch) {\n return this.getLast(\"error\", variablesMustMatch);\n };\n\n ObservableQuery.prototype.resetLastResults = function () {\n delete this.last;\n this.isTornDown = false;\n };\n\n ObservableQuery.prototype.resetQueryStoreErrors = function () {\n this.queryManager.resetErrors(this.queryId);\n };\n\n ObservableQuery.prototype.refetch = function (variables) {\n var _a;\n\n var reobserveOptions = {\n pollInterval: 0\n };\n var fetchPolicy = this.options.fetchPolicy;\n\n if (fetchPolicy === 'cache-and-network') {\n reobserveOptions.fetchPolicy = fetchPolicy;\n } else if (fetchPolicy === 'no-cache') {\n reobserveOptions.fetchPolicy = 'no-cache';\n } else {\n reobserveOptions.fetchPolicy = 'network-only';\n }\n\n if (__DEV__ && variables && hasOwnProperty.call(variables, \"variables\")) {\n var queryDef = getQueryDefinition(this.query);\n var vars = queryDef.variableDefinitions;\n\n if (!vars || !vars.some(function (v) {\n return v.variable.name.value === \"variables\";\n })) {\n __DEV__ && invariant.warn(\"Called refetch(\".concat(JSON.stringify(variables), \") for query \").concat(((_a = queryDef.name) === null || _a === void 0 ? void 0 : _a.value) || JSON.stringify(queryDef), \", which does not declare a $variables variable.\\nDid you mean to call refetch(variables) instead of refetch({ variables })?\"));\n }\n }\n\n if (variables && !equal(this.options.variables, variables)) {\n reobserveOptions.variables = this.options.variables = __assign(__assign({}, this.options.variables), variables);\n }\n\n this.queryInfo.resetLastWrite();\n return this.reobserve(reobserveOptions, NetworkStatus.refetch);\n };\n\n ObservableQuery.prototype.fetchMore = function (fetchMoreOptions) {\n var _this = this;\n\n var combinedOptions = __assign(__assign({}, fetchMoreOptions.query ? fetchMoreOptions : __assign(__assign(__assign(__assign({}, this.options), {\n query: this.query\n }), fetchMoreOptions), {\n variables: __assign(__assign({}, this.options.variables), fetchMoreOptions.variables)\n })), {\n fetchPolicy: \"no-cache\"\n });\n\n var qid = this.queryManager.generateQueryId();\n var queryInfo = this.queryInfo;\n var originalNetworkStatus = queryInfo.networkStatus;\n queryInfo.networkStatus = NetworkStatus.fetchMore;\n\n if (combinedOptions.notifyOnNetworkStatusChange) {\n this.observe();\n }\n\n var updatedQuerySet = new Set();\n return this.queryManager.fetchQuery(qid, combinedOptions, NetworkStatus.fetchMore).then(function (fetchMoreResult) {\n _this.queryManager.removeQuery(qid);\n\n if (queryInfo.networkStatus === NetworkStatus.fetchMore) {\n queryInfo.networkStatus = originalNetworkStatus;\n }\n\n _this.queryManager.cache.batch({\n update: function update(cache) {\n var updateQuery = fetchMoreOptions.updateQuery;\n\n if (updateQuery) {\n cache.updateQuery({\n query: _this.query,\n variables: _this.variables,\n returnPartialData: true,\n optimistic: false\n }, function (previous) {\n return updateQuery(previous, {\n fetchMoreResult: fetchMoreResult.data,\n variables: combinedOptions.variables\n });\n });\n } else {\n cache.writeQuery({\n query: combinedOptions.query,\n variables: combinedOptions.variables,\n data: fetchMoreResult.data\n });\n }\n },\n onWatchUpdated: function onWatchUpdated(watch) {\n updatedQuerySet.add(watch.query);\n }\n });\n\n return fetchMoreResult;\n }).finally(function () {\n if (!updatedQuerySet.has(_this.query)) {\n reobserveCacheFirst(_this);\n }\n });\n };\n\n ObservableQuery.prototype.subscribeToMore = function (options) {\n var _this = this;\n\n var subscription = this.queryManager.startGraphQLSubscription({\n query: options.document,\n variables: options.variables,\n context: options.context\n }).subscribe({\n next: function next(subscriptionData) {\n var updateQuery = options.updateQuery;\n\n if (updateQuery) {\n _this.updateQuery(function (previous, _a) {\n var variables = _a.variables;\n return updateQuery(previous, {\n subscriptionData: subscriptionData,\n variables: variables\n });\n });\n }\n },\n error: function error(err) {\n if (options.onError) {\n options.onError(err);\n return;\n }\n\n __DEV__ && invariant.error('Unhandled GraphQL subscription error', err);\n }\n });\n this.subscriptions.add(subscription);\n return function () {\n if (_this.subscriptions.delete(subscription)) {\n subscription.unsubscribe();\n }\n };\n };\n\n ObservableQuery.prototype.setOptions = function (newOptions) {\n return this.reobserve(newOptions);\n };\n\n ObservableQuery.prototype.setVariables = function (variables) {\n if (equal(this.variables, variables)) {\n return this.observers.size ? this.result() : Promise.resolve();\n }\n\n this.options.variables = variables;\n\n if (!this.observers.size) {\n return Promise.resolve();\n }\n\n return this.reobserve({\n fetchPolicy: this.options.initialFetchPolicy,\n variables: variables\n }, NetworkStatus.setVariables);\n };\n\n ObservableQuery.prototype.updateQuery = function (mapFn) {\n var queryManager = this.queryManager;\n var result = queryManager.cache.diff({\n query: this.options.query,\n variables: this.variables,\n returnPartialData: true,\n optimistic: false\n }).result;\n var newResult = mapFn(result, {\n variables: this.variables\n });\n\n if (newResult) {\n queryManager.cache.writeQuery({\n query: this.options.query,\n data: newResult,\n variables: this.variables\n });\n queryManager.broadcastQueries();\n }\n };\n\n ObservableQuery.prototype.startPolling = function (pollInterval) {\n this.options.pollInterval = pollInterval;\n this.updatePolling();\n };\n\n ObservableQuery.prototype.stopPolling = function () {\n this.options.pollInterval = 0;\n this.updatePolling();\n };\n\n ObservableQuery.prototype.applyNextFetchPolicy = function (reason, options) {\n if (options.nextFetchPolicy) {\n var _a = options.fetchPolicy,\n fetchPolicy = _a === void 0 ? \"cache-first\" : _a,\n _b = options.initialFetchPolicy,\n initialFetchPolicy = _b === void 0 ? fetchPolicy : _b;\n\n if (fetchPolicy === \"standby\") {} else if (typeof options.nextFetchPolicy === \"function\") {\n options.fetchPolicy = options.nextFetchPolicy(fetchPolicy, {\n reason: reason,\n options: options,\n observable: this,\n initialFetchPolicy: initialFetchPolicy\n });\n } else if (reason === \"variables-changed\") {\n options.fetchPolicy = initialFetchPolicy;\n } else {\n options.fetchPolicy = options.nextFetchPolicy;\n }\n }\n\n return options.fetchPolicy;\n };\n\n ObservableQuery.prototype.fetch = function (options, newNetworkStatus) {\n this.queryManager.setObservableQuery(this);\n return this.queryManager.fetchQueryObservable(this.queryId, options, newNetworkStatus);\n };\n\n ObservableQuery.prototype.updatePolling = function () {\n var _this = this;\n\n if (this.queryManager.ssrMode) {\n return;\n }\n\n var _a = this,\n pollingInfo = _a.pollingInfo,\n pollInterval = _a.options.pollInterval;\n\n if (!pollInterval) {\n if (pollingInfo) {\n clearTimeout(pollingInfo.timeout);\n delete this.pollingInfo;\n }\n\n return;\n }\n\n if (pollingInfo && pollingInfo.interval === pollInterval) {\n return;\n }\n\n __DEV__ ? invariant(pollInterval, 'Attempted to start a polling query without a polling interval.') : invariant(pollInterval, 12);\n var info = pollingInfo || (this.pollingInfo = {});\n info.interval = pollInterval;\n\n var maybeFetch = function maybeFetch() {\n if (_this.pollingInfo) {\n if (!isNetworkRequestInFlight(_this.queryInfo.networkStatus)) {\n _this.reobserve({\n fetchPolicy: _this.options.initialFetchPolicy === 'no-cache' ? 'no-cache' : 'network-only'\n }, NetworkStatus.poll).then(poll, poll);\n } else {\n poll();\n }\n }\n\n ;\n };\n\n var poll = function poll() {\n var info = _this.pollingInfo;\n\n if (info) {\n clearTimeout(info.timeout);\n info.timeout = setTimeout(maybeFetch, info.interval);\n }\n };\n\n poll();\n };\n\n ObservableQuery.prototype.updateLastResult = function (newResult, variables) {\n if (variables === void 0) {\n variables = this.variables;\n }\n\n this.last = __assign(__assign({}, this.last), {\n result: this.queryManager.assumeImmutableResults ? newResult : cloneDeep(newResult),\n variables: variables\n });\n\n if (!isNonEmptyArray(newResult.errors)) {\n delete this.last.error;\n }\n\n return this.last;\n };\n\n ObservableQuery.prototype.reobserve = function (newOptions, newNetworkStatus) {\n var _this = this;\n\n this.isTornDown = false;\n var useDisposableConcast = newNetworkStatus === NetworkStatus.refetch || newNetworkStatus === NetworkStatus.fetchMore || newNetworkStatus === NetworkStatus.poll;\n var oldVariables = this.options.variables;\n var oldFetchPolicy = this.options.fetchPolicy;\n var mergedOptions = compact(this.options, newOptions || {});\n var options = useDisposableConcast ? mergedOptions : assign(this.options, mergedOptions);\n\n if (!useDisposableConcast) {\n this.updatePolling();\n\n if (newOptions && newOptions.variables && !equal(newOptions.variables, oldVariables) && options.fetchPolicy !== \"standby\" && options.fetchPolicy === oldFetchPolicy) {\n this.applyNextFetchPolicy(\"variables-changed\", options);\n\n if (newNetworkStatus === void 0) {\n newNetworkStatus = NetworkStatus.setVariables;\n }\n }\n }\n\n var variables = options.variables && __assign({}, options.variables);\n\n var concast = this.fetch(options, newNetworkStatus);\n var observer = {\n next: function next(result) {\n _this.reportResult(result, variables);\n },\n error: function error(_error) {\n _this.reportError(_error, variables);\n }\n };\n\n if (!useDisposableConcast) {\n if (this.concast && this.observer) {\n this.concast.removeObserver(this.observer);\n }\n\n this.concast = concast;\n this.observer = observer;\n }\n\n concast.addObserver(observer);\n return concast.promise;\n };\n\n ObservableQuery.prototype.observe = function () {\n this.reportResult(this.getCurrentResult(false), this.variables);\n };\n\n ObservableQuery.prototype.reportResult = function (result, variables) {\n var lastError = this.getLastError();\n\n if (lastError || this.isDifferentFromLastResult(result, variables)) {\n if (lastError || !result.partial || this.options.returnPartialData) {\n this.updateLastResult(result, variables);\n }\n\n iterateObserversSafely(this.observers, 'next', result);\n }\n };\n\n ObservableQuery.prototype.reportError = function (error, variables) {\n var errorResult = __assign(__assign({}, this.getLastResult()), {\n error: error,\n errors: error.graphQLErrors,\n networkStatus: NetworkStatus.error,\n loading: false\n });\n\n this.updateLastResult(errorResult, variables);\n iterateObserversSafely(this.observers, 'error', this.last.error = error);\n };\n\n ObservableQuery.prototype.hasObservers = function () {\n return this.observers.size > 0;\n };\n\n ObservableQuery.prototype.tearDownQuery = function () {\n if (this.isTornDown) return;\n\n if (this.concast && this.observer) {\n this.concast.removeObserver(this.observer);\n delete this.concast;\n delete this.observer;\n }\n\n this.stopPolling();\n this.subscriptions.forEach(function (sub) {\n return sub.unsubscribe();\n });\n this.subscriptions.clear();\n this.queryManager.stopQuery(this.queryId);\n this.observers.clear();\n this.isTornDown = true;\n };\n\n return ObservableQuery;\n}(Observable);\n\nexport { ObservableQuery };\nfixObservableSubclass(ObservableQuery);\nexport function reobserveCacheFirst(obsQuery) {\n var _a = obsQuery.options,\n fetchPolicy = _a.fetchPolicy,\n _nextFetchPolicy = _a.nextFetchPolicy;\n\n if (fetchPolicy === \"cache-and-network\" || fetchPolicy === \"network-only\") {\n return obsQuery.reobserve({\n fetchPolicy: \"cache-first\",\n nextFetchPolicy: function nextFetchPolicy() {\n this.nextFetchPolicy = _nextFetchPolicy;\n\n if (typeof _nextFetchPolicy === \"function\") {\n return _nextFetchPolicy.apply(this, arguments);\n }\n\n return fetchPolicy;\n }\n });\n }\n\n return obsQuery.reobserve();\n}\n\nfunction defaultSubscriptionObserverErrorCallback(error) {\n __DEV__ && invariant.error('Unhandled error', error.message, error.stack);\n}\n\nexport function logMissingFieldErrors(missing) {\n if (__DEV__ && missing) {\n __DEV__ && invariant.debug(\"Missing cache result fields: \".concat(JSON.stringify(missing)), missing);\n }\n}","import { __assign, __awaiter, __generator } from \"tslib\";\nimport { invariant } from \"../utilities/globals/index.js\";\nimport { visit, BREAK } from 'graphql';\nimport { argumentsObjectFromField, buildQueryFromSelectionSet, createFragmentMap, getFragmentDefinitions, getMainDefinition, hasDirectives, isField, isInlineFragment, mergeDeep, mergeDeepArray, removeClientSetsFromDocument, resultKeyNameFromField, shouldInclude } from \"../utilities/index.js\";\nimport { cacheSlot } from \"../cache/index.js\";\n\nvar LocalState = function () {\n function LocalState(_a) {\n var cache = _a.cache,\n client = _a.client,\n resolvers = _a.resolvers,\n fragmentMatcher = _a.fragmentMatcher;\n this.cache = cache;\n\n if (client) {\n this.client = client;\n }\n\n if (resolvers) {\n this.addResolvers(resolvers);\n }\n\n if (fragmentMatcher) {\n this.setFragmentMatcher(fragmentMatcher);\n }\n }\n\n LocalState.prototype.addResolvers = function (resolvers) {\n var _this = this;\n\n this.resolvers = this.resolvers || {};\n\n if (Array.isArray(resolvers)) {\n resolvers.forEach(function (resolverGroup) {\n _this.resolvers = mergeDeep(_this.resolvers, resolverGroup);\n });\n } else {\n this.resolvers = mergeDeep(this.resolvers, resolvers);\n }\n };\n\n LocalState.prototype.setResolvers = function (resolvers) {\n this.resolvers = {};\n this.addResolvers(resolvers);\n };\n\n LocalState.prototype.getResolvers = function () {\n return this.resolvers || {};\n };\n\n LocalState.prototype.runResolvers = function (_a) {\n var document = _a.document,\n remoteResult = _a.remoteResult,\n context = _a.context,\n variables = _a.variables,\n _b = _a.onlyRunForcedResolvers,\n onlyRunForcedResolvers = _b === void 0 ? false : _b;\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_c) {\n if (document) {\n return [2, this.resolveDocument(document, remoteResult.data, context, variables, this.fragmentMatcher, onlyRunForcedResolvers).then(function (localResult) {\n return __assign(__assign({}, remoteResult), {\n data: localResult.result\n });\n })];\n }\n\n return [2, remoteResult];\n });\n });\n };\n\n LocalState.prototype.setFragmentMatcher = function (fragmentMatcher) {\n this.fragmentMatcher = fragmentMatcher;\n };\n\n LocalState.prototype.getFragmentMatcher = function () {\n return this.fragmentMatcher;\n };\n\n LocalState.prototype.clientQuery = function (document) {\n if (hasDirectives(['client'], document)) {\n if (this.resolvers) {\n return document;\n }\n }\n\n return null;\n };\n\n LocalState.prototype.serverQuery = function (document) {\n return removeClientSetsFromDocument(document);\n };\n\n LocalState.prototype.prepareContext = function (context) {\n var cache = this.cache;\n return __assign(__assign({}, context), {\n cache: cache,\n getCacheKey: function getCacheKey(obj) {\n return cache.identify(obj);\n }\n });\n };\n\n LocalState.prototype.addExportedVariables = function (document, variables, context) {\n if (variables === void 0) {\n variables = {};\n }\n\n if (context === void 0) {\n context = {};\n }\n\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (document) {\n return [2, this.resolveDocument(document, this.buildRootValueFromCache(document, variables) || {}, this.prepareContext(context), variables).then(function (data) {\n return __assign(__assign({}, variables), data.exportedVariables);\n })];\n }\n\n return [2, __assign({}, variables)];\n });\n });\n };\n\n LocalState.prototype.shouldForceResolvers = function (document) {\n var forceResolvers = false;\n visit(document, {\n Directive: {\n enter: function enter(node) {\n if (node.name.value === 'client' && node.arguments) {\n forceResolvers = node.arguments.some(function (arg) {\n return arg.name.value === 'always' && arg.value.kind === 'BooleanValue' && arg.value.value === true;\n });\n\n if (forceResolvers) {\n return BREAK;\n }\n }\n }\n }\n });\n return forceResolvers;\n };\n\n LocalState.prototype.buildRootValueFromCache = function (document, variables) {\n return this.cache.diff({\n query: buildQueryFromSelectionSet(document),\n variables: variables,\n returnPartialData: true,\n optimistic: false\n }).result;\n };\n\n LocalState.prototype.resolveDocument = function (document, rootValue, context, variables, fragmentMatcher, onlyRunForcedResolvers) {\n if (context === void 0) {\n context = {};\n }\n\n if (variables === void 0) {\n variables = {};\n }\n\n if (fragmentMatcher === void 0) {\n fragmentMatcher = function fragmentMatcher() {\n return true;\n };\n }\n\n if (onlyRunForcedResolvers === void 0) {\n onlyRunForcedResolvers = false;\n }\n\n return __awaiter(this, void 0, void 0, function () {\n var mainDefinition, fragments, fragmentMap, definitionOperation, defaultOperationType, _a, cache, client, execContext;\n\n return __generator(this, function (_b) {\n mainDefinition = getMainDefinition(document);\n fragments = getFragmentDefinitions(document);\n fragmentMap = createFragmentMap(fragments);\n definitionOperation = mainDefinition.operation;\n defaultOperationType = definitionOperation ? definitionOperation.charAt(0).toUpperCase() + definitionOperation.slice(1) : 'Query';\n _a = this, cache = _a.cache, client = _a.client;\n execContext = {\n fragmentMap: fragmentMap,\n context: __assign(__assign({}, context), {\n cache: cache,\n client: client\n }),\n variables: variables,\n fragmentMatcher: fragmentMatcher,\n defaultOperationType: defaultOperationType,\n exportedVariables: {},\n onlyRunForcedResolvers: onlyRunForcedResolvers\n };\n return [2, this.resolveSelectionSet(mainDefinition.selectionSet, rootValue, execContext).then(function (result) {\n return {\n result: result,\n exportedVariables: execContext.exportedVariables\n };\n })];\n });\n });\n };\n\n LocalState.prototype.resolveSelectionSet = function (selectionSet, rootValue, execContext) {\n return __awaiter(this, void 0, void 0, function () {\n var fragmentMap, context, variables, resultsToMerge, execute;\n\n var _this = this;\n\n return __generator(this, function (_a) {\n fragmentMap = execContext.fragmentMap, context = execContext.context, variables = execContext.variables;\n resultsToMerge = [rootValue];\n\n execute = function execute(selection) {\n return __awaiter(_this, void 0, void 0, function () {\n var fragment, typeCondition;\n return __generator(this, function (_a) {\n if (!shouldInclude(selection, variables)) {\n return [2];\n }\n\n if (isField(selection)) {\n return [2, this.resolveField(selection, rootValue, execContext).then(function (fieldResult) {\n var _a;\n\n if (typeof fieldResult !== 'undefined') {\n resultsToMerge.push((_a = {}, _a[resultKeyNameFromField(selection)] = fieldResult, _a));\n }\n })];\n }\n\n if (isInlineFragment(selection)) {\n fragment = selection;\n } else {\n fragment = fragmentMap[selection.name.value];\n __DEV__ ? invariant(fragment, \"No fragment named \".concat(selection.name.value)) : invariant(fragment, 11);\n }\n\n if (fragment && fragment.typeCondition) {\n typeCondition = fragment.typeCondition.name.value;\n\n if (execContext.fragmentMatcher(rootValue, typeCondition, context)) {\n return [2, this.resolveSelectionSet(fragment.selectionSet, rootValue, execContext).then(function (fragmentResult) {\n resultsToMerge.push(fragmentResult);\n })];\n }\n }\n\n return [2];\n });\n });\n };\n\n return [2, Promise.all(selectionSet.selections.map(execute)).then(function () {\n return mergeDeepArray(resultsToMerge);\n })];\n });\n });\n };\n\n LocalState.prototype.resolveField = function (field, rootValue, execContext) {\n return __awaiter(this, void 0, void 0, function () {\n var variables, fieldName, aliasedFieldName, aliasUsed, defaultResult, resultPromise, resolverType, resolverMap, resolve;\n\n var _this = this;\n\n return __generator(this, function (_a) {\n variables = execContext.variables;\n fieldName = field.name.value;\n aliasedFieldName = resultKeyNameFromField(field);\n aliasUsed = fieldName !== aliasedFieldName;\n defaultResult = rootValue[aliasedFieldName] || rootValue[fieldName];\n resultPromise = Promise.resolve(defaultResult);\n\n if (!execContext.onlyRunForcedResolvers || this.shouldForceResolvers(field)) {\n resolverType = rootValue.__typename || execContext.defaultOperationType;\n resolverMap = this.resolvers && this.resolvers[resolverType];\n\n if (resolverMap) {\n resolve = resolverMap[aliasUsed ? fieldName : aliasedFieldName];\n\n if (resolve) {\n resultPromise = Promise.resolve(cacheSlot.withValue(this.cache, resolve, [rootValue, argumentsObjectFromField(field, variables), execContext.context, {\n field: field,\n fragmentMap: execContext.fragmentMap\n }]));\n }\n }\n }\n\n return [2, resultPromise.then(function (result) {\n if (result === void 0) {\n result = defaultResult;\n }\n\n if (field.directives) {\n field.directives.forEach(function (directive) {\n if (directive.name.value === 'export' && directive.arguments) {\n directive.arguments.forEach(function (arg) {\n if (arg.name.value === 'as' && arg.value.kind === 'StringValue') {\n execContext.exportedVariables[arg.value.value] = result;\n }\n });\n }\n });\n }\n\n if (!field.selectionSet) {\n return result;\n }\n\n if (result == null) {\n return result;\n }\n\n if (Array.isArray(result)) {\n return _this.resolveSubSelectedArray(field, result, execContext);\n }\n\n if (field.selectionSet) {\n return _this.resolveSelectionSet(field.selectionSet, result, execContext);\n }\n })];\n });\n });\n };\n\n LocalState.prototype.resolveSubSelectedArray = function (field, result, execContext) {\n var _this = this;\n\n return Promise.all(result.map(function (item) {\n if (item === null) {\n return null;\n }\n\n if (Array.isArray(item)) {\n return _this.resolveSubSelectedArray(field, item, execContext);\n }\n\n if (field.selectionSet) {\n return _this.resolveSelectionSet(field.selectionSet, item, execContext);\n }\n }));\n };\n\n return LocalState;\n}();\n\nexport { LocalState };","import { __assign } from \"tslib\";\nimport { equal } from \"@wry/equality\";\nimport { DeepMerger } from \"../utilities/index.js\";\nimport { reobserveCacheFirst } from \"./ObservableQuery.js\";\nimport { isNonEmptyArray, graphQLResultHasError, canUseWeakMap } from \"../utilities/index.js\";\nimport { NetworkStatus, isNetworkRequestInFlight } from \"./networkStatus.js\";\n;\nvar destructiveMethodCounts = new (canUseWeakMap ? WeakMap : Map)();\n\nfunction wrapDestructiveCacheMethod(cache, methodName) {\n var original = cache[methodName];\n\n if (typeof original === \"function\") {\n cache[methodName] = function () {\n destructiveMethodCounts.set(cache, (destructiveMethodCounts.get(cache) + 1) % 1e15);\n return original.apply(this, arguments);\n };\n }\n}\n\nfunction cancelNotifyTimeout(info) {\n if (info[\"notifyTimeout\"]) {\n clearTimeout(info[\"notifyTimeout\"]);\n info[\"notifyTimeout\"] = void 0;\n }\n}\n\nvar QueryInfo = function () {\n function QueryInfo(queryManager, queryId) {\n if (queryId === void 0) {\n queryId = queryManager.generateQueryId();\n }\n\n this.queryId = queryId;\n this.listeners = new Set();\n this.document = null;\n this.lastRequestId = 1;\n this.subscriptions = new Set();\n this.stopped = false;\n this.dirty = false;\n this.observableQuery = null;\n var cache = this.cache = queryManager.cache;\n\n if (!destructiveMethodCounts.has(cache)) {\n destructiveMethodCounts.set(cache, 0);\n wrapDestructiveCacheMethod(cache, \"evict\");\n wrapDestructiveCacheMethod(cache, \"modify\");\n wrapDestructiveCacheMethod(cache, \"reset\");\n }\n }\n\n QueryInfo.prototype.init = function (query) {\n var networkStatus = query.networkStatus || NetworkStatus.loading;\n\n if (this.variables && this.networkStatus !== NetworkStatus.loading && !equal(this.variables, query.variables)) {\n networkStatus = NetworkStatus.setVariables;\n }\n\n if (!equal(query.variables, this.variables)) {\n this.lastDiff = void 0;\n }\n\n Object.assign(this, {\n document: query.document,\n variables: query.variables,\n networkError: null,\n graphQLErrors: this.graphQLErrors || [],\n networkStatus: networkStatus\n });\n\n if (query.observableQuery) {\n this.setObservableQuery(query.observableQuery);\n }\n\n if (query.lastRequestId) {\n this.lastRequestId = query.lastRequestId;\n }\n\n return this;\n };\n\n QueryInfo.prototype.reset = function () {\n cancelNotifyTimeout(this);\n this.dirty = false;\n };\n\n QueryInfo.prototype.getDiff = function (variables) {\n if (variables === void 0) {\n variables = this.variables;\n }\n\n var options = this.getDiffOptions(variables);\n\n if (this.lastDiff && equal(options, this.lastDiff.options)) {\n return this.lastDiff.diff;\n }\n\n this.updateWatch(this.variables = variables);\n var oq = this.observableQuery;\n\n if (oq && oq.options.fetchPolicy === \"no-cache\") {\n return {\n complete: false\n };\n }\n\n var diff = this.cache.diff(options);\n this.updateLastDiff(diff, options);\n return diff;\n };\n\n QueryInfo.prototype.updateLastDiff = function (diff, options) {\n this.lastDiff = diff ? {\n diff: diff,\n options: options || this.getDiffOptions()\n } : void 0;\n };\n\n QueryInfo.prototype.getDiffOptions = function (variables) {\n var _a;\n\n if (variables === void 0) {\n variables = this.variables;\n }\n\n return {\n query: this.document,\n variables: variables,\n returnPartialData: true,\n optimistic: true,\n canonizeResults: (_a = this.observableQuery) === null || _a === void 0 ? void 0 : _a.options.canonizeResults\n };\n };\n\n QueryInfo.prototype.setDiff = function (diff) {\n var _this = this;\n\n var oldDiff = this.lastDiff && this.lastDiff.diff;\n this.updateLastDiff(diff);\n\n if (!this.dirty && !equal(oldDiff && oldDiff.result, diff && diff.result)) {\n this.dirty = true;\n\n if (!this.notifyTimeout) {\n this.notifyTimeout = setTimeout(function () {\n return _this.notify();\n }, 0);\n }\n }\n };\n\n QueryInfo.prototype.setObservableQuery = function (oq) {\n var _this = this;\n\n if (oq === this.observableQuery) return;\n\n if (this.oqListener) {\n this.listeners.delete(this.oqListener);\n }\n\n this.observableQuery = oq;\n\n if (oq) {\n oq[\"queryInfo\"] = this;\n this.listeners.add(this.oqListener = function () {\n var diff = _this.getDiff();\n\n if (diff.fromOptimisticTransaction) {\n oq[\"observe\"]();\n } else {\n reobserveCacheFirst(oq);\n }\n });\n } else {\n delete this.oqListener;\n }\n };\n\n QueryInfo.prototype.notify = function () {\n var _this = this;\n\n cancelNotifyTimeout(this);\n\n if (this.shouldNotify()) {\n this.listeners.forEach(function (listener) {\n return listener(_this);\n });\n }\n\n this.dirty = false;\n };\n\n QueryInfo.prototype.shouldNotify = function () {\n if (!this.dirty || !this.listeners.size) {\n return false;\n }\n\n if (isNetworkRequestInFlight(this.networkStatus) && this.observableQuery) {\n var fetchPolicy = this.observableQuery.options.fetchPolicy;\n\n if (fetchPolicy !== \"cache-only\" && fetchPolicy !== \"cache-and-network\") {\n return false;\n }\n }\n\n return true;\n };\n\n QueryInfo.prototype.stop = function () {\n if (!this.stopped) {\n this.stopped = true;\n this.reset();\n this.cancel();\n this.cancel = QueryInfo.prototype.cancel;\n this.subscriptions.forEach(function (sub) {\n return sub.unsubscribe();\n });\n var oq = this.observableQuery;\n if (oq) oq.stopPolling();\n }\n };\n\n QueryInfo.prototype.cancel = function () {};\n\n QueryInfo.prototype.updateWatch = function (variables) {\n var _this = this;\n\n if (variables === void 0) {\n variables = this.variables;\n }\n\n var oq = this.observableQuery;\n\n if (oq && oq.options.fetchPolicy === \"no-cache\") {\n return;\n }\n\n var watchOptions = __assign(__assign({}, this.getDiffOptions(variables)), {\n watcher: this,\n callback: function callback(diff) {\n return _this.setDiff(diff);\n }\n });\n\n if (!this.lastWatch || !equal(watchOptions, this.lastWatch)) {\n this.cancel();\n this.cancel = this.cache.watch(this.lastWatch = watchOptions);\n }\n };\n\n QueryInfo.prototype.resetLastWrite = function () {\n this.lastWrite = void 0;\n };\n\n QueryInfo.prototype.shouldWrite = function (result, variables) {\n var lastWrite = this.lastWrite;\n return !(lastWrite && lastWrite.dmCount === destructiveMethodCounts.get(this.cache) && equal(variables, lastWrite.variables) && equal(result.data, lastWrite.result.data));\n };\n\n QueryInfo.prototype.markResult = function (result, document, options, cacheWriteBehavior) {\n var _this = this;\n\n var graphQLErrors = isNonEmptyArray(result.errors) ? result.errors.slice(0) : [];\n this.reset();\n\n if ('incremental' in result && isNonEmptyArray(result.incremental)) {\n var mergedData_1 = this.getDiff().result;\n var merger_1 = new DeepMerger();\n result.incremental.forEach(function (_a) {\n var data = _a.data,\n path = _a.path,\n errors = _a.errors;\n\n for (var i = path.length - 1; i >= 0; --i) {\n var key = path[i];\n var isNumericKey = !isNaN(+key);\n var parent_1 = isNumericKey ? [] : {};\n parent_1[key] = data;\n data = parent_1;\n }\n\n if (errors) {\n graphQLErrors.push.apply(graphQLErrors, errors);\n }\n\n mergedData_1 = merger_1.merge(mergedData_1, data);\n });\n result.data = mergedData_1;\n }\n\n this.graphQLErrors = graphQLErrors;\n\n if (options.fetchPolicy === 'no-cache') {\n this.updateLastDiff({\n result: result.data,\n complete: true\n }, this.getDiffOptions(options.variables));\n } else if (cacheWriteBehavior !== 0) {\n if (shouldWriteResult(result, options.errorPolicy)) {\n this.cache.performTransaction(function (cache) {\n if (_this.shouldWrite(result, options.variables)) {\n cache.writeQuery({\n query: document,\n data: result.data,\n variables: options.variables,\n overwrite: cacheWriteBehavior === 1\n });\n _this.lastWrite = {\n result: result,\n variables: options.variables,\n dmCount: destructiveMethodCounts.get(_this.cache)\n };\n } else {\n if (_this.lastDiff && _this.lastDiff.diff.complete) {\n result.data = _this.lastDiff.diff.result;\n return;\n }\n }\n\n var diffOptions = _this.getDiffOptions(options.variables);\n\n var diff = cache.diff(diffOptions);\n\n if (!_this.stopped) {\n _this.updateWatch(options.variables);\n }\n\n _this.updateLastDiff(diff, diffOptions);\n\n if (diff.complete) {\n result.data = diff.result;\n }\n });\n } else {\n this.lastWrite = void 0;\n }\n }\n };\n\n QueryInfo.prototype.markReady = function () {\n this.networkError = null;\n return this.networkStatus = NetworkStatus.ready;\n };\n\n QueryInfo.prototype.markError = function (error) {\n this.networkStatus = NetworkStatus.error;\n this.lastWrite = void 0;\n this.reset();\n\n if (error.graphQLErrors) {\n this.graphQLErrors = error.graphQLErrors;\n }\n\n if (error.networkError) {\n this.networkError = error.networkError;\n }\n\n return error;\n };\n\n return QueryInfo;\n}();\n\nexport { QueryInfo };\nexport function shouldWriteResult(result, errorPolicy) {\n if (errorPolicy === void 0) {\n errorPolicy = \"none\";\n }\n\n var ignoreErrors = errorPolicy === \"ignore\" || errorPolicy === \"all\";\n var writeWithErrors = !graphQLResultHasError(result);\n\n if (!writeWithErrors && ignoreErrors && result.data) {\n writeWithErrors = true;\n }\n\n return writeWithErrors;\n}","import { __assign, __awaiter, __generator } from \"tslib\";\nimport { invariant, InvariantError } from \"../utilities/globals/index.js\";\nimport { equal } from '@wry/equality';\nimport { execute } from \"../link/core/index.js\";\nimport { isExecutionPatchIncrementalResult } from \"../utilities/common/incrementalResult.js\";\nimport { canonicalStringify } from \"../cache/index.js\";\nimport { getDefaultValues, getOperationDefinition, getOperationName, hasClientExports, graphQLResultHasError, removeConnectionDirectiveFromDocument, canUseWeakMap, Observable, asyncMap, isNonEmptyArray, Concast, makeUniqueId, isDocumentNode, isNonNullObject, cloneDeep } from \"../utilities/index.js\";\nimport { ApolloError, isApolloError } from \"../errors/index.js\";\nimport { ObservableQuery, logMissingFieldErrors } from \"./ObservableQuery.js\";\nimport { NetworkStatus, isNetworkRequestInFlight } from \"./networkStatus.js\";\nimport { LocalState } from \"./LocalState.js\";\nimport { QueryInfo, shouldWriteResult } from \"./QueryInfo.js\";\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar QueryManager = function () {\n function QueryManager(_a) {\n var cache = _a.cache,\n link = _a.link,\n defaultOptions = _a.defaultOptions,\n _b = _a.queryDeduplication,\n queryDeduplication = _b === void 0 ? false : _b,\n onBroadcast = _a.onBroadcast,\n _c = _a.ssrMode,\n ssrMode = _c === void 0 ? false : _c,\n _d = _a.clientAwareness,\n clientAwareness = _d === void 0 ? {} : _d,\n localState = _a.localState,\n assumeImmutableResults = _a.assumeImmutableResults;\n this.clientAwareness = {};\n this.queries = new Map();\n this.fetchCancelFns = new Map();\n this.transformCache = new (canUseWeakMap ? WeakMap : Map)();\n this.queryIdCounter = 1;\n this.requestIdCounter = 1;\n this.mutationIdCounter = 1;\n this.inFlightLinkObservables = new Map();\n this.cache = cache;\n this.link = link;\n this.defaultOptions = defaultOptions || Object.create(null);\n this.queryDeduplication = queryDeduplication;\n this.clientAwareness = clientAwareness;\n this.localState = localState || new LocalState({\n cache: cache\n });\n this.ssrMode = ssrMode;\n this.assumeImmutableResults = !!assumeImmutableResults;\n\n if (this.onBroadcast = onBroadcast) {\n this.mutationStore = Object.create(null);\n }\n }\n\n QueryManager.prototype.stop = function () {\n var _this = this;\n\n this.queries.forEach(function (_info, queryId) {\n _this.stopQueryNoBroadcast(queryId);\n });\n this.cancelPendingFetches(__DEV__ ? new InvariantError('QueryManager stopped while query was in flight') : new InvariantError(13));\n };\n\n QueryManager.prototype.cancelPendingFetches = function (error) {\n this.fetchCancelFns.forEach(function (cancel) {\n return cancel(error);\n });\n this.fetchCancelFns.clear();\n };\n\n QueryManager.prototype.mutate = function (_a) {\n var _b, _c;\n\n var mutation = _a.mutation,\n variables = _a.variables,\n optimisticResponse = _a.optimisticResponse,\n updateQueries = _a.updateQueries,\n _d = _a.refetchQueries,\n refetchQueries = _d === void 0 ? [] : _d,\n _e = _a.awaitRefetchQueries,\n awaitRefetchQueries = _e === void 0 ? false : _e,\n updateWithProxyFn = _a.update,\n onQueryUpdated = _a.onQueryUpdated,\n _f = _a.fetchPolicy,\n fetchPolicy = _f === void 0 ? ((_b = this.defaultOptions.mutate) === null || _b === void 0 ? void 0 : _b.fetchPolicy) || \"network-only\" : _f,\n _g = _a.errorPolicy,\n errorPolicy = _g === void 0 ? ((_c = this.defaultOptions.mutate) === null || _c === void 0 ? void 0 : _c.errorPolicy) || \"none\" : _g,\n keepRootFields = _a.keepRootFields,\n context = _a.context;\n return __awaiter(this, void 0, void 0, function () {\n var mutationId, _h, document, hasClientExports, mutationStoreValue, self;\n\n return __generator(this, function (_j) {\n switch (_j.label) {\n case 0:\n __DEV__ ? invariant(mutation, 'mutation option is required. You must specify your GraphQL document in the mutation option.') : invariant(mutation, 14);\n __DEV__ ? invariant(fetchPolicy === 'network-only' || fetchPolicy === 'no-cache', \"Mutations support only 'network-only' or 'no-cache' fetchPolicy strings. The default `network-only` behavior automatically writes mutation results to the cache. Passing `no-cache` skips the cache write.\") : invariant(fetchPolicy === 'network-only' || fetchPolicy === 'no-cache', 15);\n mutationId = this.generateMutationId();\n _h = this.transform(mutation), document = _h.document, hasClientExports = _h.hasClientExports;\n mutation = this.cache.transformForLink(document);\n variables = this.getVariables(mutation, variables);\n if (!hasClientExports) return [3, 2];\n return [4, this.localState.addExportedVariables(mutation, variables, context)];\n\n case 1:\n variables = _j.sent();\n _j.label = 2;\n\n case 2:\n mutationStoreValue = this.mutationStore && (this.mutationStore[mutationId] = {\n mutation: mutation,\n variables: variables,\n loading: true,\n error: null\n });\n\n if (optimisticResponse) {\n this.markMutationOptimistic(optimisticResponse, {\n mutationId: mutationId,\n document: mutation,\n variables: variables,\n fetchPolicy: fetchPolicy,\n errorPolicy: errorPolicy,\n context: context,\n updateQueries: updateQueries,\n update: updateWithProxyFn,\n keepRootFields: keepRootFields\n });\n }\n\n this.broadcastQueries();\n self = this;\n return [2, new Promise(function (resolve, reject) {\n return asyncMap(self.getObservableFromLink(mutation, __assign(__assign({}, context), {\n optimisticResponse: optimisticResponse\n }), variables, false), function (result) {\n if (graphQLResultHasError(result) && errorPolicy === 'none') {\n throw new ApolloError({\n graphQLErrors: result.errors\n });\n }\n\n if (mutationStoreValue) {\n mutationStoreValue.loading = false;\n mutationStoreValue.error = null;\n }\n\n var storeResult = __assign({}, result);\n\n if (typeof refetchQueries === \"function\") {\n refetchQueries = refetchQueries(storeResult);\n }\n\n if (errorPolicy === 'ignore' && graphQLResultHasError(storeResult)) {\n delete storeResult.errors;\n }\n\n return self.markMutationResult({\n mutationId: mutationId,\n result: storeResult,\n document: mutation,\n variables: variables,\n fetchPolicy: fetchPolicy,\n errorPolicy: errorPolicy,\n context: context,\n update: updateWithProxyFn,\n updateQueries: updateQueries,\n awaitRefetchQueries: awaitRefetchQueries,\n refetchQueries: refetchQueries,\n removeOptimistic: optimisticResponse ? mutationId : void 0,\n onQueryUpdated: onQueryUpdated,\n keepRootFields: keepRootFields\n });\n }).subscribe({\n next: function next(storeResult) {\n self.broadcastQueries();\n resolve(storeResult);\n },\n error: function error(err) {\n if (mutationStoreValue) {\n mutationStoreValue.loading = false;\n mutationStoreValue.error = err;\n }\n\n if (optimisticResponse) {\n self.cache.removeOptimistic(mutationId);\n }\n\n self.broadcastQueries();\n reject(err instanceof ApolloError ? err : new ApolloError({\n networkError: err\n }));\n }\n });\n })];\n }\n });\n });\n };\n\n QueryManager.prototype.markMutationResult = function (mutation, cache) {\n var _this = this;\n\n if (cache === void 0) {\n cache = this.cache;\n }\n\n var result = mutation.result;\n var cacheWrites = [];\n var skipCache = mutation.fetchPolicy === \"no-cache\";\n\n if (!skipCache && shouldWriteResult(result, mutation.errorPolicy)) {\n cacheWrites.push({\n result: result.data,\n dataId: 'ROOT_MUTATION',\n query: mutation.document,\n variables: mutation.variables\n });\n var updateQueries_1 = mutation.updateQueries;\n\n if (updateQueries_1) {\n this.queries.forEach(function (_a, queryId) {\n var observableQuery = _a.observableQuery;\n var queryName = observableQuery && observableQuery.queryName;\n\n if (!queryName || !hasOwnProperty.call(updateQueries_1, queryName)) {\n return;\n }\n\n var updater = updateQueries_1[queryName];\n\n var _b = _this.queries.get(queryId),\n document = _b.document,\n variables = _b.variables;\n\n var _c = cache.diff({\n query: document,\n variables: variables,\n returnPartialData: true,\n optimistic: false\n }),\n currentQueryResult = _c.result,\n complete = _c.complete;\n\n if (complete && currentQueryResult) {\n var nextQueryResult = updater(currentQueryResult, {\n mutationResult: result,\n queryName: document && getOperationName(document) || void 0,\n queryVariables: variables\n });\n\n if (nextQueryResult) {\n cacheWrites.push({\n result: nextQueryResult,\n dataId: 'ROOT_QUERY',\n query: document,\n variables: variables\n });\n }\n }\n });\n }\n }\n\n if (cacheWrites.length > 0 || mutation.refetchQueries || mutation.update || mutation.onQueryUpdated || mutation.removeOptimistic) {\n var results_1 = [];\n this.refetchQueries({\n updateCache: function updateCache(cache) {\n if (!skipCache) {\n cacheWrites.forEach(function (write) {\n return cache.write(write);\n });\n }\n\n var update = mutation.update;\n\n if (update) {\n if (!skipCache) {\n var diff = cache.diff({\n id: \"ROOT_MUTATION\",\n query: _this.transform(mutation.document).asQuery,\n variables: mutation.variables,\n optimistic: false,\n returnPartialData: true\n });\n\n if (diff.complete && !isExecutionPatchIncrementalResult(result)) {\n result = __assign(__assign({}, result), {\n data: diff.result\n });\n }\n }\n\n update(cache, result, {\n context: mutation.context,\n variables: mutation.variables\n });\n }\n\n if (!skipCache && !mutation.keepRootFields) {\n cache.modify({\n id: 'ROOT_MUTATION',\n fields: function fields(value, _a) {\n var fieldName = _a.fieldName,\n DELETE = _a.DELETE;\n return fieldName === \"__typename\" ? value : DELETE;\n }\n });\n }\n },\n include: mutation.refetchQueries,\n optimistic: false,\n removeOptimistic: mutation.removeOptimistic,\n onQueryUpdated: mutation.onQueryUpdated || null\n }).forEach(function (result) {\n return results_1.push(result);\n });\n\n if (mutation.awaitRefetchQueries || mutation.onQueryUpdated) {\n return Promise.all(results_1).then(function () {\n return result;\n });\n }\n }\n\n return Promise.resolve(result);\n };\n\n QueryManager.prototype.markMutationOptimistic = function (optimisticResponse, mutation) {\n var _this = this;\n\n var data = typeof optimisticResponse === \"function\" ? optimisticResponse(mutation.variables) : optimisticResponse;\n return this.cache.recordOptimisticTransaction(function (cache) {\n try {\n _this.markMutationResult(__assign(__assign({}, mutation), {\n result: {\n data: data\n }\n }), cache);\n } catch (error) {\n __DEV__ && invariant.error(error);\n }\n }, mutation.mutationId);\n };\n\n QueryManager.prototype.fetchQuery = function (queryId, options, networkStatus) {\n return this.fetchQueryObservable(queryId, options, networkStatus).promise;\n };\n\n QueryManager.prototype.getQueryStore = function () {\n var store = Object.create(null);\n this.queries.forEach(function (info, queryId) {\n store[queryId] = {\n variables: info.variables,\n networkStatus: info.networkStatus,\n networkError: info.networkError,\n graphQLErrors: info.graphQLErrors\n };\n });\n return store;\n };\n\n QueryManager.prototype.resetErrors = function (queryId) {\n var queryInfo = this.queries.get(queryId);\n\n if (queryInfo) {\n queryInfo.networkError = undefined;\n queryInfo.graphQLErrors = [];\n }\n };\n\n QueryManager.prototype.transform = function (document) {\n var transformCache = this.transformCache;\n\n if (!transformCache.has(document)) {\n var transformed = this.cache.transformDocument(document);\n var noConnection = removeConnectionDirectiveFromDocument(transformed);\n var clientQuery = this.localState.clientQuery(transformed);\n var serverQuery = noConnection && this.localState.serverQuery(noConnection);\n var cacheEntry_1 = {\n document: transformed,\n hasClientExports: hasClientExports(transformed),\n hasForcedResolvers: this.localState.shouldForceResolvers(transformed),\n clientQuery: clientQuery,\n serverQuery: serverQuery,\n defaultVars: getDefaultValues(getOperationDefinition(transformed)),\n asQuery: __assign(__assign({}, transformed), {\n definitions: transformed.definitions.map(function (def) {\n if (def.kind === \"OperationDefinition\" && def.operation !== \"query\") {\n return __assign(__assign({}, def), {\n operation: \"query\"\n });\n }\n\n return def;\n })\n })\n };\n\n var add = function add(doc) {\n if (doc && !transformCache.has(doc)) {\n transformCache.set(doc, cacheEntry_1);\n }\n };\n\n add(document);\n add(transformed);\n add(clientQuery);\n add(serverQuery);\n }\n\n return transformCache.get(document);\n };\n\n QueryManager.prototype.getVariables = function (document, variables) {\n return __assign(__assign({}, this.transform(document).defaultVars), variables);\n };\n\n QueryManager.prototype.watchQuery = function (options) {\n options = __assign(__assign({}, options), {\n variables: this.getVariables(options.query, options.variables)\n });\n\n if (typeof options.notifyOnNetworkStatusChange === 'undefined') {\n options.notifyOnNetworkStatusChange = false;\n }\n\n var queryInfo = new QueryInfo(this);\n var observable = new ObservableQuery({\n queryManager: this,\n queryInfo: queryInfo,\n options: options\n });\n this.queries.set(observable.queryId, queryInfo);\n queryInfo.init({\n document: observable.query,\n observableQuery: observable,\n variables: observable.variables\n });\n return observable;\n };\n\n QueryManager.prototype.query = function (options, queryId) {\n var _this = this;\n\n if (queryId === void 0) {\n queryId = this.generateQueryId();\n }\n\n __DEV__ ? invariant(options.query, 'query option is required. You must specify your GraphQL document ' + 'in the query option.') : invariant(options.query, 16);\n __DEV__ ? invariant(options.query.kind === 'Document', 'You must wrap the query string in a \"gql\" tag.') : invariant(options.query.kind === 'Document', 17);\n __DEV__ ? invariant(!options.returnPartialData, 'returnPartialData option only supported on watchQuery.') : invariant(!options.returnPartialData, 18);\n __DEV__ ? invariant(!options.pollInterval, 'pollInterval option only supported on watchQuery.') : invariant(!options.pollInterval, 19);\n return this.fetchQuery(queryId, options).finally(function () {\n return _this.stopQuery(queryId);\n });\n };\n\n QueryManager.prototype.generateQueryId = function () {\n return String(this.queryIdCounter++);\n };\n\n QueryManager.prototype.generateRequestId = function () {\n return this.requestIdCounter++;\n };\n\n QueryManager.prototype.generateMutationId = function () {\n return String(this.mutationIdCounter++);\n };\n\n QueryManager.prototype.stopQueryInStore = function (queryId) {\n this.stopQueryInStoreNoBroadcast(queryId);\n this.broadcastQueries();\n };\n\n QueryManager.prototype.stopQueryInStoreNoBroadcast = function (queryId) {\n var queryInfo = this.queries.get(queryId);\n if (queryInfo) queryInfo.stop();\n };\n\n QueryManager.prototype.clearStore = function (options) {\n if (options === void 0) {\n options = {\n discardWatches: true\n };\n }\n\n this.cancelPendingFetches(__DEV__ ? new InvariantError('Store reset while query was in flight (not completed in link chain)') : new InvariantError(20));\n this.queries.forEach(function (queryInfo) {\n if (queryInfo.observableQuery) {\n queryInfo.networkStatus = NetworkStatus.loading;\n } else {\n queryInfo.stop();\n }\n });\n\n if (this.mutationStore) {\n this.mutationStore = Object.create(null);\n }\n\n return this.cache.reset(options);\n };\n\n QueryManager.prototype.getObservableQueries = function (include) {\n var _this = this;\n\n if (include === void 0) {\n include = \"active\";\n }\n\n var queries = new Map();\n var queryNamesAndDocs = new Map();\n var legacyQueryOptions = new Set();\n\n if (Array.isArray(include)) {\n include.forEach(function (desc) {\n if (typeof desc === \"string\") {\n queryNamesAndDocs.set(desc, false);\n } else if (isDocumentNode(desc)) {\n queryNamesAndDocs.set(_this.transform(desc).document, false);\n } else if (isNonNullObject(desc) && desc.query) {\n legacyQueryOptions.add(desc);\n }\n });\n }\n\n this.queries.forEach(function (_a, queryId) {\n var oq = _a.observableQuery,\n document = _a.document;\n\n if (oq) {\n if (include === \"all\") {\n queries.set(queryId, oq);\n return;\n }\n\n var queryName = oq.queryName,\n fetchPolicy = oq.options.fetchPolicy;\n\n if (fetchPolicy === \"standby\" || include === \"active\" && !oq.hasObservers()) {\n return;\n }\n\n if (include === \"active\" || queryName && queryNamesAndDocs.has(queryName) || document && queryNamesAndDocs.has(document)) {\n queries.set(queryId, oq);\n if (queryName) queryNamesAndDocs.set(queryName, true);\n if (document) queryNamesAndDocs.set(document, true);\n }\n }\n });\n\n if (legacyQueryOptions.size) {\n legacyQueryOptions.forEach(function (options) {\n var queryId = makeUniqueId(\"legacyOneTimeQuery\");\n\n var queryInfo = _this.getQuery(queryId).init({\n document: options.query,\n variables: options.variables\n });\n\n var oq = new ObservableQuery({\n queryManager: _this,\n queryInfo: queryInfo,\n options: __assign(__assign({}, options), {\n fetchPolicy: \"network-only\"\n })\n });\n invariant(oq.queryId === queryId);\n queryInfo.setObservableQuery(oq);\n queries.set(queryId, oq);\n });\n }\n\n if (__DEV__ && queryNamesAndDocs.size) {\n queryNamesAndDocs.forEach(function (included, nameOrDoc) {\n if (!included) {\n __DEV__ && invariant.warn(\"Unknown query \".concat(typeof nameOrDoc === \"string\" ? \"named \" : \"\").concat(JSON.stringify(nameOrDoc, null, 2), \" requested in refetchQueries options.include array\"));\n }\n });\n }\n\n return queries;\n };\n\n QueryManager.prototype.reFetchObservableQueries = function (includeStandby) {\n var _this = this;\n\n if (includeStandby === void 0) {\n includeStandby = false;\n }\n\n var observableQueryPromises = [];\n this.getObservableQueries(includeStandby ? \"all\" : \"active\").forEach(function (observableQuery, queryId) {\n var fetchPolicy = observableQuery.options.fetchPolicy;\n observableQuery.resetLastResults();\n\n if (includeStandby || fetchPolicy !== \"standby\" && fetchPolicy !== \"cache-only\") {\n observableQueryPromises.push(observableQuery.refetch());\n }\n\n _this.getQuery(queryId).setDiff(null);\n });\n this.broadcastQueries();\n return Promise.all(observableQueryPromises);\n };\n\n QueryManager.prototype.setObservableQuery = function (observableQuery) {\n this.getQuery(observableQuery.queryId).setObservableQuery(observableQuery);\n };\n\n QueryManager.prototype.startGraphQLSubscription = function (_a) {\n var _this = this;\n\n var query = _a.query,\n fetchPolicy = _a.fetchPolicy,\n errorPolicy = _a.errorPolicy,\n variables = _a.variables,\n _b = _a.context,\n context = _b === void 0 ? {} : _b;\n query = this.transform(query).document;\n variables = this.getVariables(query, variables);\n\n var makeObservable = function makeObservable(variables) {\n return _this.getObservableFromLink(query, context, variables).map(function (result) {\n if (fetchPolicy !== 'no-cache') {\n if (shouldWriteResult(result, errorPolicy)) {\n _this.cache.write({\n query: query,\n result: result.data,\n dataId: 'ROOT_SUBSCRIPTION',\n variables: variables\n });\n }\n\n _this.broadcastQueries();\n }\n\n if (graphQLResultHasError(result)) {\n throw new ApolloError({\n graphQLErrors: result.errors\n });\n }\n\n return result;\n });\n };\n\n if (this.transform(query).hasClientExports) {\n var observablePromise_1 = this.localState.addExportedVariables(query, variables, context).then(makeObservable);\n return new Observable(function (observer) {\n var sub = null;\n observablePromise_1.then(function (observable) {\n return sub = observable.subscribe(observer);\n }, observer.error);\n return function () {\n return sub && sub.unsubscribe();\n };\n });\n }\n\n return makeObservable(variables);\n };\n\n QueryManager.prototype.stopQuery = function (queryId) {\n this.stopQueryNoBroadcast(queryId);\n this.broadcastQueries();\n };\n\n QueryManager.prototype.stopQueryNoBroadcast = function (queryId) {\n this.stopQueryInStoreNoBroadcast(queryId);\n this.removeQuery(queryId);\n };\n\n QueryManager.prototype.removeQuery = function (queryId) {\n this.fetchCancelFns.delete(queryId);\n\n if (this.queries.has(queryId)) {\n this.getQuery(queryId).stop();\n this.queries.delete(queryId);\n }\n };\n\n QueryManager.prototype.broadcastQueries = function () {\n if (this.onBroadcast) this.onBroadcast();\n this.queries.forEach(function (info) {\n return info.notify();\n });\n };\n\n QueryManager.prototype.getLocalState = function () {\n return this.localState;\n };\n\n QueryManager.prototype.getObservableFromLink = function (query, context, variables, deduplication) {\n var _this = this;\n\n var _a;\n\n if (deduplication === void 0) {\n deduplication = (_a = context === null || context === void 0 ? void 0 : context.queryDeduplication) !== null && _a !== void 0 ? _a : this.queryDeduplication;\n }\n\n var observable;\n var serverQuery = this.transform(query).serverQuery;\n\n if (serverQuery) {\n var _b = this,\n inFlightLinkObservables_1 = _b.inFlightLinkObservables,\n link = _b.link;\n\n var operation = {\n query: serverQuery,\n variables: variables,\n operationName: getOperationName(serverQuery) || void 0,\n context: this.prepareContext(__assign(__assign({}, context), {\n forceFetch: !deduplication\n }))\n };\n context = operation.context;\n\n if (deduplication) {\n var byVariables_1 = inFlightLinkObservables_1.get(serverQuery) || new Map();\n inFlightLinkObservables_1.set(serverQuery, byVariables_1);\n var varJson_1 = canonicalStringify(variables);\n observable = byVariables_1.get(varJson_1);\n\n if (!observable) {\n var concast = new Concast([execute(link, operation)]);\n byVariables_1.set(varJson_1, observable = concast);\n concast.beforeNext(function () {\n if (byVariables_1.delete(varJson_1) && byVariables_1.size < 1) {\n inFlightLinkObservables_1.delete(serverQuery);\n }\n });\n }\n } else {\n observable = new Concast([execute(link, operation)]);\n }\n } else {\n observable = new Concast([Observable.of({\n data: {}\n })]);\n context = this.prepareContext(context);\n }\n\n var clientQuery = this.transform(query).clientQuery;\n\n if (clientQuery) {\n observable = asyncMap(observable, function (result) {\n return _this.localState.runResolvers({\n document: clientQuery,\n remoteResult: result,\n context: context,\n variables: variables\n });\n });\n }\n\n return observable;\n };\n\n QueryManager.prototype.getResultsFromLink = function (queryInfo, cacheWriteBehavior, options) {\n var requestId = queryInfo.lastRequestId = this.generateRequestId();\n options = cloneDeep(options);\n var linkDocument = this.cache.transformForLink(this.transform(queryInfo.document).document);\n return asyncMap(this.getObservableFromLink(linkDocument, options.context, options.variables), function (result) {\n var graphQLErrors = isNonEmptyArray(result.errors) ? result.errors.slice(0) : [];\n\n if ('incremental' in result && isNonEmptyArray(result.incremental)) {\n result.incremental.forEach(function (incrementalResult) {\n if (incrementalResult.errors) {\n graphQLErrors.push.apply(graphQLErrors, incrementalResult.errors);\n }\n });\n }\n\n var hasErrors = isNonEmptyArray(graphQLErrors);\n\n if (requestId >= queryInfo.lastRequestId) {\n if (hasErrors && options.errorPolicy === \"none\") {\n throw queryInfo.markError(new ApolloError({\n graphQLErrors: graphQLErrors\n }));\n }\n\n queryInfo.markResult(result, linkDocument, options, cacheWriteBehavior);\n queryInfo.markReady();\n }\n\n var aqr = {\n data: result.data,\n loading: false,\n networkStatus: NetworkStatus.ready\n };\n\n if (hasErrors && options.errorPolicy !== \"ignore\") {\n aqr.errors = graphQLErrors;\n aqr.networkStatus = NetworkStatus.error;\n }\n\n return aqr;\n }, function (networkError) {\n var error = isApolloError(networkError) ? networkError : new ApolloError({\n networkError: networkError\n });\n\n if (requestId >= queryInfo.lastRequestId) {\n queryInfo.markError(error);\n }\n\n throw error;\n });\n };\n\n QueryManager.prototype.fetchQueryObservable = function (queryId, options, networkStatus) {\n var _this = this;\n\n if (networkStatus === void 0) {\n networkStatus = NetworkStatus.loading;\n }\n\n var query = this.transform(options.query).document;\n var variables = this.getVariables(query, options.variables);\n var queryInfo = this.getQuery(queryId);\n var defaults = this.defaultOptions.watchQuery;\n var _a = options.fetchPolicy,\n fetchPolicy = _a === void 0 ? defaults && defaults.fetchPolicy || \"cache-first\" : _a,\n _b = options.errorPolicy,\n errorPolicy = _b === void 0 ? defaults && defaults.errorPolicy || \"none\" : _b,\n _c = options.returnPartialData,\n returnPartialData = _c === void 0 ? false : _c,\n _d = options.notifyOnNetworkStatusChange,\n notifyOnNetworkStatusChange = _d === void 0 ? false : _d,\n _e = options.context,\n context = _e === void 0 ? {} : _e;\n var normalized = Object.assign({}, options, {\n query: query,\n variables: variables,\n fetchPolicy: fetchPolicy,\n errorPolicy: errorPolicy,\n returnPartialData: returnPartialData,\n notifyOnNetworkStatusChange: notifyOnNetworkStatusChange,\n context: context\n });\n\n var fromVariables = function fromVariables(variables) {\n normalized.variables = variables;\n\n var concastSources = _this.fetchQueryByPolicy(queryInfo, normalized, networkStatus);\n\n if (normalized.fetchPolicy !== \"standby\" && concastSources.length > 0 && queryInfo.observableQuery) {\n queryInfo.observableQuery[\"applyNextFetchPolicy\"](\"after-fetch\", options);\n }\n\n return concastSources;\n };\n\n var cleanupCancelFn = function cleanupCancelFn() {\n return _this.fetchCancelFns.delete(queryId);\n };\n\n this.fetchCancelFns.set(queryId, function (reason) {\n cleanupCancelFn();\n setTimeout(function () {\n return concast.cancel(reason);\n });\n });\n var concast = new Concast(this.transform(normalized.query).hasClientExports ? this.localState.addExportedVariables(normalized.query, normalized.variables, normalized.context).then(fromVariables) : fromVariables(normalized.variables));\n concast.promise.then(cleanupCancelFn, cleanupCancelFn);\n return concast;\n };\n\n QueryManager.prototype.refetchQueries = function (_a) {\n var _this = this;\n\n var updateCache = _a.updateCache,\n include = _a.include,\n _b = _a.optimistic,\n optimistic = _b === void 0 ? false : _b,\n _c = _a.removeOptimistic,\n removeOptimistic = _c === void 0 ? optimistic ? makeUniqueId(\"refetchQueries\") : void 0 : _c,\n onQueryUpdated = _a.onQueryUpdated;\n var includedQueriesById = new Map();\n\n if (include) {\n this.getObservableQueries(include).forEach(function (oq, queryId) {\n includedQueriesById.set(queryId, {\n oq: oq,\n lastDiff: _this.getQuery(queryId).getDiff()\n });\n });\n }\n\n var results = new Map();\n\n if (updateCache) {\n this.cache.batch({\n update: updateCache,\n optimistic: optimistic && removeOptimistic || false,\n removeOptimistic: removeOptimistic,\n onWatchUpdated: function onWatchUpdated(watch, diff, lastDiff) {\n var oq = watch.watcher instanceof QueryInfo && watch.watcher.observableQuery;\n\n if (oq) {\n if (onQueryUpdated) {\n includedQueriesById.delete(oq.queryId);\n var result = onQueryUpdated(oq, diff, lastDiff);\n\n if (result === true) {\n result = oq.refetch();\n }\n\n if (result !== false) {\n results.set(oq, result);\n }\n\n return result;\n }\n\n if (onQueryUpdated !== null) {\n includedQueriesById.set(oq.queryId, {\n oq: oq,\n lastDiff: lastDiff,\n diff: diff\n });\n }\n }\n }\n });\n }\n\n if (includedQueriesById.size) {\n includedQueriesById.forEach(function (_a, queryId) {\n var oq = _a.oq,\n lastDiff = _a.lastDiff,\n diff = _a.diff;\n var result;\n\n if (onQueryUpdated) {\n if (!diff) {\n var info = oq[\"queryInfo\"];\n info.reset();\n diff = info.getDiff();\n }\n\n result = onQueryUpdated(oq, diff, lastDiff);\n }\n\n if (!onQueryUpdated || result === true) {\n result = oq.refetch();\n }\n\n if (result !== false) {\n results.set(oq, result);\n }\n\n if (queryId.indexOf(\"legacyOneTimeQuery\") >= 0) {\n _this.stopQueryNoBroadcast(queryId);\n }\n });\n }\n\n if (removeOptimistic) {\n this.cache.removeOptimistic(removeOptimistic);\n }\n\n return results;\n };\n\n QueryManager.prototype.fetchQueryByPolicy = function (queryInfo, _a, networkStatus) {\n var _this = this;\n\n var query = _a.query,\n variables = _a.variables,\n fetchPolicy = _a.fetchPolicy,\n refetchWritePolicy = _a.refetchWritePolicy,\n errorPolicy = _a.errorPolicy,\n returnPartialData = _a.returnPartialData,\n context = _a.context,\n notifyOnNetworkStatusChange = _a.notifyOnNetworkStatusChange;\n var oldNetworkStatus = queryInfo.networkStatus;\n queryInfo.init({\n document: this.transform(query).document,\n variables: variables,\n networkStatus: networkStatus\n });\n\n var readCache = function readCache() {\n return queryInfo.getDiff(variables);\n };\n\n var resultsFromCache = function resultsFromCache(diff, networkStatus) {\n if (networkStatus === void 0) {\n networkStatus = queryInfo.networkStatus || NetworkStatus.loading;\n }\n\n var data = diff.result;\n\n if (__DEV__ && !returnPartialData && !equal(data, {})) {\n logMissingFieldErrors(diff.missing);\n }\n\n var fromData = function fromData(data) {\n return Observable.of(__assign({\n data: data,\n loading: isNetworkRequestInFlight(networkStatus),\n networkStatus: networkStatus\n }, diff.complete ? null : {\n partial: true\n }));\n };\n\n if (data && _this.transform(query).hasForcedResolvers) {\n return _this.localState.runResolvers({\n document: query,\n remoteResult: {\n data: data\n },\n context: context,\n variables: variables,\n onlyRunForcedResolvers: true\n }).then(function (resolved) {\n return fromData(resolved.data || void 0);\n });\n }\n\n return fromData(data);\n };\n\n var cacheWriteBehavior = fetchPolicy === \"no-cache\" ? 0 : networkStatus === NetworkStatus.refetch && refetchWritePolicy !== \"merge\" ? 1 : 2;\n\n var resultsFromLink = function resultsFromLink() {\n return _this.getResultsFromLink(queryInfo, cacheWriteBehavior, {\n variables: variables,\n context: context,\n fetchPolicy: fetchPolicy,\n errorPolicy: errorPolicy\n });\n };\n\n var shouldNotify = notifyOnNetworkStatusChange && typeof oldNetworkStatus === \"number\" && oldNetworkStatus !== networkStatus && isNetworkRequestInFlight(networkStatus);\n\n switch (fetchPolicy) {\n default:\n case \"cache-first\":\n {\n var diff = readCache();\n\n if (diff.complete) {\n return [resultsFromCache(diff, queryInfo.markReady())];\n }\n\n if (returnPartialData || shouldNotify) {\n return [resultsFromCache(diff), resultsFromLink()];\n }\n\n return [resultsFromLink()];\n }\n\n case \"cache-and-network\":\n {\n var diff = readCache();\n\n if (diff.complete || returnPartialData || shouldNotify) {\n return [resultsFromCache(diff), resultsFromLink()];\n }\n\n return [resultsFromLink()];\n }\n\n case \"cache-only\":\n return [resultsFromCache(readCache(), queryInfo.markReady())];\n\n case \"network-only\":\n if (shouldNotify) {\n return [resultsFromCache(readCache()), resultsFromLink()];\n }\n\n return [resultsFromLink()];\n\n case \"no-cache\":\n if (shouldNotify) {\n return [resultsFromCache(queryInfo.getDiff()), resultsFromLink()];\n }\n\n return [resultsFromLink()];\n\n case \"standby\":\n return [];\n }\n };\n\n QueryManager.prototype.getQuery = function (queryId) {\n if (queryId && !this.queries.has(queryId)) {\n this.queries.set(queryId, new QueryInfo(this, queryId));\n }\n\n return this.queries.get(queryId);\n };\n\n QueryManager.prototype.prepareContext = function (context) {\n if (context === void 0) {\n context = {};\n }\n\n var newContext = this.localState.prepareContext(context);\n return __assign(__assign({}, newContext), {\n clientAwareness: this.clientAwareness\n });\n };\n\n return QueryManager;\n}();\n\nexport { QueryManager };","import { __assign, __extends, __rest } from \"tslib\";\nimport { invariant } from \"../../utilities/globals/index.js\";\nimport { dep } from 'optimism';\nimport { equal } from '@wry/equality';\nimport { Trie } from '@wry/trie';\nimport { isReference, makeReference, DeepMerger, maybeDeepFreeze, canUseWeakMap, isNonNullObject } from \"../../utilities/index.js\";\nimport { hasOwn, fieldNameFromStoreName } from \"./helpers.js\";\nvar DELETE = Object.create(null);\n\nvar delModifier = function delModifier() {\n return DELETE;\n};\n\nvar INVALIDATE = Object.create(null);\n\nvar EntityStore = function () {\n function EntityStore(policies, group) {\n var _this = this;\n\n this.policies = policies;\n this.group = group;\n this.data = Object.create(null);\n this.rootIds = Object.create(null);\n this.refs = Object.create(null);\n\n this.getFieldValue = function (objectOrReference, storeFieldName) {\n return maybeDeepFreeze(isReference(objectOrReference) ? _this.get(objectOrReference.__ref, storeFieldName) : objectOrReference && objectOrReference[storeFieldName]);\n };\n\n this.canRead = function (objOrRef) {\n return isReference(objOrRef) ? _this.has(objOrRef.__ref) : typeof objOrRef === \"object\";\n };\n\n this.toReference = function (objOrIdOrRef, mergeIntoStore) {\n if (typeof objOrIdOrRef === \"string\") {\n return makeReference(objOrIdOrRef);\n }\n\n if (isReference(objOrIdOrRef)) {\n return objOrIdOrRef;\n }\n\n var id = _this.policies.identify(objOrIdOrRef)[0];\n\n if (id) {\n var ref = makeReference(id);\n\n if (mergeIntoStore) {\n _this.merge(id, objOrIdOrRef);\n }\n\n return ref;\n }\n };\n }\n\n EntityStore.prototype.toObject = function () {\n return __assign({}, this.data);\n };\n\n EntityStore.prototype.has = function (dataId) {\n return this.lookup(dataId, true) !== void 0;\n };\n\n EntityStore.prototype.get = function (dataId, fieldName) {\n this.group.depend(dataId, fieldName);\n\n if (hasOwn.call(this.data, dataId)) {\n var storeObject = this.data[dataId];\n\n if (storeObject && hasOwn.call(storeObject, fieldName)) {\n return storeObject[fieldName];\n }\n }\n\n if (fieldName === \"__typename\" && hasOwn.call(this.policies.rootTypenamesById, dataId)) {\n return this.policies.rootTypenamesById[dataId];\n }\n\n if (this instanceof Layer) {\n return this.parent.get(dataId, fieldName);\n }\n };\n\n EntityStore.prototype.lookup = function (dataId, dependOnExistence) {\n if (dependOnExistence) this.group.depend(dataId, \"__exists\");\n\n if (hasOwn.call(this.data, dataId)) {\n return this.data[dataId];\n }\n\n if (this instanceof Layer) {\n return this.parent.lookup(dataId, dependOnExistence);\n }\n\n if (this.policies.rootTypenamesById[dataId]) {\n return Object.create(null);\n }\n };\n\n EntityStore.prototype.merge = function (older, newer) {\n var _this = this;\n\n var dataId;\n if (isReference(older)) older = older.__ref;\n if (isReference(newer)) newer = newer.__ref;\n var existing = typeof older === \"string\" ? this.lookup(dataId = older) : older;\n var incoming = typeof newer === \"string\" ? this.lookup(dataId = newer) : newer;\n if (!incoming) return;\n __DEV__ ? invariant(typeof dataId === \"string\", \"store.merge expects a string ID\") : invariant(typeof dataId === \"string\", 1);\n var merged = new DeepMerger(storeObjectReconciler).merge(existing, incoming);\n this.data[dataId] = merged;\n\n if (merged !== existing) {\n delete this.refs[dataId];\n\n if (this.group.caching) {\n var fieldsToDirty_1 = Object.create(null);\n if (!existing) fieldsToDirty_1.__exists = 1;\n Object.keys(incoming).forEach(function (storeFieldName) {\n if (!existing || existing[storeFieldName] !== merged[storeFieldName]) {\n fieldsToDirty_1[storeFieldName] = 1;\n var fieldName = fieldNameFromStoreName(storeFieldName);\n\n if (fieldName !== storeFieldName && !_this.policies.hasKeyArgs(merged.__typename, fieldName)) {\n fieldsToDirty_1[fieldName] = 1;\n }\n\n if (merged[storeFieldName] === void 0 && !(_this instanceof Layer)) {\n delete merged[storeFieldName];\n }\n }\n });\n\n if (fieldsToDirty_1.__typename && !(existing && existing.__typename) && this.policies.rootTypenamesById[dataId] === merged.__typename) {\n delete fieldsToDirty_1.__typename;\n }\n\n Object.keys(fieldsToDirty_1).forEach(function (fieldName) {\n return _this.group.dirty(dataId, fieldName);\n });\n }\n }\n };\n\n EntityStore.prototype.modify = function (dataId, fields) {\n var _this = this;\n\n var storeObject = this.lookup(dataId);\n\n if (storeObject) {\n var changedFields_1 = Object.create(null);\n var needToMerge_1 = false;\n var allDeleted_1 = true;\n var sharedDetails_1 = {\n DELETE: DELETE,\n INVALIDATE: INVALIDATE,\n isReference: isReference,\n toReference: this.toReference,\n canRead: this.canRead,\n readField: function readField(fieldNameOrOptions, from) {\n return _this.policies.readField(typeof fieldNameOrOptions === \"string\" ? {\n fieldName: fieldNameOrOptions,\n from: from || makeReference(dataId)\n } : fieldNameOrOptions, {\n store: _this\n });\n }\n };\n Object.keys(storeObject).forEach(function (storeFieldName) {\n var fieldName = fieldNameFromStoreName(storeFieldName);\n var fieldValue = storeObject[storeFieldName];\n if (fieldValue === void 0) return;\n var modify = typeof fields === \"function\" ? fields : fields[storeFieldName] || fields[fieldName];\n\n if (modify) {\n var newValue = modify === delModifier ? DELETE : modify(maybeDeepFreeze(fieldValue), __assign(__assign({}, sharedDetails_1), {\n fieldName: fieldName,\n storeFieldName: storeFieldName,\n storage: _this.getStorage(dataId, storeFieldName)\n }));\n\n if (newValue === INVALIDATE) {\n _this.group.dirty(dataId, storeFieldName);\n } else {\n if (newValue === DELETE) newValue = void 0;\n\n if (newValue !== fieldValue) {\n changedFields_1[storeFieldName] = newValue;\n needToMerge_1 = true;\n fieldValue = newValue;\n }\n }\n }\n\n if (fieldValue !== void 0) {\n allDeleted_1 = false;\n }\n });\n\n if (needToMerge_1) {\n this.merge(dataId, changedFields_1);\n\n if (allDeleted_1) {\n if (this instanceof Layer) {\n this.data[dataId] = void 0;\n } else {\n delete this.data[dataId];\n }\n\n this.group.dirty(dataId, \"__exists\");\n }\n\n return true;\n }\n }\n\n return false;\n };\n\n EntityStore.prototype.delete = function (dataId, fieldName, args) {\n var _a;\n\n var storeObject = this.lookup(dataId);\n\n if (storeObject) {\n var typename = this.getFieldValue(storeObject, \"__typename\");\n var storeFieldName = fieldName && args ? this.policies.getStoreFieldName({\n typename: typename,\n fieldName: fieldName,\n args: args\n }) : fieldName;\n return this.modify(dataId, storeFieldName ? (_a = {}, _a[storeFieldName] = delModifier, _a) : delModifier);\n }\n\n return false;\n };\n\n EntityStore.prototype.evict = function (options, limit) {\n var evicted = false;\n\n if (options.id) {\n if (hasOwn.call(this.data, options.id)) {\n evicted = this.delete(options.id, options.fieldName, options.args);\n }\n\n if (this instanceof Layer && this !== limit) {\n evicted = this.parent.evict(options, limit) || evicted;\n }\n\n if (options.fieldName || evicted) {\n this.group.dirty(options.id, options.fieldName || \"__exists\");\n }\n }\n\n return evicted;\n };\n\n EntityStore.prototype.clear = function () {\n this.replace(null);\n };\n\n EntityStore.prototype.extract = function () {\n var _this = this;\n\n var obj = this.toObject();\n var extraRootIds = [];\n this.getRootIdSet().forEach(function (id) {\n if (!hasOwn.call(_this.policies.rootTypenamesById, id)) {\n extraRootIds.push(id);\n }\n });\n\n if (extraRootIds.length) {\n obj.__META = {\n extraRootIds: extraRootIds.sort()\n };\n }\n\n return obj;\n };\n\n EntityStore.prototype.replace = function (newData) {\n var _this = this;\n\n Object.keys(this.data).forEach(function (dataId) {\n if (!(newData && hasOwn.call(newData, dataId))) {\n _this.delete(dataId);\n }\n });\n\n if (newData) {\n var __META = newData.__META,\n rest_1 = __rest(newData, [\"__META\"]);\n\n Object.keys(rest_1).forEach(function (dataId) {\n _this.merge(dataId, rest_1[dataId]);\n });\n\n if (__META) {\n __META.extraRootIds.forEach(this.retain, this);\n }\n }\n };\n\n EntityStore.prototype.retain = function (rootId) {\n return this.rootIds[rootId] = (this.rootIds[rootId] || 0) + 1;\n };\n\n EntityStore.prototype.release = function (rootId) {\n if (this.rootIds[rootId] > 0) {\n var count = --this.rootIds[rootId];\n if (!count) delete this.rootIds[rootId];\n return count;\n }\n\n return 0;\n };\n\n EntityStore.prototype.getRootIdSet = function (ids) {\n if (ids === void 0) {\n ids = new Set();\n }\n\n Object.keys(this.rootIds).forEach(ids.add, ids);\n\n if (this instanceof Layer) {\n this.parent.getRootIdSet(ids);\n } else {\n Object.keys(this.policies.rootTypenamesById).forEach(ids.add, ids);\n }\n\n return ids;\n };\n\n EntityStore.prototype.gc = function () {\n var _this = this;\n\n var ids = this.getRootIdSet();\n var snapshot = this.toObject();\n ids.forEach(function (id) {\n if (hasOwn.call(snapshot, id)) {\n Object.keys(_this.findChildRefIds(id)).forEach(ids.add, ids);\n delete snapshot[id];\n }\n });\n var idsToRemove = Object.keys(snapshot);\n\n if (idsToRemove.length) {\n var root_1 = this;\n\n while (root_1 instanceof Layer) {\n root_1 = root_1.parent;\n }\n\n idsToRemove.forEach(function (id) {\n return root_1.delete(id);\n });\n }\n\n return idsToRemove;\n };\n\n EntityStore.prototype.findChildRefIds = function (dataId) {\n if (!hasOwn.call(this.refs, dataId)) {\n var found_1 = this.refs[dataId] = Object.create(null);\n var root = this.data[dataId];\n if (!root) return found_1;\n var workSet_1 = new Set([root]);\n workSet_1.forEach(function (obj) {\n if (isReference(obj)) {\n found_1[obj.__ref] = true;\n }\n\n if (isNonNullObject(obj)) {\n Object.keys(obj).forEach(function (key) {\n var child = obj[key];\n\n if (isNonNullObject(child)) {\n workSet_1.add(child);\n }\n });\n }\n });\n }\n\n return this.refs[dataId];\n };\n\n EntityStore.prototype.makeCacheKey = function () {\n return this.group.keyMaker.lookupArray(arguments);\n };\n\n return EntityStore;\n}();\n\nexport { EntityStore };\n\nvar CacheGroup = function () {\n function CacheGroup(caching, parent) {\n if (parent === void 0) {\n parent = null;\n }\n\n this.caching = caching;\n this.parent = parent;\n this.d = null;\n this.resetCaching();\n }\n\n CacheGroup.prototype.resetCaching = function () {\n this.d = this.caching ? dep() : null;\n this.keyMaker = new Trie(canUseWeakMap);\n };\n\n CacheGroup.prototype.depend = function (dataId, storeFieldName) {\n if (this.d) {\n this.d(makeDepKey(dataId, storeFieldName));\n var fieldName = fieldNameFromStoreName(storeFieldName);\n\n if (fieldName !== storeFieldName) {\n this.d(makeDepKey(dataId, fieldName));\n }\n\n if (this.parent) {\n this.parent.depend(dataId, storeFieldName);\n }\n }\n };\n\n CacheGroup.prototype.dirty = function (dataId, storeFieldName) {\n if (this.d) {\n this.d.dirty(makeDepKey(dataId, storeFieldName), storeFieldName === \"__exists\" ? \"forget\" : \"setDirty\");\n }\n };\n\n return CacheGroup;\n}();\n\nfunction makeDepKey(dataId, storeFieldName) {\n return storeFieldName + '#' + dataId;\n}\n\nexport function maybeDependOnExistenceOfEntity(store, entityId) {\n if (supportsResultCaching(store)) {\n store.group.depend(entityId, \"__exists\");\n }\n}\n\n(function (EntityStore) {\n var Root = function (_super) {\n __extends(Root, _super);\n\n function Root(_a) {\n var policies = _a.policies,\n _b = _a.resultCaching,\n resultCaching = _b === void 0 ? true : _b,\n seed = _a.seed;\n\n var _this = _super.call(this, policies, new CacheGroup(resultCaching)) || this;\n\n _this.stump = new Stump(_this);\n _this.storageTrie = new Trie(canUseWeakMap);\n if (seed) _this.replace(seed);\n return _this;\n }\n\n Root.prototype.addLayer = function (layerId, replay) {\n return this.stump.addLayer(layerId, replay);\n };\n\n Root.prototype.removeLayer = function () {\n return this;\n };\n\n Root.prototype.getStorage = function () {\n return this.storageTrie.lookupArray(arguments);\n };\n\n return Root;\n }(EntityStore);\n\n EntityStore.Root = Root;\n})(EntityStore || (EntityStore = {}));\n\nvar Layer = function (_super) {\n __extends(Layer, _super);\n\n function Layer(id, parent, replay, group) {\n var _this = _super.call(this, parent.policies, group) || this;\n\n _this.id = id;\n _this.parent = parent;\n _this.replay = replay;\n _this.group = group;\n replay(_this);\n return _this;\n }\n\n Layer.prototype.addLayer = function (layerId, replay) {\n return new Layer(layerId, this, replay, this.group);\n };\n\n Layer.prototype.removeLayer = function (layerId) {\n var _this = this;\n\n var parent = this.parent.removeLayer(layerId);\n\n if (layerId === this.id) {\n if (this.group.caching) {\n Object.keys(this.data).forEach(function (dataId) {\n var ownStoreObject = _this.data[dataId];\n var parentStoreObject = parent[\"lookup\"](dataId);\n\n if (!parentStoreObject) {\n _this.delete(dataId);\n } else if (!ownStoreObject) {\n _this.group.dirty(dataId, \"__exists\");\n\n Object.keys(parentStoreObject).forEach(function (storeFieldName) {\n _this.group.dirty(dataId, storeFieldName);\n });\n } else if (ownStoreObject !== parentStoreObject) {\n Object.keys(ownStoreObject).forEach(function (storeFieldName) {\n if (!equal(ownStoreObject[storeFieldName], parentStoreObject[storeFieldName])) {\n _this.group.dirty(dataId, storeFieldName);\n }\n });\n }\n });\n }\n\n return parent;\n }\n\n if (parent === this.parent) return this;\n return parent.addLayer(this.id, this.replay);\n };\n\n Layer.prototype.toObject = function () {\n return __assign(__assign({}, this.parent.toObject()), this.data);\n };\n\n Layer.prototype.findChildRefIds = function (dataId) {\n var fromParent = this.parent.findChildRefIds(dataId);\n return hasOwn.call(this.data, dataId) ? __assign(__assign({}, fromParent), _super.prototype.findChildRefIds.call(this, dataId)) : fromParent;\n };\n\n Layer.prototype.getStorage = function () {\n var p = this.parent;\n\n while (p.parent) {\n p = p.parent;\n }\n\n return p.getStorage.apply(p, arguments);\n };\n\n return Layer;\n}(EntityStore);\n\nvar Stump = function (_super) {\n __extends(Stump, _super);\n\n function Stump(root) {\n return _super.call(this, \"EntityStore.Stump\", root, function () {}, new CacheGroup(root.group.caching, root.group)) || this;\n }\n\n Stump.prototype.removeLayer = function () {\n return this;\n };\n\n Stump.prototype.merge = function () {\n return this.parent.merge.apply(this.parent, arguments);\n };\n\n return Stump;\n}(Layer);\n\nfunction storeObjectReconciler(existingObject, incomingObject, property) {\n var existingValue = existingObject[property];\n var incomingValue = incomingObject[property];\n return equal(existingValue, incomingValue) ? existingValue : incomingValue;\n}\n\nexport function supportsResultCaching(store) {\n return !!(store instanceof EntityStore && store.group.caching);\n}","export function isExecutionPatchIncrementalResult(value) {\n return !!value.incremental;\n}","import { __assign } from \"tslib\";\nimport { invariant, InvariantError } from \"../utilities/globals/index.js\";\nimport { ApolloLink, execute } from \"../link/core/index.js\";\nimport { version } from \"../version.js\";\nimport { HttpLink } from \"../link/http/index.js\";\nimport { QueryManager } from \"./QueryManager.js\";\nimport { LocalState } from \"./LocalState.js\";\nvar hasSuggestedDevtools = false;\nimport { mergeOptions } from \"../utilities/index.js\";\nexport { mergeOptions };\n\nvar ApolloClient = function () {\n function ApolloClient(options) {\n var _this = this;\n\n this.resetStoreCallbacks = [];\n this.clearStoreCallbacks = [];\n var uri = options.uri,\n credentials = options.credentials,\n headers = options.headers,\n cache = options.cache,\n _a = options.ssrMode,\n ssrMode = _a === void 0 ? false : _a,\n _b = options.ssrForceFetchDelay,\n ssrForceFetchDelay = _b === void 0 ? 0 : _b,\n _c = options.connectToDevTools,\n connectToDevTools = _c === void 0 ? typeof window === 'object' && !window.__APOLLO_CLIENT__ && __DEV__ : _c,\n _d = options.queryDeduplication,\n queryDeduplication = _d === void 0 ? true : _d,\n defaultOptions = options.defaultOptions,\n _e = options.assumeImmutableResults,\n assumeImmutableResults = _e === void 0 ? false : _e,\n resolvers = options.resolvers,\n typeDefs = options.typeDefs,\n fragmentMatcher = options.fragmentMatcher,\n clientAwarenessName = options.name,\n clientAwarenessVersion = options.version;\n var link = options.link;\n\n if (!link) {\n link = uri ? new HttpLink({\n uri: uri,\n credentials: credentials,\n headers: headers\n }) : ApolloLink.empty();\n }\n\n if (!cache) {\n throw __DEV__ ? new InvariantError(\"To initialize Apollo Client, you must specify a 'cache' property \" + \"in the options object. \\n\" + \"For more information, please visit: https://go.apollo.dev/c/docs\") : new InvariantError(9);\n }\n\n this.link = link;\n this.cache = cache;\n this.disableNetworkFetches = ssrMode || ssrForceFetchDelay > 0;\n this.queryDeduplication = queryDeduplication;\n this.defaultOptions = defaultOptions || Object.create(null);\n this.typeDefs = typeDefs;\n\n if (ssrForceFetchDelay) {\n setTimeout(function () {\n return _this.disableNetworkFetches = false;\n }, ssrForceFetchDelay);\n }\n\n this.watchQuery = this.watchQuery.bind(this);\n this.query = this.query.bind(this);\n this.mutate = this.mutate.bind(this);\n this.resetStore = this.resetStore.bind(this);\n this.reFetchObservableQueries = this.reFetchObservableQueries.bind(this);\n\n if (connectToDevTools && typeof window === 'object') {\n window.__APOLLO_CLIENT__ = this;\n }\n\n if (!hasSuggestedDevtools && __DEV__) {\n hasSuggestedDevtools = true;\n\n if (typeof window !== 'undefined' && window.document && window.top === window.self && !window.__APOLLO_DEVTOOLS_GLOBAL_HOOK__) {\n var nav = window.navigator;\n var ua = nav && nav.userAgent;\n var url = void 0;\n\n if (typeof ua === \"string\") {\n if (ua.indexOf(\"Chrome/\") > -1) {\n url = \"https://chrome.google.com/webstore/detail/\" + \"apollo-client-developer-t/jdkknkkbebbapilgoeccciglkfbmbnfm\";\n } else if (ua.indexOf(\"Firefox/\") > -1) {\n url = \"https://addons.mozilla.org/en-US/firefox/addon/apollo-developer-tools/\";\n }\n }\n\n if (url) {\n __DEV__ && invariant.log(\"Download the Apollo DevTools for a better development \" + \"experience: \" + url);\n }\n }\n }\n\n this.version = version;\n this.localState = new LocalState({\n cache: cache,\n client: this,\n resolvers: resolvers,\n fragmentMatcher: fragmentMatcher\n });\n this.queryManager = new QueryManager({\n cache: this.cache,\n link: this.link,\n defaultOptions: this.defaultOptions,\n queryDeduplication: queryDeduplication,\n ssrMode: ssrMode,\n clientAwareness: {\n name: clientAwarenessName,\n version: clientAwarenessVersion\n },\n localState: this.localState,\n assumeImmutableResults: assumeImmutableResults,\n onBroadcast: connectToDevTools ? function () {\n if (_this.devToolsHookCb) {\n _this.devToolsHookCb({\n action: {},\n state: {\n queries: _this.queryManager.getQueryStore(),\n mutations: _this.queryManager.mutationStore || {}\n },\n dataWithOptimisticResults: _this.cache.extract(true)\n });\n }\n } : void 0\n });\n }\n\n ApolloClient.prototype.stop = function () {\n this.queryManager.stop();\n };\n\n ApolloClient.prototype.watchQuery = function (options) {\n if (this.defaultOptions.watchQuery) {\n options = mergeOptions(this.defaultOptions.watchQuery, options);\n }\n\n if (this.disableNetworkFetches && (options.fetchPolicy === 'network-only' || options.fetchPolicy === 'cache-and-network')) {\n options = __assign(__assign({}, options), {\n fetchPolicy: 'cache-first'\n });\n }\n\n return this.queryManager.watchQuery(options);\n };\n\n ApolloClient.prototype.query = function (options) {\n if (this.defaultOptions.query) {\n options = mergeOptions(this.defaultOptions.query, options);\n }\n\n __DEV__ ? invariant(options.fetchPolicy !== 'cache-and-network', 'The cache-and-network fetchPolicy does not work with client.query, because ' + 'client.query can only return a single result. Please use client.watchQuery ' + 'to receive multiple results from the cache and the network, or consider ' + 'using a different fetchPolicy, such as cache-first or network-only.') : invariant(options.fetchPolicy !== 'cache-and-network', 10);\n\n if (this.disableNetworkFetches && options.fetchPolicy === 'network-only') {\n options = __assign(__assign({}, options), {\n fetchPolicy: 'cache-first'\n });\n }\n\n return this.queryManager.query(options);\n };\n\n ApolloClient.prototype.mutate = function (options) {\n if (this.defaultOptions.mutate) {\n options = mergeOptions(this.defaultOptions.mutate, options);\n }\n\n return this.queryManager.mutate(options);\n };\n\n ApolloClient.prototype.subscribe = function (options) {\n return this.queryManager.startGraphQLSubscription(options);\n };\n\n ApolloClient.prototype.readQuery = function (options, optimistic) {\n if (optimistic === void 0) {\n optimistic = false;\n }\n\n return this.cache.readQuery(options, optimistic);\n };\n\n ApolloClient.prototype.readFragment = function (options, optimistic) {\n if (optimistic === void 0) {\n optimistic = false;\n }\n\n return this.cache.readFragment(options, optimistic);\n };\n\n ApolloClient.prototype.writeQuery = function (options) {\n this.cache.writeQuery(options);\n this.queryManager.broadcastQueries();\n };\n\n ApolloClient.prototype.writeFragment = function (options) {\n this.cache.writeFragment(options);\n this.queryManager.broadcastQueries();\n };\n\n ApolloClient.prototype.__actionHookForDevTools = function (cb) {\n this.devToolsHookCb = cb;\n };\n\n ApolloClient.prototype.__requestRaw = function (payload) {\n return execute(this.link, payload);\n };\n\n ApolloClient.prototype.resetStore = function () {\n var _this = this;\n\n return Promise.resolve().then(function () {\n return _this.queryManager.clearStore({\n discardWatches: false\n });\n }).then(function () {\n return Promise.all(_this.resetStoreCallbacks.map(function (fn) {\n return fn();\n }));\n }).then(function () {\n return _this.reFetchObservableQueries();\n });\n };\n\n ApolloClient.prototype.clearStore = function () {\n var _this = this;\n\n return Promise.resolve().then(function () {\n return _this.queryManager.clearStore({\n discardWatches: true\n });\n }).then(function () {\n return Promise.all(_this.clearStoreCallbacks.map(function (fn) {\n return fn();\n }));\n });\n };\n\n ApolloClient.prototype.onResetStore = function (cb) {\n var _this = this;\n\n this.resetStoreCallbacks.push(cb);\n return function () {\n _this.resetStoreCallbacks = _this.resetStoreCallbacks.filter(function (c) {\n return c !== cb;\n });\n };\n };\n\n ApolloClient.prototype.onClearStore = function (cb) {\n var _this = this;\n\n this.clearStoreCallbacks.push(cb);\n return function () {\n _this.clearStoreCallbacks = _this.clearStoreCallbacks.filter(function (c) {\n return c !== cb;\n });\n };\n };\n\n ApolloClient.prototype.reFetchObservableQueries = function (includeStandby) {\n return this.queryManager.reFetchObservableQueries(includeStandby);\n };\n\n ApolloClient.prototype.refetchQueries = function (options) {\n var map = this.queryManager.refetchQueries(options);\n var queries = [];\n var results = [];\n map.forEach(function (result, obsQuery) {\n queries.push(obsQuery);\n results.push(result);\n });\n var result = Promise.all(results);\n result.queries = queries;\n result.results = results;\n result.catch(function (error) {\n __DEV__ && invariant.debug(\"In client.refetchQueries, Promise.all promise rejected with error \".concat(error));\n });\n return result;\n };\n\n ApolloClient.prototype.getObservableQueries = function (include) {\n if (include === void 0) {\n include = \"active\";\n }\n\n return this.queryManager.getObservableQueries(include);\n };\n\n ApolloClient.prototype.extract = function (optimistic) {\n return this.cache.extract(optimistic);\n };\n\n ApolloClient.prototype.restore = function (serializedState) {\n return this.cache.restore(serializedState);\n };\n\n ApolloClient.prototype.addResolvers = function (resolvers) {\n this.localState.addResolvers(resolvers);\n };\n\n ApolloClient.prototype.setResolvers = function (resolvers) {\n this.localState.setResolvers(resolvers);\n };\n\n ApolloClient.prototype.getResolvers = function () {\n return this.localState.getResolvers();\n };\n\n ApolloClient.prototype.setLocalStateFragmentMatcher = function (fragmentMatcher) {\n this.localState.setFragmentMatcher(fragmentMatcher);\n };\n\n ApolloClient.prototype.setLink = function (newLink) {\n this.link = this.queryManager.link = newLink;\n };\n\n return ApolloClient;\n}();\n\nexport { ApolloClient };","export var version = '3.7.1';","import { __assign, __rest } from \"tslib\";\nimport { wrap } from 'optimism';\nimport { getFragmentQueryDocument } from \"../../utilities/index.js\";\n\nvar ApolloCache = function () {\n function ApolloCache() {\n this.getFragmentDoc = wrap(getFragmentQueryDocument);\n }\n\n ApolloCache.prototype.batch = function (options) {\n var _this = this;\n\n var optimisticId = typeof options.optimistic === \"string\" ? options.optimistic : options.optimistic === false ? null : void 0;\n var updateResult;\n this.performTransaction(function () {\n return updateResult = options.update(_this);\n }, optimisticId);\n return updateResult;\n };\n\n ApolloCache.prototype.recordOptimisticTransaction = function (transaction, optimisticId) {\n this.performTransaction(transaction, optimisticId);\n };\n\n ApolloCache.prototype.transformDocument = function (document) {\n return document;\n };\n\n ApolloCache.prototype.transformForLink = function (document) {\n return document;\n };\n\n ApolloCache.prototype.identify = function (object) {\n return;\n };\n\n ApolloCache.prototype.gc = function () {\n return [];\n };\n\n ApolloCache.prototype.modify = function (options) {\n return false;\n };\n\n ApolloCache.prototype.readQuery = function (options, optimistic) {\n if (optimistic === void 0) {\n optimistic = !!options.optimistic;\n }\n\n return this.read(__assign(__assign({}, options), {\n rootId: options.id || 'ROOT_QUERY',\n optimistic: optimistic\n }));\n };\n\n ApolloCache.prototype.readFragment = function (options, optimistic) {\n if (optimistic === void 0) {\n optimistic = !!options.optimistic;\n }\n\n return this.read(__assign(__assign({}, options), {\n query: this.getFragmentDoc(options.fragment, options.fragmentName),\n rootId: options.id,\n optimistic: optimistic\n }));\n };\n\n ApolloCache.prototype.writeQuery = function (_a) {\n var id = _a.id,\n data = _a.data,\n options = __rest(_a, [\"id\", \"data\"]);\n\n return this.write(Object.assign(options, {\n dataId: id || 'ROOT_QUERY',\n result: data\n }));\n };\n\n ApolloCache.prototype.writeFragment = function (_a) {\n var id = _a.id,\n data = _a.data,\n fragment = _a.fragment,\n fragmentName = _a.fragmentName,\n options = __rest(_a, [\"id\", \"data\", \"fragment\", \"fragmentName\"]);\n\n return this.write(Object.assign(options, {\n query: this.getFragmentDoc(fragment, fragmentName),\n dataId: id,\n result: data\n }));\n };\n\n ApolloCache.prototype.updateQuery = function (options, _update) {\n return this.batch({\n update: function update(cache) {\n var value = cache.readQuery(options);\n\n var data = _update(value);\n\n if (data === void 0 || data === null) return value;\n cache.writeQuery(__assign(__assign({}, options), {\n data: data\n }));\n return data;\n }\n });\n };\n\n ApolloCache.prototype.updateFragment = function (options, _update2) {\n return this.batch({\n update: function update(cache) {\n var value = cache.readFragment(options);\n\n var data = _update2(value);\n\n if (data === void 0 || data === null) return value;\n cache.writeFragment(__assign(__assign({}, options), {\n data: data\n }));\n return data;\n }\n });\n };\n\n return ApolloCache;\n}();\n\nexport { ApolloCache };","import { __extends } from \"tslib\";\n\nvar MissingFieldError = function (_super) {\n __extends(MissingFieldError, _super);\n\n function MissingFieldError(message, path, query, variables) {\n var _a;\n\n var _this = _super.call(this, message) || this;\n\n _this.message = message;\n _this.path = path;\n _this.query = query;\n _this.variables = variables;\n\n if (Array.isArray(_this.path)) {\n _this.missing = _this.message;\n\n for (var i = _this.path.length - 1; i >= 0; --i) {\n _this.missing = (_a = {}, _a[_this.path[i]] = _this.missing, _a);\n }\n } else {\n _this.missing = _this.path;\n }\n\n _this.__proto__ = MissingFieldError.prototype;\n return _this;\n }\n\n return MissingFieldError;\n}(Error);\n\nexport { MissingFieldError };","import { __assign } from \"tslib\";\nimport { invariant, InvariantError } from \"../../utilities/globals/index.js\";\nimport { Kind } from 'graphql';\nimport { wrap } from 'optimism';\nimport { isField, resultKeyNameFromField, isReference, makeReference, shouldInclude, addTypenameToDocument, getDefaultValues, getMainDefinition, getQueryDefinition, getFragmentFromSelection, maybeDeepFreeze, mergeDeepArray, DeepMerger, isNonNullObject, canUseWeakMap, compact } from \"../../utilities/index.js\";\nimport { maybeDependOnExistenceOfEntity, supportsResultCaching } from \"./entityStore.js\";\nimport { isArray, extractFragmentContext, getTypenameFromStoreObject, shouldCanonizeResults } from \"./helpers.js\";\nimport { MissingFieldError } from \"../core/types/common.js\";\nimport { canonicalStringify, ObjectCanon } from \"./object-canon.js\";\n;\n\nfunction execSelectionSetKeyArgs(options) {\n return [options.selectionSet, options.objectOrReference, options.context, options.context.canonizeResults];\n}\n\nvar StoreReader = function () {\n function StoreReader(config) {\n var _this = this;\n\n this.knownResults = new (canUseWeakMap ? WeakMap : Map)();\n this.config = compact(config, {\n addTypename: config.addTypename !== false,\n canonizeResults: shouldCanonizeResults(config)\n });\n this.canon = config.canon || new ObjectCanon();\n this.executeSelectionSet = wrap(function (options) {\n var _a;\n\n var canonizeResults = options.context.canonizeResults;\n var peekArgs = execSelectionSetKeyArgs(options);\n peekArgs[3] = !canonizeResults;\n\n var other = (_a = _this.executeSelectionSet).peek.apply(_a, peekArgs);\n\n if (other) {\n if (canonizeResults) {\n return __assign(__assign({}, other), {\n result: _this.canon.admit(other.result)\n });\n }\n\n return other;\n }\n\n maybeDependOnExistenceOfEntity(options.context.store, options.enclosingRef.__ref);\n return _this.execSelectionSetImpl(options);\n }, {\n max: this.config.resultCacheMaxSize,\n keyArgs: execSelectionSetKeyArgs,\n makeCacheKey: function makeCacheKey(selectionSet, parent, context, canonizeResults) {\n if (supportsResultCaching(context.store)) {\n return context.store.makeCacheKey(selectionSet, isReference(parent) ? parent.__ref : parent, context.varString, canonizeResults);\n }\n }\n });\n this.executeSubSelectedArray = wrap(function (options) {\n maybeDependOnExistenceOfEntity(options.context.store, options.enclosingRef.__ref);\n return _this.execSubSelectedArrayImpl(options);\n }, {\n max: this.config.resultCacheMaxSize,\n makeCacheKey: function makeCacheKey(_a) {\n var field = _a.field,\n array = _a.array,\n context = _a.context;\n\n if (supportsResultCaching(context.store)) {\n return context.store.makeCacheKey(field, array, context.varString);\n }\n }\n });\n }\n\n StoreReader.prototype.resetCanon = function () {\n this.canon = new ObjectCanon();\n };\n\n StoreReader.prototype.diffQueryAgainstStore = function (_a) {\n var store = _a.store,\n query = _a.query,\n _b = _a.rootId,\n rootId = _b === void 0 ? 'ROOT_QUERY' : _b,\n variables = _a.variables,\n _c = _a.returnPartialData,\n returnPartialData = _c === void 0 ? true : _c,\n _d = _a.canonizeResults,\n canonizeResults = _d === void 0 ? this.config.canonizeResults : _d;\n var policies = this.config.cache.policies;\n variables = __assign(__assign({}, getDefaultValues(getQueryDefinition(query))), variables);\n var rootRef = makeReference(rootId);\n var execResult = this.executeSelectionSet({\n selectionSet: getMainDefinition(query).selectionSet,\n objectOrReference: rootRef,\n enclosingRef: rootRef,\n context: __assign({\n store: store,\n query: query,\n policies: policies,\n variables: variables,\n varString: canonicalStringify(variables),\n canonizeResults: canonizeResults\n }, extractFragmentContext(query, this.config.fragments))\n });\n var missing;\n\n if (execResult.missing) {\n missing = [new MissingFieldError(firstMissing(execResult.missing), execResult.missing, query, variables)];\n\n if (!returnPartialData) {\n throw missing[0];\n }\n }\n\n return {\n result: execResult.result,\n complete: !missing,\n missing: missing\n };\n };\n\n StoreReader.prototype.isFresh = function (result, parent, selectionSet, context) {\n if (supportsResultCaching(context.store) && this.knownResults.get(result) === selectionSet) {\n var latest = this.executeSelectionSet.peek(selectionSet, parent, context, this.canon.isKnown(result));\n\n if (latest && result === latest.result) {\n return true;\n }\n }\n\n return false;\n };\n\n StoreReader.prototype.execSelectionSetImpl = function (_a) {\n var _this = this;\n\n var selectionSet = _a.selectionSet,\n objectOrReference = _a.objectOrReference,\n enclosingRef = _a.enclosingRef,\n context = _a.context;\n\n if (isReference(objectOrReference) && !context.policies.rootTypenamesById[objectOrReference.__ref] && !context.store.has(objectOrReference.__ref)) {\n return {\n result: this.canon.empty,\n missing: \"Dangling reference to missing \".concat(objectOrReference.__ref, \" object\")\n };\n }\n\n var variables = context.variables,\n policies = context.policies,\n store = context.store;\n var typename = store.getFieldValue(objectOrReference, \"__typename\");\n var objectsToMerge = [];\n var missing;\n var missingMerger = new DeepMerger();\n\n if (this.config.addTypename && typeof typename === \"string\" && !policies.rootIdsByTypename[typename]) {\n objectsToMerge.push({\n __typename: typename\n });\n }\n\n function handleMissing(result, resultName) {\n var _a;\n\n if (result.missing) {\n missing = missingMerger.merge(missing, (_a = {}, _a[resultName] = result.missing, _a));\n }\n\n return result.result;\n }\n\n var workSet = new Set(selectionSet.selections);\n workSet.forEach(function (selection) {\n var _a, _b;\n\n if (!shouldInclude(selection, variables)) return;\n\n if (isField(selection)) {\n var fieldValue = policies.readField({\n fieldName: selection.name.value,\n field: selection,\n variables: context.variables,\n from: objectOrReference\n }, context);\n var resultName = resultKeyNameFromField(selection);\n\n if (fieldValue === void 0) {\n if (!addTypenameToDocument.added(selection)) {\n missing = missingMerger.merge(missing, (_a = {}, _a[resultName] = \"Can't find field '\".concat(selection.name.value, \"' on \").concat(isReference(objectOrReference) ? objectOrReference.__ref + \" object\" : \"object \" + JSON.stringify(objectOrReference, null, 2)), _a));\n }\n } else if (isArray(fieldValue)) {\n fieldValue = handleMissing(_this.executeSubSelectedArray({\n field: selection,\n array: fieldValue,\n enclosingRef: enclosingRef,\n context: context\n }), resultName);\n } else if (!selection.selectionSet) {\n if (context.canonizeResults) {\n fieldValue = _this.canon.pass(fieldValue);\n }\n } else if (fieldValue != null) {\n fieldValue = handleMissing(_this.executeSelectionSet({\n selectionSet: selection.selectionSet,\n objectOrReference: fieldValue,\n enclosingRef: isReference(fieldValue) ? fieldValue : enclosingRef,\n context: context\n }), resultName);\n }\n\n if (fieldValue !== void 0) {\n objectsToMerge.push((_b = {}, _b[resultName] = fieldValue, _b));\n }\n } else {\n var fragment = getFragmentFromSelection(selection, context.lookupFragment);\n\n if (!fragment && selection.kind === Kind.FRAGMENT_SPREAD) {\n throw __DEV__ ? new InvariantError(\"No fragment named \".concat(selection.name.value)) : new InvariantError(5);\n }\n\n if (fragment && policies.fragmentMatches(fragment, typename)) {\n fragment.selectionSet.selections.forEach(workSet.add, workSet);\n }\n }\n });\n var result = mergeDeepArray(objectsToMerge);\n var finalResult = {\n result: result,\n missing: missing\n };\n var frozen = context.canonizeResults ? this.canon.admit(finalResult) : maybeDeepFreeze(finalResult);\n\n if (frozen.result) {\n this.knownResults.set(frozen.result, selectionSet);\n }\n\n return frozen;\n };\n\n StoreReader.prototype.execSubSelectedArrayImpl = function (_a) {\n var _this = this;\n\n var field = _a.field,\n array = _a.array,\n enclosingRef = _a.enclosingRef,\n context = _a.context;\n var missing;\n var missingMerger = new DeepMerger();\n\n function handleMissing(childResult, i) {\n var _a;\n\n if (childResult.missing) {\n missing = missingMerger.merge(missing, (_a = {}, _a[i] = childResult.missing, _a));\n }\n\n return childResult.result;\n }\n\n if (field.selectionSet) {\n array = array.filter(context.store.canRead);\n }\n\n array = array.map(function (item, i) {\n if (item === null) {\n return null;\n }\n\n if (isArray(item)) {\n return handleMissing(_this.executeSubSelectedArray({\n field: field,\n array: item,\n enclosingRef: enclosingRef,\n context: context\n }), i);\n }\n\n if (field.selectionSet) {\n return handleMissing(_this.executeSelectionSet({\n selectionSet: field.selectionSet,\n objectOrReference: item,\n enclosingRef: isReference(item) ? item : enclosingRef,\n context: context\n }), i);\n }\n\n if (__DEV__) {\n assertSelectionSetForIdValue(context.store, field, item);\n }\n\n return item;\n });\n return {\n result: context.canonizeResults ? this.canon.admit(array) : array,\n missing: missing\n };\n };\n\n return StoreReader;\n}();\n\nexport { StoreReader };\n\nfunction firstMissing(tree) {\n try {\n JSON.stringify(tree, function (_, value) {\n if (typeof value === \"string\") throw value;\n return value;\n });\n } catch (result) {\n return result;\n }\n}\n\nfunction assertSelectionSetForIdValue(store, field, fieldValue) {\n if (!field.selectionSet) {\n var workSet_1 = new Set([fieldValue]);\n workSet_1.forEach(function (value) {\n if (isNonNullObject(value)) {\n __DEV__ ? invariant(!isReference(value), \"Missing selection set for object of type \".concat(getTypenameFromStoreObject(store, value), \" returned for query field \").concat(field.name.value)) : invariant(!isReference(value), 6);\n Object.values(value).forEach(workSet_1.add, workSet_1);\n }\n });\n }\n}","import { invariant } from \"../../utilities/globals/index.js\";\nimport { argumentsObjectFromField, DeepMerger, isNonEmptyArray, isNonNullObject } from \"../../utilities/index.js\";\nimport { hasOwn, isArray } from \"./helpers.js\";\nvar specifierInfoCache = Object.create(null);\n\nfunction lookupSpecifierInfo(spec) {\n var cacheKey = JSON.stringify(spec);\n return specifierInfoCache[cacheKey] || (specifierInfoCache[cacheKey] = Object.create(null));\n}\n\nexport function keyFieldsFnFromSpecifier(specifier) {\n var info = lookupSpecifierInfo(specifier);\n return info.keyFieldsFn || (info.keyFieldsFn = function (object, context) {\n var extract = function extract(from, key) {\n return context.readField(key, from);\n };\n\n var keyObject = context.keyObject = collectSpecifierPaths(specifier, function (schemaKeyPath) {\n var extracted = extractKeyPath(context.storeObject, schemaKeyPath, extract);\n\n if (extracted === void 0 && object !== context.storeObject && hasOwn.call(object, schemaKeyPath[0])) {\n extracted = extractKeyPath(object, schemaKeyPath, extractKey);\n }\n\n __DEV__ ? invariant(extracted !== void 0, \"Missing field '\".concat(schemaKeyPath.join('.'), \"' while extracting keyFields from \").concat(JSON.stringify(object))) : invariant(extracted !== void 0, 2);\n return extracted;\n });\n return \"\".concat(context.typename, \":\").concat(JSON.stringify(keyObject));\n });\n}\nexport function keyArgsFnFromSpecifier(specifier) {\n var info = lookupSpecifierInfo(specifier);\n return info.keyArgsFn || (info.keyArgsFn = function (args, _a) {\n var field = _a.field,\n variables = _a.variables,\n fieldName = _a.fieldName;\n var collected = collectSpecifierPaths(specifier, function (keyPath) {\n var firstKey = keyPath[0];\n var firstChar = firstKey.charAt(0);\n\n if (firstChar === \"@\") {\n if (field && isNonEmptyArray(field.directives)) {\n var directiveName_1 = firstKey.slice(1);\n var d = field.directives.find(function (d) {\n return d.name.value === directiveName_1;\n });\n var directiveArgs = d && argumentsObjectFromField(d, variables);\n return directiveArgs && extractKeyPath(directiveArgs, keyPath.slice(1));\n }\n\n return;\n }\n\n if (firstChar === \"$\") {\n var variableName = firstKey.slice(1);\n\n if (variables && hasOwn.call(variables, variableName)) {\n var varKeyPath = keyPath.slice(0);\n varKeyPath[0] = variableName;\n return extractKeyPath(variables, varKeyPath);\n }\n\n return;\n }\n\n if (args) {\n return extractKeyPath(args, keyPath);\n }\n });\n var suffix = JSON.stringify(collected);\n\n if (args || suffix !== \"{}\") {\n fieldName += \":\" + suffix;\n }\n\n return fieldName;\n });\n}\nexport function collectSpecifierPaths(specifier, extractor) {\n var merger = new DeepMerger();\n return getSpecifierPaths(specifier).reduce(function (collected, path) {\n var _a;\n\n var toMerge = extractor(path);\n\n if (toMerge !== void 0) {\n for (var i = path.length - 1; i >= 0; --i) {\n toMerge = (_a = {}, _a[path[i]] = toMerge, _a);\n }\n\n collected = merger.merge(collected, toMerge);\n }\n\n return collected;\n }, Object.create(null));\n}\nexport function getSpecifierPaths(spec) {\n var info = lookupSpecifierInfo(spec);\n\n if (!info.paths) {\n var paths_1 = info.paths = [];\n var currentPath_1 = [];\n spec.forEach(function (s, i) {\n if (isArray(s)) {\n getSpecifierPaths(s).forEach(function (p) {\n return paths_1.push(currentPath_1.concat(p));\n });\n currentPath_1.length = 0;\n } else {\n currentPath_1.push(s);\n\n if (!isArray(spec[i + 1])) {\n paths_1.push(currentPath_1.slice(0));\n currentPath_1.length = 0;\n }\n }\n });\n }\n\n return info.paths;\n}\n\nfunction extractKey(object, key) {\n return object[key];\n}\n\nexport function extractKeyPath(object, path, extract) {\n extract = extract || extractKey;\n return normalize(path.reduce(function reducer(obj, key) {\n return isArray(obj) ? obj.map(function (child) {\n return reducer(child, key);\n }) : obj && extract(obj, key);\n }, object));\n}\n\nfunction normalize(value) {\n if (isNonNullObject(value)) {\n if (isArray(value)) {\n return value.map(normalize);\n }\n\n return collectSpecifierPaths(Object.keys(value).sort(), function (path) {\n return extractKeyPath(value, path);\n });\n }\n\n return value;\n}","import { __assign, __rest } from \"tslib\";\nimport { invariant, InvariantError } from \"../../utilities/globals/index.js\";\nimport { storeKeyNameFromField, argumentsObjectFromField, isReference, getStoreKeyName, isNonNullObject, stringifyForDisplay } from \"../../utilities/index.js\";\nimport { hasOwn, fieldNameFromStoreName, storeValueIsStoreObject, selectionSetMatchesResult, TypeOrFieldNameRegExp, defaultDataIdFromObject, isArray } from \"./helpers.js\";\nimport { cacheSlot } from \"./reactiveVars.js\";\nimport { canonicalStringify } from \"./object-canon.js\";\nimport { keyArgsFnFromSpecifier, keyFieldsFnFromSpecifier } from \"./key-extractor.js\";\ngetStoreKeyName.setStringify(canonicalStringify);\n\nfunction argsFromFieldSpecifier(spec) {\n return spec.args !== void 0 ? spec.args : spec.field ? argumentsObjectFromField(spec.field, spec.variables) : null;\n}\n\nvar nullKeyFieldsFn = function nullKeyFieldsFn() {\n return void 0;\n};\n\nvar simpleKeyArgsFn = function simpleKeyArgsFn(_args, context) {\n return context.fieldName;\n};\n\nvar mergeTrueFn = function mergeTrueFn(existing, incoming, _a) {\n var mergeObjects = _a.mergeObjects;\n return mergeObjects(existing, incoming);\n};\n\nvar mergeFalseFn = function mergeFalseFn(_, incoming) {\n return incoming;\n};\n\nvar Policies = function () {\n function Policies(config) {\n this.config = config;\n this.typePolicies = Object.create(null);\n this.toBeAdded = Object.create(null);\n this.supertypeMap = new Map();\n this.fuzzySubtypes = new Map();\n this.rootIdsByTypename = Object.create(null);\n this.rootTypenamesById = Object.create(null);\n this.usingPossibleTypes = false;\n this.config = __assign({\n dataIdFromObject: defaultDataIdFromObject\n }, config);\n this.cache = this.config.cache;\n this.setRootTypename(\"Query\");\n this.setRootTypename(\"Mutation\");\n this.setRootTypename(\"Subscription\");\n\n if (config.possibleTypes) {\n this.addPossibleTypes(config.possibleTypes);\n }\n\n if (config.typePolicies) {\n this.addTypePolicies(config.typePolicies);\n }\n }\n\n Policies.prototype.identify = function (object, partialContext) {\n var _a;\n\n var policies = this;\n var typename = partialContext && (partialContext.typename || ((_a = partialContext.storeObject) === null || _a === void 0 ? void 0 : _a.__typename)) || object.__typename;\n\n if (typename === this.rootTypenamesById.ROOT_QUERY) {\n return [\"ROOT_QUERY\"];\n }\n\n var storeObject = partialContext && partialContext.storeObject || object;\n\n var context = __assign(__assign({}, partialContext), {\n typename: typename,\n storeObject: storeObject,\n readField: partialContext && partialContext.readField || function () {\n var options = normalizeReadFieldOptions(arguments, storeObject);\n return policies.readField(options, {\n store: policies.cache[\"data\"],\n variables: options.variables\n });\n }\n });\n\n var id;\n var policy = typename && this.getTypePolicy(typename);\n var keyFn = policy && policy.keyFn || this.config.dataIdFromObject;\n\n while (keyFn) {\n var specifierOrId = keyFn(object, context);\n\n if (isArray(specifierOrId)) {\n keyFn = keyFieldsFnFromSpecifier(specifierOrId);\n } else {\n id = specifierOrId;\n break;\n }\n }\n\n id = id ? String(id) : void 0;\n return context.keyObject ? [id, context.keyObject] : [id];\n };\n\n Policies.prototype.addTypePolicies = function (typePolicies) {\n var _this = this;\n\n Object.keys(typePolicies).forEach(function (typename) {\n var _a = typePolicies[typename],\n queryType = _a.queryType,\n mutationType = _a.mutationType,\n subscriptionType = _a.subscriptionType,\n incoming = __rest(_a, [\"queryType\", \"mutationType\", \"subscriptionType\"]);\n\n if (queryType) _this.setRootTypename(\"Query\", typename);\n if (mutationType) _this.setRootTypename(\"Mutation\", typename);\n if (subscriptionType) _this.setRootTypename(\"Subscription\", typename);\n\n if (hasOwn.call(_this.toBeAdded, typename)) {\n _this.toBeAdded[typename].push(incoming);\n } else {\n _this.toBeAdded[typename] = [incoming];\n }\n });\n };\n\n Policies.prototype.updateTypePolicy = function (typename, incoming) {\n var _this = this;\n\n var existing = this.getTypePolicy(typename);\n var keyFields = incoming.keyFields,\n fields = incoming.fields;\n\n function setMerge(existing, merge) {\n existing.merge = typeof merge === \"function\" ? merge : merge === true ? mergeTrueFn : merge === false ? mergeFalseFn : existing.merge;\n }\n\n setMerge(existing, incoming.merge);\n existing.keyFn = keyFields === false ? nullKeyFieldsFn : isArray(keyFields) ? keyFieldsFnFromSpecifier(keyFields) : typeof keyFields === \"function\" ? keyFields : existing.keyFn;\n\n if (fields) {\n Object.keys(fields).forEach(function (fieldName) {\n var existing = _this.getFieldPolicy(typename, fieldName, true);\n\n var incoming = fields[fieldName];\n\n if (typeof incoming === \"function\") {\n existing.read = incoming;\n } else {\n var keyArgs = incoming.keyArgs,\n read = incoming.read,\n merge = incoming.merge;\n existing.keyFn = keyArgs === false ? simpleKeyArgsFn : isArray(keyArgs) ? keyArgsFnFromSpecifier(keyArgs) : typeof keyArgs === \"function\" ? keyArgs : existing.keyFn;\n\n if (typeof read === \"function\") {\n existing.read = read;\n }\n\n setMerge(existing, merge);\n }\n\n if (existing.read && existing.merge) {\n existing.keyFn = existing.keyFn || simpleKeyArgsFn;\n }\n });\n }\n };\n\n Policies.prototype.setRootTypename = function (which, typename) {\n if (typename === void 0) {\n typename = which;\n }\n\n var rootId = \"ROOT_\" + which.toUpperCase();\n var old = this.rootTypenamesById[rootId];\n\n if (typename !== old) {\n __DEV__ ? invariant(!old || old === which, \"Cannot change root \".concat(which, \" __typename more than once\")) : invariant(!old || old === which, 3);\n if (old) delete this.rootIdsByTypename[old];\n this.rootIdsByTypename[typename] = rootId;\n this.rootTypenamesById[rootId] = typename;\n }\n };\n\n Policies.prototype.addPossibleTypes = function (possibleTypes) {\n var _this = this;\n\n this.usingPossibleTypes = true;\n Object.keys(possibleTypes).forEach(function (supertype) {\n _this.getSupertypeSet(supertype, true);\n\n possibleTypes[supertype].forEach(function (subtype) {\n _this.getSupertypeSet(subtype, true).add(supertype);\n\n var match = subtype.match(TypeOrFieldNameRegExp);\n\n if (!match || match[0] !== subtype) {\n _this.fuzzySubtypes.set(subtype, new RegExp(subtype));\n }\n });\n });\n };\n\n Policies.prototype.getTypePolicy = function (typename) {\n var _this = this;\n\n if (!hasOwn.call(this.typePolicies, typename)) {\n var policy_1 = this.typePolicies[typename] = Object.create(null);\n policy_1.fields = Object.create(null);\n var supertypes = this.supertypeMap.get(typename);\n\n if (supertypes && supertypes.size) {\n supertypes.forEach(function (supertype) {\n var _a = _this.getTypePolicy(supertype),\n fields = _a.fields,\n rest = __rest(_a, [\"fields\"]);\n\n Object.assign(policy_1, rest);\n Object.assign(policy_1.fields, fields);\n });\n }\n }\n\n var inbox = this.toBeAdded[typename];\n\n if (inbox && inbox.length) {\n inbox.splice(0).forEach(function (policy) {\n _this.updateTypePolicy(typename, policy);\n });\n }\n\n return this.typePolicies[typename];\n };\n\n Policies.prototype.getFieldPolicy = function (typename, fieldName, createIfMissing) {\n if (typename) {\n var fieldPolicies = this.getTypePolicy(typename).fields;\n return fieldPolicies[fieldName] || createIfMissing && (fieldPolicies[fieldName] = Object.create(null));\n }\n };\n\n Policies.prototype.getSupertypeSet = function (subtype, createIfMissing) {\n var supertypeSet = this.supertypeMap.get(subtype);\n\n if (!supertypeSet && createIfMissing) {\n this.supertypeMap.set(subtype, supertypeSet = new Set());\n }\n\n return supertypeSet;\n };\n\n Policies.prototype.fragmentMatches = function (fragment, typename, result, variables) {\n var _this = this;\n\n if (!fragment.typeCondition) return true;\n if (!typename) return false;\n var supertype = fragment.typeCondition.name.value;\n if (typename === supertype) return true;\n\n if (this.usingPossibleTypes && this.supertypeMap.has(supertype)) {\n var typenameSupertypeSet = this.getSupertypeSet(typename, true);\n var workQueue_1 = [typenameSupertypeSet];\n\n var maybeEnqueue_1 = function maybeEnqueue_1(subtype) {\n var supertypeSet = _this.getSupertypeSet(subtype, false);\n\n if (supertypeSet && supertypeSet.size && workQueue_1.indexOf(supertypeSet) < 0) {\n workQueue_1.push(supertypeSet);\n }\n };\n\n var needToCheckFuzzySubtypes = !!(result && this.fuzzySubtypes.size);\n var checkingFuzzySubtypes = false;\n\n for (var i = 0; i < workQueue_1.length; ++i) {\n var supertypeSet = workQueue_1[i];\n\n if (supertypeSet.has(supertype)) {\n if (!typenameSupertypeSet.has(supertype)) {\n if (checkingFuzzySubtypes) {\n __DEV__ && invariant.warn(\"Inferring subtype \".concat(typename, \" of supertype \").concat(supertype));\n }\n\n typenameSupertypeSet.add(supertype);\n }\n\n return true;\n }\n\n supertypeSet.forEach(maybeEnqueue_1);\n\n if (needToCheckFuzzySubtypes && i === workQueue_1.length - 1 && selectionSetMatchesResult(fragment.selectionSet, result, variables)) {\n needToCheckFuzzySubtypes = false;\n checkingFuzzySubtypes = true;\n this.fuzzySubtypes.forEach(function (regExp, fuzzyString) {\n var match = typename.match(regExp);\n\n if (match && match[0] === typename) {\n maybeEnqueue_1(fuzzyString);\n }\n });\n }\n }\n }\n\n return false;\n };\n\n Policies.prototype.hasKeyArgs = function (typename, fieldName) {\n var policy = this.getFieldPolicy(typename, fieldName, false);\n return !!(policy && policy.keyFn);\n };\n\n Policies.prototype.getStoreFieldName = function (fieldSpec) {\n var typename = fieldSpec.typename,\n fieldName = fieldSpec.fieldName;\n var policy = this.getFieldPolicy(typename, fieldName, false);\n var storeFieldName;\n var keyFn = policy && policy.keyFn;\n\n if (keyFn && typename) {\n var context = {\n typename: typename,\n fieldName: fieldName,\n field: fieldSpec.field || null,\n variables: fieldSpec.variables\n };\n var args = argsFromFieldSpecifier(fieldSpec);\n\n while (keyFn) {\n var specifierOrString = keyFn(args, context);\n\n if (isArray(specifierOrString)) {\n keyFn = keyArgsFnFromSpecifier(specifierOrString);\n } else {\n storeFieldName = specifierOrString || fieldName;\n break;\n }\n }\n }\n\n if (storeFieldName === void 0) {\n storeFieldName = fieldSpec.field ? storeKeyNameFromField(fieldSpec.field, fieldSpec.variables) : getStoreKeyName(fieldName, argsFromFieldSpecifier(fieldSpec));\n }\n\n if (storeFieldName === false) {\n return fieldName;\n }\n\n return fieldName === fieldNameFromStoreName(storeFieldName) ? storeFieldName : fieldName + \":\" + storeFieldName;\n };\n\n Policies.prototype.readField = function (options, context) {\n var objectOrReference = options.from;\n if (!objectOrReference) return;\n var nameOrField = options.field || options.fieldName;\n if (!nameOrField) return;\n\n if (options.typename === void 0) {\n var typename = context.store.getFieldValue(objectOrReference, \"__typename\");\n if (typename) options.typename = typename;\n }\n\n var storeFieldName = this.getStoreFieldName(options);\n var fieldName = fieldNameFromStoreName(storeFieldName);\n var existing = context.store.getFieldValue(objectOrReference, storeFieldName);\n var policy = this.getFieldPolicy(options.typename, fieldName, false);\n var read = policy && policy.read;\n\n if (read) {\n var readOptions = makeFieldFunctionOptions(this, objectOrReference, options, context, context.store.getStorage(isReference(objectOrReference) ? objectOrReference.__ref : objectOrReference, storeFieldName));\n return cacheSlot.withValue(this.cache, read, [existing, readOptions]);\n }\n\n return existing;\n };\n\n Policies.prototype.getReadFunction = function (typename, fieldName) {\n var policy = this.getFieldPolicy(typename, fieldName, false);\n return policy && policy.read;\n };\n\n Policies.prototype.getMergeFunction = function (parentTypename, fieldName, childTypename) {\n var policy = this.getFieldPolicy(parentTypename, fieldName, false);\n var merge = policy && policy.merge;\n\n if (!merge && childTypename) {\n policy = this.getTypePolicy(childTypename);\n merge = policy && policy.merge;\n }\n\n return merge;\n };\n\n Policies.prototype.runMergeFunction = function (existing, incoming, _a, context, storage) {\n var field = _a.field,\n typename = _a.typename,\n merge = _a.merge;\n\n if (merge === mergeTrueFn) {\n return makeMergeObjectsFunction(context.store)(existing, incoming);\n }\n\n if (merge === mergeFalseFn) {\n return incoming;\n }\n\n if (context.overwrite) {\n existing = void 0;\n }\n\n return merge(existing, incoming, makeFieldFunctionOptions(this, void 0, {\n typename: typename,\n fieldName: field.name.value,\n field: field,\n variables: context.variables\n }, context, storage || Object.create(null)));\n };\n\n return Policies;\n}();\n\nexport { Policies };\n\nfunction makeFieldFunctionOptions(policies, objectOrReference, fieldSpec, context, storage) {\n var storeFieldName = policies.getStoreFieldName(fieldSpec);\n var fieldName = fieldNameFromStoreName(storeFieldName);\n var variables = fieldSpec.variables || context.variables;\n var _a = context.store,\n toReference = _a.toReference,\n canRead = _a.canRead;\n return {\n args: argsFromFieldSpecifier(fieldSpec),\n field: fieldSpec.field || null,\n fieldName: fieldName,\n storeFieldName: storeFieldName,\n variables: variables,\n isReference: isReference,\n toReference: toReference,\n storage: storage,\n cache: policies.cache,\n canRead: canRead,\n readField: function readField() {\n return policies.readField(normalizeReadFieldOptions(arguments, objectOrReference, variables), context);\n },\n mergeObjects: makeMergeObjectsFunction(context.store)\n };\n}\n\nexport function normalizeReadFieldOptions(readFieldArgs, objectOrReference, variables) {\n var fieldNameOrOptions = readFieldArgs[0],\n from = readFieldArgs[1],\n argc = readFieldArgs.length;\n var options;\n\n if (typeof fieldNameOrOptions === \"string\") {\n options = {\n fieldName: fieldNameOrOptions,\n from: argc > 1 ? from : objectOrReference\n };\n } else {\n options = __assign({}, fieldNameOrOptions);\n\n if (!hasOwn.call(options, \"from\")) {\n options.from = objectOrReference;\n }\n }\n\n if (__DEV__ && options.from === void 0) {\n __DEV__ && invariant.warn(\"Undefined 'from' passed to readField with arguments \".concat(stringifyForDisplay(Array.from(readFieldArgs))));\n }\n\n if (void 0 === options.variables) {\n options.variables = variables;\n }\n\n return options;\n}\n\nfunction makeMergeObjectsFunction(store) {\n return function mergeObjects(existing, incoming) {\n if (isArray(existing) || isArray(incoming)) {\n throw __DEV__ ? new InvariantError(\"Cannot automatically merge arrays\") : new InvariantError(4);\n }\n\n if (isNonNullObject(existing) && isNonNullObject(incoming)) {\n var eType = store.getFieldValue(existing, \"__typename\");\n var iType = store.getFieldValue(incoming, \"__typename\");\n var typesDiffer = eType && iType && eType !== iType;\n\n if (typesDiffer) {\n return incoming;\n }\n\n if (isReference(existing) && storeValueIsStoreObject(incoming)) {\n store.merge(existing.__ref, incoming);\n return existing;\n }\n\n if (storeValueIsStoreObject(existing) && isReference(incoming)) {\n store.merge(existing, incoming.__ref);\n return incoming;\n }\n\n if (storeValueIsStoreObject(existing) && storeValueIsStoreObject(incoming)) {\n return __assign(__assign({}, existing), incoming);\n }\n }\n\n return incoming;\n };\n}","import { makeUniqueId } from \"./makeUniqueId.js\";\nexport function stringifyForDisplay(value) {\n var undefId = makeUniqueId(\"stringifyForDisplay\");\n return JSON.stringify(value, function (key, value) {\n return value === void 0 ? undefId : value;\n }).split(JSON.stringify(undefId)).join(\"<undefined>\");\n}","import { __assign } from \"tslib\";\nimport { invariant, InvariantError } from \"../../utilities/globals/index.js\";\nimport { equal } from '@wry/equality';\nimport { Trie } from '@wry/trie';\nimport { Kind } from 'graphql';\nimport { getFragmentFromSelection, getDefaultValues, getOperationDefinition, getTypenameFromResult, makeReference, isField, resultKeyNameFromField, isReference, shouldInclude, cloneDeep, addTypenameToDocument, isNonEmptyArray, argumentsObjectFromField } from \"../../utilities/index.js\";\nimport { isArray, makeProcessedFieldsMerger, fieldNameFromStoreName, storeValueIsStoreObject, extractFragmentContext } from \"./helpers.js\";\nimport { canonicalStringify } from \"./object-canon.js\";\nimport { normalizeReadFieldOptions } from \"./policies.js\";\n;\n\nfunction getContextFlavor(context, clientOnly, deferred) {\n var key = \"\".concat(clientOnly).concat(deferred);\n var flavored = context.flavors.get(key);\n\n if (!flavored) {\n context.flavors.set(key, flavored = context.clientOnly === clientOnly && context.deferred === deferred ? context : __assign(__assign({}, context), {\n clientOnly: clientOnly,\n deferred: deferred\n }));\n }\n\n return flavored;\n}\n\nvar StoreWriter = function () {\n function StoreWriter(cache, reader, fragments) {\n this.cache = cache;\n this.reader = reader;\n this.fragments = fragments;\n }\n\n StoreWriter.prototype.writeToStore = function (store, _a) {\n var _this = this;\n\n var query = _a.query,\n result = _a.result,\n dataId = _a.dataId,\n variables = _a.variables,\n overwrite = _a.overwrite;\n var operationDefinition = getOperationDefinition(query);\n var merger = makeProcessedFieldsMerger();\n variables = __assign(__assign({}, getDefaultValues(operationDefinition)), variables);\n\n var context = __assign(__assign({\n store: store,\n written: Object.create(null),\n merge: function merge(existing, incoming) {\n return merger.merge(existing, incoming);\n },\n variables: variables,\n varString: canonicalStringify(variables)\n }, extractFragmentContext(query, this.fragments)), {\n overwrite: !!overwrite,\n incomingById: new Map(),\n clientOnly: false,\n deferred: false,\n flavors: new Map()\n });\n\n var ref = this.processSelectionSet({\n result: result || Object.create(null),\n dataId: dataId,\n selectionSet: operationDefinition.selectionSet,\n mergeTree: {\n map: new Map()\n },\n context: context\n });\n\n if (!isReference(ref)) {\n throw __DEV__ ? new InvariantError(\"Could not identify object \".concat(JSON.stringify(result))) : new InvariantError(7);\n }\n\n context.incomingById.forEach(function (_a, dataId) {\n var storeObject = _a.storeObject,\n mergeTree = _a.mergeTree,\n fieldNodeSet = _a.fieldNodeSet;\n var entityRef = makeReference(dataId);\n\n if (mergeTree && mergeTree.map.size) {\n var applied = _this.applyMerges(mergeTree, entityRef, storeObject, context);\n\n if (isReference(applied)) {\n return;\n }\n\n storeObject = applied;\n }\n\n if (__DEV__ && !context.overwrite) {\n var fieldsWithSelectionSets_1 = Object.create(null);\n fieldNodeSet.forEach(function (field) {\n if (field.selectionSet) {\n fieldsWithSelectionSets_1[field.name.value] = true;\n }\n });\n\n var hasSelectionSet_1 = function hasSelectionSet_1(storeFieldName) {\n return fieldsWithSelectionSets_1[fieldNameFromStoreName(storeFieldName)] === true;\n };\n\n var hasMergeFunction_1 = function hasMergeFunction_1(storeFieldName) {\n var childTree = mergeTree && mergeTree.map.get(storeFieldName);\n return Boolean(childTree && childTree.info && childTree.info.merge);\n };\n\n Object.keys(storeObject).forEach(function (storeFieldName) {\n if (hasSelectionSet_1(storeFieldName) && !hasMergeFunction_1(storeFieldName)) {\n warnAboutDataLoss(entityRef, storeObject, storeFieldName, context.store);\n }\n });\n }\n\n store.merge(dataId, storeObject);\n });\n store.retain(ref.__ref);\n return ref;\n };\n\n StoreWriter.prototype.processSelectionSet = function (_a) {\n var _this = this;\n\n var dataId = _a.dataId,\n result = _a.result,\n selectionSet = _a.selectionSet,\n context = _a.context,\n mergeTree = _a.mergeTree;\n var policies = this.cache.policies;\n var incoming = Object.create(null);\n var typename = dataId && policies.rootTypenamesById[dataId] || getTypenameFromResult(result, selectionSet, context.fragmentMap) || dataId && context.store.get(dataId, \"__typename\");\n\n if (\"string\" === typeof typename) {\n incoming.__typename = typename;\n }\n\n var readField = function readField() {\n var options = normalizeReadFieldOptions(arguments, incoming, context.variables);\n\n if (isReference(options.from)) {\n var info = context.incomingById.get(options.from.__ref);\n\n if (info) {\n var result_1 = policies.readField(__assign(__assign({}, options), {\n from: info.storeObject\n }), context);\n\n if (result_1 !== void 0) {\n return result_1;\n }\n }\n }\n\n return policies.readField(options, context);\n };\n\n var fieldNodeSet = new Set();\n this.flattenFields(selectionSet, result, context, typename).forEach(function (context, field) {\n var _a;\n\n var resultFieldKey = resultKeyNameFromField(field);\n var value = result[resultFieldKey];\n fieldNodeSet.add(field);\n\n if (value !== void 0) {\n var storeFieldName = policies.getStoreFieldName({\n typename: typename,\n fieldName: field.name.value,\n field: field,\n variables: context.variables\n });\n var childTree = getChildMergeTree(mergeTree, storeFieldName);\n\n var incomingValue = _this.processFieldValue(value, field, field.selectionSet ? getContextFlavor(context, false, false) : context, childTree);\n\n var childTypename = void 0;\n\n if (field.selectionSet && (isReference(incomingValue) || storeValueIsStoreObject(incomingValue))) {\n childTypename = readField(\"__typename\", incomingValue);\n }\n\n var merge = policies.getMergeFunction(typename, field.name.value, childTypename);\n\n if (merge) {\n childTree.info = {\n field: field,\n typename: typename,\n merge: merge\n };\n } else {\n maybeRecycleChildMergeTree(mergeTree, storeFieldName);\n }\n\n incoming = context.merge(incoming, (_a = {}, _a[storeFieldName] = incomingValue, _a));\n } else if (__DEV__ && !context.clientOnly && !context.deferred && !addTypenameToDocument.added(field) && !policies.getReadFunction(typename, field.name.value)) {\n __DEV__ && invariant.error(\"Missing field '\".concat(resultKeyNameFromField(field), \"' while writing result \").concat(JSON.stringify(result, null, 2)).substring(0, 1000));\n }\n });\n\n try {\n var _b = policies.identify(result, {\n typename: typename,\n selectionSet: selectionSet,\n fragmentMap: context.fragmentMap,\n storeObject: incoming,\n readField: readField\n }),\n id = _b[0],\n keyObject = _b[1];\n\n dataId = dataId || id;\n\n if (keyObject) {\n incoming = context.merge(incoming, keyObject);\n }\n } catch (e) {\n if (!dataId) throw e;\n }\n\n if (\"string\" === typeof dataId) {\n var dataRef = makeReference(dataId);\n var sets = context.written[dataId] || (context.written[dataId] = []);\n if (sets.indexOf(selectionSet) >= 0) return dataRef;\n sets.push(selectionSet);\n\n if (this.reader && this.reader.isFresh(result, dataRef, selectionSet, context)) {\n return dataRef;\n }\n\n var previous_1 = context.incomingById.get(dataId);\n\n if (previous_1) {\n previous_1.storeObject = context.merge(previous_1.storeObject, incoming);\n previous_1.mergeTree = mergeMergeTrees(previous_1.mergeTree, mergeTree);\n fieldNodeSet.forEach(function (field) {\n return previous_1.fieldNodeSet.add(field);\n });\n } else {\n context.incomingById.set(dataId, {\n storeObject: incoming,\n mergeTree: mergeTreeIsEmpty(mergeTree) ? void 0 : mergeTree,\n fieldNodeSet: fieldNodeSet\n });\n }\n\n return dataRef;\n }\n\n return incoming;\n };\n\n StoreWriter.prototype.processFieldValue = function (value, field, context, mergeTree) {\n var _this = this;\n\n if (!field.selectionSet || value === null) {\n return __DEV__ ? cloneDeep(value) : value;\n }\n\n if (isArray(value)) {\n return value.map(function (item, i) {\n var value = _this.processFieldValue(item, field, context, getChildMergeTree(mergeTree, i));\n\n maybeRecycleChildMergeTree(mergeTree, i);\n return value;\n });\n }\n\n return this.processSelectionSet({\n result: value,\n selectionSet: field.selectionSet,\n context: context,\n mergeTree: mergeTree\n });\n };\n\n StoreWriter.prototype.flattenFields = function (selectionSet, result, context, typename) {\n if (typename === void 0) {\n typename = getTypenameFromResult(result, selectionSet, context.fragmentMap);\n }\n\n var fieldMap = new Map();\n var policies = this.cache.policies;\n var limitingTrie = new Trie(false);\n\n (function flatten(selectionSet, inheritedContext) {\n var visitedNode = limitingTrie.lookup(selectionSet, inheritedContext.clientOnly, inheritedContext.deferred);\n if (visitedNode.visited) return;\n visitedNode.visited = true;\n selectionSet.selections.forEach(function (selection) {\n if (!shouldInclude(selection, context.variables)) return;\n var clientOnly = inheritedContext.clientOnly,\n deferred = inheritedContext.deferred;\n\n if (!(clientOnly && deferred) && isNonEmptyArray(selection.directives)) {\n selection.directives.forEach(function (dir) {\n var name = dir.name.value;\n if (name === \"client\") clientOnly = true;\n\n if (name === \"defer\") {\n var args = argumentsObjectFromField(dir, context.variables);\n\n if (!args || args.if !== false) {\n deferred = true;\n }\n }\n });\n }\n\n if (isField(selection)) {\n var existing = fieldMap.get(selection);\n\n if (existing) {\n clientOnly = clientOnly && existing.clientOnly;\n deferred = deferred && existing.deferred;\n }\n\n fieldMap.set(selection, getContextFlavor(context, clientOnly, deferred));\n } else {\n var fragment = getFragmentFromSelection(selection, context.lookupFragment);\n\n if (!fragment && selection.kind === Kind.FRAGMENT_SPREAD) {\n throw __DEV__ ? new InvariantError(\"No fragment named \".concat(selection.name.value)) : new InvariantError(8);\n }\n\n if (fragment && policies.fragmentMatches(fragment, typename, result, context.variables)) {\n flatten(fragment.selectionSet, getContextFlavor(context, clientOnly, deferred));\n }\n }\n });\n })(selectionSet, context);\n\n return fieldMap;\n };\n\n StoreWriter.prototype.applyMerges = function (mergeTree, existing, incoming, context, getStorageArgs) {\n var _a;\n\n var _this = this;\n\n if (mergeTree.map.size && !isReference(incoming)) {\n var e_1 = !isArray(incoming) && (isReference(existing) || storeValueIsStoreObject(existing)) ? existing : void 0;\n var i_1 = incoming;\n\n if (e_1 && !getStorageArgs) {\n getStorageArgs = [isReference(e_1) ? e_1.__ref : e_1];\n }\n\n var changedFields_1;\n\n var getValue_1 = function getValue_1(from, name) {\n return isArray(from) ? typeof name === \"number\" ? from[name] : void 0 : context.store.getFieldValue(from, String(name));\n };\n\n mergeTree.map.forEach(function (childTree, storeFieldName) {\n var eVal = getValue_1(e_1, storeFieldName);\n var iVal = getValue_1(i_1, storeFieldName);\n if (void 0 === iVal) return;\n\n if (getStorageArgs) {\n getStorageArgs.push(storeFieldName);\n }\n\n var aVal = _this.applyMerges(childTree, eVal, iVal, context, getStorageArgs);\n\n if (aVal !== iVal) {\n changedFields_1 = changedFields_1 || new Map();\n changedFields_1.set(storeFieldName, aVal);\n }\n\n if (getStorageArgs) {\n invariant(getStorageArgs.pop() === storeFieldName);\n }\n });\n\n if (changedFields_1) {\n incoming = isArray(i_1) ? i_1.slice(0) : __assign({}, i_1);\n changedFields_1.forEach(function (value, name) {\n incoming[name] = value;\n });\n }\n }\n\n if (mergeTree.info) {\n return this.cache.policies.runMergeFunction(existing, incoming, mergeTree.info, context, getStorageArgs && (_a = context.store).getStorage.apply(_a, getStorageArgs));\n }\n\n return incoming;\n };\n\n return StoreWriter;\n}();\n\nexport { StoreWriter };\nvar emptyMergeTreePool = [];\n\nfunction getChildMergeTree(_a, name) {\n var map = _a.map;\n\n if (!map.has(name)) {\n map.set(name, emptyMergeTreePool.pop() || {\n map: new Map()\n });\n }\n\n return map.get(name);\n}\n\nfunction mergeMergeTrees(left, right) {\n if (left === right || !right || mergeTreeIsEmpty(right)) return left;\n if (!left || mergeTreeIsEmpty(left)) return right;\n var info = left.info && right.info ? __assign(__assign({}, left.info), right.info) : left.info || right.info;\n var needToMergeMaps = left.map.size && right.map.size;\n var map = needToMergeMaps ? new Map() : left.map.size ? left.map : right.map;\n var merged = {\n info: info,\n map: map\n };\n\n if (needToMergeMaps) {\n var remainingRightKeys_1 = new Set(right.map.keys());\n left.map.forEach(function (leftTree, key) {\n merged.map.set(key, mergeMergeTrees(leftTree, right.map.get(key)));\n remainingRightKeys_1.delete(key);\n });\n remainingRightKeys_1.forEach(function (key) {\n merged.map.set(key, mergeMergeTrees(right.map.get(key), left.map.get(key)));\n });\n }\n\n return merged;\n}\n\nfunction mergeTreeIsEmpty(tree) {\n return !tree || !(tree.info || tree.map.size);\n}\n\nfunction maybeRecycleChildMergeTree(_a, name) {\n var map = _a.map;\n var childTree = map.get(name);\n\n if (childTree && mergeTreeIsEmpty(childTree)) {\n emptyMergeTreePool.push(childTree);\n map.delete(name);\n }\n}\n\nvar warnings = new Set();\n\nfunction warnAboutDataLoss(existingRef, incomingObj, storeFieldName, store) {\n var getChild = function getChild(objOrRef) {\n var child = store.getFieldValue(objOrRef, storeFieldName);\n return typeof child === \"object\" && child;\n };\n\n var existing = getChild(existingRef);\n if (!existing) return;\n var incoming = getChild(incomingObj);\n if (!incoming) return;\n if (isReference(existing)) return;\n if (equal(existing, incoming)) return;\n\n if (Object.keys(existing).every(function (key) {\n return store.getFieldValue(incoming, key) !== void 0;\n })) {\n return;\n }\n\n var parentType = store.getFieldValue(existingRef, \"__typename\") || store.getFieldValue(incomingObj, \"__typename\");\n var fieldName = fieldNameFromStoreName(storeFieldName);\n var typeDotName = \"\".concat(parentType, \".\").concat(fieldName);\n if (warnings.has(typeDotName)) return;\n warnings.add(typeDotName);\n var childTypenames = [];\n\n if (!isArray(existing) && !isArray(incoming)) {\n [existing, incoming].forEach(function (child) {\n var typename = store.getFieldValue(child, \"__typename\");\n\n if (typeof typename === \"string\" && !childTypenames.includes(typename)) {\n childTypenames.push(typename);\n }\n });\n }\n\n __DEV__ && invariant.warn(\"Cache data may be lost when replacing the \".concat(fieldName, \" field of a \").concat(parentType, \" object.\\n\\nTo address this problem (which is not a bug in Apollo Client), \").concat(childTypenames.length ? \"either ensure all objects of type \" + childTypenames.join(\" and \") + \" have an ID or a custom merge function, or \" : \"\", \"define a custom merge function for the \").concat(typeDotName, \" field, so InMemoryCache can safely merge these objects:\\n\\n existing: \").concat(JSON.stringify(existing).slice(0, 1000), \"\\n incoming: \").concat(JSON.stringify(incoming).slice(0, 1000), \"\\n\\nFor more information about these options, please refer to the documentation:\\n\\n * Ensuring entity objects have IDs: https://go.apollo.dev/c/generating-unique-identifiers\\n * Defining custom merge functions: https://go.apollo.dev/c/merging-non-normalized-objects\\n\"));\n}","import { __assign, __extends } from \"tslib\";\nimport { invariant } from \"../../utilities/globals/index.js\";\nimport \"./fixPolyfills.js\";\nimport { wrap } from 'optimism';\nimport { equal } from '@wry/equality';\nimport { ApolloCache } from \"../core/cache.js\";\nimport { MissingFieldError } from \"../core/types/common.js\";\nimport { addTypenameToDocument, isReference } from \"../../utilities/index.js\";\nimport { StoreReader } from \"./readFromStore.js\";\nimport { StoreWriter } from \"./writeToStore.js\";\nimport { EntityStore, supportsResultCaching } from \"./entityStore.js\";\nimport { makeVar, forgetCache, recallCache } from \"./reactiveVars.js\";\nimport { Policies } from \"./policies.js\";\nimport { hasOwn, normalizeConfig, shouldCanonizeResults } from \"./helpers.js\";\nimport { canonicalStringify } from \"./object-canon.js\";\n\nvar InMemoryCache = function (_super) {\n __extends(InMemoryCache, _super);\n\n function InMemoryCache(config) {\n if (config === void 0) {\n config = {};\n }\n\n var _this = _super.call(this) || this;\n\n _this.watches = new Set();\n _this.typenameDocumentCache = new Map();\n _this.makeVar = makeVar;\n _this.txCount = 0;\n _this.config = normalizeConfig(config);\n _this.addTypename = !!_this.config.addTypename;\n _this.policies = new Policies({\n cache: _this,\n dataIdFromObject: _this.config.dataIdFromObject,\n possibleTypes: _this.config.possibleTypes,\n typePolicies: _this.config.typePolicies\n });\n\n _this.init();\n\n return _this;\n }\n\n InMemoryCache.prototype.init = function () {\n var rootStore = this.data = new EntityStore.Root({\n policies: this.policies,\n resultCaching: this.config.resultCaching\n });\n this.optimisticData = rootStore.stump;\n this.resetResultCache();\n };\n\n InMemoryCache.prototype.resetResultCache = function (resetResultIdentities) {\n var _this = this;\n\n var previousReader = this.storeReader;\n var fragments = this.config.fragments;\n this.storeWriter = new StoreWriter(this, this.storeReader = new StoreReader({\n cache: this,\n addTypename: this.addTypename,\n resultCacheMaxSize: this.config.resultCacheMaxSize,\n canonizeResults: shouldCanonizeResults(this.config),\n canon: resetResultIdentities ? void 0 : previousReader && previousReader.canon,\n fragments: fragments\n }), fragments);\n this.maybeBroadcastWatch = wrap(function (c, options) {\n return _this.broadcastWatch(c, options);\n }, {\n max: this.config.resultCacheMaxSize,\n makeCacheKey: function makeCacheKey(c) {\n var store = c.optimistic ? _this.optimisticData : _this.data;\n\n if (supportsResultCaching(store)) {\n var optimistic = c.optimistic,\n id = c.id,\n variables = c.variables;\n return store.makeCacheKey(c.query, c.callback, canonicalStringify({\n optimistic: optimistic,\n id: id,\n variables: variables\n }));\n }\n }\n });\n new Set([this.data.group, this.optimisticData.group]).forEach(function (group) {\n return group.resetCaching();\n });\n };\n\n InMemoryCache.prototype.restore = function (data) {\n this.init();\n if (data) this.data.replace(data);\n return this;\n };\n\n InMemoryCache.prototype.extract = function (optimistic) {\n if (optimistic === void 0) {\n optimistic = false;\n }\n\n return (optimistic ? this.optimisticData : this.data).extract();\n };\n\n InMemoryCache.prototype.read = function (options) {\n var _a = options.returnPartialData,\n returnPartialData = _a === void 0 ? false : _a;\n\n try {\n return this.storeReader.diffQueryAgainstStore(__assign(__assign({}, options), {\n store: options.optimistic ? this.optimisticData : this.data,\n config: this.config,\n returnPartialData: returnPartialData\n })).result || null;\n } catch (e) {\n if (e instanceof MissingFieldError) {\n return null;\n }\n\n throw e;\n }\n };\n\n InMemoryCache.prototype.write = function (options) {\n try {\n ++this.txCount;\n return this.storeWriter.writeToStore(this.data, options);\n } finally {\n if (! --this.txCount && options.broadcast !== false) {\n this.broadcastWatches();\n }\n }\n };\n\n InMemoryCache.prototype.modify = function (options) {\n if (hasOwn.call(options, \"id\") && !options.id) {\n return false;\n }\n\n var store = options.optimistic ? this.optimisticData : this.data;\n\n try {\n ++this.txCount;\n return store.modify(options.id || \"ROOT_QUERY\", options.fields);\n } finally {\n if (! --this.txCount && options.broadcast !== false) {\n this.broadcastWatches();\n }\n }\n };\n\n InMemoryCache.prototype.diff = function (options) {\n return this.storeReader.diffQueryAgainstStore(__assign(__assign({}, options), {\n store: options.optimistic ? this.optimisticData : this.data,\n rootId: options.id || \"ROOT_QUERY\",\n config: this.config\n }));\n };\n\n InMemoryCache.prototype.watch = function (watch) {\n var _this = this;\n\n if (!this.watches.size) {\n recallCache(this);\n }\n\n this.watches.add(watch);\n\n if (watch.immediate) {\n this.maybeBroadcastWatch(watch);\n }\n\n return function () {\n if (_this.watches.delete(watch) && !_this.watches.size) {\n forgetCache(_this);\n }\n\n _this.maybeBroadcastWatch.forget(watch);\n };\n };\n\n InMemoryCache.prototype.gc = function (options) {\n canonicalStringify.reset();\n var ids = this.optimisticData.gc();\n\n if (options && !this.txCount) {\n if (options.resetResultCache) {\n this.resetResultCache(options.resetResultIdentities);\n } else if (options.resetResultIdentities) {\n this.storeReader.resetCanon();\n }\n }\n\n return ids;\n };\n\n InMemoryCache.prototype.retain = function (rootId, optimistic) {\n return (optimistic ? this.optimisticData : this.data).retain(rootId);\n };\n\n InMemoryCache.prototype.release = function (rootId, optimistic) {\n return (optimistic ? this.optimisticData : this.data).release(rootId);\n };\n\n InMemoryCache.prototype.identify = function (object) {\n if (isReference(object)) return object.__ref;\n\n try {\n return this.policies.identify(object)[0];\n } catch (e) {\n __DEV__ && invariant.warn(e);\n }\n };\n\n InMemoryCache.prototype.evict = function (options) {\n if (!options.id) {\n if (hasOwn.call(options, \"id\")) {\n return false;\n }\n\n options = __assign(__assign({}, options), {\n id: \"ROOT_QUERY\"\n });\n }\n\n try {\n ++this.txCount;\n return this.optimisticData.evict(options, this.data);\n } finally {\n if (! --this.txCount && options.broadcast !== false) {\n this.broadcastWatches();\n }\n }\n };\n\n InMemoryCache.prototype.reset = function (options) {\n var _this = this;\n\n this.init();\n canonicalStringify.reset();\n\n if (options && options.discardWatches) {\n this.watches.forEach(function (watch) {\n return _this.maybeBroadcastWatch.forget(watch);\n });\n this.watches.clear();\n forgetCache(this);\n } else {\n this.broadcastWatches();\n }\n\n return Promise.resolve();\n };\n\n InMemoryCache.prototype.removeOptimistic = function (idToRemove) {\n var newOptimisticData = this.optimisticData.removeLayer(idToRemove);\n\n if (newOptimisticData !== this.optimisticData) {\n this.optimisticData = newOptimisticData;\n this.broadcastWatches();\n }\n };\n\n InMemoryCache.prototype.batch = function (options) {\n var _this = this;\n\n var update = options.update,\n _a = options.optimistic,\n optimistic = _a === void 0 ? true : _a,\n removeOptimistic = options.removeOptimistic,\n _onWatchUpdated = options.onWatchUpdated;\n var updateResult;\n\n var perform = function perform(layer) {\n var _a = _this,\n data = _a.data,\n optimisticData = _a.optimisticData;\n ++_this.txCount;\n\n if (layer) {\n _this.data = _this.optimisticData = layer;\n }\n\n try {\n return updateResult = update(_this);\n } finally {\n --_this.txCount;\n _this.data = data;\n _this.optimisticData = optimisticData;\n }\n };\n\n var alreadyDirty = new Set();\n\n if (_onWatchUpdated && !this.txCount) {\n this.broadcastWatches(__assign(__assign({}, options), {\n onWatchUpdated: function onWatchUpdated(watch) {\n alreadyDirty.add(watch);\n return false;\n }\n }));\n }\n\n if (typeof optimistic === 'string') {\n this.optimisticData = this.optimisticData.addLayer(optimistic, perform);\n } else if (optimistic === false) {\n perform(this.data);\n } else {\n perform();\n }\n\n if (typeof removeOptimistic === \"string\") {\n this.optimisticData = this.optimisticData.removeLayer(removeOptimistic);\n }\n\n if (_onWatchUpdated && alreadyDirty.size) {\n this.broadcastWatches(__assign(__assign({}, options), {\n onWatchUpdated: function onWatchUpdated(watch, diff) {\n var result = _onWatchUpdated.call(this, watch, diff);\n\n if (result !== false) {\n alreadyDirty.delete(watch);\n }\n\n return result;\n }\n }));\n\n if (alreadyDirty.size) {\n alreadyDirty.forEach(function (watch) {\n return _this.maybeBroadcastWatch.dirty(watch);\n });\n }\n } else {\n this.broadcastWatches(options);\n }\n\n return updateResult;\n };\n\n InMemoryCache.prototype.performTransaction = function (update, optimisticId) {\n return this.batch({\n update: update,\n optimistic: optimisticId || optimisticId !== null\n });\n };\n\n InMemoryCache.prototype.transformDocument = function (document) {\n if (this.addTypename) {\n var result = this.typenameDocumentCache.get(document);\n\n if (!result) {\n result = addTypenameToDocument(document);\n this.typenameDocumentCache.set(document, result);\n this.typenameDocumentCache.set(result, result);\n }\n\n return result;\n }\n\n return document;\n };\n\n InMemoryCache.prototype.transformForLink = function (document) {\n var fragments = this.config.fragments;\n return fragments ? fragments.transform(document) : document;\n };\n\n InMemoryCache.prototype.broadcastWatches = function (options) {\n var _this = this;\n\n if (!this.txCount) {\n this.watches.forEach(function (c) {\n return _this.maybeBroadcastWatch(c, options);\n });\n }\n };\n\n InMemoryCache.prototype.broadcastWatch = function (c, options) {\n var lastDiff = c.lastDiff;\n var diff = this.diff(c);\n\n if (options) {\n if (c.optimistic && typeof options.optimistic === \"string\") {\n diff.fromOptimisticTransaction = true;\n }\n\n if (options.onWatchUpdated && options.onWatchUpdated.call(this, c, diff, lastDiff) === false) {\n return;\n }\n }\n\n if (!lastDiff || !equal(lastDiff.result, diff.result)) {\n c.callback(c.lastDiff = diff, lastDiff);\n }\n };\n\n return InMemoryCache;\n}(ApolloCache);\n\nexport { InMemoryCache };","import { __assign } from \"tslib\";\nimport { Observable } from \"../../utilities/index.js\";\n\nvar OperationBatcher = function () {\n function OperationBatcher(_a) {\n var batchDebounce = _a.batchDebounce,\n batchInterval = _a.batchInterval,\n batchMax = _a.batchMax,\n batchHandler = _a.batchHandler,\n batchKey = _a.batchKey;\n this.batchesByKey = new Map();\n this.batchDebounce = batchDebounce;\n this.batchInterval = batchInterval;\n this.batchMax = batchMax || 0;\n this.batchHandler = batchHandler;\n\n this.batchKey = batchKey || function () {\n return '';\n };\n }\n\n OperationBatcher.prototype.enqueueRequest = function (request) {\n var _this = this;\n\n var requestCopy = __assign(__assign({}, request), {\n next: [],\n error: [],\n complete: [],\n subscribers: new Set()\n });\n\n var key = this.batchKey(request.operation);\n\n if (!requestCopy.observable) {\n requestCopy.observable = new Observable(function (observer) {\n var batch = _this.batchesByKey.get(key);\n\n if (!batch) _this.batchesByKey.set(key, batch = new Set());\n var isFirstEnqueuedRequest = batch.size === 0;\n var isFirstSubscriber = requestCopy.subscribers.size === 0;\n requestCopy.subscribers.add(observer);\n\n if (isFirstSubscriber) {\n batch.add(requestCopy);\n }\n\n if (observer.next) {\n requestCopy.next.push(observer.next.bind(observer));\n }\n\n if (observer.error) {\n requestCopy.error.push(observer.error.bind(observer));\n }\n\n if (observer.complete) {\n requestCopy.complete.push(observer.complete.bind(observer));\n }\n\n if (isFirstEnqueuedRequest || _this.batchDebounce) {\n _this.scheduleQueueConsumption(key);\n }\n\n if (batch.size === _this.batchMax) {\n _this.consumeQueue(key);\n }\n\n return function () {\n var _a;\n\n if (requestCopy.subscribers.delete(observer) && requestCopy.subscribers.size < 1) {\n if (batch.delete(requestCopy) && batch.size < 1) {\n _this.consumeQueue(key);\n\n (_a = batch.subscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();\n }\n }\n };\n });\n }\n\n return requestCopy.observable;\n };\n\n OperationBatcher.prototype.consumeQueue = function (key) {\n if (key === void 0) {\n key = '';\n }\n\n var batch = this.batchesByKey.get(key);\n this.batchesByKey.delete(key);\n\n if (!batch || !batch.size) {\n return;\n }\n\n var operations = [];\n var forwards = [];\n var observables = [];\n var nexts = [];\n var errors = [];\n var completes = [];\n batch.forEach(function (request) {\n operations.push(request.operation);\n forwards.push(request.forward);\n observables.push(request.observable);\n nexts.push(request.next);\n errors.push(request.error);\n completes.push(request.complete);\n });\n var batchedObservable = this.batchHandler(operations, forwards) || Observable.of();\n\n var onError = function onError(error) {\n errors.forEach(function (rejecters) {\n if (rejecters) {\n rejecters.forEach(function (e) {\n return e(error);\n });\n }\n });\n };\n\n batch.subscription = batchedObservable.subscribe({\n next: function next(results) {\n if (!Array.isArray(results)) {\n results = [results];\n }\n\n if (nexts.length !== results.length) {\n var error = new Error(\"server returned results with length \".concat(results.length, \", expected length of \").concat(nexts.length));\n error.result = results;\n return onError(error);\n }\n\n results.forEach(function (result, index) {\n if (nexts[index]) {\n nexts[index].forEach(function (next) {\n return next(result);\n });\n }\n });\n },\n error: onError,\n complete: function complete() {\n completes.forEach(function (complete) {\n if (complete) {\n complete.forEach(function (c) {\n return c();\n });\n }\n });\n }\n });\n return observables;\n };\n\n OperationBatcher.prototype.scheduleQueueConsumption = function (key) {\n var _this = this;\n\n clearTimeout(this.scheduledBatchTimer);\n this.scheduledBatchTimer = setTimeout(function () {\n _this.consumeQueue(key);\n }, this.batchInterval);\n };\n\n return OperationBatcher;\n}();\n\nexport { OperationBatcher };","import { __extends } from \"tslib\";\nimport { ApolloLink } from \"../core/index.js\";\nimport { OperationBatcher } from \"./batching.js\";\nexport { OperationBatcher } from \"./batching.js\";\n\nvar BatchLink = function (_super) {\n __extends(BatchLink, _super);\n\n function BatchLink(fetchParams) {\n var _this = _super.call(this) || this;\n\n var _a = fetchParams || {},\n batchDebounce = _a.batchDebounce,\n _b = _a.batchInterval,\n batchInterval = _b === void 0 ? 10 : _b,\n _c = _a.batchMax,\n batchMax = _c === void 0 ? 0 : _c,\n _d = _a.batchHandler,\n batchHandler = _d === void 0 ? function () {\n return null;\n } : _d,\n _e = _a.batchKey,\n batchKey = _e === void 0 ? function () {\n return '';\n } : _e;\n\n _this.batcher = new OperationBatcher({\n batchDebounce: batchDebounce,\n batchInterval: batchInterval,\n batchMax: batchMax,\n batchHandler: batchHandler,\n batchKey: batchKey\n });\n\n if (fetchParams.batchHandler.length <= 1) {\n _this.request = function (operation) {\n return _this.batcher.enqueueRequest({\n operation: operation\n });\n };\n }\n\n return _this;\n }\n\n BatchLink.prototype.request = function (operation, forward) {\n return this.batcher.enqueueRequest({\n operation: operation,\n forward: forward\n });\n };\n\n return BatchLink;\n}(ApolloLink);\n\nexport { BatchLink };","import { __assign, __extends, __rest } from \"tslib\";\nimport { ApolloLink } from \"../core/index.js\";\nimport { Observable } from \"../../utilities/index.js\";\nimport { fromError } from \"../utils/index.js\";\nimport { serializeFetchParameter, selectURI, parseAndCheckHttpResponse, checkFetcher, selectHttpOptionsAndBodyInternal, defaultPrinter, fallbackHttpConfig, createSignalIfSupported } from \"../http/index.js\";\nimport { BatchLink } from \"../batch/index.js\";\n\nvar BatchHttpLink = function (_super) {\n __extends(BatchHttpLink, _super);\n\n function BatchHttpLink(fetchParams) {\n var _this = _super.call(this) || this;\n\n var _a = fetchParams || {},\n _b = _a.uri,\n uri = _b === void 0 ? '/graphql' : _b,\n fetcher = _a.fetch,\n _c = _a.print,\n print = _c === void 0 ? defaultPrinter : _c,\n includeExtensions = _a.includeExtensions,\n preserveHeaderCase = _a.preserveHeaderCase,\n batchInterval = _a.batchInterval,\n batchDebounce = _a.batchDebounce,\n batchMax = _a.batchMax,\n batchKey = _a.batchKey,\n requestOptions = __rest(_a, [\"uri\", \"fetch\", \"print\", \"includeExtensions\", \"preserveHeaderCase\", \"batchInterval\", \"batchDebounce\", \"batchMax\", \"batchKey\"]);\n\n checkFetcher(fetcher);\n\n if (!fetcher) {\n fetcher = fetch;\n }\n\n var linkConfig = {\n http: {\n includeExtensions: includeExtensions,\n preserveHeaderCase: preserveHeaderCase\n },\n options: requestOptions.fetchOptions,\n credentials: requestOptions.credentials,\n headers: requestOptions.headers\n };\n _this.batchDebounce = batchDebounce;\n _this.batchInterval = batchInterval || 10;\n _this.batchMax = batchMax || 10;\n\n var batchHandler = function batchHandler(operations) {\n var chosenURI = selectURI(operations[0], uri);\n var context = operations[0].getContext();\n var clientAwarenessHeaders = {};\n\n if (context.clientAwareness) {\n var _a = context.clientAwareness,\n name_1 = _a.name,\n version = _a.version;\n\n if (name_1) {\n clientAwarenessHeaders['apollographql-client-name'] = name_1;\n }\n\n if (version) {\n clientAwarenessHeaders['apollographql-client-version'] = version;\n }\n }\n\n var contextConfig = {\n http: context.http,\n options: context.fetchOptions,\n credentials: context.credentials,\n headers: __assign(__assign({}, clientAwarenessHeaders), context.headers)\n };\n var optsAndBody = operations.map(function (operation) {\n return selectHttpOptionsAndBodyInternal(operation, print, fallbackHttpConfig, linkConfig, contextConfig);\n });\n var loadedBody = optsAndBody.map(function (_a) {\n var body = _a.body;\n return body;\n });\n var options = optsAndBody[0].options;\n\n if (options.method === 'GET') {\n return fromError(new Error('apollo-link-batch-http does not support GET requests'));\n }\n\n try {\n options.body = serializeFetchParameter(loadedBody, 'Payload');\n } catch (parseError) {\n return fromError(parseError);\n }\n\n var controller;\n\n if (!options.signal) {\n var _b = createSignalIfSupported(),\n _controller = _b.controller,\n signal = _b.signal;\n\n controller = _controller;\n if (controller) options.signal = signal;\n }\n\n return new Observable(function (observer) {\n fetcher(chosenURI, options).then(function (response) {\n operations.forEach(function (operation) {\n return operation.setContext({\n response: response\n });\n });\n return response;\n }).then(parseAndCheckHttpResponse(operations)).then(function (result) {\n observer.next(result);\n observer.complete();\n return result;\n }).catch(function (err) {\n if (err.name === 'AbortError') return;\n\n if (err.result && err.result.errors && err.result.data) {\n observer.next(err.result);\n }\n\n observer.error(err);\n });\n return function () {\n if (controller) controller.abort();\n };\n });\n };\n\n batchKey = batchKey || function (operation) {\n var context = operation.getContext();\n var contextConfig = {\n http: context.http,\n options: context.fetchOptions,\n credentials: context.credentials,\n headers: context.headers\n };\n return selectURI(operation, uri) + JSON.stringify(contextConfig);\n };\n\n _this.batcher = new BatchLink({\n batchDebounce: _this.batchDebounce,\n batchInterval: _this.batchInterval,\n batchMax: _this.batchMax,\n batchKey: batchKey,\n batchHandler: batchHandler\n });\n return _this;\n }\n\n BatchHttpLink.prototype.request = function (operation) {\n return this.batcher.request(operation);\n };\n\n return BatchHttpLink;\n}(ApolloLink);\n\nexport { BatchHttpLink };","import { __extends } from \"tslib\";\nimport { Observable } from \"../../utilities/index.js\";\nimport { ApolloLink } from \"../core/index.js\";\nexport function onError(errorHandler) {\n return new ApolloLink(function (operation, forward) {\n return new Observable(function (observer) {\n var sub;\n var retriedSub;\n var retriedResult;\n\n try {\n sub = forward(operation).subscribe({\n next: function next(result) {\n if (result.errors) {\n retriedResult = errorHandler({\n graphQLErrors: result.errors,\n response: result,\n operation: operation,\n forward: forward\n });\n\n if (retriedResult) {\n retriedSub = retriedResult.subscribe({\n next: observer.next.bind(observer),\n error: observer.error.bind(observer),\n complete: observer.complete.bind(observer)\n });\n return;\n }\n }\n\n observer.next(result);\n },\n error: function error(networkError) {\n retriedResult = errorHandler({\n operation: operation,\n networkError: networkError,\n graphQLErrors: networkError && networkError.result && networkError.result.errors,\n forward: forward\n });\n\n if (retriedResult) {\n retriedSub = retriedResult.subscribe({\n next: observer.next.bind(observer),\n error: observer.error.bind(observer),\n complete: observer.complete.bind(observer)\n });\n return;\n }\n\n observer.error(networkError);\n },\n complete: function complete() {\n if (!retriedResult) {\n observer.complete.bind(observer)();\n }\n }\n });\n } catch (e) {\n errorHandler({\n networkError: e,\n operation: operation,\n forward: forward\n });\n observer.error(e);\n }\n\n return function () {\n if (sub) sub.unsubscribe();\n if (retriedSub) sub.unsubscribe();\n };\n });\n });\n}\n\nvar ErrorLink = function (_super) {\n __extends(ErrorLink, _super);\n\n function ErrorLink(errorHandler) {\n var _this = _super.call(this) || this;\n\n _this.link = onError(errorHandler);\n return _this;\n }\n\n ErrorLink.prototype.request = function (operation, forward) {\n return this.link.request(operation, forward);\n };\n\n return ErrorLink;\n}(ApolloLink);\n\nexport { ErrorLink };","import { __awaiter, __extends, __generator } from \"tslib\";\nimport { ApolloLink } from \"../core/index.js\";\nimport { Observable } from \"../../utilities/index.js\";\nimport { buildDelayFunction } from \"./delayFunction.js\";\nimport { buildRetryFunction } from \"./retryFunction.js\";\n\nvar RetryableOperation = function () {\n function RetryableOperation(operation, nextLink, delayFor, retryIf) {\n var _this = this;\n\n this.operation = operation;\n this.nextLink = nextLink;\n this.delayFor = delayFor;\n this.retryIf = retryIf;\n this.retryCount = 0;\n this.values = [];\n this.complete = false;\n this.canceled = false;\n this.observers = [];\n this.currentSubscription = null;\n\n this.onNext = function (value) {\n _this.values.push(value);\n\n for (var _i = 0, _a = _this.observers; _i < _a.length; _i++) {\n var observer = _a[_i];\n if (!observer) continue;\n observer.next(value);\n }\n };\n\n this.onComplete = function () {\n _this.complete = true;\n\n for (var _i = 0, _a = _this.observers; _i < _a.length; _i++) {\n var observer = _a[_i];\n if (!observer) continue;\n observer.complete();\n }\n };\n\n this.onError = function (error) {\n return __awaiter(_this, void 0, void 0, function () {\n var shouldRetry, _i, _a, observer;\n\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n this.retryCount += 1;\n return [4, this.retryIf(this.retryCount, this.operation, error)];\n\n case 1:\n shouldRetry = _b.sent();\n\n if (shouldRetry) {\n this.scheduleRetry(this.delayFor(this.retryCount, this.operation, error));\n return [2];\n }\n\n this.error = error;\n\n for (_i = 0, _a = this.observers; _i < _a.length; _i++) {\n observer = _a[_i];\n if (!observer) continue;\n observer.error(error);\n }\n\n return [2];\n }\n });\n });\n };\n }\n\n RetryableOperation.prototype.subscribe = function (observer) {\n if (this.canceled) {\n throw new Error(\"Subscribing to a retryable link that was canceled is not supported\");\n }\n\n this.observers.push(observer);\n\n for (var _i = 0, _a = this.values; _i < _a.length; _i++) {\n var value = _a[_i];\n observer.next(value);\n }\n\n if (this.complete) {\n observer.complete();\n } else if (this.error) {\n observer.error(this.error);\n }\n };\n\n RetryableOperation.prototype.unsubscribe = function (observer) {\n var index = this.observers.indexOf(observer);\n\n if (index < 0) {\n throw new Error(\"RetryLink BUG! Attempting to unsubscribe unknown observer!\");\n }\n\n this.observers[index] = null;\n\n if (this.observers.every(function (o) {\n return o === null;\n })) {\n this.cancel();\n }\n };\n\n RetryableOperation.prototype.start = function () {\n if (this.currentSubscription) return;\n this.try();\n };\n\n RetryableOperation.prototype.cancel = function () {\n if (this.currentSubscription) {\n this.currentSubscription.unsubscribe();\n }\n\n clearTimeout(this.timerId);\n this.timerId = undefined;\n this.currentSubscription = null;\n this.canceled = true;\n };\n\n RetryableOperation.prototype.try = function () {\n this.currentSubscription = this.nextLink(this.operation).subscribe({\n next: this.onNext,\n error: this.onError,\n complete: this.onComplete\n });\n };\n\n RetryableOperation.prototype.scheduleRetry = function (delay) {\n var _this = this;\n\n if (this.timerId) {\n throw new Error(\"RetryLink BUG! Encountered overlapping retries\");\n }\n\n this.timerId = setTimeout(function () {\n _this.timerId = undefined;\n\n _this.try();\n }, delay);\n };\n\n return RetryableOperation;\n}();\n\nvar RetryLink = function (_super) {\n __extends(RetryLink, _super);\n\n function RetryLink(options) {\n var _this = _super.call(this) || this;\n\n var _a = options || {},\n attempts = _a.attempts,\n delay = _a.delay;\n\n _this.delayFor = typeof delay === 'function' ? delay : buildDelayFunction(delay);\n _this.retryIf = typeof attempts === 'function' ? attempts : buildRetryFunction(attempts);\n return _this;\n }\n\n RetryLink.prototype.request = function (operation, nextLink) {\n var retryable = new RetryableOperation(operation, nextLink, this.delayFor, this.retryIf);\n retryable.start();\n return new Observable(function (observer) {\n retryable.subscribe(observer);\n return function () {\n retryable.unsubscribe(observer);\n };\n });\n };\n\n return RetryLink;\n}(ApolloLink);\n\nexport { RetryLink };","export function buildDelayFunction(delayOptions) {\n var _a = delayOptions || {},\n _b = _a.initial,\n initial = _b === void 0 ? 300 : _b,\n _c = _a.jitter,\n jitter = _c === void 0 ? true : _c,\n _d = _a.max,\n max = _d === void 0 ? Infinity : _d;\n\n var baseDelay = jitter ? initial : initial / 2;\n return function delayFunction(count) {\n var delay = Math.min(max, baseDelay * Math.pow(2, count));\n\n if (jitter) {\n delay = Math.random() * delay;\n }\n\n return delay;\n };\n}","export function buildRetryFunction(retryOptions) {\n var _a = retryOptions || {},\n retryIf = _a.retryIf,\n _b = _a.max,\n max = _b === void 0 ? 5 : _b;\n\n return function retryFunction(count, operation, error) {\n if (count >= max) return false;\n return retryIf ? retryIf(error, operation) : !!error;\n };\n}","import { __assign, __rest as __rest_1, __spreadArray } from \"tslib\";\nimport { __rest } from \"tslib\";\nimport { mergeDeep } from \"../common/mergeDeep.js\";\nexport function concatPagination(keyArgs) {\n if (keyArgs === void 0) {\n keyArgs = false;\n }\n\n return {\n keyArgs: keyArgs,\n merge: function merge(existing, incoming) {\n return existing ? __spreadArray(__spreadArray([], existing, true), incoming, true) : incoming;\n }\n };\n}\nexport function offsetLimitPagination(keyArgs) {\n if (keyArgs === void 0) {\n keyArgs = false;\n }\n\n return {\n keyArgs: keyArgs,\n merge: function merge(existing, incoming, _a) {\n var args = _a.args;\n var merged = existing ? existing.slice(0) : [];\n\n if (incoming) {\n if (args) {\n var _b = args.offset,\n offset = _b === void 0 ? 0 : _b;\n\n for (var i = 0; i < incoming.length; ++i) {\n merged[offset + i] = incoming[i];\n }\n } else {\n merged.push.apply(merged, incoming);\n }\n }\n\n return merged;\n }\n };\n}\nexport function relayStylePagination(keyArgs) {\n if (keyArgs === void 0) {\n keyArgs = false;\n }\n\n return {\n keyArgs: keyArgs,\n read: function read(existing, _a) {\n var canRead = _a.canRead,\n readField = _a.readField;\n if (!existing) return existing;\n var edges = [];\n var firstEdgeCursor = \"\";\n var lastEdgeCursor = \"\";\n existing.edges.forEach(function (edge) {\n if (canRead(readField(\"node\", edge))) {\n edges.push(edge);\n\n if (edge.cursor) {\n firstEdgeCursor = firstEdgeCursor || edge.cursor || \"\";\n lastEdgeCursor = edge.cursor || lastEdgeCursor;\n }\n }\n });\n\n var _b = existing.pageInfo || {},\n startCursor = _b.startCursor,\n endCursor = _b.endCursor;\n\n return __assign(__assign({}, getExtras(existing)), {\n edges: edges,\n pageInfo: __assign(__assign({}, existing.pageInfo), {\n startCursor: startCursor || firstEdgeCursor,\n endCursor: endCursor || lastEdgeCursor\n })\n });\n },\n merge: function merge(existing, incoming, _a) {\n var args = _a.args,\n isReference = _a.isReference,\n readField = _a.readField;\n\n if (!existing) {\n existing = makeEmptyData();\n }\n\n if (!incoming) {\n return existing;\n }\n\n var incomingEdges = incoming.edges ? incoming.edges.map(function (edge) {\n if (isReference(edge = __assign({}, edge))) {\n edge.cursor = readField(\"cursor\", edge);\n }\n\n return edge;\n }) : [];\n\n if (incoming.pageInfo) {\n var pageInfo_1 = incoming.pageInfo;\n var startCursor = pageInfo_1.startCursor,\n endCursor = pageInfo_1.endCursor;\n var firstEdge = incomingEdges[0];\n var lastEdge = incomingEdges[incomingEdges.length - 1];\n\n if (firstEdge && startCursor) {\n firstEdge.cursor = startCursor;\n }\n\n if (lastEdge && endCursor) {\n lastEdge.cursor = endCursor;\n }\n\n var firstCursor = firstEdge && firstEdge.cursor;\n\n if (firstCursor && !startCursor) {\n incoming = mergeDeep(incoming, {\n pageInfo: {\n startCursor: firstCursor\n }\n });\n }\n\n var lastCursor = lastEdge && lastEdge.cursor;\n\n if (lastCursor && !endCursor) {\n incoming = mergeDeep(incoming, {\n pageInfo: {\n endCursor: lastCursor\n }\n });\n }\n }\n\n var prefix = existing.edges;\n var suffix = [];\n\n if (args && args.after) {\n var index = prefix.findIndex(function (edge) {\n return edge.cursor === args.after;\n });\n\n if (index >= 0) {\n prefix = prefix.slice(0, index + 1);\n }\n } else if (args && args.before) {\n var index = prefix.findIndex(function (edge) {\n return edge.cursor === args.before;\n });\n suffix = index < 0 ? prefix : prefix.slice(index);\n prefix = [];\n } else if (incoming.edges) {\n prefix = [];\n }\n\n var edges = __spreadArray(__spreadArray(__spreadArray([], prefix, true), incomingEdges, true), suffix, true);\n\n var pageInfo = __assign(__assign({}, incoming.pageInfo), existing.pageInfo);\n\n if (incoming.pageInfo) {\n var _b = incoming.pageInfo,\n hasPreviousPage = _b.hasPreviousPage,\n hasNextPage = _b.hasNextPage,\n startCursor = _b.startCursor,\n endCursor = _b.endCursor,\n extras = __rest_1(_b, [\"hasPreviousPage\", \"hasNextPage\", \"startCursor\", \"endCursor\"]);\n\n Object.assign(pageInfo, extras);\n\n if (!prefix.length) {\n if (void 0 !== hasPreviousPage) pageInfo.hasPreviousPage = hasPreviousPage;\n if (void 0 !== startCursor) pageInfo.startCursor = startCursor;\n }\n\n if (!suffix.length) {\n if (void 0 !== hasNextPage) pageInfo.hasNextPage = hasNextPage;\n if (void 0 !== endCursor) pageInfo.endCursor = endCursor;\n }\n }\n\n return __assign(__assign(__assign({}, getExtras(existing)), getExtras(incoming)), {\n edges: edges,\n pageInfo: pageInfo\n });\n }\n };\n}\n\nvar getExtras = function getExtras(obj) {\n return __rest(obj, notExtras);\n};\n\nvar notExtras = [\"edges\", \"pageInfo\"];\n\nfunction makeEmptyData() {\n return {\n edges: [],\n pageInfo: {\n hasPreviousPage: false,\n hasNextPage: true,\n startCursor: \"\",\n endCursor: \"\"\n }\n };\n}","import {\n ApolloClient,\n ApolloLink,\n InMemoryCache,\n defaultDataIdFromObject\n} from '@apollo/client'\nimport { BatchHttpLink } from '@apollo/client/link/batch-http'\nimport { onError } from '@apollo/client/link/error'\nimport { RetryLink } from '@apollo/client/link/retry'\nimport { offsetLimitPagination } from '@apollo/client/utilities'\n\nimport { typesWithId } from './types-with-ids'\n\nconst csrfMeta = document.querySelector('meta[name=csrf-token]')\nconst csrfToken = csrfMeta?.getAttribute('content')\n\nconst batchLink = new BatchHttpLink({\n batchMax: 10,\n batchInterval: 20, // Wait no more than 20ms after first batched operation\n credentials: 'same-origin',\n headers: {\n 'X-CSRF-Token': csrfToken\n }\n})\n\nconst retryLink = new RetryLink({\n delay: {\n initial: 100,\n max: 200,\n jitter: false\n },\n attempts: {\n max: 2,\n retryIf: (error) => !!error\n }\n})\n\n/**\n * Throw GraphQL errors so they are easier to detect (in development only)\n */\nconst errorLink = onError(({ graphQLErrors, networkError }) => {\n if (graphQLErrors)\n graphQLErrors.forEach(({ message, locations, path }) => {\n console.error(\n // eslint-disable-next-line i18next/no-literal-string\n `[GraphQL error]: Message: ${message}, Location: ${JSON.stringify(\n locations\n )}, Path: ${JSON.stringify(path)}`\n )\n })\n // eslint-disable-next-line i18next/no-literal-string\n if (networkError) console.error(`[Network error]: ${networkError}`)\n})\n\nlet apolloLinks: ApolloLink[] = [retryLink, batchLink]\n\nif (process.env.NODE_ENV === 'development') {\n apolloLinks = [errorLink].concat(apolloLinks)\n}\n\nconst client = new ApolloClient({\n uri: '/graphql',\n cache: new InMemoryCache({\n dataIdFromObject: (object, context) => {\n if (\n process.env.NODE_ENV === 'development' &&\n object.__typename &&\n !object.id &&\n typesWithId.includes(object.__typename)\n ) {\n console.warn(\n '%cMissing ID for %s',\n 'font-size: 2rem; background-color: red; padding: 8px; color: white',\n object.__typename,\n object\n )\n }\n return defaultDataIdFromObject(object, context)\n },\n typePolicies: {\n User: {\n fields: {\n ordersByDate: offsetLimitPagination(['to', 'order']),\n orders: {\n ...offsetLimitPagination(),\n merge(existing = [], incoming, { args }) {\n // Check if the operation has both offset and limit\n if (args?.offset !== undefined && args?.limit !== undefined) {\n // If offset is negative, add to the beginning\n if (args.offset < 0) {\n return [...incoming, ...existing]\n }\n // If offset is positive, add to the end\n return [...existing, ...incoming]\n }\n\n // For regular queries, just use the server response\n return incoming\n }\n }\n }\n },\n Meal: {\n // Disable normalization for `Meal` type by not defining a unique identifier\n // for these entities. This will prevent Apollo Client from storing them\n // separately in the global cache.\n keyFields: false\n }\n }\n }),\n link: ApolloLink.from(apolloLinks)\n})\n\nexport default client\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n/** `Object#toString` result references. */\n\n\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n/** Built-in value references. */\n\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\n\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n\n return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);\n}\n\nmodule.exports = baseGetTag;","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : 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 return _extends.apply(this, arguments);\n}","import { invariant } from \"../../utilities/globals/index.js\";\nimport { useContext } from 'react';\nimport { getApolloContext } from \"../context/index.js\";\nexport function useApolloClient(override) {\n var context = useContext(getApolloContext());\n var client = override || context.client;\n __DEV__ ? invariant(!!client, 'Could not find \"client\" in the context or passed in as an option. ' + 'Wrap the root component in an <ApolloProvider>, or pass an ApolloClient ' + 'instance in via options.') : invariant(!!client, 31);\n return client;\n}","import requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @param {Date|Number} argument - the value to convert\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\n\nexport default function toDate(argument) {\n requiredArgs(1, arguments);\n var argStr = Object.prototype.toString.call(argument); // Clone the date\n\n if (argument instanceof Date || typeof argument === 'object' && argStr === '[object Date]') {\n // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n return new Date(argument.getTime());\n } else if (typeof argument === 'number' || argStr === '[object Number]') {\n return new Date(argument);\n } else {\n if ((typeof argument === 'string' || argStr === '[object String]') && typeof console !== 'undefined') {\n // eslint-disable-next-line no-console\n console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://git.io/fjule\"); // eslint-disable-next-line no-console\n\n console.warn(new Error().stack);\n }\n\n return new Date(NaN);\n }\n}","/**\n * WARNING: Don't import this directly.\n * Use `MuiError` from `@material-ui/utils/macros/MuiError.macro` instead.\n * @param {number} code\n */\nexport default function formatMuiErrorMessage(code) {\n // Apply babel-plugin-transform-template-literals in loose mode\n // loose mode is safe iff we're concatenating primitives\n // see https://babeljs.io/docs/en/babel-plugin-transform-template-literals#loose\n\n /* eslint-disable prefer-template */\n var url = 'https://mui.com/production-error/?code=' + code;\n\n for (var i = 1; i < arguments.length; i += 1) {\n // rest params over-transpile for this case\n // eslint-disable-next-line prefer-rest-params\n url += '&args[]=' + encodeURIComponent(arguments[i]);\n }\n\n return 'Minified Material-UI error #' + code + '; visit ' + url + ' for the full message.';\n /* eslint-enable prefer-template */\n}","/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n\n return accumulator;\n}\n\nmodule.exports = arrayReduce;","var deburrLetter = require('./_deburrLetter'),\n toString = require('./toString');\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\n\n\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n/** Used to compose unicode character classes. */\n\nvar rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;\n/** Used to compose unicode capture groups. */\n\nvar rsCombo = '[' + rsComboRange + ']';\n/**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\n\nvar reComboMark = RegExp(rsCombo, 'g');\n/**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\n\nfunction deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\n\nmodule.exports = deburr;","var basePropertyOf = require('./_basePropertyOf');\n/** Used to map Latin Unicode letters to basic Latin letters. */\n\n\nvar deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A',\n '\\xc1': 'A',\n '\\xc2': 'A',\n '\\xc3': 'A',\n '\\xc4': 'A',\n '\\xc5': 'A',\n '\\xe0': 'a',\n '\\xe1': 'a',\n '\\xe2': 'a',\n '\\xe3': 'a',\n '\\xe4': 'a',\n '\\xe5': 'a',\n '\\xc7': 'C',\n '\\xe7': 'c',\n '\\xd0': 'D',\n '\\xf0': 'd',\n '\\xc8': 'E',\n '\\xc9': 'E',\n '\\xca': 'E',\n '\\xcb': 'E',\n '\\xe8': 'e',\n '\\xe9': 'e',\n '\\xea': 'e',\n '\\xeb': 'e',\n '\\xcc': 'I',\n '\\xcd': 'I',\n '\\xce': 'I',\n '\\xcf': 'I',\n '\\xec': 'i',\n '\\xed': 'i',\n '\\xee': 'i',\n '\\xef': 'i',\n '\\xd1': 'N',\n '\\xf1': 'n',\n '\\xd2': 'O',\n '\\xd3': 'O',\n '\\xd4': 'O',\n '\\xd5': 'O',\n '\\xd6': 'O',\n '\\xd8': 'O',\n '\\xf2': 'o',\n '\\xf3': 'o',\n '\\xf4': 'o',\n '\\xf5': 'o',\n '\\xf6': 'o',\n '\\xf8': 'o',\n '\\xd9': 'U',\n '\\xda': 'U',\n '\\xdb': 'U',\n '\\xdc': 'U',\n '\\xf9': 'u',\n '\\xfa': 'u',\n '\\xfb': 'u',\n '\\xfc': 'u',\n '\\xdd': 'Y',\n '\\xfd': 'y',\n '\\xff': 'y',\n '\\xc6': 'Ae',\n '\\xe6': 'ae',\n '\\xde': 'Th',\n '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A',\n '\\u0102': 'A',\n '\\u0104': 'A',\n '\\u0101': 'a',\n '\\u0103': 'a',\n '\\u0105': 'a',\n '\\u0106': 'C',\n '\\u0108': 'C',\n '\\u010a': 'C',\n '\\u010c': 'C',\n '\\u0107': 'c',\n '\\u0109': 'c',\n '\\u010b': 'c',\n '\\u010d': 'c',\n '\\u010e': 'D',\n '\\u0110': 'D',\n '\\u010f': 'd',\n '\\u0111': 'd',\n '\\u0112': 'E',\n '\\u0114': 'E',\n '\\u0116': 'E',\n '\\u0118': 'E',\n '\\u011a': 'E',\n '\\u0113': 'e',\n '\\u0115': 'e',\n '\\u0117': 'e',\n '\\u0119': 'e',\n '\\u011b': 'e',\n '\\u011c': 'G',\n '\\u011e': 'G',\n '\\u0120': 'G',\n '\\u0122': 'G',\n '\\u011d': 'g',\n '\\u011f': 'g',\n '\\u0121': 'g',\n '\\u0123': 'g',\n '\\u0124': 'H',\n '\\u0126': 'H',\n '\\u0125': 'h',\n '\\u0127': 'h',\n '\\u0128': 'I',\n '\\u012a': 'I',\n '\\u012c': 'I',\n '\\u012e': 'I',\n '\\u0130': 'I',\n '\\u0129': 'i',\n '\\u012b': 'i',\n '\\u012d': 'i',\n '\\u012f': 'i',\n '\\u0131': 'i',\n '\\u0134': 'J',\n '\\u0135': 'j',\n '\\u0136': 'K',\n '\\u0137': 'k',\n '\\u0138': 'k',\n '\\u0139': 'L',\n '\\u013b': 'L',\n '\\u013d': 'L',\n '\\u013f': 'L',\n '\\u0141': 'L',\n '\\u013a': 'l',\n '\\u013c': 'l',\n '\\u013e': 'l',\n '\\u0140': 'l',\n '\\u0142': 'l',\n '\\u0143': 'N',\n '\\u0145': 'N',\n '\\u0147': 'N',\n '\\u014a': 'N',\n '\\u0144': 'n',\n '\\u0146': 'n',\n '\\u0148': 'n',\n '\\u014b': 'n',\n '\\u014c': 'O',\n '\\u014e': 'O',\n '\\u0150': 'O',\n '\\u014d': 'o',\n '\\u014f': 'o',\n '\\u0151': 'o',\n '\\u0154': 'R',\n '\\u0156': 'R',\n '\\u0158': 'R',\n '\\u0155': 'r',\n '\\u0157': 'r',\n '\\u0159': 'r',\n '\\u015a': 'S',\n '\\u015c': 'S',\n '\\u015e': 'S',\n '\\u0160': 'S',\n '\\u015b': 's',\n '\\u015d': 's',\n '\\u015f': 's',\n '\\u0161': 's',\n '\\u0162': 'T',\n '\\u0164': 'T',\n '\\u0166': 'T',\n '\\u0163': 't',\n '\\u0165': 't',\n '\\u0167': 't',\n '\\u0168': 'U',\n '\\u016a': 'U',\n '\\u016c': 'U',\n '\\u016e': 'U',\n '\\u0170': 'U',\n '\\u0172': 'U',\n '\\u0169': 'u',\n '\\u016b': 'u',\n '\\u016d': 'u',\n '\\u016f': 'u',\n '\\u0171': 'u',\n '\\u0173': 'u',\n '\\u0174': 'W',\n '\\u0175': 'w',\n '\\u0176': 'Y',\n '\\u0177': 'y',\n '\\u0178': 'Y',\n '\\u0179': 'Z',\n '\\u017b': 'Z',\n '\\u017d': 'Z',\n '\\u017a': 'z',\n '\\u017c': 'z',\n '\\u017e': 'z',\n '\\u0132': 'IJ',\n '\\u0133': 'ij',\n '\\u0152': 'Oe',\n '\\u0153': 'oe',\n '\\u0149': \"'n\",\n '\\u017f': 's'\n};\n/**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\n\nvar deburrLetter = basePropertyOf(deburredLetters);\nmodule.exports = deburrLetter;","/**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyOf(object) {\n return function (key) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = basePropertyOf;","var asciiWords = require('./_asciiWords'),\n hasUnicodeWord = require('./_hasUnicodeWord'),\n toString = require('./toString'),\n unicodeWords = require('./_unicodeWords');\n/**\n * Splits `string` into an array of its words.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {RegExp|string} [pattern] The pattern to match words.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the words of `string`.\n * @example\n *\n * _.words('fred, barney, & pebbles');\n * // => ['fred', 'barney', 'pebbles']\n *\n * _.words('fred, barney, & pebbles', /[^, ]+/g);\n * // => ['fred', 'barney', '&', 'pebbles']\n */\n\n\nfunction words(string, pattern, guard) {\n string = toString(string);\n pattern = guard ? undefined : pattern;\n\n if (pattern === undefined) {\n return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);\n }\n\n return string.match(pattern) || [];\n}\n\nmodule.exports = words;","/** Used to match words composed of alphanumeric characters. */\nvar reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n/**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\n\nfunction asciiWords(string) {\n return string.match(reAsciiWord) || [];\n}\n\nmodule.exports = asciiWords;","/** Used to detect strings that need a more robust regexp to match words. */\nvar reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n/**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\n\nfunction hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n}\n\nmodule.exports = hasUnicodeWord;","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n/** Used to compose unicode capture groups. */\n\nvar rsApos = \"['\\u2019]\",\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n/** Used to compose unicode regexes. */\n\nvar rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq;\n/** Used to match complex or compound words. */\n\nvar reUnicodeWord = RegExp([rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')', rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')', rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower, rsUpper + '+' + rsOptContrUpper, rsOrdUpper, rsOrdLower, rsDigits, rsEmoji].join('|'), 'g');\n/**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\n\nfunction unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n}\n\nmodule.exports = unicodeWords;","/**\n * Produces the value of a block string from its parsed raw value, similar to\n * CoffeeScript's block string, Python's docstring trim or Ruby's strip_heredoc.\n *\n * This implements the GraphQL spec's BlockStringValue() static algorithm.\n *\n * @internal\n */\nexport function dedentBlockStringValue(rawString) {\n // Expand a block string's raw value into independent lines.\n var lines = rawString.split(/\\r\\n|[\\n\\r]/g); // Remove common indentation from all lines but first.\n\n var commonIndent = getBlockStringIndentation(rawString);\n\n if (commonIndent !== 0) {\n for (var i = 1; i < lines.length; i++) {\n lines[i] = lines[i].slice(commonIndent);\n }\n } // Remove leading and trailing blank lines.\n\n\n var startLine = 0;\n\n while (startLine < lines.length && isBlank(lines[startLine])) {\n ++startLine;\n }\n\n var endLine = lines.length;\n\n while (endLine > startLine && isBlank(lines[endLine - 1])) {\n --endLine;\n } // Return a string of the lines joined with U+000A.\n\n\n return lines.slice(startLine, endLine).join('\\n');\n}\n\nfunction isBlank(str) {\n for (var i = 0; i < str.length; ++i) {\n if (str[i] !== ' ' && str[i] !== '\\t') {\n return false;\n }\n }\n\n return true;\n}\n/**\n * @internal\n */\n\n\nexport function getBlockStringIndentation(value) {\n var _commonIndent;\n\n var isFirstLine = true;\n var isEmptyLine = true;\n var indent = 0;\n var commonIndent = null;\n\n for (var i = 0; i < value.length; ++i) {\n switch (value.charCodeAt(i)) {\n case 13:\n // \\r\n if (value.charCodeAt(i + 1) === 10) {\n ++i; // skip \\r\\n as one symbol\n }\n\n // falls through\n\n case 10:\n // \\n\n isFirstLine = false;\n isEmptyLine = true;\n indent = 0;\n break;\n\n case 9: // \\t\n\n case 32:\n // <space>\n ++indent;\n break;\n\n default:\n if (isEmptyLine && !isFirstLine && (commonIndent === null || indent < commonIndent)) {\n commonIndent = indent;\n }\n\n isEmptyLine = false;\n }\n }\n\n return (_commonIndent = commonIndent) !== null && _commonIndent !== void 0 ? _commonIndent : 0;\n}\n/**\n * Print a block string in the indented block form by adding a leading and\n * trailing blank line. However, if a block string starts with whitespace and is\n * a single-line, adding a leading blank line would strip that whitespace.\n *\n * @internal\n */\n\nexport function printBlockString(value) {\n var indentation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var preferMultipleLines = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var isSingleLine = value.indexOf('\\n') === -1;\n var hasLeadingSpace = value[0] === ' ' || value[0] === '\\t';\n var hasTrailingQuote = value[value.length - 1] === '\"';\n var hasTrailingSlash = value[value.length - 1] === '\\\\';\n var printAsMultipleLines = !isSingleLine || hasTrailingQuote || hasTrailingSlash || preferMultipleLines;\n var result = ''; // Format a multi-line block quote to account for leading space.\n\n if (printAsMultipleLines && !(isSingleLine && hasLeadingSpace)) {\n result += '\\n' + indentation;\n }\n\n result += indentation ? value.replace(/\\n/g, '\\n' + indentation) : value;\n\n if (printAsMultipleLines) {\n result += '\\n';\n }\n\n return '\"\"\"' + result.replace(/\"\"\"/g, '\\\\\"\"\"') + '\"\"\"';\n}","// In ES2015 (or a polyfilled) environment, this will be Symbol.iterator\n// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\nexport var SYMBOL_ITERATOR = typeof Symbol === 'function' && Symbol.iterator != null ? Symbol.iterator : '@@iterator'; // In ES2017 (or a polyfilled) environment, this will be Symbol.asyncIterator\n// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\nexport var SYMBOL_ASYNC_ITERATOR = typeof Symbol === 'function' && Symbol.asyncIterator != null ? Symbol.asyncIterator : '@@asyncIterator'; // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\nexport var SYMBOL_TO_STRING_TAG = typeof Symbol === 'function' && Symbol.toStringTag != null ? Symbol.toStringTag : '@@toStringTag';","var root = require('./_root');\n/** Built-in value references. */\n\n\nvar Symbol = root.Symbol;\nmodule.exports = Symbol;","import { __extends } from \"tslib\";\nvar genericMessage = \"Invariant Violation\";\nvar _a = Object.setPrototypeOf,\n setPrototypeOf = _a === void 0 ? function (obj, proto) {\n obj.__proto__ = proto;\n return obj;\n} : _a;\n\nvar InvariantError =\n/** @class */\nfunction (_super) {\n __extends(InvariantError, _super);\n\n function InvariantError(message) {\n if (message === void 0) {\n message = genericMessage;\n }\n\n var _this = _super.call(this, typeof message === \"number\" ? genericMessage + \": \" + message + \" (see https://github.com/apollographql/invariant-packages)\" : message) || this;\n\n _this.framesToPop = 1;\n _this.name = genericMessage;\n setPrototypeOf(_this, InvariantError.prototype);\n return _this;\n }\n\n return InvariantError;\n}(Error);\n\nexport { InvariantError };\nexport function invariant(condition, message) {\n if (!condition) {\n throw new InvariantError(message);\n }\n}\nvar verbosityLevels = [\"debug\", \"log\", \"warn\", \"error\", \"silent\"];\nvar verbosityLevel = verbosityLevels.indexOf(\"log\");\n\nfunction wrapConsoleMethod(name) {\n return function () {\n if (verbosityLevels.indexOf(name) >= verbosityLevel) {\n // Default to console.log if this host environment happens not to provide\n // all the console.* methods we need.\n var method = console[name] || console.log;\n return method.apply(console, arguments);\n }\n };\n}\n\n(function (invariant) {\n invariant.debug = wrapConsoleMethod(\"debug\");\n invariant.log = wrapConsoleMethod(\"log\");\n invariant.warn = wrapConsoleMethod(\"warn\");\n invariant.error = wrapConsoleMethod(\"error\");\n})(invariant || (invariant = {}));\n\nexport function setVerbosity(level) {\n var old = verbosityLevels[verbosityLevel];\n verbosityLevel = Math.max(0, verbosityLevels.indexOf(level));\n return old;\n}\nexport default invariant;","import global from \"./global.js\";\nimport { maybe } from \"./maybe.js\";\nvar __ = \"__\";\nvar GLOBAL_KEY = [__, __].join(\"DEV\");\n\nfunction getDEV() {\n try {\n return Boolean(__DEV__);\n } catch (_a) {\n Object.defineProperty(global, GLOBAL_KEY, {\n value: maybe(function () {\n return process.env.NODE_ENV;\n }) !== \"production\",\n enumerable: false,\n configurable: true,\n writable: true\n });\n return global[GLOBAL_KEY];\n }\n}\n\nexport default getDEV();","import { remove } from \"ts-invariant/process/index.js\";\nimport { Source } from 'graphql';\nexport function removeTemporaryGlobals() {\n return typeof Source === \"function\" ? remove() : remove();\n}","import { invariant, InvariantError } from \"ts-invariant\";\nimport DEV from \"./DEV.js\";\nexport { DEV };\nexport function checkDEV() {\n __DEV__ ? invariant(\"boolean\" === typeof DEV, DEV) : invariant(\"boolean\" === typeof DEV, 38);\n}\nimport { removeTemporaryGlobals } from \"./fix-graphql.js\";\nremoveTemporaryGlobals();\nexport { maybe } from \"./maybe.js\";\nexport { default as global } from \"./global.js\";\nexport { invariant, InvariantError };\ncheckDEV();","'use strict';\n\nexports.__esModule = true; // istanbul ignore next\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _handlebarsRuntime = require('./handlebars.runtime');\n\nvar _handlebarsRuntime2 = _interopRequireDefault(_handlebarsRuntime); // Compiler imports\n\n\nvar _handlebarsCompilerAst = require('./handlebars/compiler/ast');\n\nvar _handlebarsCompilerAst2 = _interopRequireDefault(_handlebarsCompilerAst);\n\nvar _handlebarsCompilerBase = require('./handlebars/compiler/base');\n\nvar _handlebarsCompilerCompiler = require('./handlebars/compiler/compiler');\n\nvar _handlebarsCompilerJavascriptCompiler = require('./handlebars/compiler/javascript-compiler');\n\nvar _handlebarsCompilerJavascriptCompiler2 = _interopRequireDefault(_handlebarsCompilerJavascriptCompiler);\n\nvar _handlebarsCompilerVisitor = require('./handlebars/compiler/visitor');\n\nvar _handlebarsCompilerVisitor2 = _interopRequireDefault(_handlebarsCompilerVisitor);\n\nvar _handlebarsNoConflict = require('./handlebars/no-conflict');\n\nvar _handlebarsNoConflict2 = _interopRequireDefault(_handlebarsNoConflict);\n\nvar _create = _handlebarsRuntime2['default'].create;\n\nfunction create() {\n var hb = _create();\n\n hb.compile = function (input, options) {\n return _handlebarsCompilerCompiler.compile(input, options, hb);\n };\n\n hb.precompile = function (input, options) {\n return _handlebarsCompilerCompiler.precompile(input, options, hb);\n };\n\n hb.AST = _handlebarsCompilerAst2['default'];\n hb.Compiler = _handlebarsCompilerCompiler.Compiler;\n hb.JavaScriptCompiler = _handlebarsCompilerJavascriptCompiler2['default'];\n hb.Parser = _handlebarsCompilerBase.parser;\n hb.parse = _handlebarsCompilerBase.parse;\n hb.parseWithoutProcessing = _handlebarsCompilerBase.parseWithoutProcessing;\n return hb;\n}\n\nvar inst = create();\ninst.create = create;\n\n_handlebarsNoConflict2['default'](inst);\n\ninst.Visitor = _handlebarsCompilerVisitor2['default'];\ninst['default'] = inst;\nexports['default'] = inst;\nmodule.exports = exports['default'];","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : 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 return _extends.apply(this, arguments);\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nexport function isPlainObject(item) {\n return item && _typeof(item) === 'object' && item.constructor === Object;\n}\nexport default function deepmerge(target, source) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n clone: true\n };\n var output = options.clone ? _extends({}, target) : target;\n\n if (isPlainObject(target) && isPlainObject(source)) {\n Object.keys(source).forEach(function (key) {\n // Avoid prototype pollution\n if (key === '__proto__') {\n return;\n }\n\n if (isPlainObject(source[key]) && key in target) {\n output[key] = deepmerge(target[key], source[key], options);\n } else {\n output[key] = source[key];\n }\n });\n }\n\n return output;\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 _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nmodule.exports = _toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/**\n * The set of allowed kind values for AST nodes.\n */\nexport var Kind = Object.freeze({\n // Name\n NAME: 'Name',\n // Document\n DOCUMENT: 'Document',\n OPERATION_DEFINITION: 'OperationDefinition',\n VARIABLE_DEFINITION: 'VariableDefinition',\n SELECTION_SET: 'SelectionSet',\n FIELD: 'Field',\n ARGUMENT: 'Argument',\n // Fragments\n FRAGMENT_SPREAD: 'FragmentSpread',\n INLINE_FRAGMENT: 'InlineFragment',\n FRAGMENT_DEFINITION: 'FragmentDefinition',\n // Values\n VARIABLE: 'Variable',\n INT: 'IntValue',\n FLOAT: 'FloatValue',\n STRING: 'StringValue',\n BOOLEAN: 'BooleanValue',\n NULL: 'NullValue',\n ENUM: 'EnumValue',\n LIST: 'ListValue',\n OBJECT: 'ObjectValue',\n OBJECT_FIELD: 'ObjectField',\n // Directives\n DIRECTIVE: 'Directive',\n // Types\n NAMED_TYPE: 'NamedType',\n LIST_TYPE: 'ListType',\n NON_NULL_TYPE: 'NonNullType',\n // Type System Definitions\n SCHEMA_DEFINITION: 'SchemaDefinition',\n OPERATION_TYPE_DEFINITION: 'OperationTypeDefinition',\n // Type Definitions\n SCALAR_TYPE_DEFINITION: 'ScalarTypeDefinition',\n OBJECT_TYPE_DEFINITION: 'ObjectTypeDefinition',\n FIELD_DEFINITION: 'FieldDefinition',\n INPUT_VALUE_DEFINITION: 'InputValueDefinition',\n INTERFACE_TYPE_DEFINITION: 'InterfaceTypeDefinition',\n UNION_TYPE_DEFINITION: 'UnionTypeDefinition',\n ENUM_TYPE_DEFINITION: 'EnumTypeDefinition',\n ENUM_VALUE_DEFINITION: 'EnumValueDefinition',\n INPUT_OBJECT_TYPE_DEFINITION: 'InputObjectTypeDefinition',\n // Directive Definitions\n DIRECTIVE_DEFINITION: 'DirectiveDefinition',\n // Type System Extensions\n SCHEMA_EXTENSION: 'SchemaExtension',\n // Type Extensions\n SCALAR_TYPE_EXTENSION: 'ScalarTypeExtension',\n OBJECT_TYPE_EXTENSION: 'ObjectTypeExtension',\n INTERFACE_TYPE_EXTENSION: 'InterfaceTypeExtension',\n UNION_TYPE_EXTENSION: 'UnionTypeExtension',\n ENUM_TYPE_EXTENSION: 'EnumTypeExtension',\n INPUT_OBJECT_TYPE_EXTENSION: 'InputObjectTypeExtension'\n});\n/**\n * The enum type representing the possible kind values of AST nodes.\n */","// This currentContext variable will only be used if the makeSlotClass\n// function is called, which happens only if this is the first copy of the\n// @wry/context package to be imported.\nvar currentContext = null; // This unique internal object is used to denote the absence of a value\n// for a given Slot, and is never exposed to outside code.\n\nvar MISSING_VALUE = {};\nvar idCounter = 1; // Although we can't do anything about the cost of duplicated code from\n// accidentally bundling multiple copies of the @wry/context package, we can\n// avoid creating the Slot class more than once using makeSlotClass.\n\nvar makeSlotClass = function makeSlotClass() {\n return (\n /** @class */\n function () {\n function Slot() {\n // If you have a Slot object, you can find out its slot.id, but you cannot\n // guess the slot.id of a Slot you don't have access to, thanks to the\n // randomized suffix.\n this.id = [\"slot\", idCounter++, Date.now(), Math.random().toString(36).slice(2)].join(\":\");\n }\n\n Slot.prototype.hasValue = function () {\n for (var context_1 = currentContext; context_1; context_1 = context_1.parent) {\n // We use the Slot object iself as a key to its value, which means the\n // value cannot be obtained without a reference to the Slot object.\n if (this.id in context_1.slots) {\n var value = context_1.slots[this.id];\n if (value === MISSING_VALUE) break;\n\n if (context_1 !== currentContext) {\n // Cache the value in currentContext.slots so the next lookup will\n // be faster. This caching is safe because the tree of contexts and\n // the values of the slots are logically immutable.\n currentContext.slots[this.id] = value;\n }\n\n return true;\n }\n }\n\n if (currentContext) {\n // If a value was not found for this Slot, it's never going to be found\n // no matter how many times we look it up, so we might as well cache\n // the absence of the value, too.\n currentContext.slots[this.id] = MISSING_VALUE;\n }\n\n return false;\n };\n\n Slot.prototype.getValue = function () {\n if (this.hasValue()) {\n return currentContext.slots[this.id];\n }\n };\n\n Slot.prototype.withValue = function (value, callback, // Given the prevalence of arrow functions, specifying arguments is likely\n // to be much more common than specifying `this`, hence this ordering:\n args, thisArg) {\n var _a;\n\n var slots = (_a = {\n __proto__: null\n }, _a[this.id] = value, _a);\n var parent = currentContext;\n currentContext = {\n parent: parent,\n slots: slots\n };\n\n try {\n // Function.prototype.apply allows the arguments array argument to be\n // omitted or undefined, so args! is fine here.\n return callback.apply(thisArg, args);\n } finally {\n currentContext = parent;\n }\n }; // Capture the current context and wrap a callback function so that it\n // reestablishes the captured context when called.\n\n\n Slot.bind = function (callback) {\n var context = currentContext;\n return function () {\n var saved = currentContext;\n\n try {\n currentContext = context;\n return callback.apply(this, arguments);\n } finally {\n currentContext = saved;\n }\n };\n }; // Immediately run a callback function without any captured context.\n\n\n Slot.noContext = function (callback, // Given the prevalence of arrow functions, specifying arguments is likely\n // to be much more common than specifying `this`, hence this ordering:\n args, thisArg) {\n if (currentContext) {\n var saved = currentContext;\n\n try {\n currentContext = null; // Function.prototype.apply allows the arguments array argument to be\n // omitted or undefined, so args! is fine here.\n\n return callback.apply(thisArg, args);\n } finally {\n currentContext = saved;\n }\n } else {\n return callback.apply(thisArg, args);\n }\n };\n\n return Slot;\n }()\n );\n};\n\nfunction maybe(fn) {\n try {\n return fn();\n } catch (ignored) {}\n} // We store a single global implementation of the Slot class as a permanent\n// non-enumerable property of the globalThis object. This obfuscation does\n// nothing to prevent access to the Slot class, but at least it ensures the\n// implementation (i.e. currentContext) cannot be tampered with, and all copies\n// of the @wry/context package (hopefully just one) will share the same Slot\n// implementation. Since the first copy of the @wry/context package to be\n// imported wins, this technique imposes a steep cost for any future breaking\n// changes to the Slot class.\n\n\nvar globalKey = \"@wry/context:Slot\";\nvar host = // Prefer globalThis when available.\n// https://github.com/benjamn/wryware/issues/347\nmaybe(function () {\n return globalThis;\n}) || // Fall back to global, which works in Node.js and may be converted by some\n// bundlers to the appropriate identifier (window, self, ...) depending on the\n// bundling target. https://github.com/endojs/endo/issues/576#issuecomment-1178515224\nmaybe(function () {\n return global;\n}) || // Otherwise, use a dummy host that's local to this module. We used to fall\n// back to using the Array constructor as a namespace, but that was flagged in\n// https://github.com/benjamn/wryware/issues/347, and can be avoided.\nObject.create(null); // Whichever globalHost we're using, make TypeScript happy about the additional\n// globalKey property.\n\nvar globalHost = host;\n\nvar Slot = globalHost[globalKey] || // Earlier versions of this package stored the globalKey property on the Array\n// constructor, so we check there as well, to prevent Slot class duplication.\nArray[globalKey] || function (Slot) {\n try {\n Object.defineProperty(globalHost, globalKey, {\n value: Slot,\n enumerable: false,\n writable: false,\n // When it was possible for globalHost to be the Array constructor (a\n // legacy Slot dedup strategy), it was important for the property to be\n // configurable:true so it could be deleted. That does not seem to be as\n // important when globalHost is the global object, but I don't want to\n // cause similar problems again, and configurable:true seems safest.\n // https://github.com/endojs/endo/issues/576#issuecomment-1178274008\n configurable: true\n });\n } finally {\n return Slot;\n }\n}(makeSlotClass());\n\nvar bind = Slot.bind,\n noContext = Slot.noContext;\n\nfunction setTimeoutWithContext(callback, delay) {\n return setTimeout(bind(callback), delay);\n} // Turn any generator function into an async function (using yield instead\n// of await), with context automatically preserved across yields.\n\n\nfunction asyncFromGen(genFn) {\n return function () {\n var gen = genFn.apply(this, arguments);\n var boundNext = bind(gen.next);\n var boundThrow = bind(gen.throw);\n return new Promise(function (resolve, reject) {\n function invoke(method, argument) {\n try {\n var result = method.call(gen, argument);\n } catch (error) {\n return reject(error);\n }\n\n var next = result.done ? resolve : invokeNext;\n\n if (isPromiseLike(result.value)) {\n result.value.then(next, result.done ? reject : invokeThrow);\n } else {\n next(result.value);\n }\n }\n\n var invokeNext = function invokeNext(value) {\n return invoke(boundNext, value);\n };\n\n var invokeThrow = function invokeThrow(error) {\n return invoke(boundThrow, error);\n };\n\n invokeNext();\n });\n };\n}\n\nfunction isPromiseLike(value) {\n return value && typeof value.then === \"function\";\n} // If you use the fibers npm package to implement coroutines in Node.js,\n// you should call this function at least once to ensure context management\n// remains coherent across any yields.\n\n\nvar wrappedFibers = [];\n\nfunction wrapYieldingFiberMethods(Fiber) {\n // There can be only one implementation of Fiber per process, so this array\n // should never grow longer than one element.\n if (wrappedFibers.indexOf(Fiber) < 0) {\n var wrap = function wrap(obj, method) {\n var fn = obj[method];\n\n obj[method] = function () {\n return noContext(fn, arguments, this);\n };\n }; // These methods can yield, according to\n // https://github.com/laverdet/node-fibers/blob/ddebed9b8ae3883e57f822e2108e6943e5c8d2a8/fibers.js#L97-L100\n\n\n wrap(Fiber, \"yield\");\n wrap(Fiber.prototype, \"run\");\n wrap(Fiber.prototype, \"throwInto\");\n wrappedFibers.push(Fiber);\n }\n\n return Fiber;\n}\n\nexport { Slot, asyncFromGen, bind, noContext, setTimeoutWithContext as setTimeout, wrapYieldingFiberMethods };","// @noflow\nimport classNames from 'classnames'\nimport React, {\n ElementType,\n ForwardedRef,\n forwardRef,\n useCallback,\n useEffect\n} from 'react'\nimport { animated, easings, useSpring } from 'react-spring'\n\n// Styles\nimport STYLES from './Interactive.module.sass'\n\ntype Props = React.HTMLAttributes<HTMLElement> & {\n className?: string\n onInteraction: (event?: React.MouseEvent | React.KeyboardEvent) => void\n element?: 'button' | 'div' | 'time'\n disabled?: boolean\n selected?: boolean\n focusHighlight?: boolean\n}\n\n/**\n * A base element for any interactive component.\n * Adds the required aria attributes as well as a standard click animation and focus styling\n * @param element - the html element the component should render as\n * @param disabled\n * @param selected\n * @param focusHighlight - toggles off the focused visual state. DO NOT DISABLE THIS unless you have an alternative\n * focus state built into the component which composes this component\n * @param className\n * @param rest - any native attributes which should be rendered on the element\n * @constructor\n * @abstract\n */\nconst Interactive = forwardRef(\n (\n {\n className,\n element = 'div',\n disabled,\n selected,\n focusHighlight = true,\n onInteraction,\n ...rest\n }: Props,\n ref: ForwardedRef<HTMLElement>\n ): JSX.Element => {\n const [styles, api] = useSpring(() => ({\n from: { scale: 1 },\n loop: { reverse: true },\n config: { duration: 50, easing: easings.easeInQuad },\n onRest: () => {\n api.start({ scale: 1, config: { easing: easings.easeOutQuad } })\n }\n }))\n\n useEffect(() => {\n api.stop()\n }, [api])\n\n const onClick = useCallback(\n (event) => {\n if (onInteraction && !disabled) {\n api.stop()\n api.set({ scale: 1 })\n api.start({ scale: 0.95 })\n\n onInteraction(event)\n }\n },\n [api, disabled, onInteraction]\n )\n\n const onPress = useCallback(\n (event) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n event.stopPropagation()\n onClick(event)\n }\n },\n [onClick]\n )\n\n const preventDefault = useCallback((event) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n event.stopPropagation()\n }\n }, [])\n\n const classes = classNames(className, {\n [STYLES.interactive]: true,\n [STYLES.disableSelectedState]: !focusHighlight\n })\n\n const Element: ElementType = animated[element]\n\n return (\n <Element\n ref={ref}\n tabIndex={0}\n {...rest}\n role={element !== 'button' ? 'button' : undefined}\n onClick={onClick}\n onKeyUp={onPress}\n onKeyDown={preventDefault}\n style={styles}\n className={classes}\n aria-disabled={disabled}\n aria-pressed={selected}\n >\n {rest.children}\n </Element>\n )\n }\n)\n\nexport { Props }\nexport default Interactive\n","var parser = null;\n\nvar getParser = function getParser() {\n if (parser === null) {\n parser = new window.DOMParser();\n }\n\n return parser;\n};\n\nvar wrapMarkup = function wrapMarkup(markup) {\n return \"<!DOCTYPE html>\\n<html><body>\".concat(markup, \"</body></html>\");\n};\n\nvar parseDom = function parseDom(markup) {\n return getParser().parseFromString(wrapMarkup(markup), 'text/html').querySelector('body').childNodes;\n};\n\nexport default parseDom;","// Convert a string from kebab-case to camelCase\nvar camelCase = function camelCase(string) {\n return string.replace(/\\-(\\w|$)/g, function (m, p1) {\n return p1.toUpperCase();\n });\n};\n\nvar convertPropertyName = function convertPropertyName(prop) {\n prop = prop.toLowerCase(); // Always return 'float' as 'cssFloat'\n\n if (prop === 'float') {\n return 'cssFloat';\n } // Skip CSS variables\n\n\n if (prop.startsWith('--')) {\n return prop;\n } // Handle `-ms-` prefix to camelCase as msPropertyName, not MsPropertyName\n\n\n if (prop.startsWith('-ms-')) {\n prop = prop.substr(1);\n }\n\n return camelCase(prop);\n};\n\nvar splitDeclarations = function splitDeclarations(cssText) {\n var declarations = [];\n var capturing;\n var i = cssText.length;\n var last = i; // Split into declarations by semi-colon (outside quotes or parentheses)\n\n while (i-- > -1) {\n // Capture unescaped quotes\n if ((cssText[i] === '\"' || cssText[i] === \"'\") && cssText[i - 1] !== '\\\\') {\n if (!capturing) {\n capturing = cssText[i];\n } else if (cssText[i] === capturing) {\n capturing = false;\n }\n } // Start capturing parentheses\n\n\n if (!capturing && cssText[i] === ')') {\n capturing = cssText[i];\n } // Stop capturing parentheses\n\n\n if (cssText[i] === '(' && capturing === ')') {\n capturing = false;\n } // Split at semi-colon\n\n\n if (i < 0 || !capturing && cssText[i] === ';') {\n declarations.unshift(cssText.slice(i + 1, last));\n last = i;\n }\n }\n\n return declarations;\n};\n\nvar splitDeclaration = function splitDeclaration(declaration) {\n var i = declaration.indexOf(':');\n return [declaration.substr(0, i).trim(), declaration.substr(i + 1).trim()];\n};\n\nvar cssToStyle = function cssToStyle(cssText) {\n return splitDeclarations(cssText).map(splitDeclaration).filter(function (_ref) {\n var name = _ref[0],\n value = _ref[1];\n return name && value;\n }).reduce(function (styles, _ref2) {\n var name = _ref2[0],\n value = _ref2[1];\n styles[convertPropertyName(name)] = value;\n return styles;\n }, {});\n};\n\nexport default cssToStyle;","import parseDom from 'dom-parse';\nimport PropTypes from 'prop-types';\nimport * as React from 'react';\nimport getDisplayName from 'react-display-name';\nimport cssToStyle from 'css-to-style';\nimport invariant from 'tiny-invariant'; // See https://dom.spec.whatwg.org/#dom-node-nodetype\n\nvar ELEMENT_NODE = 1;\nvar TEXT_NODE = 3; // Mapping of standard attribute names to prop names.\n// Based off https://github.com/facebook/react/blob/feb134c30d20ef332771d71d8d1cb66d34311637/packages/react-dom/src/shared/possibleStandardNames.js\n\nvar standardProps = new Map([// HTML\n['accept-charset', 'acceptCharset'], ['accesskey', 'accessKey'], ['allowfullscreen', 'allowFullScreen'], ['autocapitalize', 'autoCapitalize'], ['autocomplete', 'autoComplete'], ['autocorrect', 'autoCorrect'], ['autofocus', 'autoFocus'], ['autoplay', 'autoPlay'], ['autosave', 'autoSave'], ['cellpadding', 'cellPadding'], ['cellspacing', 'cellSpacing'], ['charset', 'charSet'], ['class', 'className'], ['classid', 'classID'], ['classname', 'className'], ['colspan', 'colSpan'], ['contenteditable', 'contentEditable'], ['contextmenu', 'contextMenu'], ['controlslist', 'controlsList'], ['crossorigin', 'crossOrigin'], ['datetime', 'dateTime'], ['disablepictureinpicture', 'disablePictureInPicture'], ['disableremoteplayback', 'disableRemotePlayback'], ['enctype', 'encType'], ['enterkeyhint', 'enterKeyHint'], ['for', 'htmlFor'], ['formmethod', 'formMethod'], ['formaction', 'formAction'], ['formenctype', 'formEncType'], ['formnovalidate', 'formNoValidate'], ['formtarget', 'formTarget'], ['frameborder', 'frameBorder'], ['hreflang', 'hrefLang'], ['htmlfor', 'htmlFor'], ['http-equiv', 'httpEquiv'], ['inputmode', 'inputMode'], ['itemid', 'itemID'], ['itemprop', 'itemProp'], ['itemref', 'itemRef'], ['itemscope', 'itemScope'], ['itemtype', 'itemType'], ['keyparams', 'keyParams'], ['keytype', 'keyType'], ['marginwidth', 'marginWidth'], ['marginheight', 'marginHeight'], ['maxlength', 'maxLength'], ['mediagroup', 'mediaGroup'], ['minlength', 'minLength'], ['nomodule', 'noModule'], ['novalidate', 'noValidate'], ['playsinline', 'playsInline'], ['radiogroup', 'radioGroup'], ['readonly', 'readOnly'], ['referrerpolicy', 'referrerPolicy'], ['rowspan', 'rowSpan'], ['spellcheck', 'spellCheck'], ['srcdoc', 'srcDoc'], ['srclang', 'srcLang'], ['srcset', 'srcSet'], ['tabindex', 'tabIndex'], ['usemap', 'useMap'], // SVG\n['accent-height', 'accentHeight'], ['alignment-baseline', 'alignmentBaseline'], ['allowreorder', 'allowReorder'], ['arabic-form', 'arabicForm'], ['attributename', 'attributeName'], ['attributetype', 'attributeType'], ['autoreverse', 'autoReverse'], ['basefrequency', 'baseFrequency'], ['baseline-shift', 'baselineShift'], ['baseprofile', 'baseProfile'], ['calcmode', 'calcMode'], ['cap-height', 'capHeight'], ['clip-path', 'clipPath'], ['clippathunits', 'clipPathUnits'], ['clip-rule', 'clipRule'], ['color-interpolation', 'colorInterpolation'], ['color-interpolation-filters', 'colorInterpolationFilters'], ['color-profile', 'colorProfile'], ['color-rendering', 'colorRendering'], ['contentscripttype', 'contentScriptType'], ['contentstyletype', 'contentStyleType'], ['diffuseconstant', 'diffuseConstant'], ['dominantbaseline', 'dominantBaseline'], ['dominant-baseline', 'dominantBaseline'], ['edgemode', 'edgeMode'], ['enable-background', 'enableBackground'], ['externalresourcesrequired', 'externalResourcesRequired'], ['fill-opacity', 'fillOpacity'], ['fill-rule', 'fillRule'], ['filterres', 'filterRes'], ['filterunits', 'filterUnits'], ['flood-opacity', 'floodOpacity'], ['flood-color', 'floodColor'], ['fontfamily', 'fontFamily'], ['font-family', 'fontFamily'], ['font-size', 'fontSize'], ['font-size-adjust', 'fontSizeAdjust'], ['font-stretch', 'fontStretch'], ['font-style', 'fontStyle'], ['font-variant', 'fontVariant'], ['font-weight', 'fontWeight'], ['glyph-name', 'glyphName'], ['glyph-orientation-horizontal', 'glyphOrientationHorizontal'], ['glyph-orientation-vertical', 'glyphOrientationVertical'], ['glyphref', 'glyphRef'], ['gradienttransform', 'gradientTransform'], ['gradientunits', 'gradientUnits'], ['horiz-adv-x', 'horizAdvX'], ['horiz-origin-x', 'horizOriginX'], ['image-rendering', 'imageRendering'], ['kernelmatrix', 'kernelMatrix'], ['kernelunitlength', 'kernelUnitLength'], ['keypoints', 'keyPoints'], ['keysplines', 'keySplines'], ['keytimes', 'keyTimes'], ['lengthadjust', 'lengthAdjust'], ['letter-spacing', 'letterSpacing'], ['lighting-color', 'lightingColor'], ['limitingconeangle', 'limitingConeAngle'], ['marker-end', 'markerEnd'], ['markerheight', 'markerHeight'], ['marker-mid', 'markerMid'], ['marker-start', 'markerStart'], ['markerunits', 'markerUnits'], ['markerwidth', 'markerWidth'], ['maskcontentunits', 'maskContentUnits'], ['maskunits', 'maskUnits'], ['numoctaves', 'numOctaves'], ['overline-position', 'overlinePosition'], ['overline-thickness', 'overlineThickness'], ['paintorder', 'paintOrder'], ['paint-order', 'paintOrder'], ['panose-1', 'panose1'], ['pathlength', 'pathLength'], ['patterncontentunits', 'patternContentUnits'], ['patterntransform', 'patternTransform'], ['patternunits', 'patternUnits'], ['pointerevents', 'pointerEvents'], ['pointer-events', 'pointerEvents'], ['pointsatx', 'pointsAtX'], ['pointsaty', 'pointsAtY'], ['pointsatz', 'pointsAtZ'], ['preservealpha', 'preserveAlpha'], ['preserveaspectratio', 'preserveAspectRatio'], ['primitiveunits', 'primitiveUnits'], ['refx', 'refX'], ['refy', 'refY'], ['rendering-intent', 'renderingIntent'], ['repeatcount', 'repeatCount'], ['repeatdur', 'repeatDur'], ['requiredextensions', 'requiredExtensions'], ['requiredfeatures', 'requiredFeatures'], ['shape-rendering', 'shapeRendering'], ['specularconstant', 'specularConstant'], ['specularexponent', 'specularExponent'], ['spreadmethod', 'spreadMethod'], ['startoffset', 'startOffset'], ['stddeviation', 'stdDeviation'], ['stitchtiles', 'stitchTiles'], ['stop-color', 'stopColor'], ['stop-opacity', 'stopOpacity'], ['strikethrough-position', 'strikethroughPosition'], ['strikethrough-thickness', 'strikethroughThickness'], ['stroke-dasharray', 'strokeDasharray'], ['stroke-dashoffset', 'strokeDashoffset'], ['stroke-linecap', 'strokeLinecap'], ['stroke-linejoin', 'strokeLinejoin'], ['stroke-miterlimit', 'strokeMiterlimit'], ['stroke-width', 'strokeWidth'], ['stroke-opacity', 'strokeOpacity'], ['surfacescale', 'surfaceScale'], ['systemlanguage', 'systemLanguage'], ['tablevalues', 'tableValues'], ['targetx', 'targetX'], ['targety', 'targetY'], ['text-anchor', 'textAnchor'], ['text-decoration', 'textDecoration'], ['textlength', 'textLength'], ['text-rendering', 'textRendering'], ['underline-position', 'underlinePosition'], ['underline-thickness', 'underlineThickness'], ['unicode-bidi', 'unicodeBidi'], ['unicode-range', 'unicodeRange'], ['units-per-em', 'unitsPerEm'], ['v-alphabetic', 'vAlphabetic'], ['vector-effect', 'vectorEffect'], ['vert-adv-y', 'vertAdvY'], ['vert-origin-x', 'vertOriginX'], ['vert-origin-y', 'vertOriginY'], ['v-hanging', 'vHanging'], ['v-ideographic', 'vIdeographic'], ['viewbox', 'viewBox'], ['viewtarget', 'viewTarget'], ['v-mathematical', 'vMathematical'], ['word-spacing', 'wordSpacing'], ['writing-mode', 'writingMode'], ['xchannelselector', 'xChannelSelector'], ['x-height', 'xHeight'], ['xlink:actuate', 'xlinkActuate'], ['xlink:arcrole', 'xlinkArcrole'], ['xlink:href', 'xlinkHref'], ['xlink:role', 'xlinkRole'], ['xlink:show', 'xlinkShow'], ['xlink:title', 'xlinkTitle'], ['xlink:type', 'xlinkType'], ['xml:base', 'xmlBase'], ['xml:lang', 'xmlLang'], ['xml:space', 'xmlSpace'], ['xmlns:xlink', 'xmlnsXlink'], ['ychannelselector', 'yChannelSelector'], ['zoomandpan', 'zoomAndPan']]);\nvar reactProps = new Set(['children', 'dangerouslySetInnerHTML', 'key', 'ref', 'defaultValue', 'defaultChecked', 'innerHTML', 'suppressContentEditableWarning', 'suppressHydrationWarning', // deprecated\n'valueLink']);\n\nvar attrsToProps = function attrsToProps(attrs) {\n var props = {};\n\n for (var i = 0; i < attrs.length; i++) {\n var _standardProps$get;\n\n var _attrs$i = attrs[i],\n name = _attrs$i.name,\n value = _attrs$i.value; // Disallow event attributes and react props.\n\n if (name.startsWith('on') || reactProps.has(name)) {\n continue;\n } // Don't modify aria-* or data-* attributes.\n\n\n if (name.startsWith('aria-') || name.startsWith('data-')) {\n props[name] = value;\n continue;\n } // Handle style attribute.\n\n\n if (name === 'style') {\n props[name] = cssToStyle(value);\n continue;\n }\n\n props[(_standardProps$get = standardProps.get(name)) != null ? _standardProps$get : name] = value === '' ? true : value;\n }\n\n return props;\n}; // HTML elements are always in the canonical upper-case form,\n// i.e. <h1> will have a tagName of \"H1\"\n\n\nvar isHTMLTagName = /^[A-Z]/;\n\nvar nodeNameToType = function nodeNameToType(nodeName) {\n return isHTMLTagName.test(nodeName) ? nodeName.toLowerCase() : nodeName;\n};\n\nvar nodesToElements = function nodesToElements(nodeList, options) {\n var tree = [];\n\n for (var i = 0; i < nodeList.length; i++) {\n var node = nodeList[i]; // Only render element nodes and text nodes.\n\n if (node.nodeType === ELEMENT_NODE) {\n var type = nodeNameToType(node.nodeName);\n\n if ( // Never render <script> elements.\n type === 'script' || // Handle allowed option to only render elements that are allowed.\n options.allowed && (typeof options.allowed === 'function' ? !options.allowed(node) : !options.allowed.includes(type))) {\n continue;\n } // Handle replace option.\n\n\n if (options.replace) {\n var replacement = typeof options.replace === 'function' ? options.replace(node) : Object.prototype.hasOwnProperty.call(options.replace, type) ? options.replace[type] : undefined; // Don't render element if replacement is null.\n\n if (replacement === null) {\n continue;\n } // Replace element replacement—if not undefined.\n\n\n if (replacement !== undefined) {\n type = replacement;\n }\n }\n\n var props = attrsToProps(node.attributes);\n props.key = getDisplayName(type) + \"-\" + i;\n var children = nodesToElements(node.childNodes, options);\n tree.push(React.isValidElement(type) ? React.cloneElement(type, props, children) : React.createElement(type, props, children));\n } else if (node.nodeType === TEXT_NODE) {\n // Handle trim option to remove whitespace text nodes.\n if (!options.trim || node.textContent.trim() !== '') {\n tree.push(node.textContent);\n }\n }\n }\n\n return tree.length > 0 ? tree : null;\n};\n\nvar Markup = React.memo(function Markup(_ref) {\n var _ref$allowed = _ref.allowed,\n allowed = _ref$allowed === void 0 ? null : _ref$allowed,\n _ref$markup = _ref.markup,\n markup = _ref$markup === void 0 ? null : _ref$markup,\n _ref$replace = _ref.replace,\n replace = _ref$replace === void 0 ? null : _ref$replace,\n _ref$trim = _ref.trim,\n trim = _ref$trim === void 0 ? null : _ref$trim;\n return markup ? nodesToElements(parseDom(markup), {\n allowed: allowed,\n replace: replace,\n trim: trim\n }) : null;\n});\nMarkup.propTypes\n/* remove-proptypes */\n= process.env.NODE_ENV !== \"production\" ? {\n allowed: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.func]),\n markup: PropTypes.string,\n replace: PropTypes.oneOfType([PropTypes.func, PropTypes.objectOf(PropTypes.elementType)]),\n trim: PropTypes.bool\n} : {};\n\nvar renderMarkup = function renderMarkup(markup, options) {\n !(markup == null || typeof markup === 'string') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected `markup` to be a string') : invariant(false) : void 0;\n !(options == null || typeof options === 'object') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected `options` to be an object') : invariant(false) : void 0;\n !(options == null || options.allowed == null || Array.isArray(options.allowed) || typeof options.allowed === 'function') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected `options.allowed` to be an array or function') : invariant(false) : void 0;\n !(options == null || options.replace == null || typeof options.replace === 'function' || typeof options.replace === 'object') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected `options.replace` to be a function or object') : invariant(false) : void 0;\n !(options == null || options.trim == null || typeof options.trim === 'boolean') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected `options.trim` to be a boolean') : invariant(false) : void 0;\n return markup ? nodesToElements(parseDom(markup), options != null ? options : {}) : null;\n};\n\nexport { Markup, renderMarkup };","// extracted by mini-css-extract-plugin\nmodule.exports = {\"xs\":\"375px\",\"sm\":\"600px\",\"md\":\"834px\",\"lg\":\"1280px\",\"xl\":\"1280px\",\"right\":\"Chevron-module__right___zkhnt\",\"left\":\"Chevron-module__left___3B5XF\",\"up\":\"Chevron-module__up___lQQAj\",\"down\":\"Chevron-module__down___xQwS7\",\"topRight\":\"Chevron-module__topRight___zH2ll\",\"topLeft\":\"Chevron-module__topLeft___2NP5C\",\"bottomRight\":\"Chevron-module__bottomRight___14ggL\"};","export default function toInteger(dirtyNumber) {\n if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) {\n return NaN;\n }\n\n var number = Number(dirtyNumber);\n\n if (isNaN(number)) {\n return number;\n }\n\n return number < 0 ? Math.ceil(number) : Math.floor(number);\n}","function maybe(thunk) {\n try {\n return thunk();\n } catch (_) {}\n}\n\nvar safeGlobal = maybe(function () {\n return globalThis;\n}) || maybe(function () {\n return window;\n}) || maybe(function () {\n return self;\n}) || maybe(function () {\n return global;\n}) || // We don't expect the Function constructor ever to be invoked at runtime, as\n// long as at least one of globalThis, window, self, or global is defined, so\n// we are under no obligation to make it easy for static analysis tools to\n// detect syntactic usage of the Function constructor. If you think you can\n// improve your static analysis to detect this obfuscation, think again. This\n// is an arms race you cannot win, at least not in JavaScript.\nmaybe(function () {\n return maybe.constructor(\"return this\")();\n});\nvar needToRemove = false;\nexport function install() {\n if (safeGlobal && !maybe(function () {\n return process.env.NODE_ENV;\n }) && !maybe(function () {\n return process;\n })) {\n Object.defineProperty(safeGlobal, \"process\", {\n value: {\n env: {\n // This default needs to be \"production\" instead of \"development\", to\n // avoid the problem https://github.com/graphql/graphql-js/pull/2894\n // will eventually solve, once merged and released.\n NODE_ENV: \"production\"\n }\n },\n // Let anyone else change global.process as they see fit, but hide it from\n // Object.keys(global) enumeration.\n configurable: true,\n enumerable: false,\n writable: true\n });\n needToRemove = true;\n }\n} // Call install() at least once, when this module is imported.\n\ninstall();\nexport function remove() {\n if (needToRemove) {\n delete safeGlobal.process;\n needToRemove = false;\n }\n}","import * as React from 'react';\nimport { canUseSymbol } from \"../../utilities/index.js\";\nvar contextKey = canUseSymbol ? Symbol.for('__APOLLO_CONTEXT__') : '__APOLLO_CONTEXT__';\nexport function getApolloContext() {\n var context = React.createContext[contextKey];\n\n if (!context) {\n Object.defineProperty(React.createContext, contextKey, {\n value: context = React.createContext({}),\n enumerable: false,\n writable: false,\n configurable: true\n });\n context.displayName = 'ApolloContext';\n }\n\n return context;\n}\nexport { getApolloContext as resetApolloContext };","export default function devAssert(condition, message) {\n var booleanCondition = Boolean(condition); // istanbul ignore else (See transformation done in './resources/inlineInvariant.js')\n\n if (!booleanCondition) {\n throw new Error(message);\n }\n}","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nimport inspect from \"./inspect.mjs\";\n/**\n * A replacement for instanceof which includes an error warning when multi-realm\n * constructors are detected.\n */\n// See: https://expressjs.com/en/advanced/best-practice-performance.html#set-node_env-to-production\n// See: https://webpack.js.org/guides/production/\n\nexport default process.env.NODE_ENV === 'production' ? // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n// eslint-disable-next-line no-shadow\nfunction instanceOf(value, constructor) {\n return value instanceof constructor;\n} : // eslint-disable-next-line no-shadow\nfunction instanceOf(value, constructor) {\n if (value instanceof constructor) {\n return true;\n }\n\n if (_typeof(value) === 'object' && value !== null) {\n var _value$constructor;\n\n var className = constructor.prototype[Symbol.toStringTag];\n var valueClassName = // We still need to support constructor's name to detect conflicts with older versions of this library.\n Symbol.toStringTag in value ? value[Symbol.toStringTag] : (_value$constructor = value.constructor) === null || _value$constructor === void 0 ? void 0 : _value$constructor.name;\n\n if (className === valueClassName) {\n var stringifiedValue = inspect(value);\n throw new Error(\"Cannot use \".concat(className, \" \\\"\").concat(stringifiedValue, \"\\\" from another module or realm.\\n\\nEnsure that there is only one instance of \\\"graphql\\\" in the node_modules\\ndirectory. If different versions of \\\"graphql\\\" are the dependencies of other\\nrelied on modules, use \\\"resolutions\\\" to ensure only one version is installed.\\n\\nhttps://yarnpkg.com/en/docs/selective-version-resolutions\\n\\nDuplicate \\\"graphql\\\" modules cannot be used at the same time since different\\nversions may have different capabilities and behavior. The data from one\\nversion used in the function from another could produce confusing and\\nspurious results.\"));\n }\n }\n\n return false;\n};","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nimport { SYMBOL_TO_STRING_TAG } from \"../polyfills/symbols.mjs\";\nimport inspect from \"../jsutils/inspect.mjs\";\nimport devAssert from \"../jsutils/devAssert.mjs\";\nimport instanceOf from \"../jsutils/instanceOf.mjs\";\n/**\n * A representation of source input to GraphQL. The `name` and `locationOffset` parameters are\n * optional, but they are useful for clients who store GraphQL documents in source files.\n * For example, if the GraphQL input starts at line 40 in a file named `Foo.graphql`, it might\n * be useful for `name` to be `\"Foo.graphql\"` and location to be `{ line: 40, column: 1 }`.\n * The `line` and `column` properties in `locationOffset` are 1-indexed.\n */\n\nexport var Source = /*#__PURE__*/function () {\n function Source(body) {\n var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'GraphQL request';\n var locationOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n line: 1,\n column: 1\n };\n typeof body === 'string' || devAssert(0, \"Body must be a string. Received: \".concat(inspect(body), \".\"));\n this.body = body;\n this.name = name;\n this.locationOffset = locationOffset;\n this.locationOffset.line > 0 || devAssert(0, 'line in locationOffset is 1-indexed and must be positive.');\n this.locationOffset.column > 0 || devAssert(0, 'column in locationOffset is 1-indexed and must be positive.');\n } // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet\n\n\n _createClass(Source, [{\n key: SYMBOL_TO_STRING_TAG,\n get: function get() {\n return 'Source';\n }\n }]);\n\n return Source;\n}();\n/**\n * Test if the given value is a Source object.\n *\n * @internal\n */\n// eslint-disable-next-line no-redeclare\n\nexport function isSource(source) {\n return instanceOf(source, Source);\n}","export default 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 * Checks if `value` is `undefined`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\nfunction isUndefined(value) {\n return value === undefined;\n}\n\nmodule.exports = isUndefined;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\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}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","export default function _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}","'use strict';\n\nexports.__esModule = true;\nexports.HandlebarsEnvironment = HandlebarsEnvironment; // istanbul ignore next\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _utils = require('./utils');\n\nvar _exception = require('./exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nvar _helpers = require('./helpers');\n\nvar _decorators = require('./decorators');\n\nvar _logger = require('./logger');\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _internalProtoAccess = require('./internal/proto-access');\n\nvar VERSION = '4.7.7';\nexports.VERSION = VERSION;\nvar COMPILER_REVISION = 8;\nexports.COMPILER_REVISION = COMPILER_REVISION;\nvar LAST_COMPATIBLE_COMPILER_REVISION = 7;\nexports.LAST_COMPATIBLE_COMPILER_REVISION = LAST_COMPATIBLE_COMPILER_REVISION;\nvar REVISION_CHANGES = {\n 1: '<= 1.0.rc.2',\n // 1.0.rc.2 is actually rev2 but doesn't report it\n 2: '== 1.0.0-rc.3',\n 3: '== 1.0.0-rc.4',\n 4: '== 1.x.x',\n 5: '== 2.0.0-alpha.x',\n 6: '>= 2.0.0-beta.1',\n 7: '>= 4.0.0 <4.3.0',\n 8: '>= 4.3.0'\n};\nexports.REVISION_CHANGES = REVISION_CHANGES;\nvar objectType = '[object Object]';\n\nfunction HandlebarsEnvironment(helpers, partials, decorators) {\n this.helpers = helpers || {};\n this.partials = partials || {};\n this.decorators = decorators || {};\n\n _helpers.registerDefaultHelpers(this);\n\n _decorators.registerDefaultDecorators(this);\n}\n\nHandlebarsEnvironment.prototype = {\n constructor: HandlebarsEnvironment,\n logger: _logger2['default'],\n log: _logger2['default'].log,\n registerHelper: function registerHelper(name, fn) {\n if (_utils.toString.call(name) === objectType) {\n if (fn) {\n throw new _exception2['default']('Arg not supported with multiple helpers');\n }\n\n _utils.extend(this.helpers, name);\n } else {\n this.helpers[name] = fn;\n }\n },\n unregisterHelper: function unregisterHelper(name) {\n delete this.helpers[name];\n },\n registerPartial: function registerPartial(name, partial) {\n if (_utils.toString.call(name) === objectType) {\n _utils.extend(this.partials, name);\n } else {\n if (typeof partial === 'undefined') {\n throw new _exception2['default']('Attempting to register a partial called \"' + name + '\" as undefined');\n }\n\n this.partials[name] = partial;\n }\n },\n unregisterPartial: function unregisterPartial(name) {\n delete this.partials[name];\n },\n registerDecorator: function registerDecorator(name, fn) {\n if (_utils.toString.call(name) === objectType) {\n if (fn) {\n throw new _exception2['default']('Arg not supported with multiple decorators');\n }\n\n _utils.extend(this.decorators, name);\n } else {\n this.decorators[name] = fn;\n }\n },\n unregisterDecorator: function unregisterDecorator(name) {\n delete this.decorators[name];\n },\n\n /**\n * Reset the memory of illegal property accesses that have already been logged.\n * @deprecated should only be used in handlebars test-cases\n */\n resetLoggedPropertyAccesses: function resetLoggedPropertyAccesses() {\n _internalProtoAccess.resetLoggedProperties();\n }\n};\nvar log = _logger2['default'].log;\nexports.log = log;\nexports.createFrame = _utils.createFrame;\nexports.logger = _logger2['default'];","export function warn() {\n if (console && console.warn) {\n var _console;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (typeof args[0] === 'string') args[0] = \"react-i18next:: \".concat(args[0]);\n\n (_console = console).warn.apply(_console, args);\n }\n}\nvar alreadyWarned = {};\nexport function warnOnce() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'string' && alreadyWarned[args[0]]) return;\n if (typeof args[0] === 'string') alreadyWarned[args[0]] = new Date();\n warn.apply(void 0, args);\n}\nexport function loadNamespaces(i18n, ns, cb) {\n i18n.loadNamespaces(ns, function () {\n if (i18n.isInitialized) {\n cb();\n } else {\n var initialized = function initialized() {\n setTimeout(function () {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n\n i18n.on('initialized', initialized);\n }\n });\n}\n\nfunction oldI18nextHasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var lng = i18n.languages[0];\n var fallbackLng = i18n.options ? i18n.options.fallbackLng : false;\n var lastLng = i18n.languages[i18n.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = i18n.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18n.services.backendConnector.backend && i18n.isLanguageChangingTo && !loadNotPending(i18n.isLanguageChangingTo, ns)) return false;\n if (i18n.hasResourceBundle(lng, ns)) return true;\n if (!i18n.services.backendConnector.backend || i18n.options.resources && !i18n.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n}\n\nexport function hasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce('i18n.languages were undefined or empty', i18n.languages);\n return true;\n }\n\n var isNewerI18next = i18n.options.ignoreJSONStructure !== undefined;\n\n if (!isNewerI18next) {\n return oldI18nextHasLoadedNamespace(ns, i18n, options);\n }\n\n return i18n.hasLoadedNamespace(ns, {\n precheck: function precheck(i18nInstance, loadNotPending) {\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n}\nexport function getDisplayName(Component) {\n return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown');\n}","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nimport { useState, useEffect, useContext, useRef } from 'react';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context';\nimport { warnOnce, loadNamespaces, hasLoadedNamespace } from './utils';\n\nvar usePrevious = function usePrevious(value, ignore) {\n var ref = useRef();\n useEffect(function () {\n ref.current = ignore ? ref.current : value;\n }, [value, ignore]);\n return ref.current;\n};\n\nexport function useTranslation(ns) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nFromProps = props.i18n;\n\n var _ref = useContext(I18nContext) || {},\n i18nFromContext = _ref.i18n,\n defaultNSFromContext = _ref.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using initReactI18next');\n\n var notReadyT = function notReadyT(k) {\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n\n var retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n\n if (i18n.options.react && i18n.options.react.wait !== undefined) warnOnce('It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');\n\n var i18nOptions = _objectSpread(_objectSpread(_objectSpread({}, getDefaults()), i18n.options.react), props);\n\n var useSuspense = i18nOptions.useSuspense,\n keyPrefix = i18nOptions.keyPrefix;\n var namespaces = ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n if (i18n.reportNamespaces.addUsedNamespaces) i18n.reportNamespaces.addUsedNamespaces(namespaces);\n var ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(function (n) {\n return hasLoadedNamespace(n, i18n, i18nOptions);\n });\n\n function getT() {\n return i18n.getFixedT(null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n }\n\n var _useState = useState(getT),\n _useState2 = _slicedToArray(_useState, 2),\n t = _useState2[0],\n setT = _useState2[1];\n\n var joinedNS = namespaces.join();\n var previousJoinedNS = usePrevious(joinedNS);\n var isMounted = useRef(true);\n useEffect(function () {\n var bindI18n = i18nOptions.bindI18n,\n bindI18nStore = i18nOptions.bindI18nStore;\n isMounted.current = true;\n\n if (!ready && !useSuspense) {\n loadNamespaces(i18n, namespaces, function () {\n if (isMounted.current) setT(getT);\n });\n }\n\n if (ready && previousJoinedNS && previousJoinedNS !== joinedNS && isMounted.current) {\n setT(getT);\n }\n\n function boundReset() {\n if (isMounted.current) setT(getT);\n }\n\n if (bindI18n && i18n) i18n.on(bindI18n, boundReset);\n if (bindI18nStore && i18n) i18n.store.on(bindI18nStore, boundReset);\n return function () {\n isMounted.current = false;\n if (bindI18n && i18n) bindI18n.split(' ').forEach(function (e) {\n return i18n.off(e, boundReset);\n });\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(function (e) {\n return i18n.store.off(e, boundReset);\n });\n };\n }, [i18n, joinedNS]);\n var isInitial = useRef(true);\n useEffect(function () {\n if (isMounted.current && !isInitial.current) {\n setT(getT);\n }\n\n isInitial.current = false;\n }, [i18n, keyPrefix]);\n var ret = [t, i18n, ready];\n ret.t = t;\n ret.i18n = i18n;\n ret.ready = ready;\n if (ready) return ret;\n if (!ready && !useSuspense) return ret;\n throw new Promise(function (resolve) {\n loadNamespaces(i18n, namespaces, function () {\n resolve();\n });\n });\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}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"xs\":\"375px\",\"sm\":\"600px\",\"md\":\"834px\",\"lg\":\"1280px\",\"xl\":\"1280px\",\"button\":\"IconButton-module__button___n3Yem\",\"disabled\":\"IconButton-module__disabled___3LFmG\",\"square\":\"IconButton-module__square___3I7Dz\",\"circle\":\"IconButton-module__circle___13vtN\",\"default\":\"IconButton-module__default___3ZHOv\",\"primary\":\"IconButton-module__primary___1D--w\",\"secondary\":\"IconButton-module__secondary___QCNN2\",\"ghost\":\"IconButton-module__ghost___3iPpm\",\"ghostWhite\":\"IconButton-module__ghostWhite___30HaQ\",\"brandYellow300\":\"IconButton-module__brandYellow300___39yNr\",\"brandBlue100\":\"IconButton-module__brandBlue100___2Nkud\",\"brandYellow100\":\"IconButton-module__brandYellow100___2f9pC\",\"brandYellow200\":\"IconButton-module__brandYellow200___1uEUg\",\"size24\":\"IconButton-module__size24___b_tDF\",\"size32\":\"IconButton-module__size32___32L-6\",\"size40\":\"IconButton-module__size40___2KE-W\",\"size48\":\"IconButton-module__size48___3s402\",\"size50\":\"IconButton-module__size50___24IYF\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"xs\":\"375px\",\"sm\":\"600px\",\"md\":\"834px\",\"lg\":\"1280px\",\"xl\":\"1280px\",\"star\":\"star-module__star___3u0jE\",\"responsive\":\"star-module__responsive___2hzYM\"};","// @noflow\n// Lib\nimport React from 'react'\n\nimport BRAND_COLOURS from '@/constants/BrandColours'\nimport SUPPORT_COLOURS from '@/constants/SupportColours'\n\nimport type { StarTypes } from '@/components/elements/atoms/Icon/Icons/Star'\n\nimport { BRAND_ASSETS } from './brandAssets'\n\ntype IconColours =\n | keyof typeof BRAND_COLOURS\n | keyof typeof SUPPORT_COLOURS\n | 'transparent'\n\ntype Direction =\n | 'left'\n | 'right'\n | 'down'\n | 'up'\n | 'topRight'\n | 'topLeft'\n | 'bottomRight'\n\ntype Props = {\n size: number\n accentColour?: IconColours\n asset: keyof typeof BRAND_ASSETS\n backgroundColour?: IconColours | 'transparent' | 'transparent'\n starType?: StarTypes\n direction?: Direction\n responsive?: boolean\n /**\n * Issue: 100% width on iOS devices adds unnecessary paddings on the image sides.\n * In case when we embed image to the button it stretches the button.\n *\n * Fix: add fixed width value for the icon.\n */\n width?: number | string\n}\n\nconst ICON_COLOURS = {\n ...BRAND_COLOURS,\n ...SUPPORT_COLOURS,\n transparent: 'transparent'\n}\n\nconst Icon = ({\n size,\n accentColour = 'brandBlue500',\n asset,\n width,\n backgroundColour,\n starType,\n direction,\n responsive\n}: Props): JSX.Element => {\n const DynamicAsset = BRAND_ASSETS[asset]\n return (\n <DynamicAsset\n size={size}\n width={width}\n accentColour={accentColour}\n backgroundColour={backgroundColour}\n starType={starType}\n direction={direction}\n responsive={responsive}\n />\n )\n}\n\nexport { Props, IconColours, Direction, ICON_COLOURS }\nexport default Icon\n","export var NetworkStatus;\n\n(function (NetworkStatus) {\n NetworkStatus[NetworkStatus[\"loading\"] = 1] = \"loading\";\n NetworkStatus[NetworkStatus[\"setVariables\"] = 2] = \"setVariables\";\n NetworkStatus[NetworkStatus[\"fetchMore\"] = 3] = \"fetchMore\";\n NetworkStatus[NetworkStatus[\"refetch\"] = 4] = \"refetch\";\n NetworkStatus[NetworkStatus[\"poll\"] = 6] = \"poll\";\n NetworkStatus[NetworkStatus[\"ready\"] = 7] = \"ready\";\n NetworkStatus[NetworkStatus[\"error\"] = 8] = \"error\";\n})(NetworkStatus || (NetworkStatus = {}));\n\nexport function isNetworkRequestInFlight(networkStatus) {\n return networkStatus ? networkStatus < 7 : false;\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'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\n\nfunction emptyFunctionWithReset() {}\n\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function () {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n\n var err = new Error('Calling PropTypes validators directly is not supported by the `prop-types` package. ' + 'Use PropTypes.checkPropTypes() to call them. ' + 'Read more at http://fb.me/use-check-prop-types');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n ;\n shim.isRequired = shim;\n\n function getShim() {\n return shim;\n }\n\n ; // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n ReactPropTypes.PropTypes = ReactPropTypes;\n return ReactPropTypes;\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'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\nmodule.exports = ReactPropTypesSecret;","var _a = Object.prototype,\n toString = _a.toString,\n hasOwnProperty = _a.hasOwnProperty;\nvar fnToStr = Function.prototype.toString;\nvar previousComparisons = new Map();\n/**\r\n * Performs a deep equality check on two JavaScript values, tolerating cycles.\r\n */\n\nfunction equal(a, b) {\n try {\n return check(a, b);\n } finally {\n previousComparisons.clear();\n }\n}\n\nfunction check(a, b) {\n // If the two values are strictly equal, our job is easy.\n if (a === b) {\n return true;\n } // Object.prototype.toString returns a representation of the runtime type of\n // the given value that is considerably more precise than typeof.\n\n\n var aTag = toString.call(a);\n var bTag = toString.call(b); // If the runtime types of a and b are different, they could maybe be equal\n // under some interpretation of equality, but for simplicity and performance\n // we just return false instead.\n\n if (aTag !== bTag) {\n return false;\n }\n\n switch (aTag) {\n case '[object Array]':\n // Arrays are a lot like other objects, but we can cheaply compare their\n // lengths as a short-cut before comparing their elements.\n if (a.length !== b.length) return false;\n // Fall through to object case...\n\n case '[object Object]':\n {\n if (previouslyCompared(a, b)) return true;\n var aKeys = definedKeys(a);\n var bKeys = definedKeys(b); // If `a` and `b` have a different number of enumerable keys, they\n // must be different.\n\n var keyCount = aKeys.length;\n if (keyCount !== bKeys.length) return false; // Now make sure they have the same keys.\n\n for (var k = 0; k < keyCount; ++k) {\n if (!hasOwnProperty.call(b, aKeys[k])) {\n return false;\n }\n } // Finally, check deep equality of all child properties.\n\n\n for (var k = 0; k < keyCount; ++k) {\n var key = aKeys[k];\n\n if (!check(a[key], b[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n case '[object Error]':\n return a.name === b.name && a.message === b.message;\n\n case '[object Number]':\n // Handle NaN, which is !== itself.\n if (a !== a) return b !== b;\n // Fall through to shared +a === +b case...\n\n case '[object Boolean]':\n case '[object Date]':\n return +a === +b;\n\n case '[object RegExp]':\n case '[object String]':\n return a == \"\" + b;\n\n case '[object Map]':\n case '[object Set]':\n {\n if (a.size !== b.size) return false;\n if (previouslyCompared(a, b)) return true;\n var aIterator = a.entries();\n var isMap = aTag === '[object Map]';\n\n while (true) {\n var info = aIterator.next();\n if (info.done) break; // If a instanceof Set, aValue === aKey.\n\n var _a = info.value,\n aKey = _a[0],\n aValue = _a[1]; // So this works the same way for both Set and Map.\n\n if (!b.has(aKey)) {\n return false;\n } // However, we care about deep equality of values only when dealing\n // with Map structures.\n\n\n if (isMap && !check(aValue, b.get(aKey))) {\n return false;\n }\n }\n\n return true;\n }\n\n case '[object Uint16Array]':\n case '[object Uint8Array]': // Buffer, in Node.js.\n\n case '[object Uint32Array]':\n case '[object Int32Array]':\n case '[object Int8Array]':\n case '[object Int16Array]':\n case '[object ArrayBuffer]':\n // DataView doesn't need these conversions, but the equality check is\n // otherwise the same.\n a = new Uint8Array(a);\n b = new Uint8Array(b);\n // Fall through...\n\n case '[object DataView]':\n {\n var len = a.byteLength;\n\n if (len === b.byteLength) {\n while (len-- && a[len] === b[len]) {// Keep looping as long as the bytes are equal.\n }\n }\n\n return len === -1;\n }\n\n case '[object AsyncFunction]':\n case '[object GeneratorFunction]':\n case '[object AsyncGeneratorFunction]':\n case '[object Function]':\n {\n var aCode = fnToStr.call(a);\n\n if (aCode !== fnToStr.call(b)) {\n return false;\n } // We consider non-native functions equal if they have the same code\n // (native functions require === because their code is censored).\n // Note that this behavior is not entirely sound, since !== function\n // objects with the same code can behave differently depending on\n // their closure scope. However, any function can behave differently\n // depending on the values of its input arguments (including this)\n // and its calling context (including its closure scope), even\n // though the function object is === to itself; and it is entirely\n // possible for functions that are not === to behave exactly the\n // same under all conceivable circumstances. Because none of these\n // factors are statically decidable in JavaScript, JS function\n // equality is not well-defined. This ambiguity allows us to\n // consider the best possible heuristic among various imperfect\n // options, and equating non-native functions that have the same\n // code has enormous practical benefits, such as when comparing\n // functions that are repeatedly passed as fresh function\n // expressions within objects that are otherwise deeply equal. Since\n // any function created from the same syntactic expression (in the\n // same code location) will always stringify to the same code\n // according to fnToStr.call, we can reasonably expect these\n // repeatedly passed function expressions to have the same code, and\n // thus behave \"the same\" (with all the caveats mentioned above),\n // even though the runtime function objects are !== to one another.\n\n\n return !endsWith(aCode, nativeCodeSuffix);\n }\n } // Otherwise the values are not equal.\n\n\n return false;\n}\n\nfunction definedKeys(obj) {\n // Remember that the second argument to Array.prototype.filter will be\n // used as `this` within the callback function.\n return Object.keys(obj).filter(isDefinedKey, obj);\n}\n\nfunction isDefinedKey(key) {\n return this[key] !== void 0;\n}\n\nvar nativeCodeSuffix = \"{ [native code] }\";\n\nfunction endsWith(full, suffix) {\n var fromIndex = full.length - suffix.length;\n return fromIndex >= 0 && full.indexOf(suffix, fromIndex) === fromIndex;\n}\n\nfunction previouslyCompared(a, b) {\n // Though cyclic references can make an object graph appear infinite from the\n // perspective of a depth-first traversal, the graph still contains a finite\n // number of distinct object references. We use the previousComparisons cache\n // to avoid comparing the same pair of object references more than once, which\n // guarantees termination (even if we end up comparing every object in one\n // graph to every object in the other graph, which is extremely unlikely),\n // while still allowing weird isomorphic structures (like rings with different\n // lengths) a chance to pass the equality test.\n var bSet = previousComparisons.get(a);\n\n if (bSet) {\n // Return true here because we can be sure false will be returned somewhere\n // else if the objects are not equivalent.\n if (bSet.has(b)) return true;\n } else {\n previousComparisons.set(a, bSet = new Set());\n }\n\n bSet.add(b);\n return false;\n}\n\nexport { equal as default, equal };","export function compact() {\n var objects = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n objects[_i] = arguments[_i];\n }\n\n var result = Object.create(null);\n objects.forEach(function (obj) {\n if (!obj) return;\n Object.keys(obj).forEach(function (key) {\n var value = obj[key];\n\n if (value !== void 0) {\n result[key] = value;\n }\n });\n });\n return result;\n}","export function isNonEmptyArray(value) {\n return Array.isArray(value) && value.length > 0;\n}","// src/index.ts\nvar updateQueue = makeQueue();\n\nvar raf = fn => schedule(fn, updateQueue);\n\nvar writeQueue = makeQueue();\n\nraf.write = fn => schedule(fn, writeQueue);\n\nvar onStartQueue = makeQueue();\n\nraf.onStart = fn => schedule(fn, onStartQueue);\n\nvar onFrameQueue = makeQueue();\n\nraf.onFrame = fn => schedule(fn, onFrameQueue);\n\nvar onFinishQueue = makeQueue();\n\nraf.onFinish = fn => schedule(fn, onFinishQueue);\n\nvar timeouts = [];\n\nraf.setTimeout = (handler, ms) => {\n var time = raf.now() + ms;\n\n var cancel = () => {\n var i = timeouts.findIndex(t => t.cancel == cancel);\n if (~i) timeouts.splice(i, 1);\n pendingCount -= ~i ? 1 : 0;\n };\n\n var timeout = {\n time,\n handler,\n cancel\n };\n timeouts.splice(findTimeout(time), 0, timeout);\n pendingCount += 1;\n start();\n return timeout;\n};\n\nvar findTimeout = time => ~(~timeouts.findIndex(t => t.time > time) || ~timeouts.length);\n\nraf.cancel = fn => {\n onStartQueue.delete(fn);\n onFrameQueue.delete(fn);\n onFinishQueue.delete(fn);\n updateQueue.delete(fn);\n writeQueue.delete(fn);\n};\n\nraf.sync = fn => {\n sync = true;\n raf.batchedUpdates(fn);\n sync = false;\n};\n\nraf.throttle = fn => {\n var lastArgs;\n\n function queuedFn() {\n try {\n fn(...lastArgs);\n } finally {\n lastArgs = null;\n }\n }\n\n function throttled() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n lastArgs = args;\n raf.onStart(queuedFn);\n }\n\n throttled.handler = fn;\n\n throttled.cancel = () => {\n onStartQueue.delete(queuedFn);\n lastArgs = null;\n };\n\n return throttled;\n};\n\nvar nativeRaf = typeof window != \"undefined\" ? window.requestAnimationFrame : // eslint-disable-next-line @typescript-eslint/no-empty-function\n() => {};\n\nraf.use = impl => nativeRaf = impl;\n\nraf.now = typeof performance != \"undefined\" ? () => performance.now() : Date.now;\n\nraf.batchedUpdates = fn => fn();\n\nraf.catch = console.error;\nraf.frameLoop = \"always\";\n\nraf.advance = () => {\n if (raf.frameLoop !== \"demand\") {\n console.warn(\"Cannot call the manual advancement of rafz whilst frameLoop is not set as demand\");\n } else {\n update();\n }\n};\n\nvar ts = -1;\nvar pendingCount = 0;\nvar sync = false;\n\nfunction schedule(fn, queue) {\n if (sync) {\n queue.delete(fn);\n fn(0);\n } else {\n queue.add(fn);\n start();\n }\n}\n\nfunction start() {\n if (ts < 0) {\n ts = 0;\n\n if (raf.frameLoop !== \"demand\") {\n nativeRaf(loop);\n }\n }\n}\n\nfunction stop() {\n ts = -1;\n}\n\nfunction loop() {\n if (~ts) {\n nativeRaf(loop);\n raf.batchedUpdates(update);\n }\n}\n\nfunction update() {\n var prevTs = ts;\n ts = raf.now();\n var count = findTimeout(ts);\n\n if (count) {\n eachSafely(timeouts.splice(0, count), t => t.handler());\n pendingCount -= count;\n }\n\n if (!pendingCount) {\n stop();\n return;\n }\n\n onStartQueue.flush();\n updateQueue.flush(prevTs ? Math.min(64, ts - prevTs) : 16.667);\n onFrameQueue.flush();\n writeQueue.flush();\n onFinishQueue.flush();\n}\n\nfunction makeQueue() {\n var next = /* @__PURE__ */new Set();\n var current = next;\n return {\n add(fn) {\n pendingCount += current == next && !next.has(fn) ? 1 : 0;\n next.add(fn);\n },\n\n delete(fn) {\n pendingCount -= current == next && next.has(fn) ? 1 : 0;\n return next.delete(fn);\n },\n\n flush(arg) {\n if (current.size) {\n next = /* @__PURE__ */new Set();\n pendingCount -= current.size;\n eachSafely(current, fn => fn(arg) && next.add(fn));\n pendingCount += next.size;\n current = next;\n }\n }\n\n };\n}\n\nfunction eachSafely(values, each) {\n values.forEach(value => {\n try {\n each(value);\n } catch (e) {\n raf.catch(e);\n }\n });\n}\n\nvar __raf = {\n /** The number of pending tasks */\n count() {\n return pendingCount;\n },\n\n /** Whether there's a raf update loop running */\n isRunning() {\n return ts >= 0;\n },\n\n /** Clear internal state. Never call from update loop! */\n clear() {\n ts = -1;\n timeouts = [];\n onStartQueue = makeQueue();\n updateQueue = makeQueue();\n onFrameQueue = makeQueue();\n writeQueue = makeQueue();\n onFinishQueue = makeQueue();\n pendingCount = 0;\n }\n\n};\nexport { __raf, raf };","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar __defProp = Object.defineProperty;\n\nvar __export = (target, all) => {\n for (var name in all) {\n __defProp(target, name, {\n get: all[name],\n enumerable: true\n });\n }\n}; // src/globals.ts\n\n\nvar globals_exports = {};\n\n__export(globals_exports, {\n assign: () => _assign,\n colors: () => _colors,\n createStringInterpolator: () => _createStringInterpolator,\n skipAnimation: () => _skipAnimation,\n to: () => _to,\n willAdvance: () => _willAdvance\n});\n\nimport { raf } from \"@react-spring/rafz\"; // src/helpers.ts\n\nfunction noop() {}\n\nvar defineHidden = (obj, key, value) => Object.defineProperty(obj, key, {\n value,\n writable: true,\n configurable: true\n});\n\nvar is = {\n arr: Array.isArray,\n obj: a => !!a && a.constructor.name === \"Object\",\n fun: a => typeof a === \"function\",\n str: a => typeof a === \"string\",\n num: a => typeof a === \"number\",\n und: a => a === void 0\n};\n\nfunction isEqual(a, b) {\n if (is.arr(a)) {\n if (!is.arr(b) || a.length !== b.length) return false;\n\n for (var i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n\n return true;\n }\n\n return a === b;\n}\n\nvar each = (obj, fn) => obj.forEach(fn);\n\nfunction eachProp(obj, fn, ctx) {\n if (is.arr(obj)) {\n for (var i = 0; i < obj.length; i++) {\n fn.call(ctx, obj[i], \"\".concat(i));\n }\n\n return;\n }\n\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n fn.call(ctx, obj[key], key);\n }\n }\n}\n\nvar toArray = a => is.und(a) ? [] : is.arr(a) ? a : [a];\n\nfunction flush(queue, iterator) {\n if (queue.size) {\n var items = Array.from(queue);\n queue.clear();\n each(items, iterator);\n }\n}\n\nvar flushCalls = function flushCalls(queue) {\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 flush(queue, fn => fn(...args));\n};\n\nvar isSSR = () => typeof window === \"undefined\" || !window.navigator || /ServerSideRendering|^Deno\\//.test(window.navigator.userAgent); // src/globals.ts\n\n\nvar _createStringInterpolator;\n\nvar _to;\n\nvar _colors = null;\nvar _skipAnimation = false;\nvar _willAdvance = noop;\n\nvar _assign = globals => {\n if (globals.to) _to = globals.to;\n if (globals.now) raf.now = globals.now;\n if (globals.colors !== void 0) _colors = globals.colors;\n if (globals.skipAnimation != null) _skipAnimation = globals.skipAnimation;\n if (globals.createStringInterpolator) _createStringInterpolator = globals.createStringInterpolator;\n if (globals.requestAnimationFrame) raf.use(globals.requestAnimationFrame);\n if (globals.batchedUpdates) raf.batchedUpdates = globals.batchedUpdates;\n if (globals.willAdvance) _willAdvance = globals.willAdvance;\n if (globals.frameLoop) raf.frameLoop = globals.frameLoop;\n}; // src/FrameLoop.ts\n\n\nimport { raf as raf2 } from \"@react-spring/rafz\";\nvar startQueue = /* @__PURE__ */new Set();\nvar currentFrame = [];\nvar prevFrame = [];\nvar priority = 0;\nvar frameLoop = {\n get idle() {\n return !startQueue.size && !currentFrame.length;\n },\n\n /** Advance the given animation on every frame until idle. */\n start(animation) {\n if (priority > animation.priority) {\n startQueue.add(animation);\n raf2.onStart(flushStartQueue);\n } else {\n startSafely(animation);\n raf2(advance);\n }\n },\n\n /** Advance all animations by the given time. */\n advance,\n\n /** Call this when an animation's priority changes. */\n sort(animation) {\n if (priority) {\n raf2.onFrame(() => frameLoop.sort(animation));\n } else {\n var prevIndex = currentFrame.indexOf(animation);\n\n if (~prevIndex) {\n currentFrame.splice(prevIndex, 1);\n startUnsafely(animation);\n }\n }\n },\n\n /**\n * Clear all animations. For testing purposes.\n *\n * â˜ ï¸ Never call this from within the frameloop.\n */\n clear() {\n currentFrame = [];\n startQueue.clear();\n }\n\n};\n\nfunction flushStartQueue() {\n startQueue.forEach(startSafely);\n startQueue.clear();\n raf2(advance);\n}\n\nfunction startSafely(animation) {\n if (!currentFrame.includes(animation)) startUnsafely(animation);\n}\n\nfunction startUnsafely(animation) {\n currentFrame.splice(findIndex(currentFrame, other => other.priority > animation.priority), 0, animation);\n}\n\nfunction advance(dt) {\n var nextFrame = prevFrame;\n\n for (var i = 0; i < currentFrame.length; i++) {\n var animation = currentFrame[i];\n priority = animation.priority;\n\n if (!animation.idle) {\n _willAdvance(animation);\n\n animation.advance(dt);\n\n if (!animation.idle) {\n nextFrame.push(animation);\n }\n }\n }\n\n priority = 0;\n prevFrame = currentFrame;\n prevFrame.length = 0;\n currentFrame = nextFrame;\n return currentFrame.length > 0;\n}\n\nfunction findIndex(arr, test) {\n var index = arr.findIndex(test);\n return index < 0 ? arr.length : index;\n} // src/clamp.ts\n\n\nvar clamp = (min, max, v) => Math.min(Math.max(v, min), max); // src/colors.ts\n\n\nvar colors2 = {\n transparent: 0,\n aliceblue: 4042850303,\n antiquewhite: 4209760255,\n aqua: 16777215,\n aquamarine: 2147472639,\n azure: 4043309055,\n beige: 4126530815,\n bisque: 4293182719,\n black: 255,\n blanchedalmond: 4293643775,\n blue: 65535,\n blueviolet: 2318131967,\n brown: 2771004159,\n burlywood: 3736635391,\n burntsienna: 3934150143,\n cadetblue: 1604231423,\n chartreuse: 2147418367,\n chocolate: 3530104575,\n coral: 4286533887,\n cornflowerblue: 1687547391,\n cornsilk: 4294499583,\n crimson: 3692313855,\n cyan: 16777215,\n darkblue: 35839,\n darkcyan: 9145343,\n darkgoldenrod: 3095792639,\n darkgray: 2846468607,\n darkgreen: 6553855,\n darkgrey: 2846468607,\n darkkhaki: 3182914559,\n darkmagenta: 2332068863,\n darkolivegreen: 1433087999,\n darkorange: 4287365375,\n darkorchid: 2570243327,\n darkred: 2332033279,\n darksalmon: 3918953215,\n darkseagreen: 2411499519,\n darkslateblue: 1211993087,\n darkslategray: 793726975,\n darkslategrey: 793726975,\n darkturquoise: 13554175,\n darkviolet: 2483082239,\n deeppink: 4279538687,\n deepskyblue: 12582911,\n dimgray: 1768516095,\n dimgrey: 1768516095,\n dodgerblue: 512819199,\n firebrick: 2988581631,\n floralwhite: 4294635775,\n forestgreen: 579543807,\n fuchsia: 4278255615,\n gainsboro: 3705462015,\n ghostwhite: 4177068031,\n gold: 4292280575,\n goldenrod: 3668254975,\n gray: 2155905279,\n green: 8388863,\n greenyellow: 2919182335,\n grey: 2155905279,\n honeydew: 4043305215,\n hotpink: 4285117695,\n indianred: 3445382399,\n indigo: 1258324735,\n ivory: 4294963455,\n khaki: 4041641215,\n lavender: 3873897215,\n lavenderblush: 4293981695,\n lawngreen: 2096890111,\n lemonchiffon: 4294626815,\n lightblue: 2916673279,\n lightcoral: 4034953471,\n lightcyan: 3774873599,\n lightgoldenrodyellow: 4210742015,\n lightgray: 3553874943,\n lightgreen: 2431553791,\n lightgrey: 3553874943,\n lightpink: 4290167295,\n lightsalmon: 4288707327,\n lightseagreen: 548580095,\n lightskyblue: 2278488831,\n lightslategray: 2005441023,\n lightslategrey: 2005441023,\n lightsteelblue: 2965692159,\n lightyellow: 4294959359,\n lime: 16711935,\n limegreen: 852308735,\n linen: 4210091775,\n magenta: 4278255615,\n maroon: 2147483903,\n mediumaquamarine: 1724754687,\n mediumblue: 52735,\n mediumorchid: 3126187007,\n mediumpurple: 2473647103,\n mediumseagreen: 1018393087,\n mediumslateblue: 2070474495,\n mediumspringgreen: 16423679,\n mediumturquoise: 1221709055,\n mediumvioletred: 3340076543,\n midnightblue: 421097727,\n mintcream: 4127193855,\n mistyrose: 4293190143,\n moccasin: 4293178879,\n navajowhite: 4292783615,\n navy: 33023,\n oldlace: 4260751103,\n olive: 2155872511,\n olivedrab: 1804477439,\n orange: 4289003775,\n orangered: 4282712319,\n orchid: 3664828159,\n palegoldenrod: 4008225535,\n palegreen: 2566625535,\n paleturquoise: 2951671551,\n palevioletred: 3681588223,\n papayawhip: 4293907967,\n peachpuff: 4292524543,\n peru: 3448061951,\n pink: 4290825215,\n plum: 3718307327,\n powderblue: 2967529215,\n purple: 2147516671,\n rebeccapurple: 1714657791,\n red: 4278190335,\n rosybrown: 3163525119,\n royalblue: 1097458175,\n saddlebrown: 2336560127,\n salmon: 4202722047,\n sandybrown: 4104413439,\n seagreen: 780883967,\n seashell: 4294307583,\n sienna: 2689740287,\n silver: 3233857791,\n skyblue: 2278484991,\n slateblue: 1784335871,\n slategray: 1887473919,\n slategrey: 1887473919,\n snow: 4294638335,\n springgreen: 16744447,\n steelblue: 1182971135,\n tan: 3535047935,\n teal: 8421631,\n thistle: 3636451583,\n tomato: 4284696575,\n turquoise: 1088475391,\n violet: 4001558271,\n wheat: 4125012991,\n white: 4294967295,\n whitesmoke: 4126537215,\n yellow: 4294902015,\n yellowgreen: 2597139199\n}; // src/colorMatchers.ts\n\nvar NUMBER = \"[-+]?\\\\d*\\\\.?\\\\d+\";\nvar PERCENTAGE = NUMBER + \"%\";\n\nfunction call() {\n for (var _len2 = arguments.length, parts = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n parts[_key2] = arguments[_key2];\n }\n\n return \"\\\\(\\\\s*(\" + parts.join(\")\\\\s*,\\\\s*(\") + \")\\\\s*\\\\)\";\n}\n\nvar rgb = new RegExp(\"rgb\" + call(NUMBER, NUMBER, NUMBER));\nvar rgba = new RegExp(\"rgba\" + call(NUMBER, NUMBER, NUMBER, NUMBER));\nvar hsl = new RegExp(\"hsl\" + call(NUMBER, PERCENTAGE, PERCENTAGE));\nvar hsla = new RegExp(\"hsla\" + call(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER));\nvar hex3 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\nvar hex4 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\nvar hex6 = /^#([0-9a-fA-F]{6})$/;\nvar hex8 = /^#([0-9a-fA-F]{8})$/; // src/normalizeColor.ts\n\nfunction normalizeColor(color) {\n var match;\n\n if (typeof color === \"number\") {\n return color >>> 0 === color && color >= 0 && color <= 4294967295 ? color : null;\n }\n\n if (match = hex6.exec(color)) return parseInt(match[1] + \"ff\", 16) >>> 0;\n\n if (_colors && _colors[color] !== void 0) {\n return _colors[color];\n }\n\n if (match = rgb.exec(color)) {\n return (parse255(match[1]) << 24 | // r\n parse255(match[2]) << 16 | // g\n parse255(match[3]) << 8 | // b\n 255) >>> // a\n 0;\n }\n\n if (match = rgba.exec(color)) {\n return (parse255(match[1]) << 24 | // r\n parse255(match[2]) << 16 | // g\n parse255(match[3]) << 8 | // b\n parse1(match[4])) >>> // a\n 0;\n }\n\n if (match = hex3.exec(color)) {\n return parseInt(match[1] + match[1] + // r\n match[2] + match[2] + // g\n match[3] + match[3] + // b\n \"ff\", // a\n 16) >>> 0;\n }\n\n if (match = hex8.exec(color)) return parseInt(match[1], 16) >>> 0;\n\n if (match = hex4.exec(color)) {\n return parseInt(match[1] + match[1] + // r\n match[2] + match[2] + // g\n match[3] + match[3] + // b\n match[4] + match[4], // a\n 16) >>> 0;\n }\n\n if (match = hsl.exec(color)) {\n return (hslToRgb(parse360(match[1]), // h\n parsePercentage(match[2]), // s\n parsePercentage(match[3]) // l\n ) | 255) >>> // a\n 0;\n }\n\n if (match = hsla.exec(color)) {\n return (hslToRgb(parse360(match[1]), // h\n parsePercentage(match[2]), // s\n parsePercentage(match[3]) // l\n ) | parse1(match[4])) >>> // a\n 0;\n }\n\n return null;\n}\n\nfunction hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n}\n\nfunction hslToRgb(h, s, l) {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n var r = hue2rgb(p, q, h + 1 / 3);\n var g = hue2rgb(p, q, h);\n var b = hue2rgb(p, q, h - 1 / 3);\n return Math.round(r * 255) << 24 | Math.round(g * 255) << 16 | Math.round(b * 255) << 8;\n}\n\nfunction parse255(str) {\n var int = parseInt(str, 10);\n if (int < 0) return 0;\n if (int > 255) return 255;\n return int;\n}\n\nfunction parse360(str) {\n var int = parseFloat(str);\n return (int % 360 + 360) % 360 / 360;\n}\n\nfunction parse1(str) {\n var num = parseFloat(str);\n if (num < 0) return 0;\n if (num > 1) return 255;\n return Math.round(num * 255);\n}\n\nfunction parsePercentage(str) {\n var int = parseFloat(str);\n if (int < 0) return 0;\n if (int > 100) return 1;\n return int / 100;\n} // src/colorToRgba.ts\n\n\nfunction colorToRgba(input) {\n var int32Color = normalizeColor(input);\n if (int32Color === null) return input;\n int32Color = int32Color || 0;\n var r = (int32Color & 4278190080) >>> 24;\n var g = (int32Color & 16711680) >>> 16;\n var b = (int32Color & 65280) >>> 8;\n var a = (int32Color & 255) / 255;\n return \"rgba(\".concat(r, \", \").concat(g, \", \").concat(b, \", \").concat(a, \")\");\n} // src/createInterpolator.ts\n\n\nvar createInterpolator = (range, output, extrapolate) => {\n if (is.fun(range)) {\n return range;\n }\n\n if (is.arr(range)) {\n return createInterpolator({\n range,\n output,\n extrapolate\n });\n }\n\n if (is.str(range.output[0])) {\n return _createStringInterpolator(range);\n }\n\n var config = range;\n var outputRange = config.output;\n var inputRange = config.range || [0, 1];\n var extrapolateLeft = config.extrapolateLeft || config.extrapolate || \"extend\";\n var extrapolateRight = config.extrapolateRight || config.extrapolate || \"extend\";\n\n var easing = config.easing || (t => t);\n\n return input => {\n var range2 = findRange(input, inputRange);\n return interpolate(input, inputRange[range2], inputRange[range2 + 1], outputRange[range2], outputRange[range2 + 1], easing, extrapolateLeft, extrapolateRight, config.map);\n };\n};\n\nfunction interpolate(input, inputMin, inputMax, outputMin, outputMax, easing, extrapolateLeft, extrapolateRight, map) {\n var result = map ? map(input) : input;\n\n if (result < inputMin) {\n if (extrapolateLeft === \"identity\") return result;else if (extrapolateLeft === \"clamp\") result = inputMin;\n }\n\n if (result > inputMax) {\n if (extrapolateRight === \"identity\") return result;else if (extrapolateRight === \"clamp\") result = inputMax;\n }\n\n if (outputMin === outputMax) return outputMin;\n if (inputMin === inputMax) return input <= inputMin ? outputMin : outputMax;\n if (inputMin === -Infinity) result = -result;else if (inputMax === Infinity) result = result - inputMin;else result = (result - inputMin) / (inputMax - inputMin);\n result = easing(result);\n if (outputMin === -Infinity) result = -result;else if (outputMax === Infinity) result = result + outputMin;else result = result * (outputMax - outputMin) + outputMin;\n return result;\n}\n\nfunction findRange(input, inputRange) {\n for (var i = 1; i < inputRange.length - 1; ++i) {\n if (inputRange[i] >= input) break;\n }\n\n return i - 1;\n} // src/easings.ts\n\n\nvar steps = function steps(steps2) {\n var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"end\";\n return progress2 => {\n progress2 = direction === \"end\" ? Math.min(progress2, 0.999) : Math.max(progress2, 1e-3);\n var expanded = progress2 * steps2;\n var rounded = direction === \"end\" ? Math.floor(expanded) : Math.ceil(expanded);\n return clamp(0, 1, rounded / steps2);\n };\n};\n\nvar c1 = 1.70158;\nvar c2 = c1 * 1.525;\nvar c3 = c1 + 1;\nvar c4 = 2 * Math.PI / 3;\nvar c5 = 2 * Math.PI / 4.5;\n\nvar bounceOut = x => {\n var n1 = 7.5625;\n var d1 = 2.75;\n\n if (x < 1 / d1) {\n return n1 * x * x;\n } else if (x < 2 / d1) {\n return n1 * (x -= 1.5 / d1) * x + 0.75;\n } else if (x < 2.5 / d1) {\n return n1 * (x -= 2.25 / d1) * x + 0.9375;\n } else {\n return n1 * (x -= 2.625 / d1) * x + 0.984375;\n }\n};\n\nvar easings = {\n linear: x => x,\n easeInQuad: x => x * x,\n easeOutQuad: x => 1 - (1 - x) * (1 - x),\n easeInOutQuad: x => x < 0.5 ? 2 * x * x : 1 - Math.pow(-2 * x + 2, 2) / 2,\n easeInCubic: x => x * x * x,\n easeOutCubic: x => 1 - Math.pow(1 - x, 3),\n easeInOutCubic: x => x < 0.5 ? 4 * x * x * x : 1 - Math.pow(-2 * x + 2, 3) / 2,\n easeInQuart: x => x * x * x * x,\n easeOutQuart: x => 1 - Math.pow(1 - x, 4),\n easeInOutQuart: x => x < 0.5 ? 8 * x * x * x * x : 1 - Math.pow(-2 * x + 2, 4) / 2,\n easeInQuint: x => x * x * x * x * x,\n easeOutQuint: x => 1 - Math.pow(1 - x, 5),\n easeInOutQuint: x => x < 0.5 ? 16 * x * x * x * x * x : 1 - Math.pow(-2 * x + 2, 5) / 2,\n easeInSine: x => 1 - Math.cos(x * Math.PI / 2),\n easeOutSine: x => Math.sin(x * Math.PI / 2),\n easeInOutSine: x => -(Math.cos(Math.PI * x) - 1) / 2,\n easeInExpo: x => x === 0 ? 0 : Math.pow(2, 10 * x - 10),\n easeOutExpo: x => x === 1 ? 1 : 1 - Math.pow(2, -10 * x),\n easeInOutExpo: x => x === 0 ? 0 : x === 1 ? 1 : x < 0.5 ? Math.pow(2, 20 * x - 10) / 2 : (2 - Math.pow(2, -20 * x + 10)) / 2,\n easeInCirc: x => 1 - Math.sqrt(1 - Math.pow(x, 2)),\n easeOutCirc: x => Math.sqrt(1 - Math.pow(x - 1, 2)),\n easeInOutCirc: x => x < 0.5 ? (1 - Math.sqrt(1 - Math.pow(2 * x, 2))) / 2 : (Math.sqrt(1 - Math.pow(-2 * x + 2, 2)) + 1) / 2,\n easeInBack: x => c3 * x * x * x - c1 * x * x,\n easeOutBack: x => 1 + c3 * Math.pow(x - 1, 3) + c1 * Math.pow(x - 1, 2),\n easeInOutBack: x => x < 0.5 ? Math.pow(2 * x, 2) * ((c2 + 1) * 2 * x - c2) / 2 : (Math.pow(2 * x - 2, 2) * ((c2 + 1) * (x * 2 - 2) + c2) + 2) / 2,\n easeInElastic: x => x === 0 ? 0 : x === 1 ? 1 : -Math.pow(2, 10 * x - 10) * Math.sin((x * 10 - 10.75) * c4),\n easeOutElastic: x => x === 0 ? 0 : x === 1 ? 1 : Math.pow(2, -10 * x) * Math.sin((x * 10 - 0.75) * c4) + 1,\n easeInOutElastic: x => x === 0 ? 0 : x === 1 ? 1 : x < 0.5 ? -(Math.pow(2, 20 * x - 10) * Math.sin((20 * x - 11.125) * c5)) / 2 : Math.pow(2, -20 * x + 10) * Math.sin((20 * x - 11.125) * c5) / 2 + 1,\n easeInBounce: x => 1 - bounceOut(1 - x),\n easeOutBounce: bounceOut,\n easeInOutBounce: x => x < 0.5 ? (1 - bounceOut(1 - 2 * x)) / 2 : (1 + bounceOut(2 * x - 1)) / 2,\n steps\n}; // src/fluids.ts\n\nvar $get = Symbol.for(\"FluidValue.get\");\nvar $observers = Symbol.for(\"FluidValue.observers\");\n\nvar hasFluidValue = arg => Boolean(arg && arg[$get]);\n\nvar getFluidValue = arg => arg && arg[$get] ? arg[$get]() : arg;\n\nvar getFluidObservers = target => target[$observers] || null;\n\nfunction callFluidObserver(observer2, event) {\n if (observer2.eventObserved) {\n observer2.eventObserved(event);\n } else {\n observer2(event);\n }\n}\n\nfunction callFluidObservers(target, event) {\n var observers = target[$observers];\n\n if (observers) {\n observers.forEach(observer2 => {\n callFluidObserver(observer2, event);\n });\n }\n}\n\nvar FluidValue = class {\n constructor(get) {\n if (!get && !(get = this.get)) {\n throw Error(\"Unknown getter\");\n }\n\n setFluidGetter(this, get);\n }\n\n};\n$get, $observers;\n\nvar setFluidGetter = (target, get) => setHidden(target, $get, get);\n\nfunction addFluidObserver(target, observer2) {\n if (target[$get]) {\n var observers = target[$observers];\n\n if (!observers) {\n setHidden(target, $observers, observers = /* @__PURE__ */new Set());\n }\n\n if (!observers.has(observer2)) {\n observers.add(observer2);\n\n if (target.observerAdded) {\n target.observerAdded(observers.size, observer2);\n }\n }\n }\n\n return observer2;\n}\n\nfunction removeFluidObserver(target, observer2) {\n var observers = target[$observers];\n\n if (observers && observers.has(observer2)) {\n var count = observers.size - 1;\n\n if (count) {\n observers.delete(observer2);\n } else {\n target[$observers] = null;\n }\n\n if (target.observerRemoved) {\n target.observerRemoved(count, observer2);\n }\n }\n}\n\nvar setHidden = (target, key, value) => Object.defineProperty(target, key, {\n value,\n writable: true,\n configurable: true\n}); // src/regexs.ts\n\n\nvar numberRegex = /[+\\-]?(?:0|[1-9]\\d*)(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g;\nvar colorRegex = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\\((-?\\d+%?[,\\s]+){2,3}\\s*[\\d\\.]+%?\\))/gi;\nvar unitRegex = new RegExp(\"(\".concat(numberRegex.source, \")(%|[a-z]+)\"), \"i\");\nvar rgbaRegex = /rgba\\(([0-9\\.-]+), ([0-9\\.-]+), ([0-9\\.-]+), ([0-9\\.-]+)\\)/gi;\nvar cssVariableRegex = /var\\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\\)/; // src/variableToRgba.ts\n\nvar variableToRgba = input => {\n var [token, fallback] = parseCSSVariable(input);\n\n if (!token || isSSR()) {\n return input;\n }\n\n var value = window.getComputedStyle(document.documentElement).getPropertyValue(token);\n\n if (value) {\n return value.trim();\n } else if (fallback && fallback.startsWith(\"--\")) {\n var value2 = window.getComputedStyle(document.documentElement).getPropertyValue(fallback);\n\n if (value2) {\n return value2;\n } else {\n return input;\n }\n } else if (fallback && cssVariableRegex.test(fallback)) {\n return variableToRgba(fallback);\n } else if (fallback) {\n return fallback;\n }\n\n return input;\n};\n\nvar parseCSSVariable = current => {\n var match = cssVariableRegex.exec(current);\n if (!match) return [,];\n var [, token, fallback] = match;\n return [token, fallback];\n}; // src/stringInterpolation.ts\n\n\nvar namedColorRegex;\n\nvar rgbaRound = (_, p1, p2, p3, p4) => \"rgba(\".concat(Math.round(p1), \", \").concat(Math.round(p2), \", \").concat(Math.round(p3), \", \").concat(p4, \")\");\n\nvar createStringInterpolator2 = config => {\n if (!namedColorRegex) namedColorRegex = _colors ? // match color names, ignore partial matches\n new RegExp(\"(\".concat(Object.keys(_colors).join(\"|\"), \")(?!\\\\w)\"), \"g\") : // never match\n /^\\b$/;\n var output = config.output.map(value => {\n return getFluidValue(value).replace(cssVariableRegex, variableToRgba).replace(colorRegex, colorToRgba).replace(namedColorRegex, colorToRgba);\n });\n var keyframes = output.map(value => value.match(numberRegex).map(Number));\n var outputRanges = keyframes[0].map((_, i) => keyframes.map(values => {\n if (!(i in values)) {\n throw Error('The arity of each \"output\" value must be equal');\n }\n\n return values[i];\n }));\n var interpolators = outputRanges.map(output2 => createInterpolator(_objectSpread(_objectSpread({}, config), {}, {\n output: output2\n })));\n return input => {\n var _output$find;\n\n var missingUnit = !unitRegex.test(output[0]) && ((_output$find = output.find(value => unitRegex.test(value))) === null || _output$find === void 0 ? void 0 : _output$find.replace(numberRegex, \"\"));\n var i = 0;\n return output[0].replace(numberRegex, () => \"\".concat(interpolators[i++](input)).concat(missingUnit || \"\")).replace(rgbaRegex, rgbaRound);\n };\n}; // src/deprecations.ts\n\n\nvar prefix = \"react-spring: \";\n\nvar once = fn => {\n var func = fn;\n var called = false;\n\n if (typeof func != \"function\") {\n throw new TypeError(\"\".concat(prefix, \"once requires a function parameter\"));\n }\n\n return function () {\n if (!called) {\n func(...arguments);\n called = true;\n }\n };\n};\n\nvar warnInterpolate = once(console.warn);\n\nfunction deprecateInterpolate() {\n warnInterpolate(\"\".concat(prefix, \"The \\\"interpolate\\\" function is deprecated in v9 (use \\\"to\\\" instead)\"));\n}\n\nvar warnDirectCall = once(console.warn);\n\nfunction deprecateDirectCall() {\n warnDirectCall(\"\".concat(prefix, \"Directly calling start instead of using the api object is deprecated in v9 (use \\\".start\\\" instead), this will be removed in later 0.X.0 versions\"));\n} // src/isAnimatedString.ts\n\n\nfunction isAnimatedString(value) {\n return is.str(value) && (value[0] == \"#\" || /\\d/.test(value) || // Do not identify a CSS variable as an AnimatedString if its SSR\n !isSSR() && cssVariableRegex.test(value) || value in (_colors || {}));\n} // src/dom-events/scroll/index.ts\n\n\nimport { raf as raf3 } from \"@react-spring/rafz\"; // src/dom-events/resize/resizeElement.ts\n\nvar observer;\nvar resizeHandlers = /* @__PURE__ */new WeakMap();\n\nvar handleObservation = entries => entries.forEach(_ref => {\n var _resizeHandlers$get;\n\n var {\n target,\n contentRect\n } = _ref;\n return (_resizeHandlers$get = resizeHandlers.get(target)) === null || _resizeHandlers$get === void 0 ? void 0 : _resizeHandlers$get.forEach(handler => handler(contentRect));\n});\n\nfunction resizeElement(handler, target) {\n if (!observer) {\n if (typeof ResizeObserver !== \"undefined\") {\n observer = new ResizeObserver(handleObservation);\n }\n }\n\n var elementHandlers = resizeHandlers.get(target);\n\n if (!elementHandlers) {\n elementHandlers = /* @__PURE__ */new Set();\n resizeHandlers.set(target, elementHandlers);\n }\n\n elementHandlers.add(handler);\n\n if (observer) {\n observer.observe(target);\n }\n\n return () => {\n var elementHandlers2 = resizeHandlers.get(target);\n if (!elementHandlers2) return;\n elementHandlers2.delete(handler);\n\n if (!elementHandlers2.size && observer) {\n observer.unobserve(target);\n }\n };\n} // src/dom-events/resize/resizeWindow.ts\n\n\nvar listeners = /* @__PURE__ */new Set();\nvar cleanupWindowResizeHandler;\n\nvar createResizeHandler = () => {\n var handleResize = () => {\n listeners.forEach(callback => callback({\n width: window.innerWidth,\n height: window.innerHeight\n }));\n };\n\n window.addEventListener(\"resize\", handleResize);\n return () => {\n window.removeEventListener(\"resize\", handleResize);\n };\n};\n\nvar resizeWindow = callback => {\n listeners.add(callback);\n\n if (!cleanupWindowResizeHandler) {\n cleanupWindowResizeHandler = createResizeHandler();\n }\n\n return () => {\n listeners.delete(callback);\n\n if (!listeners.size && cleanupWindowResizeHandler) {\n cleanupWindowResizeHandler();\n cleanupWindowResizeHandler = void 0;\n }\n };\n}; // src/dom-events/resize/index.ts\n\n\nvar onResize = function onResize(callback) {\n var {\n container = document.documentElement\n } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (container === document.documentElement) {\n return resizeWindow(callback);\n } else {\n return resizeElement(callback, container);\n }\n}; // src/progress.ts\n\n\nvar progress = (min, max, value) => max - min === 0 ? 1 : (value - min) / (max - min); // src/dom-events/scroll/ScrollHandler.ts\n\n\nvar SCROLL_KEYS = {\n x: {\n length: \"Width\",\n position: \"Left\"\n },\n y: {\n length: \"Height\",\n position: \"Top\"\n }\n};\nvar ScrollHandler = class {\n constructor(callback, container) {\n this.createAxis = () => ({\n current: 0,\n progress: 0,\n scrollLength: 0\n });\n\n this.updateAxis = axisName => {\n var axis = this.info[axisName];\n var {\n length,\n position\n } = SCROLL_KEYS[axisName];\n axis.current = this.container[\"scroll\".concat(position)];\n axis.scrollLength = this.container[\"scroll\".concat(length)] - this.container[\"client\".concat(length)];\n axis.progress = progress(0, axis.scrollLength, axis.current);\n };\n\n this.update = () => {\n this.updateAxis(\"x\");\n this.updateAxis(\"y\");\n };\n\n this.sendEvent = () => {\n this.callback(this.info);\n };\n\n this.advance = () => {\n this.update();\n this.sendEvent();\n };\n\n this.callback = callback;\n this.container = container;\n this.info = {\n time: 0,\n x: this.createAxis(),\n y: this.createAxis()\n };\n }\n\n}; // src/dom-events/scroll/index.ts\n\nvar scrollListeners = /* @__PURE__ */new WeakMap();\nvar resizeListeners = /* @__PURE__ */new WeakMap();\nvar onScrollHandlers = /* @__PURE__ */new WeakMap();\n\nvar getTarget = container => container === document.documentElement ? window : container;\n\nvar onScroll = function onScroll(callback) {\n var {\n container = document.documentElement\n } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var containerHandlers = onScrollHandlers.get(container);\n\n if (!containerHandlers) {\n containerHandlers = /* @__PURE__ */new Set();\n onScrollHandlers.set(container, containerHandlers);\n }\n\n var containerHandler = new ScrollHandler(callback, container);\n containerHandlers.add(containerHandler);\n\n if (!scrollListeners.has(container)) {\n var listener = () => {\n var _containerHandlers;\n\n (_containerHandlers = containerHandlers) === null || _containerHandlers === void 0 ? void 0 : _containerHandlers.forEach(handler => handler.advance());\n return true;\n };\n\n scrollListeners.set(container, listener);\n var target = getTarget(container);\n window.addEventListener(\"resize\", listener, {\n passive: true\n });\n\n if (container !== document.documentElement) {\n resizeListeners.set(container, onResize(listener, {\n container\n }));\n }\n\n target.addEventListener(\"scroll\", listener, {\n passive: true\n });\n }\n\n var animateScroll = scrollListeners.get(container);\n raf3(animateScroll);\n return () => {\n raf3.cancel(animateScroll);\n var containerHandlers2 = onScrollHandlers.get(container);\n if (!containerHandlers2) return;\n containerHandlers2.delete(containerHandler);\n if (containerHandlers2.size) return;\n var listener = scrollListeners.get(container);\n scrollListeners.delete(container);\n\n if (listener) {\n var _resizeListeners$get;\n\n getTarget(container).removeEventListener(\"scroll\", listener);\n window.removeEventListener(\"resize\", listener);\n (_resizeListeners$get = resizeListeners.get(container)) === null || _resizeListeners$get === void 0 ? void 0 : _resizeListeners$get();\n }\n };\n}; // src/hooks/useConstant.ts\n\n\nimport { useRef } from \"react\";\n\nfunction useConstant(init) {\n var ref = useRef(null);\n\n if (ref.current === null) {\n ref.current = init();\n }\n\n return ref.current;\n} // src/hooks/useForceUpdate.ts\n\n\nimport { useState } from \"react\"; // src/hooks/useIsMounted.ts\n\nimport { useRef as useRef2 } from \"react\"; // src/hooks/useIsomorphicLayoutEffect.ts\n\nimport { useEffect, useLayoutEffect } from \"react\";\nvar useIsomorphicLayoutEffect = isSSR() ? useEffect : useLayoutEffect; // src/hooks/useIsMounted.ts\n\nvar useIsMounted = () => {\n var isMounted = useRef2(false);\n useIsomorphicLayoutEffect(() => {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n return isMounted;\n}; // src/hooks/useForceUpdate.ts\n\n\nfunction useForceUpdate() {\n var update = useState()[1];\n var isMounted = useIsMounted();\n return () => {\n if (isMounted.current) {\n update(Math.random());\n }\n };\n} // src/hooks/useMemoOne.ts\n\n\nimport { useEffect as useEffect2, useRef as useRef3, useState as useState2 } from \"react\";\n\nfunction useMemoOne(getResult, inputs) {\n var [initial] = useState2(() => ({\n inputs,\n result: getResult()\n }));\n var committed = useRef3();\n var prevCache = committed.current;\n var cache = prevCache;\n\n if (cache) {\n var useCache = Boolean(inputs && cache.inputs && areInputsEqual(inputs, cache.inputs));\n\n if (!useCache) {\n cache = {\n inputs,\n result: getResult()\n };\n }\n } else {\n cache = initial;\n }\n\n useEffect2(() => {\n committed.current = cache;\n\n if (prevCache == initial) {\n initial.inputs = initial.result = void 0;\n }\n }, [cache]);\n return cache.result;\n}\n\nfunction areInputsEqual(next, prev) {\n if (next.length !== prev.length) {\n return false;\n }\n\n for (var i = 0; i < next.length; i++) {\n if (next[i] !== prev[i]) {\n return false;\n }\n }\n\n return true;\n} // src/hooks/useOnce.ts\n\n\nimport { useEffect as useEffect3 } from \"react\";\n\nvar useOnce = effect => useEffect3(effect, emptyDeps);\n\nvar emptyDeps = []; // src/hooks/usePrev.ts\n\nimport { useEffect as useEffect4, useRef as useRef4 } from \"react\";\n\nfunction usePrev(value) {\n var prevRef = useRef4();\n useEffect4(() => {\n prevRef.current = value;\n });\n return prevRef.current;\n} // src/hooks/useReducedMotion.ts\n\n\nimport { useState as useState3 } from \"react\";\n\nvar useReducedMotion = () => {\n var [reducedMotion, setReducedMotion] = useState3(null);\n useIsomorphicLayoutEffect(() => {\n var mql = window.matchMedia(\"(prefers-reduced-motion)\");\n\n var handleMediaChange = e => {\n setReducedMotion(e.matches);\n\n _assign({\n skipAnimation: e.matches\n });\n };\n\n handleMediaChange(mql);\n\n if (mql.addEventListener) {\n mql.addEventListener(\"change\", handleMediaChange);\n } else {\n mql.addListener(handleMediaChange);\n }\n\n return () => {\n if (mql.removeEventListener) {\n mql.removeEventListener(\"change\", handleMediaChange);\n } else {\n mql.removeListener(handleMediaChange);\n }\n };\n }, []);\n return reducedMotion;\n}; // src/index.ts\n\n\nimport { raf as raf4 } from \"@react-spring/rafz\";\nexport { FluidValue, globals_exports as Globals, addFluidObserver, callFluidObserver, callFluidObservers, clamp, colorToRgba, colors2 as colors, createInterpolator, createStringInterpolator2 as createStringInterpolator, defineHidden, deprecateDirectCall, deprecateInterpolate, each, eachProp, easings, flush, flushCalls, frameLoop, getFluidObservers, getFluidValue, hasFluidValue, hex3, hex4, hex6, hex8, hsl, hsla, is, isAnimatedString, isEqual, isSSR, noop, onResize, onScroll, once, prefix, raf4 as raf, removeFluidObserver, rgb, rgba, setFluidGetter, toArray, useConstant, useForceUpdate, useIsomorphicLayoutEffect, useMemoOne, useOnce, usePrev, useReducedMotion };","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// src/Animated.ts\nimport { defineHidden } from \"@react-spring/shared\";\nvar $node = Symbol.for(\"Animated:node\");\n\nvar isAnimated = value => !!value && value[$node] === value;\n\nvar getAnimated = owner => owner && owner[$node];\n\nvar setAnimated = (owner, node) => defineHidden(owner, $node, node);\n\nvar getPayload = owner => owner && owner[$node] && owner[$node].getPayload();\n\nvar Animated = class {\n constructor() {\n setAnimated(this, this);\n }\n /** Get every `AnimatedValue` used by this node. */\n\n\n getPayload() {\n return this.payload || [];\n }\n\n}; // src/AnimatedValue.ts\n\nimport { is } from \"@react-spring/shared\";\nvar AnimatedValue = class extends Animated {\n constructor(_value) {\n super();\n this._value = _value;\n this.done = true;\n this.durationProgress = 0;\n\n if (is.num(this._value)) {\n this.lastPosition = this._value;\n }\n }\n /** @internal */\n\n\n static create(value) {\n return new AnimatedValue(value);\n }\n\n getPayload() {\n return [this];\n }\n\n getValue() {\n return this._value;\n }\n\n setValue(value, step) {\n if (is.num(value)) {\n this.lastPosition = value;\n\n if (step) {\n value = Math.round(value / step) * step;\n\n if (this.done) {\n this.lastPosition = value;\n }\n }\n }\n\n if (this._value === value) {\n return false;\n }\n\n this._value = value;\n return true;\n }\n\n reset() {\n var {\n done\n } = this;\n this.done = false;\n\n if (is.num(this._value)) {\n this.elapsedTime = 0;\n this.durationProgress = 0;\n this.lastPosition = this._value;\n if (done) this.lastVelocity = null;\n this.v0 = null;\n }\n }\n\n}; // src/AnimatedString.ts\n\nimport { is as is2, createInterpolator } from \"@react-spring/shared\";\nvar AnimatedString = class extends AnimatedValue {\n constructor(value) {\n super(0);\n this._string = null;\n this._toString = createInterpolator({\n output: [value, value]\n });\n }\n /** @internal */\n\n\n static create(value) {\n return new AnimatedString(value);\n }\n\n getValue() {\n var value = this._string;\n return value == null ? this._string = this._toString(this._value) : value;\n }\n\n setValue(value) {\n if (is2.str(value)) {\n if (value == this._string) {\n return false;\n }\n\n this._string = value;\n this._value = 1;\n } else if (super.setValue(value)) {\n this._string = null;\n } else {\n return false;\n }\n\n return true;\n }\n\n reset(goal) {\n if (goal) {\n this._toString = createInterpolator({\n output: [this.getValue(), goal]\n });\n }\n\n this._value = 0;\n super.reset();\n }\n\n}; // src/AnimatedArray.ts\n\nimport { isAnimatedString } from \"@react-spring/shared\"; // src/AnimatedObject.ts\n\nimport { each, eachProp, getFluidValue, hasFluidValue } from \"@react-spring/shared\"; // src/context.ts\n\nvar TreeContext = {\n dependencies: null\n}; // src/AnimatedObject.ts\n\nvar AnimatedObject = class extends Animated {\n constructor(source) {\n super();\n this.source = source;\n this.setValue(source);\n }\n\n getValue(animated) {\n var values = {};\n eachProp(this.source, (source, key) => {\n if (isAnimated(source)) {\n values[key] = source.getValue(animated);\n } else if (hasFluidValue(source)) {\n values[key] = getFluidValue(source);\n } else if (!animated) {\n values[key] = source;\n }\n });\n return values;\n }\n /** Replace the raw object data */\n\n\n setValue(source) {\n this.source = source;\n this.payload = this._makePayload(source);\n }\n\n reset() {\n if (this.payload) {\n each(this.payload, node => node.reset());\n }\n }\n /** Create a payload set. */\n\n\n _makePayload(source) {\n if (source) {\n var payload = /* @__PURE__ */new Set();\n eachProp(source, this._addToPayload, payload);\n return Array.from(payload);\n }\n }\n /** Add to a payload set. */\n\n\n _addToPayload(source) {\n if (TreeContext.dependencies && hasFluidValue(source)) {\n TreeContext.dependencies.add(source);\n }\n\n var payload = getPayload(source);\n\n if (payload) {\n each(payload, node => this.add(node));\n }\n }\n\n}; // src/AnimatedArray.ts\n\nvar AnimatedArray = class extends AnimatedObject {\n constructor(source) {\n super(source);\n }\n /** @internal */\n\n\n static create(source) {\n return new AnimatedArray(source);\n }\n\n getValue() {\n return this.source.map(node => node.getValue());\n }\n\n setValue(source) {\n var payload = this.getPayload();\n\n if (source.length == payload.length) {\n return payload.map((node, i) => node.setValue(source[i])).some(Boolean);\n }\n\n super.setValue(source.map(makeAnimated));\n return true;\n }\n\n};\n\nfunction makeAnimated(value) {\n var nodeType = isAnimatedString(value) ? AnimatedString : AnimatedValue;\n return nodeType.create(value);\n} // src/getAnimatedType.ts\n\n\nimport { is as is3, isAnimatedString as isAnimatedString2 } from \"@react-spring/shared\";\n\nfunction getAnimatedType(value) {\n var parentNode = getAnimated(value);\n return parentNode ? parentNode.constructor : is3.arr(value) ? AnimatedArray : isAnimatedString2(value) ? AnimatedString : AnimatedValue;\n} // src/createHost.ts\n\n\nimport { is as is5, eachProp as eachProp2 } from \"@react-spring/shared\"; // src/withAnimated.tsx\n\nimport * as React from \"react\";\nimport { forwardRef, useRef, useCallback, useEffect } from \"react\";\nimport { is as is4, each as each2, raf, useForceUpdate, useOnce, addFluidObserver, removeFluidObserver, useIsomorphicLayoutEffect } from \"@react-spring/shared\";\n\nvar withAnimated = (Component, host) => {\n var hasInstance = // Function components must use \"forwardRef\" to avoid being\n // re-rendered on every animation frame.\n !is4.fun(Component) || Component.prototype && Component.prototype.isReactComponent;\n return forwardRef((givenProps, givenRef) => {\n var instanceRef = useRef(null);\n var ref = hasInstance && // eslint-disable-next-line react-hooks/rules-of-hooks\n useCallback(value => {\n instanceRef.current = updateRef(givenRef, value);\n }, [givenRef]);\n var [props, deps] = getAnimatedState(givenProps, host);\n var forceUpdate = useForceUpdate();\n\n var callback = () => {\n var instance = instanceRef.current;\n\n if (hasInstance && !instance) {\n return;\n }\n\n var didUpdate = instance ? host.applyAnimatedValues(instance, props.getValue(true)) : false;\n\n if (didUpdate === false) {\n forceUpdate();\n }\n };\n\n var observer = new PropsObserver(callback, deps);\n var observerRef = useRef();\n useIsomorphicLayoutEffect(() => {\n observerRef.current = observer;\n each2(deps, dep => addFluidObserver(dep, observer));\n return () => {\n if (observerRef.current) {\n each2(observerRef.current.deps, dep => removeFluidObserver(dep, observerRef.current));\n raf.cancel(observerRef.current.update);\n }\n };\n });\n useEffect(callback, []);\n useOnce(() => () => {\n var observer2 = observerRef.current;\n each2(observer2.deps, dep => removeFluidObserver(dep, observer2));\n });\n var usedProps = host.getComponentProps(props.getValue());\n return /* @__PURE__ */React.createElement(Component, _objectSpread(_objectSpread({}, usedProps), {}, {\n ref\n }));\n });\n};\n\nvar PropsObserver = class {\n constructor(update, deps) {\n this.update = update;\n this.deps = deps;\n }\n\n eventObserved(event) {\n if (event.type == \"change\") {\n raf.write(this.update);\n }\n }\n\n};\n\nfunction getAnimatedState(props, host) {\n var dependencies = /* @__PURE__ */new Set();\n TreeContext.dependencies = dependencies;\n if (props.style) props = _objectSpread(_objectSpread({}, props), {}, {\n style: host.createAnimatedStyle(props.style)\n });\n props = new AnimatedObject(props);\n TreeContext.dependencies = null;\n return [props, dependencies];\n}\n\nfunction updateRef(ref, value) {\n if (ref) {\n if (is4.fun(ref)) ref(value);else ref.current = value;\n }\n\n return value;\n} // src/createHost.ts\n\n\nvar cacheKey = Symbol.for(\"AnimatedComponent\");\n\nvar createHost = function createHost(components) {\n var {\n applyAnimatedValues = () => false,\n createAnimatedStyle = style => new AnimatedObject(style),\n getComponentProps = props => props\n } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var hostConfig = {\n applyAnimatedValues,\n createAnimatedStyle,\n getComponentProps\n };\n\n var animated = Component => {\n var displayName = getDisplayName(Component) || \"Anonymous\";\n\n if (is5.str(Component)) {\n Component = animated[Component] || (animated[Component] = withAnimated(Component, hostConfig));\n } else {\n Component = Component[cacheKey] || (Component[cacheKey] = withAnimated(Component, hostConfig));\n }\n\n Component.displayName = \"Animated(\".concat(displayName, \")\");\n return Component;\n };\n\n eachProp2(components, (Component, key) => {\n if (is5.arr(components)) {\n key = getDisplayName(Component);\n }\n\n animated[key] = animated(Component);\n });\n return {\n animated\n };\n};\n\nvar getDisplayName = arg => is5.str(arg) ? arg : arg && is5.str(arg.displayName) ? arg.displayName : is5.fun(arg) && arg.name || null;\n\nexport { Animated, AnimatedArray, AnimatedObject, AnimatedString, AnimatedValue, createHost, getAnimated, getAnimatedType, getPayload, isAnimated, setAnimated };","var _excluded = [\"children\"],\n _excluded2 = [\"container\"],\n _excluded3 = [\"container\"],\n _excluded4 = [\"to\", \"from\"],\n _excluded5 = [\"root\", \"once\", \"amount\"],\n _excluded6 = [\"children\"],\n _excluded7 = [\"items\", \"children\"],\n _excluded8 = [\"items\", \"children\"];\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// src/hooks/useChain.ts\nimport { each, useIsomorphicLayoutEffect } from \"@react-spring/shared\"; // src/helpers.ts\n\nimport { is, toArray, eachProp, getFluidValue, isAnimatedString, Globals as G } from \"@react-spring/shared\";\n\nfunction callProp(value) {\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 is.fun(value) ? value(...args) : value;\n}\n\nvar matchProp = (value, key) => value === true || !!(key && value && (is.fun(value) ? value(key) : toArray(value).includes(key)));\n\nvar resolveProp = (prop, key) => is.obj(prop) ? key && prop[key] : prop;\n\nvar getDefaultProp = (props, key) => props.default === true ? props[key] : props.default ? props.default[key] : void 0;\n\nvar noopTransform = value => value;\n\nvar getDefaultProps = function getDefaultProps(props) {\n var transform = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noopTransform;\n var keys = DEFAULT_PROPS;\n\n if (props.default && props.default !== true) {\n props = props.default;\n keys = Object.keys(props);\n }\n\n var defaults2 = {};\n\n for (var key of keys) {\n var value = transform(props[key], key);\n\n if (!is.und(value)) {\n defaults2[key] = value;\n }\n }\n\n return defaults2;\n};\n\nvar DEFAULT_PROPS = [\"config\", \"onProps\", \"onStart\", \"onChange\", \"onPause\", \"onResume\", \"onRest\"];\nvar RESERVED_PROPS = {\n config: 1,\n from: 1,\n to: 1,\n ref: 1,\n loop: 1,\n reset: 1,\n pause: 1,\n cancel: 1,\n reverse: 1,\n immediate: 1,\n default: 1,\n delay: 1,\n onProps: 1,\n onStart: 1,\n onChange: 1,\n onPause: 1,\n onResume: 1,\n onRest: 1,\n onResolve: 1,\n // Transition props\n items: 1,\n trail: 1,\n sort: 1,\n expires: 1,\n initial: 1,\n enter: 1,\n update: 1,\n leave: 1,\n children: 1,\n onDestroyed: 1,\n // Internal props\n keys: 1,\n callId: 1,\n parentId: 1\n};\n\nfunction getForwardProps(props) {\n var forward = {};\n var count = 0;\n eachProp(props, (value, prop) => {\n if (!RESERVED_PROPS[prop]) {\n forward[prop] = value;\n count++;\n }\n });\n\n if (count) {\n return forward;\n }\n}\n\nfunction inferTo(props) {\n var to2 = getForwardProps(props);\n\n if (to2) {\n var out = {\n to: to2\n };\n eachProp(props, (val, key) => key in to2 || (out[key] = val));\n return out;\n }\n\n return _objectSpread({}, props);\n}\n\nfunction computeGoal(value) {\n value = getFluidValue(value);\n return is.arr(value) ? value.map(computeGoal) : isAnimatedString(value) ? G.createStringInterpolator({\n range: [0, 1],\n output: [value, value]\n })(1) : value;\n}\n\nfunction hasProps(props) {\n for (var _ in props) {\n return true;\n }\n\n return false;\n}\n\nfunction isAsyncTo(to2) {\n return is.fun(to2) || is.arr(to2) && is.obj(to2[0]);\n}\n\nfunction detachRefs(ctrl, ref) {\n var _ctrl$ref;\n\n (_ctrl$ref = ctrl.ref) === null || _ctrl$ref === void 0 ? void 0 : _ctrl$ref.delete(ctrl);\n ref === null || ref === void 0 ? void 0 : ref.delete(ctrl);\n}\n\nfunction replaceRef(ctrl, ref) {\n if (ref && ctrl.ref !== ref) {\n var _ctrl$ref2;\n\n (_ctrl$ref2 = ctrl.ref) === null || _ctrl$ref2 === void 0 ? void 0 : _ctrl$ref2.delete(ctrl);\n ref.add(ctrl);\n ctrl.ref = ref;\n }\n} // src/hooks/useChain.ts\n\n\nfunction useChain(refs, timeSteps) {\n var timeFrame = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1e3;\n useIsomorphicLayoutEffect(() => {\n if (timeSteps) {\n var prevDelay = 0;\n each(refs, (ref, i) => {\n var controllers = ref.current;\n\n if (controllers.length) {\n var delay = timeFrame * timeSteps[i];\n if (isNaN(delay)) delay = prevDelay;else prevDelay = delay;\n each(controllers, ctrl => {\n each(ctrl.queue, props => {\n var memoizedDelayProp = props.delay;\n\n props.delay = key => delay + callProp(memoizedDelayProp || 0, key);\n });\n });\n ref.start();\n }\n });\n } else {\n var p = Promise.resolve();\n each(refs, ref => {\n var controllers = ref.current;\n\n if (controllers.length) {\n var queues = controllers.map(ctrl => {\n var q = ctrl.queue;\n ctrl.queue = [];\n return q;\n });\n p = p.then(() => {\n each(controllers, (ctrl, i) => each(queues[i] || [], update2 => ctrl.queue.push(update2)));\n return Promise.all(ref.start());\n });\n }\n });\n }\n });\n} // src/hooks/useSpring.ts\n\n\nimport { is as is9 } from \"@react-spring/shared\"; // src/hooks/useSprings.ts\n\nimport { useContext as useContext2, useMemo, useRef } from \"react\";\nimport { is as is8, each as each5, usePrev, useOnce, useForceUpdate, useIsomorphicLayoutEffect as useIsomorphicLayoutEffect2 } from \"@react-spring/shared\"; // src/SpringValue.ts\n\nimport { is as is5, raf as raf3, each as each2, isEqual, toArray as toArray2, eachProp as eachProp3, frameLoop as frameLoop2, flushCalls, getFluidValue as getFluidValue2, isAnimatedString as isAnimatedString2, Globals as G5, callFluidObservers as callFluidObservers2, hasFluidValue, addFluidObserver, removeFluidObserver, getFluidObservers } from \"@react-spring/shared\";\nimport { AnimatedValue, AnimatedString, getPayload, getAnimated as getAnimated2, setAnimated, getAnimatedType } from \"@react-spring/animated\"; // src/AnimationConfig.ts\n\nimport { is as is2, easings } from \"@react-spring/shared\"; // src/constants.ts\n\nvar config = {\n default: {\n tension: 170,\n friction: 26\n },\n gentle: {\n tension: 120,\n friction: 14\n },\n wobbly: {\n tension: 180,\n friction: 12\n },\n stiff: {\n tension: 210,\n friction: 20\n },\n slow: {\n tension: 280,\n friction: 60\n },\n molasses: {\n tension: 280,\n friction: 120\n }\n}; // src/AnimationConfig.ts\n\nvar defaults = _objectSpread(_objectSpread({}, config.default), {}, {\n mass: 1,\n damping: 1,\n easing: easings.linear,\n clamp: false\n});\n\nvar AnimationConfig = class {\n constructor() {\n /**\n * The initial velocity of one or more values.\n *\n * @default 0\n */\n this.velocity = 0;\n Object.assign(this, defaults);\n }\n\n};\n\nfunction mergeConfig(config2, newConfig, defaultConfig) {\n if (defaultConfig) {\n defaultConfig = _objectSpread({}, defaultConfig);\n sanitizeConfig(defaultConfig, newConfig);\n newConfig = _objectSpread(_objectSpread({}, defaultConfig), newConfig);\n }\n\n sanitizeConfig(config2, newConfig);\n Object.assign(config2, newConfig);\n\n for (var key in defaults) {\n if (config2[key] == null) {\n config2[key] = defaults[key];\n }\n }\n\n var {\n frequency,\n damping\n } = config2;\n var {\n mass\n } = config2;\n\n if (!is2.und(frequency)) {\n if (frequency < 0.01) frequency = 0.01;\n if (damping < 0) damping = 0;\n config2.tension = Math.pow(2 * Math.PI / frequency, 2) * mass;\n config2.friction = 4 * Math.PI * damping * mass / frequency;\n }\n\n return config2;\n}\n\nfunction sanitizeConfig(config2, props) {\n if (!is2.und(props.decay)) {\n config2.duration = void 0;\n } else {\n var isTensionConfig = !is2.und(props.tension) || !is2.und(props.friction);\n\n if (isTensionConfig || !is2.und(props.frequency) || !is2.und(props.damping) || !is2.und(props.mass)) {\n config2.duration = void 0;\n config2.decay = void 0;\n }\n\n if (isTensionConfig) {\n config2.frequency = void 0;\n }\n }\n} // src/Animation.ts\n\n\nvar emptyArray = [];\nvar Animation = class {\n constructor() {\n this.changed = false;\n this.values = emptyArray;\n this.toValues = null;\n this.fromValues = emptyArray;\n this.config = new AnimationConfig();\n this.immediate = false;\n }\n\n}; // src/scheduleProps.ts\n\nimport { is as is3, raf, Globals as G2 } from \"@react-spring/shared\";\n\nfunction scheduleProps(callId, _ref) {\n var {\n key,\n props,\n defaultProps,\n state,\n actions\n } = _ref;\n return new Promise((resolve, reject) => {\n var _props$cancel;\n\n var delay;\n var timeout;\n var cancel = matchProp((_props$cancel = props.cancel) !== null && _props$cancel !== void 0 ? _props$cancel : defaultProps === null || defaultProps === void 0 ? void 0 : defaultProps.cancel, key);\n\n if (cancel) {\n onStart();\n } else {\n if (!is3.und(props.pause)) {\n state.paused = matchProp(props.pause, key);\n }\n\n var pause = defaultProps === null || defaultProps === void 0 ? void 0 : defaultProps.pause;\n\n if (pause !== true) {\n pause = state.paused || matchProp(pause, key);\n }\n\n delay = callProp(props.delay || 0, key);\n\n if (pause) {\n state.resumeQueue.add(onResume);\n actions.pause();\n } else {\n actions.resume();\n onResume();\n }\n }\n\n function onPause() {\n state.resumeQueue.add(onResume);\n state.timeouts.delete(timeout);\n timeout.cancel();\n delay = timeout.time - raf.now();\n }\n\n function onResume() {\n if (delay > 0 && !G2.skipAnimation) {\n state.delayed = true;\n timeout = raf.setTimeout(onStart, delay);\n state.pauseQueue.add(onPause);\n state.timeouts.add(timeout);\n } else {\n onStart();\n }\n }\n\n function onStart() {\n if (state.delayed) {\n state.delayed = false;\n }\n\n state.pauseQueue.delete(onPause);\n state.timeouts.delete(timeout);\n\n if (callId <= (state.cancelId || 0)) {\n cancel = true;\n }\n\n try {\n actions.start(_objectSpread(_objectSpread({}, props), {}, {\n callId,\n cancel\n }), resolve);\n } catch (err) {\n reject(err);\n }\n }\n });\n} // src/runAsync.ts\n\n\nimport { is as is4, raf as raf2, flush, eachProp as eachProp2, Globals as G3 } from \"@react-spring/shared\"; // src/AnimationResult.ts\n\nvar getCombinedResult = (target, results) => results.length == 1 ? results[0] : results.some(result => result.cancelled) ? getCancelledResult(target.get()) : results.every(result => result.noop) ? getNoopResult(target.get()) : getFinishedResult(target.get(), results.every(result => result.finished));\n\nvar getNoopResult = value => ({\n value,\n noop: true,\n finished: true,\n cancelled: false\n});\n\nvar getFinishedResult = function getFinishedResult(value, finished) {\n var cancelled = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return {\n value,\n finished,\n cancelled\n };\n};\n\nvar getCancelledResult = value => ({\n value,\n cancelled: true,\n finished: false\n}); // src/runAsync.ts\n\n\nfunction runAsync(to2, props, state, target) {\n var {\n callId,\n parentId,\n onRest\n } = props;\n var {\n asyncTo: prevTo,\n promise: prevPromise\n } = state;\n\n if (!parentId && to2 === prevTo && !props.reset) {\n return prevPromise;\n }\n\n return state.promise = _asyncToGenerator(function* () {\n state.asyncId = callId;\n state.asyncTo = to2;\n var defaultProps = getDefaultProps(props, (value, key) => // The `onRest` prop is only called when the `runAsync` promise is resolved.\n key === \"onRest\" ? void 0 : value);\n var preventBail;\n var bail;\n var bailPromise = new Promise((resolve, reject) => (preventBail = resolve, bail = reject));\n\n var bailIfEnded = bailSignal => {\n var bailResult = // The `cancel` prop or `stop` method was used.\n callId <= (state.cancelId || 0) && getCancelledResult(target) || // The async `to` prop was replaced.\n callId !== state.asyncId && getFinishedResult(target, false);\n\n if (bailResult) {\n bailSignal.result = bailResult;\n bail(bailSignal);\n throw bailSignal;\n }\n };\n\n var animate = (arg1, arg2) => {\n var bailSignal = new BailSignal();\n var skipAnimationSignal = new SkipAnimationSignal();\n return _asyncToGenerator(function* () {\n if (G3.skipAnimation) {\n stopAsync(state);\n skipAnimationSignal.result = getFinishedResult(target, false);\n bail(skipAnimationSignal);\n throw skipAnimationSignal;\n }\n\n bailIfEnded(bailSignal);\n var props2 = is4.obj(arg1) ? _objectSpread({}, arg1) : _objectSpread(_objectSpread({}, arg2), {}, {\n to: arg1\n });\n props2.parentId = callId;\n eachProp2(defaultProps, (value, key) => {\n if (is4.und(props2[key])) {\n props2[key] = value;\n }\n });\n var result2 = yield target.start(props2);\n bailIfEnded(bailSignal);\n\n if (state.paused) {\n yield new Promise(resume => {\n state.resumeQueue.add(resume);\n });\n }\n\n return result2;\n })();\n };\n\n var result;\n\n if (G3.skipAnimation) {\n stopAsync(state);\n return getFinishedResult(target, false);\n }\n\n try {\n var animating;\n\n if (is4.arr(to2)) {\n animating = function () {\n var _ref4 = _asyncToGenerator(function* (queue) {\n for (var props2 of queue) {\n yield animate(props2);\n }\n });\n\n return function (_x) {\n return _ref4.apply(this, arguments);\n };\n }()(to2);\n } else {\n animating = Promise.resolve(to2(animate, target.stop.bind(target)));\n }\n\n yield Promise.all([animating.then(preventBail), bailPromise]);\n result = getFinishedResult(target.get(), true, false);\n } catch (err) {\n if (err instanceof BailSignal) {\n result = err.result;\n } else if (err instanceof SkipAnimationSignal) {\n result = err.result;\n } else {\n throw err;\n }\n } finally {\n if (callId == state.asyncId) {\n state.asyncId = parentId;\n state.asyncTo = parentId ? prevTo : void 0;\n state.promise = parentId ? prevPromise : void 0;\n }\n }\n\n if (is4.fun(onRest)) {\n raf2.batchedUpdates(() => {\n onRest(result, target, target.item);\n });\n }\n\n return result;\n })();\n}\n\nfunction stopAsync(state, cancelId) {\n flush(state.timeouts, t => t.cancel());\n state.pauseQueue.clear();\n state.resumeQueue.clear();\n state.asyncId = state.asyncTo = state.promise = void 0;\n if (cancelId) state.cancelId = cancelId;\n}\n\nvar BailSignal = class extends Error {\n constructor() {\n super(\"An async animation has been interrupted. You see this error because you forgot to use `await` or `.catch(...)` on its returned promise.\");\n }\n\n};\nvar SkipAnimationSignal = class extends Error {\n constructor() {\n super(\"SkipAnimationSignal\");\n }\n\n}; // src/FrameValue.ts\n\nimport { deprecateInterpolate, frameLoop, FluidValue as FluidValue2, Globals as G4, callFluidObservers } from \"@react-spring/shared\";\nimport { getAnimated } from \"@react-spring/animated\";\n\nvar isFrameValue = value => value instanceof FrameValue;\n\nvar nextId = 1;\nvar FrameValue = class extends FluidValue2 {\n constructor() {\n super(...arguments);\n this.id = nextId++;\n this._priority = 0;\n }\n\n get priority() {\n return this._priority;\n }\n\n set priority(priority) {\n if (this._priority != priority) {\n this._priority = priority;\n\n this._onPriorityChange(priority);\n }\n }\n /** Get the current value */\n\n\n get() {\n var node = getAnimated(this);\n return node && node.getValue();\n }\n /** Create a spring that maps our value to another value */\n\n\n to() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return G4.to(this, args);\n }\n /** @deprecated Use the `to` method instead. */\n\n\n interpolate() {\n deprecateInterpolate();\n\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return G4.to(this, args);\n }\n\n toJSON() {\n return this.get();\n }\n\n observerAdded(count) {\n if (count == 1) this._attach();\n }\n\n observerRemoved(count) {\n if (count == 0) this._detach();\n }\n /** Called when the first child is added. */\n\n\n _attach() {}\n /** Called when the last child is removed. */\n\n\n _detach() {}\n /** Tell our children about our new value */\n\n\n _onChange(value) {\n var idle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n callFluidObservers(this, {\n type: \"change\",\n parent: this,\n value,\n idle\n });\n }\n /** Tell our children about our new priority */\n\n\n _onPriorityChange(priority) {\n if (!this.idle) {\n frameLoop.sort(this);\n }\n\n callFluidObservers(this, {\n type: \"priority\",\n parent: this,\n priority\n });\n }\n\n}; // src/SpringPhase.ts\n\nvar $P = Symbol.for(\"SpringPhase\");\nvar HAS_ANIMATED = 1;\nvar IS_ANIMATING = 2;\nvar IS_PAUSED = 4;\n\nvar hasAnimated = target => (target[$P] & HAS_ANIMATED) > 0;\n\nvar isAnimating = target => (target[$P] & IS_ANIMATING) > 0;\n\nvar isPaused = target => (target[$P] & IS_PAUSED) > 0;\n\nvar setActiveBit = (target, active) => active ? target[$P] |= IS_ANIMATING | HAS_ANIMATED : target[$P] &= ~IS_ANIMATING;\n\nvar setPausedBit = (target, paused) => paused ? target[$P] |= IS_PAUSED : target[$P] &= ~IS_PAUSED; // src/SpringValue.ts\n\n\nvar SpringValue = class extends FrameValue {\n constructor(arg1, arg2) {\n super();\n /** The animation state */\n\n this.animation = new Animation();\n /** Some props have customizable default values */\n\n this.defaultProps = {};\n /** The state for `runAsync` calls */\n\n this._state = {\n paused: false,\n delayed: false,\n pauseQueue: /* @__PURE__ */new Set(),\n resumeQueue: /* @__PURE__ */new Set(),\n timeouts: /* @__PURE__ */new Set()\n };\n /** The promise resolvers of pending `start` calls */\n\n this._pendingCalls = /* @__PURE__ */new Set();\n /** The counter for tracking `scheduleProps` calls */\n\n this._lastCallId = 0;\n /** The last `scheduleProps` call that changed the `to` prop */\n\n this._lastToId = 0;\n this._memoizedDuration = 0;\n\n if (!is5.und(arg1) || !is5.und(arg2)) {\n var props = is5.obj(arg1) ? _objectSpread({}, arg1) : _objectSpread(_objectSpread({}, arg2), {}, {\n from: arg1\n });\n\n if (is5.und(props.default)) {\n props.default = true;\n }\n\n this.start(props);\n }\n }\n /** Equals true when not advancing on each frame. */\n\n\n get idle() {\n return !(isAnimating(this) || this._state.asyncTo) || isPaused(this);\n }\n\n get goal() {\n return getFluidValue2(this.animation.to);\n }\n\n get velocity() {\n var node = getAnimated2(this);\n return node instanceof AnimatedValue ? node.lastVelocity || 0 : node.getPayload().map(node2 => node2.lastVelocity || 0);\n }\n /**\n * When true, this value has been animated at least once.\n */\n\n\n get hasAnimated() {\n return hasAnimated(this);\n }\n /**\n * When true, this value has an unfinished animation,\n * which is either active or paused.\n */\n\n\n get isAnimating() {\n return isAnimating(this);\n }\n /**\n * When true, all current and future animations are paused.\n */\n\n\n get isPaused() {\n return isPaused(this);\n }\n /**\n *\n *\n */\n\n\n get isDelayed() {\n return this._state.delayed;\n }\n /** Advance the current animation by a number of milliseconds */\n\n\n advance(dt) {\n var idle = true;\n var changed = false;\n var anim = this.animation;\n var {\n toValues\n } = anim;\n var {\n config: config2\n } = anim;\n var payload = getPayload(anim.to);\n\n if (!payload && hasFluidValue(anim.to)) {\n toValues = toArray2(getFluidValue2(anim.to));\n }\n\n anim.values.forEach((node2, i) => {\n if (node2.done) return;\n var to2 = // Animated strings always go from 0 to 1.\n node2.constructor == AnimatedString ? 1 : payload ? payload[i].lastPosition : toValues[i];\n var finished = anim.immediate;\n var position = to2;\n\n if (!finished) {\n position = node2.lastPosition;\n\n if (config2.tension <= 0) {\n node2.done = true;\n return;\n }\n\n var elapsed = node2.elapsedTime += dt;\n var from = anim.fromValues[i];\n var v0 = node2.v0 != null ? node2.v0 : node2.v0 = is5.arr(config2.velocity) ? config2.velocity[i] : config2.velocity;\n var velocity;\n var precision = config2.precision || (from == to2 ? 5e-3 : Math.min(1, Math.abs(to2 - from) * 1e-3));\n\n if (!is5.und(config2.duration)) {\n var p = 1;\n\n if (config2.duration > 0) {\n if (this._memoizedDuration !== config2.duration) {\n this._memoizedDuration = config2.duration;\n\n if (node2.durationProgress > 0) {\n node2.elapsedTime = config2.duration * node2.durationProgress;\n elapsed = node2.elapsedTime += dt;\n }\n }\n\n p = (config2.progress || 0) + elapsed / this._memoizedDuration;\n p = p > 1 ? 1 : p < 0 ? 0 : p;\n node2.durationProgress = p;\n }\n\n position = from + config2.easing(p) * (to2 - from);\n velocity = (position - node2.lastPosition) / dt;\n finished = p == 1;\n } else if (config2.decay) {\n var decay = config2.decay === true ? 0.998 : config2.decay;\n var e = Math.exp(-(1 - decay) * elapsed);\n position = from + v0 / (1 - decay) * (1 - e);\n finished = Math.abs(node2.lastPosition - position) <= precision;\n velocity = v0 * e;\n } else {\n velocity = node2.lastVelocity == null ? v0 : node2.lastVelocity;\n var restVelocity = config2.restVelocity || precision / 10;\n var bounceFactor = config2.clamp ? 0 : config2.bounce;\n var canBounce = !is5.und(bounceFactor);\n var isGrowing = from == to2 ? node2.v0 > 0 : from < to2;\n var isMoving;\n var isBouncing = false;\n var step = 1;\n var numSteps = Math.ceil(dt / step);\n\n for (var n = 0; n < numSteps; ++n) {\n isMoving = Math.abs(velocity) > restVelocity;\n\n if (!isMoving) {\n finished = Math.abs(to2 - position) <= precision;\n\n if (finished) {\n break;\n }\n }\n\n if (canBounce) {\n isBouncing = position == to2 || position > to2 == isGrowing;\n\n if (isBouncing) {\n velocity = -velocity * bounceFactor;\n position = to2;\n }\n }\n\n var springForce = -config2.tension * 1e-6 * (position - to2);\n var dampingForce = -config2.friction * 1e-3 * velocity;\n var acceleration = (springForce + dampingForce) / config2.mass;\n velocity = velocity + acceleration * step;\n position = position + velocity * step;\n }\n }\n\n node2.lastVelocity = velocity;\n\n if (Number.isNaN(position)) {\n console.warn(\"Got NaN while animating:\", this);\n finished = true;\n }\n }\n\n if (payload && !payload[i].done) {\n finished = false;\n }\n\n if (finished) {\n node2.done = true;\n } else {\n idle = false;\n }\n\n if (node2.setValue(position, config2.round)) {\n changed = true;\n }\n });\n var node = getAnimated2(this);\n var currVal = node.getValue();\n\n if (idle) {\n var finalVal = getFluidValue2(anim.to);\n\n if ((currVal !== finalVal || changed) && !config2.decay) {\n node.setValue(finalVal);\n\n this._onChange(finalVal);\n } else if (changed && config2.decay) {\n this._onChange(currVal);\n }\n\n this._stop();\n } else if (changed) {\n this._onChange(currVal);\n }\n }\n /** Set the current value, while stopping the current animation */\n\n\n set(value) {\n raf3.batchedUpdates(() => {\n this._stop();\n\n this._focus(value);\n\n this._set(value);\n });\n return this;\n }\n /**\n * Freeze the active animation in time, as well as any updates merged\n * before `resume` is called.\n */\n\n\n pause() {\n this._update({\n pause: true\n });\n }\n /** Resume the animation if paused. */\n\n\n resume() {\n this._update({\n pause: false\n });\n }\n /** Skip to the end of the current animation. */\n\n\n finish() {\n if (isAnimating(this)) {\n var {\n to: to2,\n config: config2\n } = this.animation;\n raf3.batchedUpdates(() => {\n this._onStart();\n\n if (!config2.decay) {\n this._set(to2, false);\n }\n\n this._stop();\n });\n }\n\n return this;\n }\n /** Push props into the pending queue. */\n\n\n update(props) {\n var queue = this.queue || (this.queue = []);\n queue.push(props);\n return this;\n }\n\n start(to2, arg2) {\n var queue;\n\n if (!is5.und(to2)) {\n queue = [is5.obj(to2) ? to2 : _objectSpread(_objectSpread({}, arg2), {}, {\n to: to2\n })];\n } else {\n queue = this.queue || [];\n this.queue = [];\n }\n\n return Promise.all(queue.map(props => {\n var up = this._update(props);\n\n return up;\n })).then(results => getCombinedResult(this, results));\n }\n /**\n * Stop the current animation, and cancel any delayed updates.\n *\n * Pass `true` to call `onRest` with `cancelled: true`.\n */\n\n\n stop(cancel) {\n var {\n to: to2\n } = this.animation;\n\n this._focus(this.get());\n\n stopAsync(this._state, cancel && this._lastCallId);\n raf3.batchedUpdates(() => this._stop(to2, cancel));\n return this;\n }\n /** Restart the animation. */\n\n\n reset() {\n this._update({\n reset: true\n });\n }\n /** @internal */\n\n\n eventObserved(event) {\n if (event.type == \"change\") {\n this._start();\n } else if (event.type == \"priority\") {\n this.priority = event.priority + 1;\n }\n }\n /**\n * Parse the `to` and `from` range from the given `props` object.\n *\n * This also ensures the initial value is available to animated components\n * during the render phase.\n */\n\n\n _prepareNode(props) {\n var key = this.key || \"\";\n var {\n to: to2,\n from\n } = props;\n to2 = is5.obj(to2) ? to2[key] : to2;\n\n if (to2 == null || isAsyncTo(to2)) {\n to2 = void 0;\n }\n\n from = is5.obj(from) ? from[key] : from;\n\n if (from == null) {\n from = void 0;\n }\n\n var range = {\n to: to2,\n from\n };\n\n if (!hasAnimated(this)) {\n if (props.reverse) [to2, from] = [from, to2];\n from = getFluidValue2(from);\n\n if (!is5.und(from)) {\n this._set(from);\n } else if (!getAnimated2(this)) {\n this._set(to2);\n }\n }\n\n return range;\n }\n /** Every update is processed by this method before merging. */\n\n\n _update(_ref5, isLoop) {\n var props = _extends({}, _ref5);\n\n var {\n key,\n defaultProps\n } = this;\n if (props.default) Object.assign(defaultProps, getDefaultProps(props, (value, prop) => /^on/.test(prop) ? resolveProp(value, key) : value));\n mergeActiveFn(this, props, \"onProps\");\n sendEvent(this, \"onProps\", props, this);\n\n var range = this._prepareNode(props);\n\n if (Object.isFrozen(this)) {\n throw Error(\"Cannot animate a `SpringValue` object that is frozen. Did you forget to pass your component to `animated(...)` before animating its props?\");\n }\n\n var state = this._state;\n return scheduleProps(++this._lastCallId, {\n key,\n props,\n defaultProps,\n state,\n actions: {\n pause: () => {\n if (!isPaused(this)) {\n setPausedBit(this, true);\n flushCalls(state.pauseQueue);\n sendEvent(this, \"onPause\", getFinishedResult(this, checkFinished(this, this.animation.to)), this);\n }\n },\n resume: () => {\n if (isPaused(this)) {\n setPausedBit(this, false);\n\n if (isAnimating(this)) {\n this._resume();\n }\n\n flushCalls(state.resumeQueue);\n sendEvent(this, \"onResume\", getFinishedResult(this, checkFinished(this, this.animation.to)), this);\n }\n },\n start: this._merge.bind(this, range)\n }\n }).then(result => {\n if (props.loop && result.finished && !(isLoop && result.noop)) {\n var nextProps = createLoopUpdate(props);\n\n if (nextProps) {\n return this._update(nextProps, true);\n }\n }\n\n return result;\n });\n }\n /** Merge props into the current animation */\n\n\n _merge(range, props, resolve) {\n if (props.cancel) {\n this.stop(true);\n return resolve(getCancelledResult(this));\n }\n\n var hasToProp = !is5.und(range.to);\n var hasFromProp = !is5.und(range.from);\n\n if (hasToProp || hasFromProp) {\n if (props.callId > this._lastToId) {\n this._lastToId = props.callId;\n } else {\n return resolve(getCancelledResult(this));\n }\n }\n\n var {\n key,\n defaultProps,\n animation: anim\n } = this;\n var {\n to: prevTo,\n from: prevFrom\n } = anim;\n var {\n to: to2 = prevTo,\n from = prevFrom\n } = range;\n\n if (hasFromProp && !hasToProp && (!props.default || is5.und(to2))) {\n to2 = from;\n }\n\n if (props.reverse) [to2, from] = [from, to2];\n var hasFromChanged = !isEqual(from, prevFrom);\n\n if (hasFromChanged) {\n anim.from = from;\n }\n\n from = getFluidValue2(from);\n var hasToChanged = !isEqual(to2, prevTo);\n\n if (hasToChanged) {\n this._focus(to2);\n }\n\n var hasAsyncTo = isAsyncTo(props.to);\n var {\n config: config2\n } = anim;\n var {\n decay,\n velocity\n } = config2;\n\n if (hasToProp || hasFromProp) {\n config2.velocity = 0;\n }\n\n if (props.config && !hasAsyncTo) {\n mergeConfig(config2, callProp(props.config, key), // Avoid calling the same \"config\" prop twice.\n props.config !== defaultProps.config ? callProp(defaultProps.config, key) : void 0);\n }\n\n var node = getAnimated2(this);\n\n if (!node || is5.und(to2)) {\n return resolve(getFinishedResult(this, true));\n }\n\n var reset = // When `reset` is undefined, the `from` prop implies `reset: true`,\n // except for declarative updates. When `reset` is defined, there\n // must exist a value to animate from.\n is5.und(props.reset) ? hasFromProp && !props.default : !is5.und(from) && matchProp(props.reset, key);\n var value = reset ? from : this.get();\n var goal = computeGoal(to2);\n var isAnimatable = is5.num(goal) || is5.arr(goal) || isAnimatedString2(goal);\n var immediate = !hasAsyncTo && (!isAnimatable || matchProp(defaultProps.immediate || props.immediate, key));\n\n if (hasToChanged) {\n var nodeType = getAnimatedType(to2);\n\n if (nodeType !== node.constructor) {\n if (immediate) {\n node = this._set(goal);\n } else throw Error(\"Cannot animate between \".concat(node.constructor.name, \" and \").concat(nodeType.name, \", as the \\\"to\\\" prop suggests\"));\n }\n }\n\n var goalType = node.constructor;\n var started = hasFluidValue(to2);\n var finished = false;\n\n if (!started) {\n var hasValueChanged = reset || !hasAnimated(this) && hasFromChanged;\n\n if (hasToChanged || hasValueChanged) {\n finished = isEqual(computeGoal(value), goal);\n started = !finished;\n }\n\n if (!isEqual(anim.immediate, immediate) && !immediate || !isEqual(config2.decay, decay) || !isEqual(config2.velocity, velocity)) {\n started = true;\n }\n }\n\n if (finished && isAnimating(this)) {\n if (anim.changed && !reset) {\n started = true;\n } else if (!started) {\n this._stop(prevTo);\n }\n }\n\n if (!hasAsyncTo) {\n if (started || hasFluidValue(prevTo)) {\n anim.values = node.getPayload();\n anim.toValues = hasFluidValue(to2) ? null : goalType == AnimatedString ? [1] : toArray2(goal);\n }\n\n if (anim.immediate != immediate) {\n anim.immediate = immediate;\n\n if (!immediate && !reset) {\n this._set(prevTo);\n }\n }\n\n if (started) {\n var {\n onRest\n } = anim;\n each2(ACTIVE_EVENTS, type => mergeActiveFn(this, props, type));\n var result = getFinishedResult(this, checkFinished(this, prevTo));\n flushCalls(this._pendingCalls, result);\n\n this._pendingCalls.add(resolve);\n\n if (anim.changed) raf3.batchedUpdates(() => {\n anim.changed = !reset;\n onRest === null || onRest === void 0 ? void 0 : onRest(result, this);\n\n if (reset) {\n callProp(defaultProps.onRest, result);\n } else {\n var _anim$onStart;\n\n (_anim$onStart = anim.onStart) === null || _anim$onStart === void 0 ? void 0 : _anim$onStart.call(anim, result, this);\n }\n });\n }\n }\n\n if (reset) {\n this._set(value);\n }\n\n if (hasAsyncTo) {\n resolve(runAsync(props.to, props, this._state, this));\n } else if (started) {\n this._start();\n } else if (isAnimating(this) && !hasToChanged) {\n this._pendingCalls.add(resolve);\n } else {\n resolve(getNoopResult(value));\n }\n }\n /** Update the `animation.to` value, which might be a `FluidValue` */\n\n\n _focus(value) {\n var anim = this.animation;\n\n if (value !== anim.to) {\n if (getFluidObservers(this)) {\n this._detach();\n }\n\n anim.to = value;\n\n if (getFluidObservers(this)) {\n this._attach();\n }\n }\n }\n\n _attach() {\n var priority = 0;\n var {\n to: to2\n } = this.animation;\n\n if (hasFluidValue(to2)) {\n addFluidObserver(to2, this);\n\n if (isFrameValue(to2)) {\n priority = to2.priority + 1;\n }\n }\n\n this.priority = priority;\n }\n\n _detach() {\n var {\n to: to2\n } = this.animation;\n\n if (hasFluidValue(to2)) {\n removeFluidObserver(to2, this);\n }\n }\n /**\n * Update the current value from outside the frameloop,\n * and return the `Animated` node.\n */\n\n\n _set(arg) {\n var idle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var value = getFluidValue2(arg);\n\n if (!is5.und(value)) {\n var oldNode = getAnimated2(this);\n\n if (!oldNode || !isEqual(value, oldNode.getValue())) {\n var nodeType = getAnimatedType(value);\n\n if (!oldNode || oldNode.constructor != nodeType) {\n setAnimated(this, nodeType.create(value));\n } else {\n oldNode.setValue(value);\n }\n\n if (oldNode) {\n raf3.batchedUpdates(() => {\n this._onChange(value, idle);\n });\n }\n }\n }\n\n return getAnimated2(this);\n }\n\n _onStart() {\n var anim = this.animation;\n\n if (!anim.changed) {\n anim.changed = true;\n sendEvent(this, \"onStart\", getFinishedResult(this, checkFinished(this, anim.to)), this);\n }\n }\n\n _onChange(value, idle) {\n if (!idle) {\n this._onStart();\n\n callProp(this.animation.onChange, value, this);\n }\n\n callProp(this.defaultProps.onChange, value, this);\n\n super._onChange(value, idle);\n } // This method resets the animation state (even if already animating) to\n // ensure the latest from/to range is used, and it also ensures this spring\n // is added to the frameloop.\n\n\n _start() {\n var anim = this.animation;\n getAnimated2(this).reset(getFluidValue2(anim.to));\n\n if (!anim.immediate) {\n anim.fromValues = anim.values.map(node => node.lastPosition);\n }\n\n if (!isAnimating(this)) {\n setActiveBit(this, true);\n\n if (!isPaused(this)) {\n this._resume();\n }\n }\n }\n\n _resume() {\n if (G5.skipAnimation) {\n this.finish();\n } else {\n frameLoop2.start(this);\n }\n }\n /**\n * Exit the frameloop and notify `onRest` listeners.\n *\n * Always wrap `_stop` calls with `batchedUpdates`.\n */\n\n\n _stop(goal, cancel) {\n if (isAnimating(this)) {\n setActiveBit(this, false);\n var anim = this.animation;\n each2(anim.values, node => {\n node.done = true;\n });\n\n if (anim.toValues) {\n anim.onChange = anim.onPause = anim.onResume = void 0;\n }\n\n callFluidObservers2(this, {\n type: \"idle\",\n parent: this\n });\n var result = cancel ? getCancelledResult(this.get()) : getFinishedResult(this.get(), checkFinished(this, goal !== null && goal !== void 0 ? goal : anim.to));\n flushCalls(this._pendingCalls, result);\n\n if (anim.changed) {\n anim.changed = false;\n sendEvent(this, \"onRest\", result, this);\n }\n }\n }\n\n};\n\nfunction checkFinished(target, to2) {\n var goal = computeGoal(to2);\n var value = computeGoal(target.get());\n return isEqual(value, goal);\n}\n\nfunction createLoopUpdate(props) {\n var loop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : props.loop;\n var to2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : props.to;\n var loopRet = callProp(loop);\n\n if (loopRet) {\n var overrides = loopRet !== true && inferTo(loopRet);\n var reverse = (overrides || props).reverse;\n var reset = !overrides || overrides.reset;\n return createUpdate(_objectSpread(_objectSpread({}, props), {}, {\n loop,\n // Avoid updating default props when looping.\n default: false,\n // Never loop the `pause` prop.\n pause: void 0,\n // For the \"reverse\" prop to loop as expected, the \"to\" prop\n // must be undefined. The \"reverse\" prop is ignored when the\n // \"to\" prop is an array or function.\n to: !reverse || isAsyncTo(to2) ? to2 : void 0,\n // Ignore the \"from\" prop except on reset.\n from: reset ? props.from : void 0,\n reset\n }, overrides));\n }\n}\n\nfunction createUpdate(props) {\n var {\n to: to2,\n from\n } = props = inferTo(props);\n var keys = /* @__PURE__ */new Set();\n if (is5.obj(to2)) findDefined(to2, keys);\n if (is5.obj(from)) findDefined(from, keys);\n props.keys = keys.size ? Array.from(keys) : null;\n return props;\n}\n\nfunction declareUpdate(props) {\n var update2 = createUpdate(props);\n\n if (is5.und(update2.default)) {\n update2.default = getDefaultProps(update2);\n }\n\n return update2;\n}\n\nfunction findDefined(values, keys) {\n eachProp3(values, (value, key) => value != null && keys.add(key));\n}\n\nvar ACTIVE_EVENTS = [\"onStart\", \"onRest\", \"onChange\", \"onPause\", \"onResume\"];\n\nfunction mergeActiveFn(target, props, type) {\n target.animation[type] = props[type] !== getDefaultProp(props, type) ? resolveProp(props[type], target.key) : void 0;\n}\n\nfunction sendEvent(target, type) {\n var _target$animation$typ, _target$animation, _target$defaultProps$, _target$defaultProps;\n\n for (var _len4 = arguments.length, args = new Array(_len4 > 2 ? _len4 - 2 : 0), _key4 = 2; _key4 < _len4; _key4++) {\n args[_key4 - 2] = arguments[_key4];\n }\n\n (_target$animation$typ = (_target$animation = target.animation)[type]) === null || _target$animation$typ === void 0 ? void 0 : _target$animation$typ.call(_target$animation, ...args);\n (_target$defaultProps$ = (_target$defaultProps = target.defaultProps)[type]) === null || _target$defaultProps$ === void 0 ? void 0 : _target$defaultProps$.call(_target$defaultProps, ...args);\n} // src/Controller.ts\n\n\nimport { is as is6, raf as raf4, each as each3, noop, flush as flush2, toArray as toArray3, eachProp as eachProp4, flushCalls as flushCalls2, addFluidObserver as addFluidObserver2 } from \"@react-spring/shared\";\nvar BATCHED_EVENTS = [\"onStart\", \"onChange\", \"onRest\"];\nvar nextId2 = 1;\nvar Controller = class {\n constructor(props, flush3) {\n this.id = nextId2++;\n /** The animated values */\n\n this.springs = {};\n /** The queue of props passed to the `update` method. */\n\n this.queue = [];\n /** The counter for tracking `scheduleProps` calls */\n\n this._lastAsyncId = 0;\n /** The values currently being animated */\n\n this._active = /* @__PURE__ */new Set();\n /** The values that changed recently */\n\n this._changed = /* @__PURE__ */new Set();\n /** Equals false when `onStart` listeners can be called */\n\n this._started = false;\n /** State used by the `runAsync` function */\n\n this._state = {\n paused: false,\n pauseQueue: /* @__PURE__ */new Set(),\n resumeQueue: /* @__PURE__ */new Set(),\n timeouts: /* @__PURE__ */new Set()\n };\n /** The event queues that are flushed once per frame maximum */\n\n this._events = {\n onStart: /* @__PURE__ */new Map(),\n onChange: /* @__PURE__ */new Map(),\n onRest: /* @__PURE__ */new Map()\n };\n this._onFrame = this._onFrame.bind(this);\n\n if (flush3) {\n this._flush = flush3;\n }\n\n if (props) {\n this.start(_objectSpread({\n default: true\n }, props));\n }\n }\n /**\n * Equals `true` when no spring values are in the frameloop, and\n * no async animation is currently active.\n */\n\n\n get idle() {\n return !this._state.asyncTo && Object.values(this.springs).every(spring => {\n return spring.idle && !spring.isDelayed && !spring.isPaused;\n });\n }\n\n get item() {\n return this._item;\n }\n\n set item(item) {\n this._item = item;\n }\n /** Get the current values of our springs */\n\n\n get() {\n var values = {};\n this.each((spring, key) => values[key] = spring.get());\n return values;\n }\n /** Set the current values without animating. */\n\n\n set(values) {\n for (var key in values) {\n var value = values[key];\n\n if (!is6.und(value)) {\n this.springs[key].set(value);\n }\n }\n }\n /** Push an update onto the queue of each value. */\n\n\n update(props) {\n if (props) {\n this.queue.push(createUpdate(props));\n }\n\n return this;\n }\n /**\n * Start the queued animations for every spring, and resolve the returned\n * promise once all queued animations have finished or been cancelled.\n *\n * When you pass a queue (instead of nothing), that queue is used instead of\n * the queued animations added with the `update` method, which are left alone.\n */\n\n\n start(props) {\n var {\n queue\n } = this;\n\n if (props) {\n queue = toArray3(props).map(createUpdate);\n } else {\n this.queue = [];\n }\n\n if (this._flush) {\n return this._flush(this, queue);\n }\n\n prepareKeys(this, queue);\n return flushUpdateQueue(this, queue);\n }\n /** @internal */\n\n\n stop(arg, keys) {\n if (arg !== !!arg) {\n keys = arg;\n }\n\n if (keys) {\n var springs = this.springs;\n each3(toArray3(keys), key => springs[key].stop(!!arg));\n } else {\n stopAsync(this._state, this._lastAsyncId);\n this.each(spring => spring.stop(!!arg));\n }\n\n return this;\n }\n /** Freeze the active animation in time */\n\n\n pause(keys) {\n if (is6.und(keys)) {\n this.start({\n pause: true\n });\n } else {\n var springs = this.springs;\n each3(toArray3(keys), key => springs[key].pause());\n }\n\n return this;\n }\n /** Resume the animation if paused. */\n\n\n resume(keys) {\n if (is6.und(keys)) {\n this.start({\n pause: false\n });\n } else {\n var springs = this.springs;\n each3(toArray3(keys), key => springs[key].resume());\n }\n\n return this;\n }\n /** Call a function once per spring value */\n\n\n each(iterator) {\n eachProp4(this.springs, iterator);\n }\n /** @internal Called at the end of every animation frame */\n\n\n _onFrame() {\n var {\n onStart,\n onChange,\n onRest\n } = this._events;\n var active = this._active.size > 0;\n var changed = this._changed.size > 0;\n\n if (active && !this._started || changed && !this._started) {\n this._started = true;\n flush2(onStart, _ref6 => {\n var [onStart2, result] = _ref6;\n result.value = this.get();\n onStart2(result, this, this._item);\n });\n }\n\n var idle = !active && this._started;\n var values = changed || idle && onRest.size ? this.get() : null;\n\n if (changed && onChange.size) {\n flush2(onChange, _ref7 => {\n var [onChange2, result] = _ref7;\n result.value = values;\n onChange2(result, this, this._item);\n });\n }\n\n if (idle) {\n this._started = false;\n flush2(onRest, _ref8 => {\n var [onRest2, result] = _ref8;\n result.value = values;\n onRest2(result, this, this._item);\n });\n }\n }\n /** @internal */\n\n\n eventObserved(event) {\n if (event.type == \"change\") {\n this._changed.add(event.parent);\n\n if (!event.idle) {\n this._active.add(event.parent);\n }\n } else if (event.type == \"idle\") {\n this._active.delete(event.parent);\n } else return;\n\n raf4.onFrame(this._onFrame);\n }\n\n};\n\nfunction flushUpdateQueue(ctrl, queue) {\n return Promise.all(queue.map(props => flushUpdate(ctrl, props))).then(results => getCombinedResult(ctrl, results));\n}\n\nfunction flushUpdate(_x2, _x3, _x4) {\n return _flushUpdate.apply(this, arguments);\n}\n\nfunction _flushUpdate() {\n _flushUpdate = _asyncToGenerator(function* (ctrl, props, isLoop) {\n var {\n keys,\n to: to2,\n from,\n loop,\n onRest,\n onResolve\n } = props;\n var defaults2 = is6.obj(props.default) && props.default;\n\n if (loop) {\n props.loop = false;\n }\n\n if (to2 === false) props.to = null;\n if (from === false) props.from = null;\n var asyncTo = is6.arr(to2) || is6.fun(to2) ? to2 : void 0;\n\n if (asyncTo) {\n props.to = void 0;\n props.onRest = void 0;\n\n if (defaults2) {\n defaults2.onRest = void 0;\n }\n } else {\n each3(BATCHED_EVENTS, key => {\n var handler = props[key];\n\n if (is6.fun(handler)) {\n var queue = ctrl[\"_events\"][key];\n\n props[key] = _ref21 => {\n var {\n finished,\n cancelled\n } = _ref21;\n var result2 = queue.get(handler);\n\n if (result2) {\n if (!finished) result2.finished = false;\n if (cancelled) result2.cancelled = true;\n } else {\n queue.set(handler, {\n value: null,\n finished: finished || false,\n cancelled: cancelled || false\n });\n }\n };\n\n if (defaults2) {\n defaults2[key] = props[key];\n }\n }\n });\n }\n\n var state = ctrl[\"_state\"];\n\n if (props.pause === !state.paused) {\n state.paused = props.pause;\n flushCalls2(props.pause ? state.pauseQueue : state.resumeQueue);\n } else if (state.paused) {\n props.pause = true;\n }\n\n var promises = (keys || Object.keys(ctrl.springs)).map(key => ctrl.springs[key].start(props));\n var cancel = props.cancel === true || getDefaultProp(props, \"cancel\") === true;\n\n if (asyncTo || cancel && state.asyncId) {\n promises.push(scheduleProps(++ctrl[\"_lastAsyncId\"], {\n props,\n state,\n actions: {\n pause: noop,\n resume: noop,\n\n start(props2, resolve) {\n if (cancel) {\n stopAsync(state, ctrl[\"_lastAsyncId\"]);\n resolve(getCancelledResult(ctrl));\n } else {\n props2.onRest = onRest;\n resolve(runAsync(asyncTo, props2, state, ctrl));\n }\n }\n\n }\n }));\n }\n\n if (state.paused) {\n yield new Promise(resume => {\n state.resumeQueue.add(resume);\n });\n }\n\n var result = getCombinedResult(ctrl, yield Promise.all(promises));\n\n if (loop && result.finished && !(isLoop && result.noop)) {\n var nextProps = createLoopUpdate(props, loop, to2);\n\n if (nextProps) {\n prepareKeys(ctrl, [nextProps]);\n return flushUpdate(ctrl, nextProps, true);\n }\n }\n\n if (onResolve) {\n raf4.batchedUpdates(() => onResolve(result, ctrl, ctrl.item));\n }\n\n return result;\n });\n return _flushUpdate.apply(this, arguments);\n}\n\nfunction getSprings(ctrl, props) {\n var springs = _objectSpread({}, ctrl.springs);\n\n if (props) {\n each3(toArray3(props), props2 => {\n if (is6.und(props2.keys)) {\n props2 = createUpdate(props2);\n }\n\n if (!is6.obj(props2.to)) {\n props2 = _objectSpread(_objectSpread({}, props2), {}, {\n to: void 0\n });\n }\n\n prepareSprings(springs, props2, key => {\n return createSpring(key);\n });\n });\n }\n\n setSprings(ctrl, springs);\n return springs;\n}\n\nfunction setSprings(ctrl, springs) {\n eachProp4(springs, (spring, key) => {\n if (!ctrl.springs[key]) {\n ctrl.springs[key] = spring;\n addFluidObserver2(spring, ctrl);\n }\n });\n}\n\nfunction createSpring(key, observer) {\n var spring = new SpringValue();\n spring.key = key;\n\n if (observer) {\n addFluidObserver2(spring, observer);\n }\n\n return spring;\n}\n\nfunction prepareSprings(springs, props, create) {\n if (props.keys) {\n each3(props.keys, key => {\n var spring = springs[key] || (springs[key] = create(key));\n spring[\"_prepareNode\"](props);\n });\n }\n}\n\nfunction prepareKeys(ctrl, queue) {\n each3(queue, props => {\n prepareSprings(ctrl.springs, props, key => {\n return createSpring(key, ctrl);\n });\n });\n} // src/SpringContext.tsx\n\n\nimport * as React from \"react\";\nimport { useContext } from \"react\";\nimport { useMemoOne } from \"@react-spring/shared\";\n\nvar SpringContext = _ref9 => {\n var {\n children\n } = _ref9,\n props = _objectWithoutProperties(_ref9, _excluded);\n\n var inherited = useContext(ctx);\n var pause = props.pause || !!inherited.pause,\n immediate = props.immediate || !!inherited.immediate;\n props = useMemoOne(() => ({\n pause,\n immediate\n }), [pause, immediate]);\n var {\n Provider\n } = ctx;\n return /* @__PURE__ */React.createElement(Provider, {\n value: props\n }, children);\n};\n\nvar ctx = makeContext(SpringContext, {});\nSpringContext.Provider = ctx.Provider;\nSpringContext.Consumer = ctx.Consumer;\n\nfunction makeContext(target, init) {\n Object.assign(target, React.createContext(init));\n target.Provider._context = target;\n target.Consumer._context = target;\n return target;\n} // src/SpringRef.ts\n\n\nimport { each as each4, is as is7, deprecateDirectCall } from \"@react-spring/shared\";\n\nvar SpringRef = () => {\n var current = [];\n\n var SpringRef2 = function SpringRef2(props) {\n deprecateDirectCall();\n var results = [];\n each4(current, (ctrl, i) => {\n if (is7.und(props)) {\n results.push(ctrl.start());\n } else {\n var update2 = _getProps(props, ctrl, i);\n\n if (update2) {\n results.push(ctrl.start(update2));\n }\n }\n });\n return results;\n };\n\n SpringRef2.current = current;\n\n SpringRef2.add = function (ctrl) {\n if (!current.includes(ctrl)) {\n current.push(ctrl);\n }\n };\n\n SpringRef2.delete = function (ctrl) {\n var i = current.indexOf(ctrl);\n if (~i) current.splice(i, 1);\n };\n\n SpringRef2.pause = function () {\n each4(current, ctrl => ctrl.pause(...arguments));\n return this;\n };\n\n SpringRef2.resume = function () {\n each4(current, ctrl => ctrl.resume(...arguments));\n return this;\n };\n\n SpringRef2.set = function (values) {\n each4(current, (ctrl, i) => {\n var update2 = is7.fun(values) ? values(i, ctrl) : values;\n\n if (update2) {\n ctrl.set(update2);\n }\n });\n };\n\n SpringRef2.start = function (props) {\n var results = [];\n each4(current, (ctrl, i) => {\n if (is7.und(props)) {\n results.push(ctrl.start());\n } else {\n var update2 = this._getProps(props, ctrl, i);\n\n if (update2) {\n results.push(ctrl.start(update2));\n }\n }\n });\n return results;\n };\n\n SpringRef2.stop = function () {\n each4(current, ctrl => ctrl.stop(...arguments));\n return this;\n };\n\n SpringRef2.update = function (props) {\n each4(current, (ctrl, i) => ctrl.update(this._getProps(props, ctrl, i)));\n return this;\n };\n\n var _getProps = function _getProps(arg, ctrl, index) {\n return is7.fun(arg) ? arg(index, ctrl) : arg;\n };\n\n SpringRef2._getProps = _getProps;\n return SpringRef2;\n}; // src/hooks/useSprings.ts\n\n\nfunction useSprings(length, props, deps) {\n var propsFn = is8.fun(props) && props;\n if (propsFn && !deps) deps = [];\n var ref = useMemo(() => propsFn || arguments.length == 3 ? SpringRef() : void 0, []);\n var layoutId = useRef(0);\n var forceUpdate = useForceUpdate();\n var state = useMemo(() => ({\n ctrls: [],\n queue: [],\n\n flush(ctrl, updates2) {\n var springs2 = getSprings(ctrl, updates2);\n var canFlushSync = layoutId.current > 0 && !state.queue.length && !Object.keys(springs2).some(key => !ctrl.springs[key]);\n return canFlushSync ? flushUpdateQueue(ctrl, updates2) : new Promise(resolve => {\n setSprings(ctrl, springs2);\n state.queue.push(() => {\n resolve(flushUpdateQueue(ctrl, updates2));\n });\n forceUpdate();\n });\n }\n\n }), []);\n var ctrls = useRef([...state.ctrls]);\n var updates = [];\n var prevLength = usePrev(length) || 0;\n useMemo(() => {\n each5(ctrls.current.slice(length, prevLength), ctrl => {\n detachRefs(ctrl, ref);\n ctrl.stop(true);\n });\n ctrls.current.length = length;\n declareUpdates(prevLength, length);\n }, [length]);\n useMemo(() => {\n declareUpdates(0, Math.min(prevLength, length));\n }, deps);\n\n function declareUpdates(startIndex, endIndex) {\n for (var i = startIndex; i < endIndex; i++) {\n var ctrl = ctrls.current[i] || (ctrls.current[i] = new Controller(null, state.flush));\n var update2 = propsFn ? propsFn(i, ctrl) : props[i];\n\n if (update2) {\n updates[i] = declareUpdate(update2);\n }\n }\n }\n\n var springs = ctrls.current.map((ctrl, i) => getSprings(ctrl, updates[i]));\n var context = useContext2(SpringContext);\n var prevContext = usePrev(context);\n var hasContext = context !== prevContext && hasProps(context);\n useIsomorphicLayoutEffect2(() => {\n layoutId.current++;\n state.ctrls = ctrls.current;\n var {\n queue\n } = state;\n\n if (queue.length) {\n state.queue = [];\n each5(queue, cb => cb());\n }\n\n each5(ctrls.current, (ctrl, i) => {\n ref === null || ref === void 0 ? void 0 : ref.add(ctrl);\n\n if (hasContext) {\n ctrl.start({\n default: context\n });\n }\n\n var update2 = updates[i];\n\n if (update2) {\n replaceRef(ctrl, update2.ref);\n\n if (ctrl.ref) {\n ctrl.queue.push(update2);\n } else {\n ctrl.start(update2);\n }\n }\n });\n });\n useOnce(() => () => {\n each5(state.ctrls, ctrl => ctrl.stop(true));\n });\n var values = springs.map(x => _objectSpread({}, x));\n return ref ? [values, ref] : values;\n} // src/hooks/useSpring.ts\n\n\nfunction useSpring(props, deps) {\n var isFn = is9.fun(props);\n var [[values], ref] = useSprings(1, isFn ? props : [props], isFn ? deps || [] : deps);\n return isFn || arguments.length == 2 ? [values, ref] : values;\n} // src/hooks/useSpringRef.ts\n\n\nimport { useState } from \"react\";\n\nvar initSpringRef = () => SpringRef();\n\nvar useSpringRef = () => useState(initSpringRef)[0]; // src/hooks/useSpringValue.ts\n\n\nimport { useConstant, useOnce as useOnce2 } from \"@react-spring/shared\";\n\nvar useSpringValue = (initial, props) => {\n var springValue = useConstant(() => new SpringValue(initial, props));\n useOnce2(() => () => {\n springValue.stop();\n });\n return springValue;\n}; // src/hooks/useTrail.ts\n\n\nimport { each as each6, is as is10, useIsomorphicLayoutEffect as useIsomorphicLayoutEffect3 } from \"@react-spring/shared\";\n\nfunction useTrail(length, propsArg, deps) {\n var propsFn = is10.fun(propsArg) && propsArg;\n if (propsFn && !deps) deps = [];\n var reverse = true;\n var passedRef = void 0;\n var result = useSprings(length, (i, ctrl) => {\n var props = propsFn ? propsFn(i, ctrl) : propsArg;\n passedRef = props.ref;\n reverse = reverse && props.reverse;\n return props;\n }, // Ensure the props function is called when no deps exist.\n // This works around the 3 argument rule.\n deps || [{}]);\n useIsomorphicLayoutEffect3(() => {\n each6(result[1].current, (ctrl, i) => {\n var parent = result[1].current[i + (reverse ? 1 : -1)];\n replaceRef(ctrl, passedRef);\n\n if (ctrl.ref) {\n if (parent) {\n ctrl.update({\n to: parent.springs\n });\n }\n\n return;\n }\n\n if (parent) {\n ctrl.start({\n to: parent.springs\n });\n } else {\n ctrl.start();\n }\n });\n }, deps);\n\n if (propsFn || arguments.length == 3) {\n var _passedRef;\n\n var ref = (_passedRef = passedRef) !== null && _passedRef !== void 0 ? _passedRef : result[1];\n\n ref[\"_getProps\"] = (propsArg2, ctrl, i) => {\n var props = is10.fun(propsArg2) ? propsArg2(i, ctrl) : propsArg2;\n\n if (props) {\n var parent = ref.current[i + (props.reverse ? 1 : -1)];\n if (parent) props.to = parent.springs;\n return props;\n }\n };\n\n return result;\n }\n\n return result[0];\n} // src/hooks/useTransition.tsx\n\n\nimport * as React2 from \"react\";\nimport { useContext as useContext3, useRef as useRef2, useMemo as useMemo2 } from \"react\";\nimport { is as is11, toArray as toArray4, useForceUpdate as useForceUpdate2, useOnce as useOnce3, usePrev as usePrev2, each as each7, useIsomorphicLayoutEffect as useIsomorphicLayoutEffect4 } from \"@react-spring/shared\";\n\nfunction useTransition(data, props, deps) {\n var propsFn = is11.fun(props) && props;\n var {\n reset,\n sort,\n trail = 0,\n expires = true,\n exitBeforeEnter = false,\n onDestroyed,\n ref: propsRef,\n config: propsConfig\n } = propsFn ? propsFn() : props;\n var ref = useMemo2(() => propsFn || arguments.length == 3 ? SpringRef() : void 0, []);\n var items = toArray4(data);\n var transitions = [];\n var usedTransitions = useRef2(null);\n var prevTransitions = reset ? null : usedTransitions.current;\n useIsomorphicLayoutEffect4(() => {\n usedTransitions.current = transitions;\n });\n useOnce3(() => {\n each7(transitions, t => {\n ref === null || ref === void 0 ? void 0 : ref.add(t.ctrl);\n t.ctrl.ref = ref;\n });\n return () => {\n each7(usedTransitions.current, t => {\n if (t.expired) {\n clearTimeout(t.expirationId);\n }\n\n detachRefs(t.ctrl, ref);\n t.ctrl.stop(true);\n });\n };\n });\n var keys = getKeys(items, propsFn ? propsFn() : props, prevTransitions);\n var expired = reset && usedTransitions.current || [];\n useIsomorphicLayoutEffect4(() => each7(expired, _ref10 => {\n var {\n ctrl,\n item,\n key\n } = _ref10;\n detachRefs(ctrl, ref);\n callProp(onDestroyed, item, key);\n }));\n var reused = [];\n if (prevTransitions) each7(prevTransitions, (t, i) => {\n if (t.expired) {\n clearTimeout(t.expirationId);\n expired.push(t);\n } else {\n i = reused[i] = keys.indexOf(t.key);\n if (~i) transitions[i] = t;\n }\n });\n each7(items, (item, i) => {\n if (!transitions[i]) {\n transitions[i] = {\n key: keys[i],\n item,\n phase: \"mount\"\n /* MOUNT */\n ,\n ctrl: new Controller()\n };\n transitions[i].ctrl.item = item;\n }\n });\n\n if (reused.length) {\n var i = -1;\n var {\n leave\n } = propsFn ? propsFn() : props;\n each7(reused, (keyIndex, prevIndex) => {\n var t = prevTransitions[prevIndex];\n\n if (~keyIndex) {\n i = transitions.indexOf(t);\n transitions[i] = _objectSpread(_objectSpread({}, t), {}, {\n item: items[keyIndex]\n });\n } else if (leave) {\n transitions.splice(++i, 0, t);\n }\n });\n }\n\n if (is11.fun(sort)) {\n transitions.sort((a, b) => sort(a.item, b.item));\n }\n\n var delay = -trail;\n var forceUpdate = useForceUpdate2();\n var defaultProps = getDefaultProps(props);\n var changes = /* @__PURE__ */new Map();\n var exitingTransitions = useRef2( /* @__PURE__ */new Map());\n var forceChange = useRef2(false);\n each7(transitions, (t, i) => {\n var key = t.key;\n var prevPhase = t.phase;\n var p = propsFn ? propsFn() : props;\n var to2;\n var phase;\n var propsDelay = callProp(p.delay || 0, key);\n\n if (prevPhase == \"mount\"\n /* MOUNT */\n ) {\n to2 = p.enter;\n phase = \"enter\"\n /* ENTER */\n ;\n } else {\n var isLeave = keys.indexOf(key) < 0;\n\n if (prevPhase != \"leave\"\n /* LEAVE */\n ) {\n if (isLeave) {\n to2 = p.leave;\n phase = \"leave\"\n /* LEAVE */\n ;\n } else if (to2 = p.update) {\n phase = \"update\"\n /* UPDATE */\n ;\n } else return;\n } else if (!isLeave) {\n to2 = p.enter;\n phase = \"enter\"\n /* ENTER */\n ;\n } else return;\n }\n\n to2 = callProp(to2, t.item, i);\n to2 = is11.obj(to2) ? inferTo(to2) : {\n to: to2\n };\n\n if (!to2.config) {\n var config2 = propsConfig || defaultProps.config;\n to2.config = callProp(config2, t.item, i, phase);\n }\n\n delay += trail;\n\n var payload = _objectSpread(_objectSpread({}, defaultProps), {}, {\n // we need to add our props.delay value you here.\n delay: propsDelay + delay,\n ref: propsRef,\n immediate: p.immediate,\n // This prevents implied resets.\n reset: false\n }, to2);\n\n if (phase == \"enter\"\n /* ENTER */\n && is11.und(payload.from)) {\n var p2 = propsFn ? propsFn() : props;\n var from = is11.und(p2.initial) || prevTransitions ? p2.from : p2.initial;\n payload.from = callProp(from, t.item, i);\n }\n\n var {\n onResolve\n } = payload;\n\n payload.onResolve = result => {\n callProp(onResolve, result);\n var transitions2 = usedTransitions.current;\n var t2 = transitions2.find(t3 => t3.key === key);\n if (!t2) return;\n\n if (result.cancelled && t2.phase != \"update\"\n /* UPDATE */\n ) {\n return;\n }\n\n if (t2.ctrl.idle) {\n var idle = transitions2.every(t3 => t3.ctrl.idle);\n\n if (t2.phase == \"leave\"\n /* LEAVE */\n ) {\n var expiry = callProp(expires, t2.item);\n\n if (expiry !== false) {\n var expiryMs = expiry === true ? 0 : expiry;\n t2.expired = true;\n\n if (!idle && expiryMs > 0) {\n if (expiryMs <= 2147483647) t2.expirationId = setTimeout(forceUpdate, expiryMs);\n return;\n }\n }\n }\n\n if (idle && transitions2.some(t3 => t3.expired)) {\n exitingTransitions.current.delete(t2);\n\n if (exitBeforeEnter) {\n forceChange.current = true;\n }\n\n forceUpdate();\n }\n }\n };\n\n var springs = getSprings(t.ctrl, payload);\n\n if (phase === \"leave\"\n /* LEAVE */\n && exitBeforeEnter) {\n exitingTransitions.current.set(t, {\n phase,\n springs,\n payload\n });\n } else {\n changes.set(t, {\n phase,\n springs,\n payload\n });\n }\n });\n var context = useContext3(SpringContext);\n var prevContext = usePrev2(context);\n var hasContext = context !== prevContext && hasProps(context);\n useIsomorphicLayoutEffect4(() => {\n if (hasContext) {\n each7(transitions, t => {\n t.ctrl.start({\n default: context\n });\n });\n }\n }, [context]);\n each7(changes, (_, t) => {\n if (exitingTransitions.current.size) {\n var ind = transitions.findIndex(state => state.key === t.key);\n transitions.splice(ind, 1);\n }\n });\n useIsomorphicLayoutEffect4(() => {\n each7(exitingTransitions.current.size ? exitingTransitions.current : changes, (_ref11, t) => {\n var {\n phase,\n payload\n } = _ref11;\n var {\n ctrl\n } = t;\n t.phase = phase;\n ref === null || ref === void 0 ? void 0 : ref.add(ctrl);\n\n if (hasContext && phase == \"enter\"\n /* ENTER */\n ) {\n ctrl.start({\n default: context\n });\n }\n\n if (payload) {\n replaceRef(ctrl, payload.ref);\n\n if ((ctrl.ref || ref) && !forceChange.current) {\n ctrl.update(payload);\n } else {\n ctrl.start(payload);\n\n if (forceChange.current) {\n forceChange.current = false;\n }\n }\n }\n });\n }, reset ? void 0 : deps);\n\n var renderTransitions = render => /* @__PURE__ */React2.createElement(React2.Fragment, null, transitions.map((t, i) => {\n var {\n springs\n } = changes.get(t) || t.ctrl;\n var elem = render(_objectSpread({}, springs), t.item, t, i);\n return elem && elem.type ? /* @__PURE__ */React2.createElement(elem.type, _objectSpread(_objectSpread({}, elem.props), {}, {\n key: is11.str(t.key) || is11.num(t.key) ? t.key : t.ctrl.id,\n ref: elem.ref\n })) : elem;\n }));\n\n return ref ? [renderTransitions, ref] : renderTransitions;\n}\n\nvar nextKey = 1;\n\nfunction getKeys(items, _ref12, prevTransitions) {\n var {\n key,\n keys = key\n } = _ref12;\n\n if (keys === null) {\n var reused = /* @__PURE__ */new Set();\n return items.map(item => {\n var t = prevTransitions && prevTransitions.find(t2 => t2.item === item && t2.phase !== \"leave\"\n /* LEAVE */\n && !reused.has(t2));\n\n if (t) {\n reused.add(t);\n return t.key;\n }\n\n return nextKey++;\n });\n }\n\n return is11.und(keys) ? items : is11.fun(keys) ? items.map(keys) : toArray4(keys);\n} // src/hooks/useScroll.ts\n\n\nimport { each as each8, onScroll, useIsomorphicLayoutEffect as useIsomorphicLayoutEffect5 } from \"@react-spring/shared\";\n\nvar useScroll = function useScroll() {\n var _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n {\n container\n } = _ref13,\n springOptions = _objectWithoutProperties(_ref13, _excluded2);\n\n var [scrollValues, api] = useSpring(() => _objectSpread({\n scrollX: 0,\n scrollY: 0,\n scrollXProgress: 0,\n scrollYProgress: 0\n }, springOptions), []);\n useIsomorphicLayoutEffect5(() => {\n var cleanupScroll = onScroll(_ref14 => {\n var {\n x,\n y\n } = _ref14;\n api.start({\n scrollX: x.current,\n scrollXProgress: x.progress,\n scrollY: y.current,\n scrollYProgress: y.progress\n });\n }, {\n container: (container === null || container === void 0 ? void 0 : container.current) || void 0\n });\n return () => {\n each8(Object.values(scrollValues), value => value.stop());\n cleanupScroll();\n };\n }, []);\n return scrollValues;\n}; // src/hooks/useResize.ts\n\n\nimport { onResize, each as each9, useIsomorphicLayoutEffect as useIsomorphicLayoutEffect6 } from \"@react-spring/shared\";\n\nvar useResize = _ref15 => {\n var {\n container\n } = _ref15,\n springOptions = _objectWithoutProperties(_ref15, _excluded3);\n\n var [sizeValues, api] = useSpring(() => _objectSpread({\n width: 0,\n height: 0\n }, springOptions), []);\n useIsomorphicLayoutEffect6(() => {\n var cleanupScroll = onResize(_ref16 => {\n var {\n width,\n height\n } = _ref16;\n api.start({\n width,\n height,\n immediate: sizeValues.width.get() === 0 || sizeValues.height.get() === 0\n });\n }, {\n container: (container === null || container === void 0 ? void 0 : container.current) || void 0\n });\n return () => {\n each9(Object.values(sizeValues), value => value.stop());\n cleanupScroll();\n };\n }, []);\n return sizeValues;\n}; // src/hooks/useInView.ts\n\n\nimport { useRef as useRef3, useState as useState2 } from \"react\";\nimport { is as is12, useIsomorphicLayoutEffect as useIsomorphicLayoutEffect7 } from \"@react-spring/shared\";\nvar defaultThresholdOptions = {\n any: 0,\n all: 1\n};\n\nfunction useInView(props, args) {\n var [isInView, setIsInView] = useState2(false);\n var ref = useRef3();\n var propsFn = is12.fun(props) && props;\n var springsProps = propsFn ? propsFn() : {};\n\n var {\n to: to2 = {},\n from = {}\n } = springsProps,\n restSpringProps = _objectWithoutProperties(springsProps, _excluded4);\n\n var intersectionArguments = propsFn ? args : props;\n var [springs, api] = useSpring(() => _objectSpread({\n from\n }, restSpringProps), []);\n useIsomorphicLayoutEffect7(() => {\n var element = ref.current;\n\n var _ref17 = intersectionArguments !== null && intersectionArguments !== void 0 ? intersectionArguments : {},\n {\n root,\n once,\n amount = \"any\"\n } = _ref17,\n restArgs = _objectWithoutProperties(_ref17, _excluded5);\n\n if (!element || once && isInView || typeof IntersectionObserver === \"undefined\") return;\n var activeIntersections = /* @__PURE__ */new WeakMap();\n\n var onEnter = () => {\n if (to2) {\n api.start(to2);\n }\n\n setIsInView(true);\n\n var cleanup = () => {\n if (from) {\n api.start(from);\n }\n\n setIsInView(false);\n };\n\n return once ? void 0 : cleanup;\n };\n\n var handleIntersection = entries => {\n entries.forEach(entry => {\n var onLeave = activeIntersections.get(entry.target);\n\n if (entry.isIntersecting === Boolean(onLeave)) {\n return;\n }\n\n if (entry.isIntersecting) {\n var newOnLeave = onEnter();\n\n if (is12.fun(newOnLeave)) {\n activeIntersections.set(entry.target, newOnLeave);\n } else {\n observer.unobserve(entry.target);\n }\n } else if (onLeave) {\n onLeave();\n activeIntersections.delete(entry.target);\n }\n });\n };\n\n var observer = new IntersectionObserver(handleIntersection, _objectSpread({\n root: root && root.current || void 0,\n threshold: typeof amount === \"number\" || Array.isArray(amount) ? amount : defaultThresholdOptions[amount]\n }, restArgs));\n observer.observe(element);\n return () => observer.unobserve(element);\n }, [intersectionArguments]);\n\n if (propsFn) {\n return [ref, springs];\n }\n\n return [ref, isInView];\n} // src/components/Spring.tsx\n\n\nfunction Spring(_ref18) {\n var {\n children\n } = _ref18,\n props = _objectWithoutProperties(_ref18, _excluded6);\n\n return children(useSpring(props));\n} // src/components/Trail.tsx\n\n\nimport { is as is13 } from \"@react-spring/shared\";\n\nfunction Trail(_ref19) {\n var {\n items,\n children\n } = _ref19,\n props = _objectWithoutProperties(_ref19, _excluded7);\n\n var trails = useTrail(items.length, props);\n return items.map((item, index) => {\n var result = children(item, index);\n return is13.fun(result) ? result(trails[index]) : result;\n });\n} // src/components/Transition.tsx\n\n\nfunction Transition(_ref20) {\n var {\n items,\n children\n } = _ref20,\n props = _objectWithoutProperties(_ref20, _excluded8);\n\n return useTransition(items, props)(children);\n} // src/interpolate.ts\n\n\nimport { deprecateInterpolate as deprecateInterpolate2 } from \"@react-spring/shared\"; // src/Interpolation.ts\n\nimport { is as is14, raf as raf5, each as each10, isEqual as isEqual2, toArray as toArray5, frameLoop as frameLoop3, getFluidValue as getFluidValue3, createInterpolator, Globals as G6, callFluidObservers as callFluidObservers3, addFluidObserver as addFluidObserver3, removeFluidObserver as removeFluidObserver2, hasFluidValue as hasFluidValue2 } from \"@react-spring/shared\";\nimport { getAnimated as getAnimated3, setAnimated as setAnimated2, getAnimatedType as getAnimatedType2, getPayload as getPayload2 } from \"@react-spring/animated\";\nvar Interpolation = class extends FrameValue {\n constructor(source, args) {\n super();\n this.source = source;\n /** Equals false when in the frameloop */\n\n this.idle = true;\n /** The inputs which are currently animating */\n\n this._active = /* @__PURE__ */new Set();\n this.calc = createInterpolator(...args);\n\n var value = this._get();\n\n var nodeType = getAnimatedType2(value);\n setAnimated2(this, nodeType.create(value));\n }\n\n advance(_dt) {\n var value = this._get();\n\n var oldValue = this.get();\n\n if (!isEqual2(value, oldValue)) {\n getAnimated3(this).setValue(value);\n\n this._onChange(value, this.idle);\n }\n\n if (!this.idle && checkIdle(this._active)) {\n becomeIdle(this);\n }\n }\n\n _get() {\n var inputs = is14.arr(this.source) ? this.source.map(getFluidValue3) : toArray5(getFluidValue3(this.source));\n return this.calc(...inputs);\n }\n\n _start() {\n if (this.idle && !checkIdle(this._active)) {\n this.idle = false;\n each10(getPayload2(this), node => {\n node.done = false;\n });\n\n if (G6.skipAnimation) {\n raf5.batchedUpdates(() => this.advance());\n becomeIdle(this);\n } else {\n frameLoop3.start(this);\n }\n }\n } // Observe our sources only when we're observed.\n\n\n _attach() {\n var priority = 1;\n each10(toArray5(this.source), source => {\n if (hasFluidValue2(source)) {\n addFluidObserver3(source, this);\n }\n\n if (isFrameValue(source)) {\n if (!source.idle) {\n this._active.add(source);\n }\n\n priority = Math.max(priority, source.priority + 1);\n }\n });\n this.priority = priority;\n\n this._start();\n } // Stop observing our sources once we have no observers.\n\n\n _detach() {\n each10(toArray5(this.source), source => {\n if (hasFluidValue2(source)) {\n removeFluidObserver2(source, this);\n }\n });\n\n this._active.clear();\n\n becomeIdle(this);\n }\n /** @internal */\n\n\n eventObserved(event) {\n if (event.type == \"change\") {\n if (event.idle) {\n this.advance();\n } else {\n this._active.add(event.parent);\n\n this._start();\n }\n } else if (event.type == \"idle\") {\n this._active.delete(event.parent);\n } else if (event.type == \"priority\") {\n this.priority = toArray5(this.source).reduce((highest, parent) => Math.max(highest, (isFrameValue(parent) ? parent.priority : 0) + 1), 0);\n }\n }\n\n};\n\nfunction isIdle(source) {\n return source.idle !== false;\n}\n\nfunction checkIdle(active) {\n return !active.size || Array.from(active).every(isIdle);\n}\n\nfunction becomeIdle(self) {\n if (!self.idle) {\n self.idle = true;\n each10(getPayload2(self), node => {\n node.done = true;\n });\n callFluidObservers3(self, {\n type: \"idle\",\n parent: self\n });\n }\n} // src/interpolate.ts\n\n\nvar to = function to(source) {\n for (var _len5 = arguments.length, args = new Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {\n args[_key5 - 1] = arguments[_key5];\n }\n\n return new Interpolation(source, args);\n};\n\nvar interpolate = function interpolate(source) {\n for (var _len6 = arguments.length, args = new Array(_len6 > 1 ? _len6 - 1 : 0), _key6 = 1; _key6 < _len6; _key6++) {\n args[_key6 - 1] = arguments[_key6];\n }\n\n return deprecateInterpolate2(), new Interpolation(source, args);\n}; // src/globals.ts\n\n\nimport { Globals, frameLoop as frameLoop4, createStringInterpolator } from \"@react-spring/shared\";\nGlobals.assign({\n createStringInterpolator,\n to: (source, args) => new Interpolation(source, args)\n});\nvar update = frameLoop4.advance; // src/index.ts\n\nimport { createInterpolator as createInterpolator2, useIsomorphicLayoutEffect as useIsomorphicLayoutEffect8, useReducedMotion, easings as easings2 } from \"@react-spring/shared\";\nexport * from \"@react-spring/types\";\nexport { BailSignal, Controller, FrameValue, Globals, Interpolation, Spring, SpringContext, SpringRef, SpringValue, Trail, Transition, config, createInterpolator2 as createInterpolator, easings2 as easings, inferTo, interpolate, to, update, useChain, useInView, useIsomorphicLayoutEffect8 as useIsomorphicLayoutEffect, useReducedMotion, useResize, useScroll, useSpring, useSpringRef, useSpringValue, useSprings, useTrail, useTransition };","var _excluded = [\"style\", \"children\", \"scrollTop\", \"scrollLeft\", \"viewBox\"],\n _excluded2 = [\"x\", \"y\", \"z\"],\n _excluded3 = [\"scrollTop\", \"scrollLeft\"];\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n// src/index.ts\nimport { Globals } from \"@react-spring/core\";\nimport { unstable_batchedUpdates } from \"react-dom\";\nimport { createStringInterpolator, colors } from \"@react-spring/shared\";\nimport { createHost } from \"@react-spring/animated\"; // src/applyAnimatedValues.ts\n\nvar isCustomPropRE = /^--/;\n\nfunction dangerousStyleValue(name, value) {\n if (value == null || typeof value === \"boolean\" || value === \"\") return \"\";\n if (typeof value === \"number\" && value !== 0 && !isCustomPropRE.test(name) && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) return value + \"px\";\n return (\"\" + value).trim();\n}\n\nvar attributeCache = {};\n\nfunction applyAnimatedValues(instance, props) {\n if (!instance.nodeType || !instance.setAttribute) {\n return false;\n }\n\n var isFilterElement = instance.nodeName === \"filter\" || instance.parentNode && instance.parentNode.nodeName === \"filter\";\n\n var {\n style,\n children,\n scrollTop,\n scrollLeft,\n viewBox\n } = props,\n attributes = _objectWithoutProperties(props, _excluded);\n\n var values = Object.values(attributes);\n var names = Object.keys(attributes).map(name => isFilterElement || instance.hasAttribute(name) ? name : attributeCache[name] || (attributeCache[name] = name.replace(/([A-Z])/g, // Attributes are written in dash case\n n => \"-\" + n.toLowerCase())));\n\n if (children !== void 0) {\n instance.textContent = children;\n }\n\n for (var name in style) {\n if (style.hasOwnProperty(name)) {\n var value = dangerousStyleValue(name, style[name]);\n\n if (isCustomPropRE.test(name)) {\n instance.style.setProperty(name, value);\n } else {\n instance.style[name] = value;\n }\n }\n }\n\n names.forEach((name, i) => {\n instance.setAttribute(name, values[i]);\n });\n\n if (scrollTop !== void 0) {\n instance.scrollTop = scrollTop;\n }\n\n if (scrollLeft !== void 0) {\n instance.scrollLeft = scrollLeft;\n }\n\n if (viewBox !== void 0) {\n instance.setAttribute(\"viewBox\", viewBox);\n }\n}\n\nvar isUnitlessNumber = {\n animationIterationCount: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n columns: true,\n flex: true,\n flexGrow: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n flexOrder: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowSpan: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnSpan: true,\n gridColumnStart: true,\n fontWeight: true,\n lineClamp: true,\n lineHeight: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related properties\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true\n};\n\nvar prefixKey = (prefix, key) => prefix + key.charAt(0).toUpperCase() + key.substring(1);\n\nvar prefixes = [\"Webkit\", \"Ms\", \"Moz\", \"O\"];\nisUnitlessNumber = Object.keys(isUnitlessNumber).reduce((acc, prop) => {\n prefixes.forEach(prefix => acc[prefixKey(prefix, prop)] = acc[prop]);\n return acc;\n}, isUnitlessNumber); // src/AnimatedStyle.ts\n\nimport { AnimatedObject } from \"@react-spring/animated\";\nimport { is, each, toArray, eachProp, FluidValue, getFluidValue, callFluidObservers, hasFluidValue, addFluidObserver, removeFluidObserver } from \"@react-spring/shared\";\nvar domTransforms = /^(matrix|translate|scale|rotate|skew)/;\nvar pxTransforms = /^(translate)/;\nvar degTransforms = /^(rotate|skew)/;\n\nvar addUnit = (value, unit) => is.num(value) && value !== 0 ? value + unit : value;\n\nvar isValueIdentity = (value, id) => is.arr(value) ? value.every(v => isValueIdentity(v, id)) : is.num(value) ? value === id : parseFloat(value) === id;\n\nvar AnimatedStyle = class extends AnimatedObject {\n constructor(_ref) {\n var {\n x,\n y,\n z\n } = _ref,\n style = _objectWithoutProperties(_ref, _excluded2);\n\n var inputs = [];\n var transforms = [];\n\n if (x || y || z) {\n inputs.push([x || 0, y || 0, z || 0]);\n transforms.push(xyz => [\"translate3d(\".concat(xyz.map(v => addUnit(v, \"px\")).join(\",\"), \")\"), // prettier-ignore\n isValueIdentity(xyz, 0)]);\n }\n\n eachProp(style, (value, key) => {\n if (key === \"transform\") {\n inputs.push([value || \"\"]);\n transforms.push(transform => [transform, transform === \"\"]);\n } else if (domTransforms.test(key)) {\n delete style[key];\n if (is.und(value)) return;\n var unit = pxTransforms.test(key) ? \"px\" : degTransforms.test(key) ? \"deg\" : \"\";\n inputs.push(toArray(value));\n transforms.push(key === \"rotate3d\" ? _ref2 => {\n var [x2, y2, z2, deg] = _ref2;\n return [\"rotate3d(\".concat(x2, \",\").concat(y2, \",\").concat(z2, \",\").concat(addUnit(deg, unit), \")\"), isValueIdentity(deg, 0)];\n } : input => [\"\".concat(key, \"(\").concat(input.map(v => addUnit(v, unit)).join(\",\"), \")\"), isValueIdentity(input, key.startsWith(\"scale\") ? 1 : 0)]);\n }\n });\n\n if (inputs.length) {\n style.transform = new FluidTransform(inputs, transforms);\n }\n\n super(style);\n }\n\n};\nvar FluidTransform = class extends FluidValue {\n constructor(inputs, transforms) {\n super();\n this.inputs = inputs;\n this.transforms = transforms;\n this._value = null;\n }\n\n get() {\n return this._value || (this._value = this._get());\n }\n\n _get() {\n var transform = \"\";\n var identity = true;\n each(this.inputs, (input, i) => {\n var arg1 = getFluidValue(input[0]);\n var [t, id] = this.transforms[i](is.arr(arg1) ? arg1 : input.map(getFluidValue));\n transform += \" \" + t;\n identity = identity && id;\n });\n return identity ? \"none\" : transform;\n } // Start observing our inputs once we have an observer.\n\n\n observerAdded(count) {\n if (count == 1) each(this.inputs, input => each(input, value => hasFluidValue(value) && addFluidObserver(value, this)));\n } // Stop observing our inputs once we have no observers.\n\n\n observerRemoved(count) {\n if (count == 0) each(this.inputs, input => each(input, value => hasFluidValue(value) && removeFluidObserver(value, this)));\n }\n\n eventObserved(event) {\n if (event.type == \"change\") {\n this._value = null;\n }\n\n callFluidObservers(this, event);\n }\n\n}; // src/primitives.ts\n\nvar primitives = [\"a\", \"abbr\", \"address\", \"area\", \"article\", \"aside\", \"audio\", \"b\", \"base\", \"bdi\", \"bdo\", \"big\", \"blockquote\", \"body\", \"br\", \"button\", \"canvas\", \"caption\", \"cite\", \"code\", \"col\", \"colgroup\", \"data\", \"datalist\", \"dd\", \"del\", \"details\", \"dfn\", \"dialog\", \"div\", \"dl\", \"dt\", \"em\", \"embed\", \"fieldset\", \"figcaption\", \"figure\", \"footer\", \"form\", \"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\", \"head\", \"header\", \"hgroup\", \"hr\", \"html\", \"i\", \"iframe\", \"img\", \"input\", \"ins\", \"kbd\", \"keygen\", \"label\", \"legend\", \"li\", \"link\", \"main\", \"map\", \"mark\", \"menu\", \"menuitem\", \"meta\", \"meter\", \"nav\", \"noscript\", \"object\", \"ol\", \"optgroup\", \"option\", \"output\", \"p\", \"param\", \"picture\", \"pre\", \"progress\", \"q\", \"rp\", \"rt\", \"ruby\", \"s\", \"samp\", \"script\", \"section\", \"select\", \"small\", \"source\", \"span\", \"strong\", \"style\", \"sub\", \"summary\", \"sup\", \"table\", \"tbody\", \"td\", \"textarea\", \"tfoot\", \"th\", \"thead\", \"time\", \"title\", \"tr\", \"track\", \"u\", \"ul\", \"var\", \"video\", \"wbr\", // SVG\n\"circle\", \"clipPath\", \"defs\", \"ellipse\", \"foreignObject\", \"g\", \"image\", \"line\", \"linearGradient\", \"mask\", \"path\", \"pattern\", \"polygon\", \"polyline\", \"radialGradient\", \"rect\", \"stop\", \"svg\", \"text\", \"tspan\"]; // src/index.ts\n\nexport * from \"@react-spring/core\";\nGlobals.assign({\n batchedUpdates: unstable_batchedUpdates,\n createStringInterpolator,\n colors\n});\nvar host = createHost(primitives, {\n applyAnimatedValues,\n createAnimatedStyle: style => new AnimatedStyle(style),\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n getComponentProps: _ref3 => {\n var {\n scrollTop,\n scrollLeft\n } = _ref3,\n props = _objectWithoutProperties(_ref3, _excluded3);\n\n return props;\n }\n});\nvar animated = host.animated;\nexport { animated as a, animated };","// @noflow\nimport React from 'react'\n\ntype Props = {\n size?: number\n width?: number | string\n}\n\nconst ButternutLogo = ({ size, width = 30 }: Props): JSX.Element => {\n return (\n <svg width=\"30\" height=\"30\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <mask\n id=\"a\"\n style={{ maskType: 'alpha' }}\n maskUnits=\"userSpaceOnUse\"\n x=\"0\"\n y=\"0\"\n width={width}\n height={size}\n >\n <path\n d=\"M15 30c8.284 0 15-6.716 15-15 0-8.284-6.716-15-15-15C6.716 0 0 6.716 0 15c0 8.284 6.716 15 15 15Z\"\n fill=\"#C4C4C4\"\n />\n </mask>\n <g mask=\"url(#a)\">\n <path\n d=\"M15 30c8.284 0 15-6.716 15-15 0-8.284-6.716-15-15-15C6.716 0 0 6.716 0 15c0 8.284 6.716 15 15 15Z\"\n fill=\"#A4765A\"\n />\n <g opacity=\".1\" fillRule=\"evenodd\" clipRule=\"evenodd\" fill=\"#432918\">\n <path d=\"M18.214 17.905c-.194-1.495-1.275-1.739-2.224-1.616l-2.252.293.516 3.958 2.252-.293c.949-.123 1.928-.657 1.735-2.153l-.027-.189ZM16.947 11.454l-.037-.276c-.176-1.348-1.184-1.537-2.07-1.422l-1.959.254.469 3.602 1.96-.254c.885-.115 1.812-.558 1.636-1.905Z\" />\n <path d=\"M11.207 23.791 9.088 7.509l5.391-.702c2.01-.262 4.165-.11 5.25 1.815.08-.21.157-.42.227-.631.168-.495.322-.996.506-1.486.13-.348.275-.694.453-1.018a6.327 6.327 0 0 0-1.703-.917c-1.163-.42-2.415-.503-3.64-.401-.614.05-1.24.128-1.832.29-.573.158-1.118.404-1.658.653-.518.238-1.037.48-1.587.644-.608.184-1.226.33-1.836.5-.202.056-.401.116-.6.176l2.26 17.422c.016 0 .032-.003.047-.003.28-.02.561-.042.841-.06Z\" />\n </g>\n <path\n d=\"M27.082 12.983c-.04-.24-.08-.522-.16-.763-.039-.122-.039-.24-.039-.32-.039-.161-.039-.322-.08-.482-.04-.08-.04-.202-.08-.282a5.156 5.156 0 0 1-.12-.401c-.16-.764-.48-1.486-.76-2.047-.279-.562-1.358-2.127-1.438-2.246-.04-.042-.08-.08-.08-.122-.04-.041-.08-.122-.12-.16-.04-.042-.04-.08-.08-.122-.16-.122-.281-.282-.4-.401-.24-.24-.479-.481-.76-.683a6.074 6.074 0 0 0-1.478-.844c-.12-.041-.278-.121-.479-.16-.08-.042-.16-.042-.24-.08-.08-.042-.198-.042-.278-.08-.16-.042-.32-.08-.44-.122-.278-.08-.52-.16-.799-.24-.399-.081-.798-.203-1.197-.242-.278-.04-.6-.121-.879-.16-.2-.041-.36-.08-.559-.122-.278-.04-.6-.08-.878-.121l-.4-.032c-.239-.041-1.591-.026-1.988.025-1.646.218-1.885.457-2.045.496-.08.04-.2.04-.28.08-.122.041-.24.08-.4.121-.12.042-.24.08-.32.08-.558.161-.998.363-1.318.603-.2.16-.44.321-.68.523-.2.16-.399.282-.559.443-.2.16-.44.32-.6.522-.36.362-.718.722-1.038 1.084l-.12.122c-.361.401-.76.844-1.08 1.284-.315.393-.949.89-1.674 2.834 0 .041-.385 1.218-.436 1.677a34.242 34.242 0 0 0-.073 1.167c0 .202.073.535.032.856l.039.32c.04.443.12.883.16 1.365l.038.201c.041.321.08.684.16 1.005l.038.16c.574 3.216 1.322 4.171 1.443 4.37l.08.203.16.201c.079.122.2.28.319.402.319.362.638.721.958 1.042l.04.04c.202.24.441.442.68.602.4.321.8.562 1.24.722.12.04.24.122.399.202l.12.08c.042.04.08.04.16.08.08.042.122.08.201.122l.24.122c.278.16.6.282.878.442.16.08.32.122.52.16l.122.042c.12.039.198.039.319.08.12.041.24.041.36.08.08.04.16.04.24.08.24.08 2.357.482 2.596.482h1.278c.24 0 .878-.042.958-.08.121-.04.278-.04.4-.08.12-.04.239-.04.36-.08.12-.042.278-.081.4-.081.159-.042.36-.08.52-.122.2-.041.36-.08.558-.121.76-.16 1.518-.401 2.357-.764.799-.32 1.517-.763 2.076-1.325.56-.522 1.16-1.123 1.638-1.806.121-.201.279-.362.4-.561.319-.401.6-.802.84-1.245.08-.121.159-.24.2-.401.2-.32.4-.642.48-1.004.038-.122.079-.28.12-.401l.121-.362c.041-.122.08-.241.08-.363.474-3.984.027-5.494.027-5.494Zm-10.83 9.335-5.135.671L9.14 7.747l4.98-.652c2.373-.31 4.964.008 5.43 3.584l.05.391c.179 1.388-.312 2.327-1.12 2.949 1.156.384 2.056 1.22 2.27 2.864l.05.391c.48 3.71-2.098 4.723-4.549 5.044Z\"\n fill=\"#FDDD83\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M17.57 17.396c-.18-1.389-1.179-1.615-2.055-1.5l-2.08.272.476 3.673 2.081-.272c.876-.114 1.781-.61 1.602-1.998l-.024-.175ZM16.399 11.408l-.034-.255c-.162-1.252-1.094-1.427-1.912-1.32l-1.81.236.433 3.342 1.81-.236c.818-.107 1.675-.517 1.513-1.767Z\"\n fill=\"#FDDD83\"\n />\n </g>\n </svg>\n )\n}\n\nexport default ButternutLogo\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"xs\":\"375px\",\"sm\":\"600px\",\"md\":\"834px\",\"lg\":\"1280px\",\"xl\":\"1280px\",\"interactive\":\"Interactive-module__interactive___26Myx\"};","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n\n return result;\n}\n\nmodule.exports = arrayMap;","export const isDevelopment = (): boolean =>\n window.location.hostname === 'localhost' ||\n window.location.hostname.includes('herokuapp') ||\n window.location.hostname.includes('127.0.0.1') || // For CI\n window.location.hostname.includes('ngrok-free.app') // For Ngrok\n","// @flow\n\ntype AnalyticsBackend = ((event: string, properties: {}) => void)\nexport type InteractionEventProperties = {|\n context: string,\n object: string,\n action: string\n|}\n\nexport default function segmentTrack (\n eventName: string,\n properties: {} = {}): void {\n try {\n window.analytics.track(eventName, properties)\n } catch (error) {\n console.error(error)\n }\n}\n\nexport class Analytics {\n static track (\n event: string,\n properties: {} = {},\n analyticsBackend: AnalyticsBackend = segmentTrack): void {\n try {\n analyticsBackend(event, properties)\n } catch (error) {\n console.error(error)\n }\n }\n\n static trackInteraction (\n event: string,\n interactionEventProperties: InteractionEventProperties,\n extraProperties: {} = {},\n analyticsBackend: AnalyticsBackend = segmentTrack): void {\n const properties = {\n ...interactionEventProperties,\n ...extraProperties\n }\n try {\n analyticsBackend(event, properties)\n } catch (error) {\n console.error(error)\n }\n }\n}\n","function r(e) {\n var t,\n f,\n n = \"\";\n if (\"string\" == typeof e || \"number\" == typeof e) n += e;else if (\"object\" == typeof e) if (Array.isArray(e)) for (t = 0; t < e.length; t++) {\n e[t] && (f = r(e[t])) && (n && (n += \" \"), n += f);\n } else for (t in e) {\n e[t] && (n && (n += \" \"), n += t);\n }\n return n;\n}\n\nexport function clsx() {\n for (var e, t, f = 0, n = \"\"; f < arguments.length;) {\n (e = arguments[f++]) && (t = r(e)) && (n && (n += \" \"), n += t);\n }\n\n return n;\n}\nexport default clsx;","'use strict';\n\nexports.__esModule = true;\nexports.registerDefaultHelpers = registerDefaultHelpers;\nexports.moveHelperToHooks = moveHelperToHooks; // istanbul ignore next\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _helpersBlockHelperMissing = require('./helpers/block-helper-missing');\n\nvar _helpersBlockHelperMissing2 = _interopRequireDefault(_helpersBlockHelperMissing);\n\nvar _helpersEach = require('./helpers/each');\n\nvar _helpersEach2 = _interopRequireDefault(_helpersEach);\n\nvar _helpersHelperMissing = require('./helpers/helper-missing');\n\nvar _helpersHelperMissing2 = _interopRequireDefault(_helpersHelperMissing);\n\nvar _helpersIf = require('./helpers/if');\n\nvar _helpersIf2 = _interopRequireDefault(_helpersIf);\n\nvar _helpersLog = require('./helpers/log');\n\nvar _helpersLog2 = _interopRequireDefault(_helpersLog);\n\nvar _helpersLookup = require('./helpers/lookup');\n\nvar _helpersLookup2 = _interopRequireDefault(_helpersLookup);\n\nvar _helpersWith = require('./helpers/with');\n\nvar _helpersWith2 = _interopRequireDefault(_helpersWith);\n\nfunction registerDefaultHelpers(instance) {\n _helpersBlockHelperMissing2['default'](instance);\n\n _helpersEach2['default'](instance);\n\n _helpersHelperMissing2['default'](instance);\n\n _helpersIf2['default'](instance);\n\n _helpersLog2['default'](instance);\n\n _helpersLookup2['default'](instance);\n\n _helpersWith2['default'](instance);\n}\n\nfunction moveHelperToHooks(instance, helperName, keepHelper) {\n if (instance.helpers[helperName]) {\n instance.hooks[helperName] = instance.helpers[helperName];\n\n if (!keepHelper) {\n delete instance.helpers[helperName];\n }\n }\n}","'use strict';\n\nexports.__esModule = true;\n\nvar _utils = require('./utils');\n\nvar logger = {\n methodMap: ['debug', 'info', 'warn', 'error'],\n level: 'info',\n // Maps a given level value to the `methodMap` indexes above.\n lookupLevel: function lookupLevel(level) {\n if (typeof level === 'string') {\n var levelMap = _utils.indexOf(logger.methodMap, level.toLowerCase());\n\n if (levelMap >= 0) {\n level = levelMap;\n } else {\n level = parseInt(level, 10);\n }\n }\n\n return level;\n },\n // Can be overridden in the host environment\n log: function log(level) {\n level = logger.lookupLevel(level);\n\n if (typeof console !== 'undefined' && logger.lookupLevel(logger.level) <= level) {\n var method = logger.methodMap[level]; // eslint-disable-next-line no-console\n\n if (!console[method]) {\n method = 'log';\n }\n\n for (var _len = arguments.length, message = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n message[_key - 1] = arguments[_key];\n }\n\n console[method].apply(console, message); // eslint-disable-line no-console\n }\n }\n};\nexports['default'] = logger;\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\nexports.createProtoAccessControl = createProtoAccessControl;\nexports.resultIsAllowed = resultIsAllowed;\nexports.resetLoggedProperties = resetLoggedProperties; // istanbul ignore next\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)) newObj[key] = obj[key];\n }\n }\n\n newObj['default'] = obj;\n return newObj;\n }\n}\n\nvar _createNewLookupObject = require('./create-new-lookup-object');\n\nvar _logger = require('../logger');\n\nvar logger = _interopRequireWildcard(_logger);\n\nvar loggedProperties = Object.create(null);\n\nfunction createProtoAccessControl(runtimeOptions) {\n var defaultMethodWhiteList = Object.create(null);\n defaultMethodWhiteList['constructor'] = false;\n defaultMethodWhiteList['__defineGetter__'] = false;\n defaultMethodWhiteList['__defineSetter__'] = false;\n defaultMethodWhiteList['__lookupGetter__'] = false;\n var defaultPropertyWhiteList = Object.create(null); // eslint-disable-next-line no-proto\n\n defaultPropertyWhiteList['__proto__'] = false;\n return {\n properties: {\n whitelist: _createNewLookupObject.createNewLookupObject(defaultPropertyWhiteList, runtimeOptions.allowedProtoProperties),\n defaultValue: runtimeOptions.allowProtoPropertiesByDefault\n },\n methods: {\n whitelist: _createNewLookupObject.createNewLookupObject(defaultMethodWhiteList, runtimeOptions.allowedProtoMethods),\n defaultValue: runtimeOptions.allowProtoMethodsByDefault\n }\n };\n}\n\nfunction resultIsAllowed(result, protoAccessControl, propertyName) {\n if (typeof result === 'function') {\n return checkWhiteList(protoAccessControl.methods, propertyName);\n } else {\n return checkWhiteList(protoAccessControl.properties, propertyName);\n }\n}\n\nfunction checkWhiteList(protoAccessControlForType, propertyName) {\n if (protoAccessControlForType.whitelist[propertyName] !== undefined) {\n return protoAccessControlForType.whitelist[propertyName] === true;\n }\n\n if (protoAccessControlForType.defaultValue !== undefined) {\n return protoAccessControlForType.defaultValue;\n }\n\n logUnexpecedPropertyAccessOnce(propertyName);\n return false;\n}\n\nfunction logUnexpecedPropertyAccessOnce(propertyName) {\n if (loggedProperties[propertyName] !== true) {\n loggedProperties[propertyName] = true;\n logger.log('error', 'Handlebars: Access has been denied to resolve the property \"' + propertyName + '\" because it is not an \"own property\" of its parent.\\n' + 'You can add a runtime option to disable the check or this warning:\\n' + 'See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details');\n }\n}\n\nfunction resetLoggedProperties() {\n Object.keys(loggedProperties).forEach(function (propertyName) {\n delete loggedProperties[propertyName];\n });\n}","'use strict';\n\nexports.__esModule = true;\n\nexports['default'] = function (Handlebars) {\n /* istanbul ignore next */\n var root = typeof global !== 'undefined' ? global : window,\n $Handlebars = root.Handlebars;\n /* istanbul ignore next */\n\n Handlebars.noConflict = function () {\n if (root.Handlebars === Handlebars) {\n root.Handlebars = $Handlebars;\n }\n\n return Handlebars;\n };\n};\n\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\nvar AST = {\n // Public API used to evaluate derived attributes regarding AST nodes\n helpers: {\n // a mustache is definitely a helper if:\n // * it is an eligible helper, and\n // * it has at least one parameter or hash segment\n helperExpression: function helperExpression(node) {\n return node.type === 'SubExpression' || (node.type === 'MustacheStatement' || node.type === 'BlockStatement') && !!(node.params && node.params.length || node.hash);\n },\n scopedId: function scopedId(path) {\n return /^\\.|this\\b/.test(path.original);\n },\n // an ID is simple if it only has one part, and that part is not\n // `..` or `this`.\n simpleId: function simpleId(path) {\n return path.parts.length === 1 && !AST.helpers.scopedId(path) && !path.depth;\n }\n }\n}; // Must be exported as an object rather than the root of the module as the jison lexer\n// must modify the object to operate properly.\n\nexports['default'] = AST;\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true; // istanbul ignore next\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nfunction Visitor() {\n this.parents = [];\n}\n\nVisitor.prototype = {\n constructor: Visitor,\n mutating: false,\n // Visits a given value. If mutating, will replace the value if necessary.\n acceptKey: function acceptKey(node, name) {\n var value = this.accept(node[name]);\n\n if (this.mutating) {\n // Hacky sanity check: This may have a few false positives for type for the helper\n // methods but will generally do the right thing without a lot of overhead.\n if (value && !Visitor.prototype[value.type]) {\n throw new _exception2['default']('Unexpected node type \"' + value.type + '\" found when accepting ' + name + ' on ' + node.type);\n }\n\n node[name] = value;\n }\n },\n // Performs an accept operation with added sanity check to ensure\n // required keys are not removed.\n acceptRequired: function acceptRequired(node, name) {\n this.acceptKey(node, name);\n\n if (!node[name]) {\n throw new _exception2['default'](node.type + ' requires ' + name);\n }\n },\n // Traverses a given array. If mutating, empty respnses will be removed\n // for child elements.\n acceptArray: function acceptArray(array) {\n for (var i = 0, l = array.length; i < l; i++) {\n this.acceptKey(array, i);\n\n if (!array[i]) {\n array.splice(i, 1);\n i--;\n l--;\n }\n }\n },\n accept: function accept(object) {\n if (!object) {\n return;\n }\n /* istanbul ignore next: Sanity code */\n\n\n if (!this[object.type]) {\n throw new _exception2['default']('Unknown type: ' + object.type, object);\n }\n\n if (this.current) {\n this.parents.unshift(this.current);\n }\n\n this.current = object;\n var ret = this[object.type](object);\n this.current = this.parents.shift();\n\n if (!this.mutating || ret) {\n return ret;\n } else if (ret !== false) {\n return object;\n }\n },\n Program: function Program(program) {\n this.acceptArray(program.body);\n },\n MustacheStatement: visitSubExpression,\n Decorator: visitSubExpression,\n BlockStatement: visitBlock,\n DecoratorBlock: visitBlock,\n PartialStatement: visitPartial,\n PartialBlockStatement: function PartialBlockStatement(partial) {\n visitPartial.call(this, partial);\n this.acceptKey(partial, 'program');\n },\n ContentStatement: function ContentStatement()\n /* content */\n {},\n CommentStatement: function CommentStatement()\n /* comment */\n {},\n SubExpression: visitSubExpression,\n PathExpression: function PathExpression()\n /* path */\n {},\n StringLiteral: function StringLiteral()\n /* string */\n {},\n NumberLiteral: function NumberLiteral()\n /* number */\n {},\n BooleanLiteral: function BooleanLiteral()\n /* bool */\n {},\n UndefinedLiteral: function UndefinedLiteral()\n /* literal */\n {},\n NullLiteral: function NullLiteral()\n /* literal */\n {},\n Hash: function Hash(hash) {\n this.acceptArray(hash.pairs);\n },\n HashPair: function HashPair(pair) {\n this.acceptRequired(pair, 'value');\n }\n};\n\nfunction visitSubExpression(mustache) {\n this.acceptRequired(mustache, 'path');\n this.acceptArray(mustache.params);\n this.acceptKey(mustache, 'hash');\n}\n\nfunction visitBlock(block) {\n visitSubExpression.call(this, block);\n this.acceptKey(block, 'program');\n this.acceptKey(block, 'inverse');\n}\n\nfunction visitPartial(partial) {\n this.acceptRequired(partial, 'name');\n this.acceptArray(partial.params);\n this.acceptKey(partial, 'hash');\n}\n\nexports['default'] = Visitor;\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = getDisplayName;\n\nfunction getDisplayName(Component) {\n return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown');\n}","// @noflow\nimport React from 'react'\n\nimport {\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\ntype Props = {\n size: number\n accentColour: IconColours\n width?: number | string\n}\n\nconst Arrow = ({ size, accentColour, width }: Props): JSX.Element => {\n return (\n <svg\n fill=\"none\"\n height={size}\n viewBox=\"0 0 30 30\"\n width={width || '100%'}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n clipRule=\"evenodd\"\n d=\"m27.8571 11.7857c.5804 0 1.0826.2121 1.5067.6362s.6362.9263.6362 1.5067v2.1428c0 .5804-.2121 1.0826-.6362 1.5067s-.9263.6362-1.5067.6362h-9.6428v9.6428c0 .5804-.2121 1.0826-.6362 1.5067s-.9263.6362-1.5067.6362h-2.1428c-.5804 0-1.0826-.2121-1.5067-.6362s-.6362-.9263-.6362-1.5067v-9.6428h-9.64284c-.58036 0-1.08259-.2121-1.506699-.6362-.424107-.4241-.636161-.9263-.636161-1.5067v-2.1428c0-.5804.212054-1.0826.636161-1.5067.424109-.4241.926339-.6362 1.506699-.6362h9.64284v-9.64284c0-.58036.2121-1.08259.6362-1.506699.4241-.424107.9263-.636161 1.5067-.636161h2.1428c.5804 0 1.0826.212054 1.5067.636161.4241.424109.6362.926339.6362 1.506699v9.64284z\"\n fill={ICON_COLOURS[accentColour]}\n fillRule=\"evenodd\"\n />\n </svg>\n )\n}\n\nexport default Arrow\n","var baseToString = require('./_baseToString');\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\n\n\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n/** `Object#toString` result references. */\n\n\nvar symbolTag = '[object Symbol]';\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\n\nfunction isSymbol(value) {\n return typeof value == 'symbol' || isObjectLike(value) && baseGetTag(value) == symbolTag;\n}\n\nmodule.exports = isSymbol;","// @noflow\nimport React from 'react'\n\nimport {\n Direction,\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\nimport STYLES from './Chevron.module.sass'\n\ntype Props = {\n size: number\n accentColour: IconColours\n width?: number | string\n direction?: Direction\n}\n\nconst Chevron = ({\n size,\n accentColour,\n width,\n direction = 'right'\n}: Props): JSX.Element => {\n return (\n <svg\n height={size}\n viewBox=\"0 0 25 30\"\n width={width || '100%'}\n className={`${direction ? STYLES[direction] : ''}`}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n clipRule=\"evenodd\"\n d=\"m1.58201 29.625h-.620324c-.682355-1.6129-.341177-2.8845 1.147594-3.784 4.83852-2.9465 9.95622-5.4898 13.89522-9.739.8374-.8995.9925-1.5509.031-2.2642-2.2642-1.6749-4.5593-3.3188-6.91657-4.86956-1.86097-1.20963-3.81499-2.26417-5.769-3.31872-1.39573-.74439-1.73691-1.95402-1.67487-3.38076.09305-1.923001.93048-2.388244 2.54332-1.364712 2.48129 1.581822 5.02461 3.070592 7.44382 4.714452 3.9081 2.66739 7.9092 5.2417 11.6311 8.1572 2.2021 1.7369 1.5508 3.722-1.0546 4.7455-1.7989.7134-3.6599 1.4888-5.2417 2.6054-4.8075 3.4428-10.01819 6.1412-15.41499 8.4984z\"\n fill={ICON_COLOURS[accentColour]}\n fillRule=\"evenodd\"\n />\n </svg>\n )\n}\n\nexport type { Direction }\nexport default Chevron\n","import React, { AriaAttributes } from 'react'\n\nimport STYLES from './IconButton.module.sass'\n\nimport Icon, { IconColours, Props as IconProps } from '../../atoms/Icon/Icon'\nimport Interactive from '../../atoms/Interactive/Interactive'\n\ntype Size = 24 | 32 | 40 | 48 | 50\n\ntype Shape = 'circle' | 'square'\n\ntype Props = {\n size: Size\n icon: IconProps['asset']\n onClick: (event?: React.MouseEvent | React.KeyboardEvent) => void\n shape?: Shape\n iconSize?: number\n iconColor?: IconColours\n variant?: keyof typeof STYLES\n disabled?: boolean\n iconDirection?: IconProps['direction']\n className?: string\n tabIndex?: number\n} & AriaAttributes\n\n/**\n * A round button with an icon inside\n * @param icon\n * @param size\n * @param onClick\n * @param shape\n * @param variant\n * @param iconSize - icon size as percentage of button size\n * @param iconColor\n * @param disabled\n * @param iconDirection\n * @constructor\n */\nconst IconButton = ({\n icon,\n size,\n onClick,\n shape = 'square',\n variant = 'default',\n iconSize = 0.6,\n iconColor = 'brandBlue500',\n disabled,\n iconDirection,\n className,\n tabIndex = 0,\n 'aria-label': ariaLabel\n}: Props): JSX.Element => {\n return (\n <Interactive\n className={`\n ${STYLES.button}\n ${disabled ? STYLES.disabled : ''}\n ${STYLES[`size${size}`]}\n ${STYLES[shape]}\n ${STYLES[variant]}\n ${className || ''}\n `}\n aria-label={ariaLabel}\n onInteraction={onClick}\n tabIndex={tabIndex}\n >\n <Icon\n size={Math.round(size * iconSize)}\n asset={icon}\n accentColour={iconColor}\n direction={iconDirection}\n />\n </Interactive>\n )\n}\n\nexport { Props }\nexport default IconButton\n","import invariant from \"./invariant.mjs\";\nimport nodejsCustomInspectSymbol from \"./nodejsCustomInspectSymbol.mjs\";\n/**\n * The `defineInspect()` function defines `inspect()` prototype method as alias of `toJSON`\n */\n\nexport default function defineInspect(classObject) {\n var fn = classObject.prototype.toJSON;\n typeof fn === 'function' || invariant(0);\n classObject.prototype.inspect = fn; // istanbul ignore else (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\n if (nodejsCustomInspectSymbol) {\n classObject.prototype[nodejsCustomInspectSymbol] = fn;\n }\n}","export default function invariant(condition, message) {\n var booleanCondition = Boolean(condition); // istanbul ignore else (See transformation done in './resources/inlineInvariant.js')\n\n if (!booleanCondition) {\n throw new Error(message != null ? message : 'Unexpected invariant triggered.');\n }\n}","import defineInspect from \"../jsutils/defineInspect.mjs\";\n/**\n * Contains a range of UTF-8 character offsets and token references that\n * identify the region of the source from which the AST derived.\n */\n\nexport var Location = /*#__PURE__*/function () {\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The Token at which this Node begins.\n */\n\n /**\n * The Token at which this Node ends.\n */\n\n /**\n * The Source document the AST represents.\n */\n function Location(startToken, endToken, source) {\n this.start = startToken.start;\n this.end = endToken.end;\n this.startToken = startToken;\n this.endToken = endToken;\n this.source = source;\n }\n\n var _proto = Location.prototype;\n\n _proto.toJSON = function toJSON() {\n return {\n start: this.start,\n end: this.end\n };\n };\n\n return Location;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\ndefineInspect(Location);\n/**\n * Represents a range of characters represented by a lexical token\n * within a Source.\n */\n\nexport var Token = /*#__PURE__*/function () {\n /**\n * The kind of Token.\n */\n\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The 1-indexed line number on which this Token appears.\n */\n\n /**\n * The 1-indexed column number at which this Token begins.\n */\n\n /**\n * For non-punctuation tokens, represents the interpreted value of the token.\n */\n\n /**\n * Tokens exist as nodes in a double-linked-list amongst all tokens\n * including ignored tokens. <SOF> is always the first node and <EOF>\n * the last.\n */\n function Token(kind, start, end, line, column, prev, value) {\n this.kind = kind;\n this.start = start;\n this.end = end;\n this.line = line;\n this.column = column;\n this.value = value;\n this.prev = prev;\n this.next = null;\n }\n\n var _proto2 = Token.prototype;\n\n _proto2.toJSON = function toJSON() {\n return {\n kind: this.kind,\n value: this.value,\n line: this.line,\n column: this.column\n };\n };\n\n return Token;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\ndefineInspect(Token);\n/**\n * @internal\n */\n\nexport function isNode(maybeNode) {\n return maybeNode != null && typeof maybeNode.kind === 'string';\n}\n/**\n * The list of all possible AST node types.\n */","// @noflow\nimport React from 'react'\n\nimport {\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\ntype Props = {\n size: number\n accentColour: IconColours\n backgroundColour?: IconColours\n width?: number | string\n}\n\nconst BoxOpen = ({\n size,\n accentColour,\n backgroundColour = 'transparent',\n width\n}: Props): JSX.Element => {\n return (\n <svg\n height={size}\n width={width || '100%'}\n viewBox=\"0 0 40 29\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M10.6621 26.6129V21.9515C10.6621 21.5924 10.5751 21.2385 10.4087 20.9203C10.2006 20.5224 9.87711 20.1968 9.48062 19.9862L9.18896 19.8313C7.14291 18.7445 6.82995 15.9403 8.58608 14.4292L9.77688 13.4045C10.3549 12.9071 11.0631 12.5853 11.818 12.4771L21.4044 11.1023C21.876 11.0346 22.356 11.0518 22.8216 11.153L34.0834 13.6001C34.4963 13.6898 34.8704 13.9075 35.1525 14.2221L36.6189 15.8578C37.2122 16.5195 36.7425 17.5714 35.8537 17.5714C35.2459 17.5714 34.7708 18.0961 34.8311 18.701L35.543 25.8476C35.7302 27.7272 34.577 29.4816 32.7773 30.0552L21.9593 33.5028C20.9595 33.8214 19.8745 33.7344 18.9383 33.2605L12.8556 30.1817C11.5102 29.5007 10.6621 28.1209 10.6621 26.6129Z\"\n fill={ICON_COLOURS[backgroundColour]}\n />\n <path\n d=\"M36.9077 16.3738C36.8853 16.2592 36.863 16.134 36.8071 16.0298C36.7624 15.9255 36.673 15.8317 36.5836 15.7483C36.5725 15.7379 36.5501 15.717 36.5389 15.7066C36.5054 15.6857 36.5054 15.6857 36.5389 15.717C36.5054 15.7066 36.4719 15.6544 36.4607 15.644C36.4384 15.6232 36.4049 15.6127 36.3714 15.5919C36.0585 15.4251 35.8351 15.2166 35.4105 14.737C35.1982 14.4972 35.12 14.4033 34.9971 14.2782C34.9077 14.1844 34.8183 14.101 34.729 14.0176C34.6396 13.9446 34.2597 13.611 34.1033 13.4754C33.9915 13.3295 33.5446 12.7977 33.3659 12.7665L33.3547 12.756V12.7352L33.2765 12.6205L33.2653 12.6101L32.9972 12.339C32.8743 12.266 32.7402 12.2139 32.5949 12.1826C32.405 12.1409 32.405 12.1409 32.2039 12.1096L32.0922 12.0992C32.148 12.0992 32.148 12.0992 32.1815 12.0992C32.081 12.0679 32.0586 12.0679 31.9693 12.0679H31.9469L31.824 12.0367C31.7235 12.0054 31.6452 11.995 31.4777 11.9637C31.3324 11.9428 31.2765 11.9324 31.2095 11.9115C31.176 11.9011 31.1536 11.8907 31.1313 11.8803C31.1201 11.8803 31.1089 11.8698 31.0978 11.8698C31.0866 11.8698 31.0866 11.8594 31.0754 11.8594C31.0419 11.8281 30.9972 11.7969 30.9525 11.776C30.8408 11.7135 30.7291 11.6613 30.662 11.6718C30.4497 11.6405 30.3604 11.6196 30.2933 11.6092C30.1481 11.5466 30.0364 11.5258 29.8241 11.4841C29.757 11.4528 29.69 11.4424 29.623 11.4424C29.5559 11.4215 29.4889 11.4111 29.4107 11.4215C29.3548 11.4215 29.2989 11.4111 29.2319 11.3903L29.1314 11.359C29.0978 11.3485 29.0643 11.3485 28.9861 11.3173C28.8744 11.286 28.8185 11.2651 28.7962 11.2651C28.5504 11.1922 28.3269 11.14 28.0364 11.0775C27.9806 11.0566 27.9247 11.0462 27.8465 11.0358C27.7906 11.0253 27.7794 11.0253 27.7012 11.0149C27.5448 10.9941 27.3996 10.9732 27.232 10.9419C27.1873 10.9315 26.8968 10.869 26.7851 10.8481C26.7404 10.8377 26.6957 10.8273 26.6286 10.8064C26.4499 10.7543 26.461 10.7543 26.3828 10.7438C26.3605 10.7438 26.3381 10.7334 26.2823 10.7126C26.1705 10.6709 26.1147 10.6604 26.07 10.65C26.0476 10.6396 25.8465 10.5875 25.7795 10.577C25.6566 10.5458 25.556 10.5249 25.5114 10.5249L25.4331 10.5145L25.2879 10.4936C25.3102 10.4936 25.3214 10.4936 25.3102 10.4936C25.2432 10.4832 25.1985 10.4728 25.1426 10.4728C25.1538 10.4728 25.1538 10.4728 25.165 10.4832C25.1538 10.4832 25.1426 10.4832 25.1203 10.4832H25.1315C25.1426 10.4832 25.1426 10.4832 25.1538 10.4832C25.0868 10.4623 25.0309 10.4519 24.9415 10.4623C24.9304 10.4623 24.8968 10.4519 24.7404 10.4206C24.6734 10.4102 24.6287 10.3998 24.5281 10.3894C24.4164 10.3685 24.3605 10.3581 24.3159 10.3581C24.2376 10.3477 24.193 10.3372 24.0924 10.3268C24.0477 10.3268 24.0142 10.3164 23.9918 10.3164C23.936 10.2955 23.8801 10.2851 23.8131 10.2851C23.7572 10.2747 23.746 10.2747 23.7349 10.2747L23.5896 10.2538C23.5673 10.2538 23.4891 10.2434 23.4779 10.2434L23.355 10.1913C23.288 10.1704 23.2321 10.16 23.1427 10.1496C23.098 10.1391 23.0757 10.1391 23.0533 10.1391C22.7181 10.0662 22.7181 10.0662 22.4612 10.014C22.3047 9.95147 22.1818 9.90977 22.0366 9.88892C21.869 9.84722 21.7238 9.80551 21.3997 9.73253L21.1875 9.6387C21.0087 9.56572 20.8188 9.55529 20.6065 9.6387C20.5618 9.65955 20.5059 9.6804 20.4277 9.70125C20.3718 9.71168 20.316 9.73253 20.1707 9.76381C20.1372 9.77423 20.126 9.77423 20.0478 9.79509C19.9584 9.81594 19.9026 9.82636 19.8802 9.83679C19.8132 9.85764 19.7573 9.86807 19.6456 9.89935C19.5451 9.93062 19.5004 9.94105 19.4333 9.95147H19.3998C19.3104 9.98275 19.2322 9.99318 19.0534 10.0349C18.8523 10.0766 18.763 10.0974 18.6512 10.1391C18.5618 10.1704 18.4613 10.1913 18.2937 10.2225C18.0479 10.2747 17.9697 10.2955 17.8356 10.3268C17.7462 10.3581 17.668 10.3685 17.4892 10.4102C17.2881 10.4519 17.1988 10.4728 17.1205 10.504C16.8301 10.5666 16.6848 10.5979 16.4949 10.6813H16.506C16.4949 10.6813 16.4837 10.6813 16.4725 10.6917C16.4837 10.6917 16.4837 10.6813 16.4949 10.6813C16.4837 10.6813 16.4837 10.6813 16.4725 10.6813C15.9362 10.7021 15.7016 10.723 15.3999 10.796C15.3441 10.8064 15.2994 10.8168 15.2435 10.8168C15.1988 10.8168 15.1541 10.8273 15.0424 10.8273H14.9418C14.7296 10.8377 14.5173 10.8794 14.2826 10.9524H14.238C14.0592 10.9315 13.8581 10.9419 13.657 10.9836C13.4112 11.0253 13.3665 11.0253 13.2659 11.0358C13.143 11.0462 13.0313 11.0566 12.9196 11.0462C12.495 11.0358 12.0704 11.0775 11.7352 11.1609C11.657 11.1609 11.6123 11.1713 11.5118 11.1922C11.4671 11.2026 11.4559 11.2026 11.4447 11.2026C11.3665 11.2026 11.3107 11.213 11.2213 11.2339C11.1878 11.2443 11.1878 11.2443 11.0984 11.2547C11.0313 11.2756 10.9755 11.286 10.8638 11.3173C10.7632 11.3485 10.7185 11.359 10.6291 11.3798C10.5956 11.3903 10.5733 11.3903 10.5062 11.4111C10.4057 11.432 10.361 11.4424 10.2492 11.4737C10.2381 11.4737 10.2269 11.4841 10.2269 11.4841C10.2157 11.4841 10.1934 11.4841 10.1487 11.4945L9.82468 11.5049C9.73529 11.5049 9.65708 11.5258 9.57887 11.5571L9.54536 11.5779C9.4448 11.63 9.35542 11.7135 9.28838 11.8073C9.26604 11.8281 9.25486 11.8594 9.24369 11.8803C9.21017 11.9324 9.18783 11.9845 9.17665 12.0367C8.84147 12.2139 8.56215 12.412 8.32752 12.6622C8.21579 12.7873 8.09289 12.902 7.95881 13.0167C7.78005 13.0271 7.27727 13.5171 7.15437 13.6527C6.98677 13.7778 6.57338 14.0697 6.484 14.1323C6.38344 14.2052 6.28289 14.2782 6.1935 14.3616C6.05943 14.4763 5.97005 14.5597 5.73542 14.7787C5.26616 15.2166 5.03153 15.4042 4.69634 15.5502C4.66282 15.5606 4.64048 15.571 4.60696 15.5919C4.58461 15.6023 4.55109 15.644 4.51758 15.6544C4.55109 15.6232 4.55109 15.6336 4.51758 15.6544C4.49523 15.6649 4.48406 15.6753 4.47288 15.6857C4.37233 15.7587 4.28295 15.8421 4.21591 15.9464C4.16004 16.0506 4.11535 16.1653 4.08183 16.28C4.04832 16.4051 3.98128 16.5302 3.99245 16.6553C4.00363 16.8222 4.12653 16.9785 4.2606 17.1037C4.2606 17.1037 4.29412 17.1245 4.30529 17.1349C4.37233 17.1871 4.42819 17.2288 4.49523 17.2705C4.59579 17.333 4.69634 17.3956 4.81924 17.4373C4.94214 17.479 5.07622 17.5103 5.19912 17.552C5.22147 17.5624 5.23264 17.5624 5.25498 17.5624C5.51196 17.6979 5.76893 17.8022 6.0706 17.9586C6.20468 18.0524 6.45048 18.2297 6.56221 18.2922C6.71863 18.3756 7.06498 18.5112 7.19906 18.5424C7.85826 18.8344 8.43924 19.0012 9.15431 19.168C9.25486 19.2201 9.34424 19.2618 9.42246 19.2931C9.42246 19.4703 9.43363 19.6684 9.4448 19.9186V19.9499C9.45597 20.1897 9.46715 20.3774 9.50067 20.8153C9.51184 21.0342 9.52301 21.1281 9.52301 21.2427C9.55653 21.764 9.5677 22.1498 9.57887 22.5356L9.61239 23.1715C9.63474 23.6094 9.63474 23.8075 9.62357 24.089C9.62357 24.1203 9.62357 24.1411 9.62357 24.2454C9.61239 24.3601 9.61239 24.4226 9.62357 24.5061C9.62357 24.7041 9.62357 24.7041 9.62357 24.9127C9.62357 25.5382 9.61239 25.8093 9.61239 26.0699C9.60122 26.1638 9.60122 26.2263 9.59005 26.3619C9.59005 26.4765 9.57888 26.5287 9.5677 26.6642V26.6851C9.54536 26.977 9.67943 27.2168 9.95875 27.394C9.99227 27.4357 10.0481 27.4774 10.0928 27.4983L10.104 27.5087C10.1934 27.5817 10.2492 27.6234 10.361 27.6755C10.428 27.7068 10.495 27.7381 10.5844 27.7902C10.7073 27.8632 10.7744 27.9049 10.8414 27.9362C11.0872 28.0717 11.2548 28.1655 11.4112 28.2073C11.6905 28.3219 11.8134 28.3741 11.9363 28.4366C11.9922 28.4679 12.0369 28.4887 12.1486 28.5617C12.2827 28.6451 12.3386 28.6764 12.4056 28.7077C12.4503 28.739 12.6738 28.8537 12.7296 28.8954C12.7408 28.8954 12.8078 28.9579 12.8078 28.9579C12.8078 28.9579 12.9754 29.0309 13.0089 29.0413C13.0536 29.0726 13.1989 29.1456 13.2547 29.1873C13.2547 29.1873 13.4112 29.2707 13.4112 29.2811L13.5564 29.3958L13.7017 29.4792C13.7799 29.5209 13.7799 29.5209 13.8692 29.573C14.2044 29.7503 14.4838 29.9067 14.7742 30.1048C14.8636 30.1673 14.9642 30.2299 15.0983 30.3029C15.1541 30.3341 16.5954 30.6782 17.7686 31.3767C17.9473 31.481 18.2155 31.4914 18.5283 31.7208C18.5842 31.7625 19.8802 32.044 19.8802 32.044C20.6735 31.9814 20.8076 31.5852 21.6679 31.4706C21.7461 31.4497 21.8802 31.3976 21.9137 31.3872C22.0142 31.3559 22.2824 31.2203 22.2824 31.2203C22.3159 31.2099 22.5505 31.1682 22.6064 31.1578H22.6176C22.6958 31.1578 22.7405 31.1474 22.8299 31.1161H22.8187C22.9639 31.1057 23.1092 31.0535 23.1874 31.0118C23.3215 30.9597 24.2376 30.7824 24.5393 30.7303C24.5393 30.7303 24.6622 30.6886 24.6846 30.6886C24.7404 30.6782 24.7739 30.6678 24.8186 30.6573C24.8522 30.6469 24.908 30.6261 24.8745 30.6365L25.0086 30.6052L25.6678 30.428C25.6454 30.4384 26.2264 30.355 26.3158 30.3237C26.3493 30.3133 26.4499 30.2716 26.5281 30.2403C26.6063 30.2195 26.651 30.209 26.651 30.1986C27.0532 30.0526 27.3325 29.9588 27.623 29.8858C27.9582 29.792 28.1705 29.7086 28.3381 29.6252C28.6286 29.5001 28.9079 29.4062 29.1984 29.3332C29.4889 29.2603 29.69 29.1977 30.1369 29.0309C30.1928 29.01 30.2263 28.9996 30.2933 28.9683C30.3492 28.9475 30.3604 28.9371 30.3604 28.9371C30.4386 28.9162 30.7067 28.8015 30.7402 28.8015L30.7961 28.7807C30.8408 28.7598 31.0866 28.6556 31.1536 28.6347C31.2765 28.5826 31.3771 28.5513 31.4665 28.52L31.5559 28.4783C31.567 28.4679 31.5894 28.4679 31.6229 28.4575C31.6452 28.447 31.757 28.4262 31.7793 28.4262C32.0028 28.4053 32.2151 28.3324 32.4832 28.2177C32.7402 28.1134 32.7737 28.0821 33.0195 28.0404C33.4217 27.8736 34.1256 27.5296 34.1256 27.4879C34.4161 27.3627 34.3044 27.0604 34.2709 26.904L34.2597 26.7372C34.2373 26.3514 34.2373 26.1533 34.2373 25.9553C34.2485 25.9135 34.2597 25.8718 34.2597 25.8406C34.2597 25.8301 34.2597 25.8197 34.2597 25.8093C34.282 25.7363 34.2932 25.6738 34.282 25.6112C34.2932 25.2671 34.282 25.0169 34.2597 24.5373L34.215 23.6511C34.1815 23.5052 34.1703 23.3696 34.1591 23.0777V23.0464C34.1368 22.619 34.1256 22.4209 34.0809 22.1706C34.0697 22.0768 34.0586 22.0143 34.0362 21.8474C34.0139 21.6702 34.0027 21.5868 33.9804 21.4617C33.9692 21.3887 33.958 21.3261 33.9357 21.1593C33.9133 20.9717 33.9022 20.8987 33.891 20.8153C33.8351 20.4399 33.8239 20.0855 33.8575 19.5954L33.8351 19.2305L33.7681 19.1784C33.7569 19.095 33.7569 18.9907 33.7346 18.8344V18.8031C33.7234 18.6258 33.7122 18.5216 33.701 18.4173L33.7122 18.3965V18.2401C33.701 17.7918 33.6899 17.3643 33.6675 16.9473C33.7346 16.9577 33.8016 16.9681 33.8686 16.9785C34.0027 17.0098 34.3714 17.0828 34.5502 17.0932C34.6843 17.1037 34.9971 17.0724 35.1647 17.0619C35.511 17.0828 35.7792 17.1245 36.0809 17.1349C36.092 17.1454 36.1144 17.1454 36.1367 17.1558C36.2596 17.1766 36.3714 17.2183 36.4831 17.2392C36.4831 17.2496 36.4943 17.2496 36.5054 17.26C36.5166 17.26 36.5166 17.2496 36.5278 17.2496C36.5613 17.26 36.5948 17.26 36.6172 17.26C36.6172 17.2392 36.606 17.2183 36.606 17.1975C36.6172 17.1871 36.6283 17.1871 36.6395 17.1766C36.6507 17.1558 36.6842 17.1454 36.6842 17.1454C36.8406 17.0307 36.9747 16.8951 36.997 16.7283C36.9859 16.6345 36.9412 16.4989 36.9077 16.3738ZM21.7461 12.6726C21.802 12.1826 21.8131 11.6822 21.802 11.1922C21.8243 11.2026 21.8467 11.2026 21.8467 11.2026C21.9472 11.2339 22.0143 11.2443 22.1707 11.2756C22.3047 11.2964 22.3606 11.3173 22.4612 11.3381C22.5282 11.3485 22.5729 11.359 22.6734 11.3694C22.7181 11.3694 22.7405 11.3798 22.7405 11.3798L22.8857 11.4007C22.8634 11.4007 22.8522 11.4007 22.8634 11.4007C22.9193 11.4111 22.9528 11.4215 22.9863 11.4215C23.0198 11.432 23.0533 11.432 23.1092 11.4424C23.1539 11.4528 23.1651 11.4528 23.2209 11.4632C23.4109 11.5049 23.4109 11.5049 23.6343 11.5362C24.3382 11.6405 24.5281 11.7864 24.9304 11.8386C24.8633 11.8281 25.2432 11.9011 25.3326 11.9115C25.4778 11.9428 25.5896 11.9637 25.6789 11.995C25.8354 12.0471 25.9471 12.0679 26.1594 12.1096L26.3493 12.1409C26.6398 12.2347 26.9415 12.2765 27.4666 12.339C27.5336 12.339 27.623 12.3494 27.8018 12.3703C27.9023 12.3911 27.9805 12.412 28.1593 12.4537C28.3604 12.5058 28.4498 12.5267 28.5727 12.5475C28.6174 12.558 28.6509 12.5684 28.7403 12.5788C28.8297 12.5997 28.8744 12.6101 28.9191 12.6205L29.1202 12.6622L29.2654 12.7039L29.4107 12.7456L29.4889 12.756C29.6006 12.8082 29.69 12.8499 29.7906 12.8812C29.4665 12.9646 29.1649 13.0584 28.9079 13.1627C28.6509 13.2461 28.4386 13.2982 28.1928 13.3295C28.1035 13.3399 28.0252 13.3503 27.8576 13.3712C27.6677 13.392 27.5783 13.4025 27.5225 13.4129C27.4331 13.4129 27.3772 13.4233 27.2543 13.4442C27.1649 13.4546 27.1314 13.465 27.0085 13.4754C26.9526 13.4859 26.2488 13.6422 26.2041 13.6631C26.2041 13.6631 25.9247 13.7361 25.6007 13.8195C25.5896 13.8403 25.5672 13.8508 25.5337 13.8612C25.1203 14.0176 24.7628 14.2678 24.3494 14.3929C23.9136 14.5285 23.4444 14.5076 22.9975 14.5806C22.9751 14.5806 22.9639 14.5806 22.9528 14.5806L22.8634 14.6223C22.8634 14.6223 22.1818 14.7682 22.1372 14.7787C22.1148 14.7787 22.0143 14.8412 21.869 14.9038C21.8578 14.7891 21.8467 14.6536 21.8355 14.5702C21.8243 14.4972 21.8243 14.4659 21.8131 14.445C21.8131 14.445 21.7796 13.2565 21.7796 13.2356C21.7908 13.2252 21.7461 12.7456 21.7461 12.6726ZM10.7073 18.605C10.6068 18.459 9.91406 18.2714 9.72412 18.2401C9.53418 18.1567 9.05375 17.9586 8.9532 17.9064C8.84147 17.8543 8.71857 17.8126 8.59566 17.7709C8.42807 17.7084 8.30517 17.6771 7.98116 17.5832C7.45603 17.4373 7.16554 17.333 6.91974 17.1871C6.87505 17.1141 6.78566 17.0619 6.68511 17.0619H6.67394C6.66276 17.0619 6.65159 17.0515 6.64042 17.0515C6.62924 17.0411 6.61807 17.0411 6.59573 17.0307C6.53986 16.9994 6.484 16.9577 6.42813 16.916C6.37227 16.8743 6.30523 16.8326 6.24937 16.8013C6.21585 16.7804 6.17116 16.7596 6.13764 16.7387C6.12647 16.7283 6.10412 16.7283 6.09295 16.7179C6.13764 16.7387 6.09295 16.7179 6.0706 16.697C6.02591 16.6658 5.97005 16.6449 5.91418 16.6241C5.90301 16.6241 5.90301 16.6241 5.90301 16.6241C5.89184 16.6136 5.86949 16.6032 5.85832 16.6032C5.8248 16.5824 5.79128 16.5615 5.75776 16.5407C5.75776 16.5407 5.74659 16.5407 5.74659 16.5302C5.73542 16.5198 5.71307 16.4989 5.7019 16.4885C5.69072 16.4781 5.67955 16.4677 5.67955 16.4572C5.66838 16.4468 5.65721 16.4364 5.64603 16.4155C5.69072 16.3947 5.73542 16.3738 5.76893 16.353C5.91418 16.2592 6.20468 16.0402 6.30523 15.9464C6.89739 15.5398 7.32196 15.1332 7.81357 14.6223C8.36103 14.2678 8.52863 14.1323 8.79678 13.8403C8.9085 13.7257 9.12079 13.5797 9.26604 13.4754C9.27721 13.4442 9.29955 13.4129 9.31073 13.3816V13.392C9.73529 13.0792 9.72412 12.975 10.0258 13.1001C10.0258 13.048 10.3163 13.1731 10.7185 13.4442C10.7297 13.4442 10.752 13.4546 10.7632 13.4546C10.8079 13.4754 10.9643 13.5588 10.9978 13.5797C11.1096 13.6318 11.1989 13.6735 11.266 13.6944C11.2995 13.7048 11.333 13.7152 11.3554 13.7257L11.3665 13.7361C11.8246 13.9655 12.2827 14.1323 12.7631 14.2365C12.7967 14.247 12.8302 14.2574 12.886 14.2678C12.9307 14.2887 12.9642 14.2991 13.0536 14.3408L13.1542 14.3825H13.1877L13.7352 14.6119L13.7799 14.6327L13.7352 14.6119L13.8692 14.664C14.1262 14.7682 14.4055 14.9038 14.6513 15.0393C14.7296 15.081 14.7966 15.1123 14.9307 15.1644C15.0424 15.2166 15.0871 15.2374 15.143 15.2583L15.4446 15.3625C15.4446 15.3625 16.953 15.9985 17.02 16.0194C17.087 16.0506 17.1541 16.0715 17.1764 16.0819C17.1988 16.0923 17.2099 16.0923 17.2323 16.1028C17.3887 16.1757 17.5228 16.2279 17.8021 16.3009C17.8133 16.3009 17.8244 16.3113 17.8356 16.3113C17.8915 16.3321 17.9585 16.353 18.0591 16.3843C18.1484 16.4051 18.182 16.4155 18.249 16.4468C18.2713 16.4572 18.2937 16.4572 18.3049 16.4677C18.3272 16.4781 18.3384 16.4781 18.3607 16.4885C18.3607 16.4885 18.4389 16.5407 18.506 16.6136C18.249 16.7596 18.0367 16.9368 17.8468 17.1349C17.7351 17.26 17.6122 17.3747 17.4781 17.4894C17.2993 17.4998 16.7965 17.9899 16.6736 18.1254C16.506 18.2505 16.0926 18.5424 16.0033 18.605C15.9027 18.678 15.8021 18.7509 15.7128 18.8344C15.5787 18.949 15.4893 19.0324 15.2547 19.2514C14.7966 19.6893 14.5508 19.8769 14.2268 20.0125C14.1821 19.9916 14.1486 19.9708 14.1039 19.9499C13.9921 19.8978 13.8804 19.8665 13.7687 19.8248C13.6681 19.7935 13.5564 19.7623 13.4559 19.7518C13.4 19.7414 13.333 19.731 13.2659 19.731C13.2436 19.731 13.2212 19.731 13.1989 19.731C13.1877 19.731 13.1542 19.731 13.1542 19.731C13.0983 19.7206 13.0313 19.658 12.9642 19.6267C12.9084 19.5954 12.8525 19.5746 12.7967 19.5433C12.2827 19.1263 11.8023 18.8656 11.2548 18.7405C11.0537 18.6988 10.8861 18.6571 10.7073 18.605ZM19.0646 30.3341L18.9641 30.2716C18.8076 30.1777 18.3272 29.8858 18.2602 29.8441C18.0032 29.6877 14.7966 28.4053 14.7966 28.4053H14.7742C14.7519 28.3949 14.6402 28.3532 14.6067 28.3428C14.4391 28.2698 14.372 28.2385 14.2826 28.1864C14.2156 28.1447 14.1709 28.1134 14.048 28.0404C13.9475 27.9779 13.9028 27.957 13.8692 27.9362C13.6793 27.8111 13.467 27.686 13.1877 27.5504C13.1542 27.54 13.1207 27.5191 13.0313 27.467C12.9419 27.4149 12.886 27.394 12.8302 27.3628C12.6179 27.2376 12.4391 27.1542 12.0034 26.9666L11.8805 26.9249C11.7017 26.8519 11.6347 26.8206 11.59 26.7998C11.3889 26.6746 11.3889 26.6746 11.1989 26.5391C11.1431 26.4974 11.0984 26.4765 11.009 26.4244V26.414C11.009 26.3723 11.0202 26.3202 11.0202 26.2785C11.0202 26.1846 11.0202 26.1116 11.009 25.9657L10.9978 25.7155C11.0202 25.6216 11.0202 25.5382 11.009 25.3818C10.9867 24.9856 10.9867 24.8188 10.9978 24.6416C11.0202 24.4748 11.0202 24.3497 11.009 24.0682V24.0473V24.0056C11.0202 23.9431 11.0202 23.9118 11.0202 23.8701C11.0425 23.7658 11.0425 23.672 11.0425 23.5156L11.009 22.9005C11.009 22.7962 10.9978 22.7128 11.009 22.5147C11.009 22.2958 11.009 22.2019 10.9978 22.0768L10.9084 20.294C10.9084 20.221 10.8973 20.1793 10.8861 20.0542C10.8861 20.0125 10.8749 19.9812 10.8749 19.9499C10.9196 19.9812 10.9531 20.0125 10.9867 20.0333C11.1319 20.1272 11.2995 20.2106 11.4671 20.2731C11.59 20.3148 11.7129 20.367 11.8246 20.4295C11.9475 20.4921 12.0928 20.5234 12.2045 20.5963C12.4279 20.7527 12.6626 20.8987 12.8749 21.0655C12.9307 21.1176 13.0089 21.1385 13.076 21.1802C13.1318 21.2219 13.1765 21.274 13.2324 21.3157C13.3106 21.3679 13.3106 21.3574 13.3665 21.3991C13.4 21.42 13.4223 21.4304 13.4559 21.4513C13.5564 21.5034 13.6234 21.5242 13.6793 21.5659C13.7575 21.5972 13.8692 21.5555 13.9586 21.5034C13.9475 21.5242 14.1039 21.3991 14.1039 21.42C14.4614 21.2323 14.3385 21.2532 14.7184 21.0238C14.8748 20.9612 15.1541 20.8361 15.2659 20.7736C15.4111 20.6797 15.7016 20.4608 15.8021 20.367C16.3943 19.9604 16.8189 19.5537 17.3105 19.0429C17.858 18.6884 18.0255 18.5529 18.2937 18.2609C18.4054 18.1462 18.6177 18.0003 18.763 17.896C18.7741 17.8752 18.7853 17.8647 18.7853 17.8439C18.8188 18.1462 18.8747 18.4486 18.9305 18.7509C18.9417 18.8239 18.9417 19.3035 18.9417 19.3244C18.9417 19.3452 19.0199 20.5338 19.0199 20.5338C19.0199 20.5546 19.0199 20.5859 19.0088 20.6589C18.9976 20.7736 18.9976 20.9925 18.9976 21.1072C18.9864 21.2532 18.9864 21.3157 18.9976 21.3887C18.9976 21.4304 18.9864 21.7328 18.9864 21.8162C18.9864 21.8057 18.9864 21.8162 18.9752 21.8474C18.9641 21.9308 18.9641 22.1081 18.9529 22.1602C18.9417 22.2645 18.9752 22.9734 18.9752 22.9943C18.9641 23.0777 19.0534 24.7354 19.0534 24.7354L19.0423 25.0169C19.0311 25.1316 19.0311 25.2254 19.0311 25.434C19.0311 25.6112 19.0311 25.6946 19.0199 25.8301C19.0199 25.8406 19.0199 25.851 19.0199 25.8614C19.0199 25.8614 19.0199 26.1116 19.0088 26.1429C18.9976 26.1742 18.9752 26.3514 18.9864 26.3931C18.9864 26.4348 18.9752 26.5912 18.9752 26.5912C18.9752 26.6329 18.9752 26.6746 18.9752 26.6955C18.9752 26.6955 18.9417 27.3732 18.9529 27.613C18.9529 27.6547 18.9529 27.6964 18.9529 27.7694C18.9417 27.8736 18.9417 27.9153 18.9417 27.9675C18.9417 27.9779 18.9417 27.9883 18.9417 27.9883C18.9194 28.3949 18.9194 28.6034 18.9529 28.812C18.9529 28.8224 18.9529 28.8328 18.9529 28.8432L18.9641 29.0726C18.9641 29.156 18.9752 29.2081 18.9976 29.302C19.0088 29.3645 19.0088 29.3854 19.0199 29.4479C19.0534 29.7607 19.0758 30.0318 19.0646 30.3341ZM19.8467 15.644H19.802C19.7909 15.644 19.2434 15.2791 18.9194 15.2374C18.897 15.227 18.8859 15.227 18.8635 15.2166H18.8412L18.3831 15.0602C18.2378 15.0185 18.2378 15.0185 18.0367 14.9663C17.9809 14.9559 17.925 14.9455 17.858 14.9246C17.8021 14.9038 17.7462 14.8934 17.6345 14.8517L17.601 14.8412C17.5898 14.8412 17.5675 14.8308 17.5116 14.8099C17.4222 14.7682 17.3663 14.7474 17.3663 14.7578L17.2658 14.7057C17.1876 14.6744 17.1205 14.6431 17.087 14.6327C16.9194 14.5702 15.6457 14.028 15.4334 13.9237C15.143 13.7569 14.886 13.6318 14.629 13.538C14.305 13.4025 14.305 13.4025 13.9139 13.2356C13.7352 13.1522 13.5452 13.0792 13.333 13.0063C13.1765 12.9541 13.0536 12.9124 12.7967 12.8395C12.6961 12.7977 12.4168 12.7039 12.3944 12.6935C12.2604 12.6414 12.1598 12.5997 12.1039 12.5788C12.0146 12.5267 11.9252 12.485 11.8358 12.4328C12.0816 12.3911 12.2939 12.3599 12.5062 12.3494C12.6738 12.3807 12.8302 12.3703 12.9419 12.3182C12.9866 12.3077 13.0425 12.2973 13.1095 12.2869C13.1654 12.2869 13.21 12.2765 13.3218 12.2765L13.6681 12.2556C13.8916 12.2452 14.1039 12.193 14.2938 12.1096C14.5284 12.0262 14.629 11.995 14.7407 11.995H14.8078C15.0312 11.9845 15.1765 11.9637 15.4781 11.9011C15.858 11.8281 15.8915 11.8281 16.0591 11.8177H16.0703C16.0926 11.8281 16.115 11.8386 16.1262 11.849C16.372 11.8594 16.6178 11.8698 16.8636 11.8803C17.3328 11.63 17.8915 11.5675 18.4278 11.4945L18.3831 11.4632C18.4836 11.432 18.5954 11.4007 18.7071 11.359C18.9082 11.2756 19.154 11.213 19.4445 11.1609C19.478 11.1505 19.4892 11.1505 19.5674 11.1296C19.6233 11.1192 19.668 11.1088 19.7126 11.0983C19.7685 11.0879 19.8132 11.0879 19.8802 11.067C19.9361 11.0566 19.9473 11.0566 19.9584 11.0566C20.0367 11.0566 20.0813 11.0462 20.1707 11.0149H20.1596C20.1707 11.0149 20.1819 11.0149 20.1931 11.0149L20.3718 11.0045C20.3718 11.0253 20.3718 11.0462 20.383 11.067L20.3942 11.0879C20.3942 11.0879 20.316 12.1201 20.3383 12.3077C20.3383 12.3182 20.3383 12.7352 20.3383 12.7456C20.3383 12.7456 20.3942 13.2982 20.3942 13.3295C20.383 13.392 20.3718 13.4546 20.3607 13.5171C20.3607 13.5797 20.3495 13.9342 20.3607 14.0489C20.3607 14.0697 20.3607 14.4242 20.3495 14.4346C20.3495 14.5493 20.383 14.9768 20.4277 15.4564C20.0702 15.571 19.8802 15.644 19.8467 15.644ZM32.796 26.0804C32.796 26.1429 32.796 26.195 32.796 26.3202C32.796 26.4661 32.7849 26.5391 32.796 26.6329L32.8072 26.758L32.6508 26.7998H32.6396C32.5502 26.8206 32.5502 26.8206 32.4273 26.8623C32.3938 26.8727 31.4106 27.1751 31.4106 27.1751C31.2318 27.2376 30.6062 27.4253 30.6062 27.4253L30.5838 27.4357C30.528 27.4566 30.2375 27.5608 30.2039 27.5817C30.1593 27.6025 30.1146 27.6234 30.0028 27.6547C29.8688 27.6964 29.8129 27.7172 29.7123 27.7694C29.5783 27.8319 29.4554 27.8736 29.1872 27.957C29.0196 28.0092 28.9638 28.03 28.8855 28.0509C28.8073 28.0717 28.7515 28.0926 28.6286 28.1343C28.528 28.1655 28.2264 28.2698 28.2264 28.2698C28.204 28.2802 28.1593 28.3011 28.0923 28.3219C27.9135 28.3845 27.9023 28.3845 27.8353 28.4158C27.7347 28.4575 27.6454 28.4887 27.5225 28.5305C27.1761 28.666 26.8297 28.7911 26.4834 28.9162C25.4778 29.083 24.4834 29.4062 23.5114 29.6669C22.3271 29.9797 21.6232 30.0839 20.4612 30.4592L20.4054 29.3332C20.4054 29.2707 20.3942 29.2498 20.3718 29.1456C20.3607 29.1143 20.3272 28.9475 20.3272 28.9475C20.3272 28.9371 20.316 28.8745 20.316 28.812L20.3048 28.5722C20.2936 28.3115 20.3495 27.2793 20.3495 27.2168C20.3495 27.2064 20.3495 27.2064 20.3495 27.1959L20.3718 26.9457V26.9353L20.3942 26.6225C20.3942 26.6121 20.3942 26.6017 20.3942 26.5912C20.3942 26.5391 20.3942 26.4765 20.3942 26.3514C20.3942 26.195 20.3942 26.1221 20.3942 26.0282C20.3942 25.9865 20.4054 26.1012 20.4054 26.0074C20.4165 25.8823 20.4165 25.8197 20.4054 25.7363C20.4054 25.7155 20.4389 25.3505 20.4389 25.2984C20.4389 25.2463 20.4389 25.2046 20.4389 25.1212C20.4389 25.0899 20.4501 24.798 20.4501 24.725C20.4501 24.6312 20.4501 24.5269 20.4501 24.4226C20.4501 24.3705 20.4612 24.3184 20.4612 24.2558C20.4724 24.1724 20.4724 24.1724 20.4724 24.0577L20.4836 23.7345C20.4836 23.7137 20.5171 23.5364 20.5171 23.4947C20.5394 23.3696 20.5394 23.2654 20.5283 23.0777C20.5171 22.9109 20.4947 20.6797 20.4836 20.3982C20.4724 20.3878 20.4389 20.0333 20.4389 20.0229C20.4389 19.9082 20.3942 19.5642 20.3942 19.5016C20.383 19.4391 20.3607 19.3765 20.3495 19.3139C20.3383 19.2827 20.3495 18.7301 20.3495 18.7301C20.3495 18.7197 20.316 18.3026 20.316 18.2922C20.316 18.1045 20.1484 17.0828 20.1484 17.0828V17.0619C20.1484 17.0098 20.1484 16.9681 20.1484 16.916C20.1372 16.8222 20.126 16.7283 20.1037 16.6449C20.0813 16.5719 21.2768 16.2696 21.3774 16.2592C21.4221 16.2592 22.3047 16.1028 22.3047 16.1028C22.4835 16.0611 22.7517 15.9568 23.5114 15.8108C23.5673 15.8004 24.0812 15.6857 24.0924 15.6753C24.1259 15.6649 24.1483 15.6649 24.2265 15.644C24.3382 15.6232 24.3941 15.6127 24.5058 15.5815C24.5058 15.5815 24.5281 15.571 24.584 15.571C24.6957 15.5502 24.7516 15.5398 24.8857 15.4876C24.8745 15.4981 24.8745 15.4981 24.8857 15.4876C24.9639 15.4668 25.0086 15.4459 25.0533 15.4251C25.1873 15.3625 25.2991 15.3312 25.5896 15.2583C25.6678 15.2374 25.7236 15.227 25.7683 15.2166L26.0253 15.1644C26.0476 15.1644 26.07 15.154 26.0923 15.1436C26.1035 15.1436 26.1035 15.1436 26.1705 15.1332C26.1705 15.1332 26.908 14.9246 27.232 14.8725C27.299 14.8621 27.3549 14.8517 27.4778 14.8308C27.6342 14.8099 27.7012 14.7995 27.7236 14.7891C27.7906 14.7891 27.8465 14.7787 27.947 14.7578C28.0029 14.7474 28.0252 14.7474 28.0364 14.7474C28.0364 14.7474 28.5727 14.6953 28.6509 14.6744L29.1202 14.518C29.3548 14.4346 29.3548 14.4346 29.6118 14.3512C30.0028 14.1948 30.3715 14.0906 30.7738 14.0489C31.0419 13.9967 31.2989 13.9133 31.5782 13.7882C31.757 13.6944 31.9581 13.611 32.1592 13.5484C32.2151 13.9446 32.2598 14.3512 32.3044 14.7682C32.3156 14.9351 32.3156 15.0706 32.3268 15.3729C32.338 15.7274 32.338 15.8734 32.3491 16.0611C32.3827 16.7283 32.3827 17.26 32.3715 18.5111C32.3827 18.5946 32.3938 18.678 32.405 18.7927C32.4162 18.8656 32.4162 18.8656 32.4273 18.949L32.4832 19.3556C32.4832 19.3765 32.4832 19.3974 32.4832 19.4182C32.472 19.5642 32.472 19.6163 32.4832 19.6893C32.4832 19.6893 32.4832 19.6893 32.4832 19.7206C32.472 19.7727 32.472 19.8144 32.472 19.8561C32.4609 19.9082 32.4497 19.9708 32.4497 20.0333C32.4497 20.0855 32.4497 20.1272 32.4497 20.1689C32.4385 20.5651 32.4497 20.8674 32.4944 21.1176L32.5167 21.4513C32.5167 21.5347 32.5279 21.5868 32.5502 21.6806C32.5614 21.7432 32.5614 21.764 32.5726 21.8579C32.6173 22.0768 32.6508 22.2332 32.6508 22.3583C32.6508 22.4209 32.662 22.4521 32.6843 22.5773C32.6955 22.6398 32.6955 22.6711 32.7067 22.6919C32.7178 22.8171 32.7178 22.9109 32.7402 23.1194C32.7625 23.3071 32.7737 23.3905 32.7737 23.4843L32.8184 24.3392C32.8296 24.5269 32.8296 24.6103 32.8296 24.7041C32.8296 24.8397 32.8296 24.9439 32.8184 25.1003L32.8407 25.4965C32.8407 25.5591 32.8407 25.6112 32.8407 25.7572C32.796 25.9135 32.796 25.9865 32.796 26.0804ZM34.863 15.9672C34.5725 15.9672 34.2709 15.9047 33.7457 15.7691C33.6899 15.7483 33.634 15.7379 33.5893 15.7274C33.5781 15.5815 33.567 15.4459 33.5558 15.3104C33.5446 15.008 33.5446 14.7682 33.5335 14.5597C33.9133 15.0289 34.2709 15.4147 34.7513 15.8108C34.7848 15.8421 34.8407 15.9047 34.8965 15.9672C34.8854 15.9672 34.8742 15.9672 34.863 15.9672Z\"\n fill={ICON_COLOURS[accentColour]}\n />\n <path\n d=\"M35.6109 6.16624C35.5244 6.2807 35.4229 6.49224 35.2523 6.62611C34.439 7.26892 33.6127 7.89742 32.7789 8.5157C32.4624 8.74973 32.1157 8.94696 31.7744 9.14829C31.6167 9.24128 31.445 9.32713 31.2668 9.37209C31.1772 9.39458 31.013 9.34552 30.9676 9.27807C30.919 9.20552 30.9547 9.0696 30.9827 8.96842C30.9989 8.91222 31.0692 8.8601 31.1264 8.82433C32.0596 8.25612 32.632 7.34352 33.4421 6.66086C33.8622 6.30727 34.3385 6.00579 34.8192 5.72782C35.1205 5.55409 35.5785 5.78403 35.6109 6.16624Z\"\n fill={ICON_COLOURS[accentColour]}\n />\n <path\n d=\"M27.3988 5.89134C27.375 5.66038 27.3059 5.42431 27.334 5.19846C27.4917 3.90161 28.1268 2.82549 29.1172 1.9364C29.4747 1.6155 29.7598 1.70952 29.8408 2.16531C29.8786 2.37481 29.8776 2.62621 29.7879 2.81425C29.5568 3.29968 29.2706 3.76262 28.9995 4.23067C28.8072 4.56281 28.6387 4.9164 28.3935 5.21072C28.1678 5.48154 27.8524 5.68695 27.577 5.92098C27.5187 5.91178 27.4582 5.90156 27.3988 5.89134Z\"\n fill={ICON_COLOURS[accentColour]}\n />\n <path\n d=\"M17.2397 4.30795C16.7234 4.22006 16.583 3.88589 16.4285 3.59667C15.9393 2.6759 15.4748 1.74388 15.0028 0.814926C14.8732 0.559439 14.7998 0.289644 15.0817 0.0883201C15.342 -0.0976747 15.7492 0.0178056 15.8928 0.362203C16.3799 1.52723 16.8357 2.70451 17.2883 3.88282C17.3293 3.98706 17.2634 4.12707 17.2397 4.30795Z\"\n fill={ICON_COLOURS[accentColour]}\n />\n <path\n d=\"M13.1816 7.03425C13.065 6.97191 12.9289 6.92796 12.8328 6.84314C11.8953 6.02456 10.9567 5.207 10.0365 4.37207C9.7481 4.11045 9.49536 3.80795 9.26098 3.50137C9.17998 3.39611 9.1411 3.12325 9.19294 3.09259C9.33011 3.01185 9.531 2.9863 9.69949 3.0047C9.82478 3.01901 9.96519 3.11405 10.0516 3.21011C11.0604 4.33528 12.0605 5.46658 13.0596 6.5989C13.1471 6.69803 13.2054 6.81964 13.2778 6.93103C13.2454 6.9668 13.214 7.00052 13.1816 7.03425Z\"\n fill={ICON_COLOURS[accentColour]}\n />\n <path\n d=\"M22.8763 3.98611C22.8299 3.79398 22.7651 3.63354 22.7565 3.47003C22.7078 2.53188 22.6754 1.5927 22.6333 0.654555C22.6236 0.430748 22.6819 0.205919 22.9401 0.215117C23.1118 0.221248 23.3548 0.359212 23.4261 0.501263C23.5438 0.735289 23.5762 1.01837 23.5957 1.28408C23.6324 1.77461 23.6453 2.26821 23.6475 2.75977C23.6486 3.3852 23.5881 3.47105 22.8763 3.98611Z\"\n fill={ICON_COLOURS[accentColour]}\n />\n <path\n d=\"M9.08348 10.3957C8.69357 10.5234 8.41708 10.3619 8.1719 10.2127C7.41369 9.75287 6.676 9.26335 5.92751 8.78917C5.67694 8.62974 5.55381 8.43864 5.73418 8.16884C5.87999 7.95015 6.15541 7.90927 6.41571 8.10753C7.24628 8.74216 8.06497 9.3911 8.87935 10.0441C8.97007 10.1187 9.00464 10.2557 9.08348 10.3957Z\"\n fill={ICON_COLOURS[accentColour]}\n />\n </svg>\n )\n}\n\nexport default BoxOpen\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"xs\":\"375px\",\"sm\":\"600px\",\"md\":\"834px\",\"lg\":\"1280px\",\"xl\":\"1280px\",\"right\":\"curvedarrow-module__right___2pDy9\",\"topRight\":\"curvedarrow-module__topRight___W1otP\",\"up\":\"curvedarrow-module__up___3ltb9\",\"left\":\"curvedarrow-module__left___2YX_U\",\"topLeft\":\"curvedarrow-module__topLeft___F68uL\",\"down\":\"curvedarrow-module__down___34ZO3\",\"bottomRight\":\"curvedarrow-module__bottomRight___Gag6M\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"xs\":\"375px\",\"sm\":\"600px\",\"md\":\"834px\",\"lg\":\"1280px\",\"xl\":\"1280px\",\"down\":\"curveddashedarrow-module__down___2uDAj\",\"left\":\"curveddashedarrow-module__left___2Y5BY\",\"up\":\"curveddashedarrow-module__up___sdV1e\",\"right\":\"curveddashedarrow-module__right___3JPvU\",\"topRight\":\"curveddashedarrow-module__topRight___Oduo9\",\"topLeft\":\"curveddashedarrow-module__topLeft___1mFW1\",\"bottomRight\":\"curveddashedarrow-module__bottomRight___1qkII\"};","// @noflow\nimport React from 'react'\n\nimport {\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\ntype Props = {\n size: number\n accentColour: IconColours\n backgroundColour?: IconColours\n width?: number | string\n}\n\nconst House = ({\n size,\n accentColour,\n backgroundColour,\n width\n}: Props): JSX.Element => {\n return (\n <svg\n fill=\"none\"\n height={size}\n viewBox=\"0 0 25 32\"\n width={width || '100%'}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <clipPath id=\"a\">\n <path d=\"m0 0h24.7547v32h-24.7547z\" />\n </clipPath>\n <g clipPath=\"url(#a)\">\n <path\n d=\"m3.35348 1.69416v3.21775c0 1.22214-.01666 2.44428-.12324 3.66308-.06928.49682-.08714.99952-.0533 1.50001-.50961.2344-.75276.6396-1.03255 1.1385-.30801.5436-.572 1.1113-.78941 1.6976-.09612.2223-.12171.469-.07328.7065.11325.9676.38638 1.8851.45632 2.8628.10659 1.4699.10326 2.9499.10326 4.4231 0 1.1954.04663 2.3974 0 3.5928-.02332.6429.36972 1.0849.74944 1.5905.15655.2076.06328.164.2165.3047.30977.2745 1.02257.4319 1.39895.529.53959.1373 1.08252.2243 1.62544.3348.47813.1457.94558.3247 1.39895.5358.77275.2879 1.54218.4252 2.29494.7868.7265.3936 1.4314.8262 2.1117 1.2958.5287.3137 1.0865.575 1.6655.7802.5591.2538 1.146.4404 1.7486.5558.5663.0703.7795-.1741 1.2957-.4955.5429-.3729 1.1194-.6935 1.7221-.9577.5229-.1942 1.0858-.2477 1.6188-.4018 1.034-.3457 2.0368-.7792 2.9977-1.2958.2598-.1306.7894-.3348.9027-.5725v-.365c0-.5491 0-1.0983 0-1.6474 0-.6697-.09-1.3393-.1066-1.9889-.0467-2.009.0999-4.018.0999-6.027.0448-.5937.0582-1.1895.04-1.7847l-.3364-.5055c-.3827-.5175-.8181-.9933-1.2991-1.4197-.3797-.3349-.8227-.5492-1.1924-.8773-.3298-.2668-.6352-.5626-.9126-.884-.1866-.2477-.2099-.5257-.3731-.7868-.3269-.4844-.7031-.9333-1.1225-1.33935-.2277-.24701-.4787-.47127-.7494-.66967-.8128-.57257-1.9186-.73664-2.8379-1.05138-.7195-.24443-1.4089-.54912-2.1384-.77346-.5429-.16407-1.1391-.19421-1.6654-.39845-.4999-.21809-.984-.47094-1.44891-.75673-.3564-.2009-.69281-.44198-1.03589-.66966-.17666-.10499-.34786-.21898-.51295-.34153-.0302-.07771-.04272-.16123-.03664-.24443-.27726-.5955-.45722-1.23203-.53293-1.88511-.02775-.57967-.08556-1.15748-.1732-1.73109-.02998-.13058-.14656-1.037983-.3131-1.131736-.28312-.1607197-.96261.164068-1.20576.26117-.50296.2009-.9726.408497-1.48888.569216-.24613.06378-.47417.18414-.66617.35158-.11658.0971-.21983.02009-.23649.21094\"\n fill={backgroundColour ? ICON_COLOURS[backgroundColour] : '#fff'}\n />\n <g fill={ICON_COLOURS[accentColour]}>\n <path\n clipRule=\"evenodd\"\n d=\"m3.33376 27.2586v-.0536h-.07661zm1.38229-26.636014.17987-.043528c0-.026787-.01999-.070315-.03664-.073664-.05619-.009993-.11291-.016701-.16988-.02009 0 .046877 0 .090405.02665.137282zm1.23665 1.593094-.00008.0007c-.0662.61275-.1324 1.2255-.18736 1.83825-.02664.31474.06995.36831.60288.33483.09957-.9455-.02014-1.90133-.34973-2.79251v.0067c-.02163.20401-.04367.40802-.06571.61203zm-3.82803 18.81162c-.16335.6272-.12433 1.2068-.08371 1.8101.0099.1472.0199.2957.02708.4467.19788.106.39951.212.60218.3185l.00058.0003c.26453.1391.53083.279.79286.4212.12049.0324.24503.0471.36972.0435.15036-.8122.19404-1.6407.1299-2.4644zm1.12582-19.81206c-.12394.84477-.18628 1.69752-.18653 2.55143 0 .64832-.01584 1.29748-.03167 1.94622-.01581.6479-.03161 1.29538-.03161 1.94119.0071.13463.02156.26876.0433.4018.49433-.60854.80614-1.26138 1.11192-1.90159.0795-.16646.1586-.33206.24039-.49581.10879-.3449.267-.67201.46965-.97102.178-.19777.31173-.43162.39217-.68577s.10573-.52269.07414-.7875c0-.22421-.01194-.43942-.02384-.65367v-.00001c-.00587-.10569-.01172-.21115-.01613-.31733-.01332-.32144-.02331-.61609-.0333-.91744zm2.9278 20.82326c-.00792.341-.01776.6736-.02743 1.0005-.01881.6361-.03699 1.2509-.03919 1.8657-.0013.3635-.03765.726-.07414 1.0898-.05694.5679-.11422 1.1391-.03911 1.7228.7133.3725 1.46206.672 2.23499.894.01756-.2686.03512-.534.05254-.7973l.00021-.0032c.04528-.6843.0896-1.354.13044-2.0255.01756-.2886.05304-.582.08908-.88.08021-.6633.1632-1.3495.05748-2.0565zm-4.84303-8.1666c-.03426 1.2806-.06609 2.4961-.09695 3.6749l-.00002.0007c-.02013.7689-.03986 1.5222-.05958 2.2677l3.35415 1.4365c-.00958.28-.01805.5568-.02645.8312-.02083.6802-.04121 1.3458-.07681 2.0115-.00545.0904-.03006.1787-.07218.2588s-.10078.1502-.17206.2057c-.07127.0555-.15351.095-.24121.116-.0877.0209-.17884.0228-.26732.0054-.1047-.0379-.20996-.075-.31538-.1121-.66588-.2343-1.33782-.4708-1.91294-.9593.09758-.4974.14667-1.0032.14656-1.5101-.0119-.1213-.00515-.2496.00177-.3811.0202-.384.04185-.7957-.39481-1.1424-.254002 1.6429-.242755 3.3162.03331 4.9555.483.0201.85.265 1.21923.5114.24696.1647.49492.3302.77926.4295.27962.0977.55354.2302.83339.3655h.00002.00001c.43022.2081.87445.423 1.37492.5285.01067-.1072.0226-.2073.034-.3028.02063-.173.03951-.3312.04594-.4907.02871-.7392.05448-1.4797.08024-2.2198.0131-.3764.0262-.7527.03967-1.1286.01856-.1434.01856-.2885 0-.4319-.15988-.6462.09993-1.105.64951-1.5235.97594.4018 1.95187.8203 2.94446 1.3226-.01485.2751-.03105.5339-.04689.7868v.0001l-.00001.0001c-.00902.1441-.01792.2862-.02638.4284-.02082.3348-.04226.6697-.0637 1.0045-.06433 1.0045-.12866 2.009-.17612 3.0135-.00144.3652.02305.7299.07328 1.0916 1.26903.6998 5.11283 2.0693 5.91883 2.1128 0-.5358 0-1.0681-.0266-1.6005-.0417-.8176-.088-1.6352-.1343-2.4528v-.0002c-.072-1.2717-.144-2.5434-.1988-3.8151-.0375-.8628-.0437-1.7257-.0498-2.5909-.0026-.3636-.0052-.7276-.0101-1.0923.0263-.5291-.0242-1.0592-.1499-1.5737-.2702-.1347-.547-.2554-.8294-.3616-1.4638-.466-2.9631-.8415-4.45393-1.2148-.27664-.0693-.55299-.1385-.82876-.2082-1.56882-.3817-3.09767-.8806-4.61986-1.4164-.46004-.1614-.91724-.3299-1.42135-.5157-.26969-.0995-.55279-.2038-.85694-.3147zm20.86764-.1013-.0001-.0001c-.9034-1.2392-1.7946-2.4616-2.8811-3.5583-.1061.093-.2042.1949-.2931.3047-.4139.6415-.8263 1.284-1.2387 1.9261l-.0016.0025-.0001.0002c-.6954 1.0831-1.3903 2.1654-2.0904 3.241-.3731.5558-.7061 1.0849-.5196 1.7981.0181.1434.0181.2885 0 .4319 0 .5045-.0045 1.0094-.0089 1.5142v.0001c-.0089 1.0097-.0178 2.0193.0089 3.0261.042 1.3353.1205 2.6689.1991 4.002.0274.4652.0548.9303.0807 1.3955.0357.6741.079 1.3361.1237 2.0205v.0002c.022.3354.0442.6761.0661 1.0262.3926-.1813.7792-.3582 1.161-.533.8168-.3738 1.6121-.7379 2.3997-1.1143.9801-.4615 1.9555-.9469 2.9436-1.4385l.0002-.0001.0003-.0002c.4455-.2217.8937-.4447 1.346-.6673.0148-.1415.033-.2812.051-.4197v-.0003c.0387-.2974.0766-.5891.0789-.8792 0-.4093-.0103-.8192-.0206-1.2293v-.0002l-.0001-.0001c-.0123-.4922-.0247-.9845-.0193-1.4758.0233-2.307.0267-4.6174-.0766-6.921 0-.1653.0099-.3306.0206-.5082v-.0001-.0001c.0031-.0526.0063-.1062.0094-.1613l-.0133-.0067c-.4598-.5878-.8942-1.1836-1.3257-1.7755zm-16.94297-8.15213-.00023.00043c-.27575.51558-.53117.99315-.80012 1.47266-.17095.30478-.3622.61428-.55636.92848l-.00002.00003c-.20684.33473-.41699.6748-.60941 1.02022-.3793.61055-.71973 1.24461-1.01924 1.89851-.09662.2405-.22075.4713-.34601.7042-.2288.4254-.46132.8578-.53665 1.3684.14688.0671.28174.132.41335.1954h.00008l.00008.0001c.09814.0472.19447.0936.29262.1393 2.17822.8346 4.40246 1.5422 6.66166 2.1195.32883.0867.65749.1738.98609.2609h.00035c1.09258.2895 2.18448.5787 3.28038.8541.1238.0306.2436.0805.3654.1312.2777.1157.5654.2355.9336.14.0288-.0513.0587-.1052.0896-.1608l.0004-.0008c.0937-.1688.1962-.3537.3064-.5348l.2247-.3717c.3902-.6459.7795-1.2903 1.1875-1.9253.3738-.5801.7541-1.1569 1.134-1.7333l.0002-.0003c.3919-.5946.7835-1.1887 1.1674-1.7855.1102-.2351.1929-.48232.2465-.73659l-13.15676-4.48007c-.09118.16977-.17934.33461-.26551.49573zm-4.630805 8.31043-.62619531-.4621c.01230241-.1398.04368451-.2773.09326321-.4085.1111461-.1872.2217131-.3747.3323041-.5624.419682-.712.839723-1.4246 1.293143-2.1163.33838-.50184.51831-1.09465.51628-1.70093.02722-1.83069.11451-3.65914.20186-5.48902.01953-.40916.03907-.81839.05794-1.22773 0-.2639.04767-.52625.09181-.7692.02082-.11463.04087-.224938.05475-.329054.23626-.095001.45743-.187474.67006-.276374.38692-.161768.74554-.311707 1.11526-.443518.34068-.107797.69928-.14643676 1.05495-.1136721.35567.0327648.70131.1362801 1.01683.3045271.10989.061408.20148.1512.26531.260097s.09757.232951.09775.359345c.10991.820339.19985 1.644029.25314 2.471069.00511.4294-.01491.85872-.05996 1.28576.56534.34271 1.17989.59569 1.82197.75002 3.23091 1.09826 6.46401 2.1887 9.69941 3.27132.2304.09504.4743.15268.7227.17077.2155.00824.4253.07121.6099.18305.1847.11184.3381.26888.446.45648.7921 1.06306 1.5972 2.12136 2.404 3.18196h.0001l.0003.0004c.5501.7232 1.101 1.4474 1.6492 2.175.0317.0435.0658.0854.1.1272.0341.0419.0682.0837.0999.1272.2598.3751.2032.5056-.3731.7702.0061.5856.0169 1.1731.0276 1.7617v.0004c.0245 1.343.0492 2.6917.0191 4.0372-.0183.8178.0127 1.6386.0439 2.4622.0426 1.1253.0854 2.2557.0027 3.3907-3.141 1.3393-6.1654 2.8293-9.2264 4.4365-.1257-.0506-.2515-.1045-.3795-.1594h-.0001c-.2112-.0905-.4287-.1837-.6629-.2692l-.5388-.2086-.0002-.0001c-1.3953-.5405-2.7895-1.0806-4.19415-1.576-.57916-.2025-1.16678-.376-1.75518-.5499h-.00004-.00009c-.57903-.1711-1.15883-.3423-1.73207-.5416-.70913-.2465-1.42829-.5359-2.14825-.8256h-.00001c-.45349-.1825-.90729-.3651-1.3591-.5372-.12877-.0506-.2559-.107-.38296-.1633l-.00003-.0001c-.23447-.104-.46876-.2079-.71285-.2752-.17563-.0358-.335166-.1273-.455105-.2612-.119939-.1338-.19393-.3028-.211064-.4821-.08327-.5726-.16321-1.1452-.20318-1.7211-.088567-1.2705-.010272-2.5393.067993-3.8076.030641-.4965.061277-.993.081894-1.4894.050719-1.2214.069524-2.4122.088445-3.6103.008416-.533.016854-1.0673.028134-1.6064zm1.803495 1.9901c-.02097.1958-.03718.3783-.05256.5515-.0307.3457-.05809.654-.1134.9565-.03639.1304-.04616.2669-.02872.4012.01743.1343.0617.2637.13015.3804.06846.1166.15967.2182.26817.2985s.23204.1378.36318.1688c.07178.0264.14206.0608.21377.096.21115.1037.43471.2134.74551.1384l.01855-.3372c.03115-.5644.06306-1.1428.08804-1.712.0086-.1095-.01953-.2188-.07989-.3104-.06036-.0917-.1495-.1604-.2532-.1952-.26387-.0972-.53064-.1843-.82811-.2813l-.00016-.0001-.00096-.0003c-.14804-.0483-.30369-.0991-.47037-.1548zm-.65892 2.8406c.84603.8371 1.75534.8572 2.72794.5023l-.04996-3.2981-1.87859-.8873c-.06585-.0295-.13375-.0541-.20318-.0737-.07553-.0283-.1571-.0363-.23665-.0232s-.15431.0469-.2169.098c-.06258.0511-.11081.1177-.13993.1932-.02911.0756-.03809.1575-.02605.2376.00745.1096.01621.2189.02496.3282.02252.2811.04499.5616.04499.8437 0 .365-.01221.7308-.02414 1.088-.01137.341-.02249.6741-.02249.9913zm18.9866.4152c-.5847.4723-1.2525.83-1.9685 1.0547-.1054-.7248-.1411-1.4581-.1066-2.1898.034-.2111.1414-.4033.3031-.5424.3278-.3646.7612-.6164 1.2391-.7199.2249.7878.4029 1.5883.5329 2.3974zm.2032.9677c.4064-1.3059.3398-2.6117.2698-3.951v.0167c-.1806-.0849-.3805-.1197-.5791-.1009-.1985.0189-.3884.0907-.55.208-.5643.302-1.1525.5563-1.7587.7601-.173.0424-.3233.1494-.4205.2994-.0971.1499-.1338.3314-.1025.5076.0549.9482.1147 1.894.1751 2.8503l.0001.0008.028.4436c.3779.1045.6187-.0685.8591-.2413.0753-.0541.1506-.1082.2301-.1538.2585-.1913.5339-.3583.8227-.4989.3366-.0805.6802-.1276 1.0259-.1406zm-9.729 4.4528c.0196-.1766.0403-.3623.0603-.5615l.0067-.0067 1.9252.6697.0144.4367v.0004c.0184.56.0364 1.1068.0522 1.6389-.2904.1637-.5411.0561-.7735-.0437-.0528-.0227-.1046-.0449-.1558-.0635-.3668-.1385-.7149-.323-1.0358-.5491-.0614-.0599-.1099-.1318-.1426-.2113-.0326-.0795-.0487-.1648-.0473-.2508.0159-.3388.0537-.6775.0962-1.0591zm2.5955.926c-.0152-.4137-.0304-.8276-.0304-1.2497h-.0033c-.2608-.1197-.5213-.2433-.7821-.367l-.0002-.0001c-.5421-.2571-1.0861-.5152-1.6392-.7412-.423-.1842-.7361-.0067-.7561.4419-.053 1.0172-.0285 2.037.0733 3.0504.4939.3958 1.0494.5789 1.6214.7675.4927.1624.9977.3289 1.4862.6388.091-.8882.0607-1.7139.0304-2.5406zm-5.34359-5.2777c0-.2965-.00785-.5526-.01507-.7881v-.0001c-.00688-.2246-.0132-.4306-.01157-.6349.00078-.0986.00934-.1982.01794-.2984.02792-.3249.0564-.6564-.17782-.984l-1.71205-.4855c-.21564.8236-.18903 1.6925.07661 2.5012l1.8153.6898zm-2.72794-3.6832c.21317-.3348.53626-.3348.86268-.2712.87032.2518 1.69952.6296 2.46148 1.1217.07988.3397.02878.6832-.02242 1.0274-.03207.2156-.06418.4314-.06418.6467v1.6441c-1.08328-.0106-2.14174-.3273-3.05437-.9141.13435-.7783.03831-1.5143-.05612-2.238-.04371-.3349-.08707-.6672-.10709-.9999zm6.44603 2.1662c.283.0585.5614.1379.8327.2377h-.0066c.1269.5065.1346 1.013.1425 1.5386.0054.3569.0109.7227.054 1.1032-.6983-.2309-1.3687-.5397-1.9985-.9208-.02-.1473-.02-.2544-.02-.3582.0266-.6024.0566-1.2047.0866-1.807v-.0011c.2473-.1243.4277-.021.6041.0801.0993.0569.1973.113.3052.1275zm-1.5055 2.7676v.0014l-.0067-.0033c.0023.0006.0045.0013.0067.0019zm.0087-.3857c-.0029.1274-.0058.2559-.0087.3857.2401.0702.4748.149.7081.2273.735.2468 1.4555.4886 2.283.4405.0645-1.197.0199-2.3973-.1333-3.5861-.243-.1072-.4742-.2323-.703-.3561-.5361-.2902-1.0591-.5734-1.6918-.6015-.244.2322-.3895.55-.4064.8873-.0087.859-.0277 1.7027-.0479 2.6029z\"\n fillRule=\"evenodd\"\n />\n <path d=\"m3.33376 27.205h.2v-.2h-.2zm0 .0536-.11462.1639.31462.22v-.3839zm-.07661-.0536v-.2h-.63498l.52036.3639zm1.63877-26.625942.04704.194388.15296-.037016v-.157372zm-.17987.043528-.17387.098836.07446.130995.14645-.035443zm.14323-.117192.03943-.196125-.00441-.000785zm-.16988-.02009.01188-.199647-.21187-.012606v.212253zm1.26322 1.731076-.19883-.02153-.00001.00005zm.00008-.0007.19884.02153v-.00005zm-.18744 1.83895-.1992-.01787-.00008.00099zm.60288.33483.01254.1996.16866-.01059.0177-.16807zm-.34973-2.79251.18758-.06938-.38758.06938zm0 .0067.19888.02108.00112-.01051v-.01057zm-3.97745 21.23375.19954-.0134zm.08371-1.8101.05978-.1908-.2004-.0628-.05293.2032zm-.05663 2.2568-.19977.0095.00539.1133.09995.0535zm.60218.3185-.09306.177.00031.0002zm.00058.0003.09306-.177-.00031-.0002zm.79286.4212-.09536.1758.02065.0112.02268.0061zm.36972.0435.00577.1999.16148-.0046.02941-.1589zm.1299-2.4644.1994-.0155-.0105-.1349-.12911-.0404zm-.89932-17.83653-.2-.00006v.00006zm.18653-2.55143.01098-.1997-.18235-.01003-.02651.1807zm-.2182 4.49765-.19994-.00488zm-.03161 1.94119h-.20028l.00055.01055zm.0433.4018-.19739.03225.07182.43953.2808-.34568zm1.11192-1.90159.18047.08619zm.24039-.49581.17892.08936.00707-.01413.00475-.01507zm.46965-.97102-.14866-.13379-.00919.01021-.00771.01138zm.46631-1.47327h-.19999v.01189l.0014.0118zm-.02384-.65367.19985-.01109-.00075-.00787zm0-.00001-.19985.01109.00075.00787zm-.01613-.31733.19983-.00828zm-.0333-.91744.19989-.00663-.00607-.18301-.18284-.01006zm.89188 21.71326.1998.01.00012-.0041zm.02743-1.0005.06434-.1894-.25797-.0876-.00632.2724zm-.02743 1.0005-.19979-.0099-.00012.004zm-.03919 1.8657.2.0007zm-.07414 1.0898.19901.02zm-.03911 1.7228-.19836.0255.01331.1035.09246.0483zm2.23499.894-.0552.1922.23857.0685.0162-.2477zm.05254-.7973.19957.0132zm.00021-.0032-.19956-.0132v.0001zm.13044-2.0255.19963.0121zm.08908-.88.19855.024zm.05748-2.0565.1978-.0296-.01803-.1205-.11543-.0393zm-7.32485-5.302-.19993-.0052zm.09695-3.6749.06849-.1879-.26099-.0951-.00743.2777zm-.09697 3.6756.19993.0052zm-.05958 2.2677-.199928-.0053-.00359.1357.124788.0535zm3.35415 1.4365.19988.0068.00468-.1368-.12583-.0539zm-.02645.8312-.19991-.0061zm-.07681 2.0115.19964.012.00007-.0013zm-.07218.2588.17702.0931zm-.17206.2057-.12284-.1578h-.00001zm-.50853.1214-.0682.1881.01455.0052.0152.003zm-.31538-.1121.0664-.1886zm-1.91294-.9593-.19626-.0385-.02257.115.08935.0759zm.14656-1.5101.2-.0001-.00001-.0097-.00095-.0097zm.00177-.3811.19972.0105zm-.39481-1.1424.12436-.1566-.26945-.214-.05256.34zm.03331 4.9555-.19723.0332.02693.1599.162.0067zm1.21923.5114-.11101.1663h.00001zm.77926.4295-.06594.1888zm.83339.3655-.08709.1801.00917.0044.00957.0035zm.00002 0-.06838.1881.00513.0017zm.00001 0 .0871-.18-.01161-.0056-.01224-.0041zm1.37492.5285-.04125.1957.2182.046.02207-.2219zm.034-.3028.19872.0237.00059-.0071zm0 0-.19903-.0199-.00028.0033zm0 0-.19862-.0237-.00038.0038zm.04594-.4907.19984.008.00001-.0003zm.08024-2.2198.19988.0069zm.03967-1.1286-.19834-.0256-.0012.0092-.00033.0093zm0-.4319.19835-.0257-.00146-.0113-.00274-.011zm.64951-1.5235.07614-.1849-.10606-.0437-.09125.0695zm2.94446 1.3226.1997.0108.00704-.1303-.11645-.059zm-.04689.7868-.19962-.0125-.00013.0025zm0 .0001.19948.0153.00027-.0053zm-.00001.0001-.19943-.0154-.00018.0029zm-.02638.4284.19961.0124.00003-.0005zm-.0637 1.0045-.19959-.0128zm-.17612 3.0135-.19997-.0094-.00003.0086zm.07328 1.0916-.1981.0275.01378.0992.08774.0484zm5.91883 2.1128-.0107.1997.2107.0114v-.2111zm-.0266-1.6005.1998-.01-.0001-.0002zm-.1343-2.4528-.1997.0108v.0005zm0-.0002.1997-.0108v-.0005zm-.1988-3.8151.1998-.0086v-.0001zm-.0498-2.5909h-.2v.0015zm0 0h.2v-.0014zm-.0101-1.0923-.2002-.0099.0002.0126zm-.1499-1.5737.1943-.0475-.0221-.0901-.083-.0414zm-.8294-.3616.0705-.1874-.0098-.0032zm-4.45393-1.2148-.04858.194zm-.82876-.2082.04901-.1939-.00173-.0005zm-4.61986-1.4164.06639-.1886-.00017-.0001zm-1.42135-.5157-.06918.1876zm20.0106-.4161-.1616.1179.0025.0033zm.0001.0001.1616-.1179-.0026-.0033zm-2.8812-3.5584.1421-.1408-.1324-.13359-.1415.12399zm-.2931.3047-.1554-.1259-.0068.0084-.0058.0091zm-1.2387 1.9261.1683.1081zm-.0016.0025-.1682-.1081-.0009.0013zm-.0001.0002.1683.1081.0008-.0013zm-2.0904 3.241.1661.1115.0015-.0024zm-.5196 1.7981.1984-.0251-.0016-.0129-.0033-.0126zm0 .4319-.1984-.0251-.0016.0125v.0126zm-.0089 1.5142-.2-.0018v.0018zm0 .0001.2.0017v-.0017zm.0089 3.0261-.1999.0052v.001zm.1991 4.002.1997-.0118zm.0807 1.3955.1997-.0106v-.0005zm.1237 2.0205-.1995.013v.0005zm0 .0002.1996-.013v-.0005zm.0661 1.0262-.1996.0125.0183.2916.2652-.1225zm1.161-.533-.0832-.1819zm2.3997-1.1143-.0852-.181-.0011.0005zm2.9436-1.4385.0891.179.0003-.0001zm.0002-.0001-.088-.1796-.0015.0007zm.0003-.0002.0879.1797.0012-.0006zm1.346-.6673.0883.1794.0991-.0488.0115-.1098zm.051-.4197.1983.0257.0002-.0015zm0-.0003-.1983-.0258-.0002.0016zm.0789-.8792.2.0016v-.0016zm-.0206-1.2293.1999-.005v-.001zm0-.0002.1999-.006-.0001-.0027zm-.0001-.0001-.1999.005.0001.0037zm-.0193-1.4758.2.0022v-.0002zm-.0766-6.921h-.2002l.0004.0089zm.0206-.5082-.1991-.0221-.0006.0101zm0-.0001.1989.0221.0006-.0078zm0-.0001.1995.0143.0001-.0023zm.0094-.1613.1997.011.0072-.1308-.1171-.0589zm-.0133-.0067-.1576.1232.0277.0354.0401.0201zm-18.2689-9.9272.17636.09432.00011-.00021zm.00023-.00043-.17636-.09433-.00011.00021zm-.80035 1.47309-.17444-.09784zm-.55636.92848-.17017-.10516-.00201.00341zm-.00002.00003.17017.10516.00202-.00342zm-.60941 1.02022.17008.10566.00464-.00833zm-1.01924 1.89851-.18203-.0834-.00354.0088zm-.34601.7042.17286.1008.00329-.0061zm0 0-.17286-.1009-.00328.0061zm-.53665 1.3684-.19786-.0292-.02193.1487.13666.0624zm.41335.1954.08819-.1795-.00144-.0007zm.00008 0-.08819.1796.00304.0014zm.00008.0001.08675-.1802-.00159-.0008zm.29262.1393-.08472.1818.01317.005zm6.66166 2.1195.05099-.1934-.00148-.0003zm.98609.2609.05143-.1933-.00022-.0001zm.00035 0-.05144.1933.00023.0001zm3.28038.8541-.0488.194.0008.0002zm.3654.1312-.0769.1847zm.9336.14.0502.1936.0825-.0213.0417-.0743zm.0896-.1608-.1748-.0972-.0001.0002zm.0004-.0008.1748.0973.0001-.0002zm.3064-.5348.1709.1039.0002-.0004zm.2247-.3717.1711.1035.0001-.0001zm1.1875-1.9253-.1681-.1083-.0001.0002zm1.134-1.7333.167.11.0004-.0007zm.0002-.0003-.167-.1101-.0005.0007zm1.1674-1.7855.1682.1083.0073-.0113.0057-.0121zm.2465-.73659.1957.04128.0366-.17346-.1678-.05715zm-13.15676-4.48007.06447-.18932-.16046-.05464-.0802.14933zm-5.52251031 8.34406-.19923069-.0175-.009838.1118.090319.0666zm.62619531.4621-.11875.1609.052948.0391h.065802zm-.5329321-.8706-.1719601-.1021-.008942.015-.0061893.0164zm.3323041-.5624-.172297-.1015zm1.293143-2.1163-.16584-.1118-.00143.0022zm.51628-1.70093-.20002-.00297.00002.00364zm.20186-5.48902.2.00955v-.00955zm0 0-.2-.00955v.00955zm.05794-1.22773.2.00922v-.00922zm.09181-.7692.19678.03575zm.05475-.329054-.07462-.185561-.10822.043515-.01541.115616zm.67006-.276374-.07714-.184522zm1.11526-.443518-.06037-.1908054-.00679.0024201zm2.07178.190855.09757-.174625-.00347-.001852zm.26531.260097-.17255.101131v.000001zm.09775.359345-.2.000279.00001.013199.00176.013082zm.25314 2.471069.20026-.00239-.00068-.01047zm-.05996 1.28576-.19889-.02098-.01332.12621.10853.0658zm1.82197.75002.06436-.18936-.00869-.00295-.00893-.00215zm9.69941 3.27132.0764-.18532-.013-.00434zm.7227.17077-.0145.19959.0069.00026zm.6099.18305-.1036.17107zm.446.45648-.1733.09972.0059.01028.007.0095zm2.404 3.18196.16-.12-.0008-.0011zm.0001 0-.16.12.001.0014zm.0003.0004.1591-.1211-.0002-.0002zm1.6492 2.175.1618-.1176-.002-.0028zm.1.1272-.155.1264zm.0999.1272.1644-.1139-.0026-.0037zm-.3731.7702-.0834-.1818-.1179.0541.0013.1297zm.0276 1.7617.2-.0026v-.0011zm0 .0004-.2.0027v.001zm.0191 4.0372-.2-.0045zm.0439 2.4622h.2002l-.0003-.0076zm0 0h-.2001l.0003.0075zm.0027 3.3907.0784.1839.1122-.0478.0089-.1216zm-9.2264 4.4365-.0746.1855.0857.0345.0819-.0429zm-.3795-.1594-.0813.1828.0025.0011zm-.0001 0 .0812-.1828-.0024-.001zm-.6629-.2692-.0723.1865.0037.0014zm-.5388-.2086.0722-.1865-.0004-.0002zm-.0002-.0001-.0723.1865.0005.0002zm-4.19415-1.576.06652-.1886-.00051-.0001zm-1.75518-.5499-.05682.1918h.00016zm-.00004 0-.06172.1903.0049.0015zm-.00009 0 .06172-.1903-.00506-.0015zm-1.73207-.5416.06567-.1889zm-2.14825-.8256.07466-.1856-.00038-.0001zm-.00001 0-.07466.1855.00038.0002zm-1.3591-.5372-.07315.1862.00196.0007zm-.38296-.1633-.09412.1764.00639.0034.00663.003zm-.00003-.0001.09412-.1764-.00639-.0034-.00663-.003zm-.71285-.2752.05329-.1933-.01337-.0027zm-.455105-.2612-.148941.1335h.000001zm-.211064-.4821.199334-.0191-.001416-.0097zm-.20318-1.7211.19952-.0138-.000004-.0001zm.067993-3.8076-.19962-.0123zm.081894-1.4894.199828.0083zm.088445-3.6103-.199959-.0042-.000016.001zm0 0 .199959.0041.000016-.001zm.028134-1.6064.199956.0041.004272-.2041h-.204228zm1.744273 2.5416-.19922-.0177zm.05256-.5515.06346-.1897-.23584-.0789-.02648.2473zm-.16596 1.508.19264.0538.00245-.0088.00165-.009zm-.02872.4012.19833-.0257zm.39832.6789-.119.1608h.00001zm.36318.1688.06884-.1877-.01115-.0041-.01156-.0028zm.21377.096-.08812.1796zm.74551.1384.04691.1944.14461-.0348.00818-.1486zm.01855-.3372-.19969-.011-.00001.0001zm.08804-1.712-.19951-.0156-.0003.0069zm-.07989-.3104-.16702.11zm-.2532-.1952-.0692.1878.00558.0019zm-.82811-.2813.06205-.1902-.00254-.0008zm-.00016-.0001-.06228.1901.00276.0009zm-.00096-.0003.06226-.19-.00022-.0001zm1.59865 3.1881.06857.1879.13357-.0488-.00216-.1421zm-2.72794-.5023h-.2v.0835l.05933.0587zm2.67798-2.7958.19998-.003-.00189-.1246-.11267-.0532zm-1.87859-.8873.08544-.1809-.00367-.0016zm-.20318-.0737-.07019.1873.00789.003.00811.0022zm-.23665-.0232-.03253-.1973zm-.2169.098.12646.1549zm-.13993.1932.18663.0719zm-.02605.2376.19954-.0136-.00055-.0081-.00121-.008zm.02496.3282.19936-.016zm.02085 1.9317-.19988-.0067zm16.99561 2.4612-.1979.0288.0338.2324.224-.0703zm1.9685-1.0547.1257.1556.0902-.0728-.0184-.1145zm-2.0751-1.1351-.1974-.0318-.0018.0112-.0005.0112zm.3031-.5424.1305.1516.0097-.0083.0086-.0096zm1.2391-.7199.1923-.0549-.0514-.1802-.1832.0396zm1.0059-.5859.1997-.0105-.3997.0105zm-.2698 3.951.0076.1998.1413-.0053.0421-.1351zm.2698-3.9343-.085.181.285.1339v-.3149zm-.5791-.1009.0189.1991zm-.55.208.0943.1764.0121-.0065.0111-.008zm-1.7587.7601.0476.1943.0082-.002.0079-.0027zm-.523.807.1997-.0116-.0007-.0118-.002-.0117zm.1751 2.8503.1997-.0125-.0001-.0001zm.0001.0008-.1996.0126v.0001zm.028.4436-.1996.0126.009.1422.1373.038zm.8591-.2413-.1168-.1624zm.2301-.1538.0994.1735.0102-.0058.0094-.0069zm.8227-.4989-.0465-.1945-.0213.0051-.0197.0096zm-8.6428 3.7507-.1418-.141-.05.0503-.0072.0707zm-.0603.5615-.1988-.0222v.0001zm.067-.5682.0657-.1889-.1188-.0413-.0887.0892zm1.9252.6697.1999-.0066-.0045-.1372-.1297-.0451zm.0144.4367.1999-.0065-.0001-.0001zm0 .0004-.1999.0065v.0001zm.0522 1.6389.0983.1742.1053-.0594-.0036-.1208zm-.7735-.0437.0789-.1838zm-.1558-.0635-.0706.1871.0023.0009zm-1.0358-.5491-.1398.1431.0115.0112.0131.0092zm-.1426-.2113-.185.076zm-.0473-.2508-.1999-.0094-.0001.0061zm2.6613-1.3828h.2v-.2h-.2zm.0304 1.2497-.1999.0074zm-.0337-1.2497-.0834.1817.0397.0183h.0437zm-.7821-.367-.0872.18.0014.0007zm-.0002-.0001.0871-.18-.0014-.0007zm-1.6392-.7412-.0799.1834.0042.0017zm-.7561.4419.1997.0104.0001-.0015zm.0733 3.0504-.199.0199.0084.0836.0655.0525zm1.6214.7675-.0626.1899zm1.4862.6388-.1071.1689.2731.1732.033-.3217zm-5.32826-8.6064h-.20009l.00019.0061zm.01507.7881v.2h.2v-.2zm-.01507-.7882h.2001l-.00019-.0061zm-.01157-.6349.19999.0016zm.01794-.2984-.19926-.0171zm-.17782-.984.16269-.1163-.04074-.057-.06739-.0191zm-1.71205-.4855.05457-.1924-.19635-.0557-.0517.1974zm.07661 2.5012-.19001.0624.02978.0907.08919.0339zm1.8153.6898-.07103.1869.03432.0131h.03671zm-1.8586-3.9544.05558-.1921-.00857-.0025-.00875-.0017zm-.86268.2712-.16871-.1074-.09424.148.13451.1127zm3.32416.8505.19469-.0458-.01845-.0785-.06774-.0437zm-.02242 1.0274.19782.0294zm-.06418 2.2908-.00194.2.20194.0019v-.2019zm-3.05437-.9141-.19708-.034-.02254.1305.11146.0717zm-.05612-2.238.19831-.0259zm-.10709-.9999.19964-.012-.00517-.086-.06603-.0553zm7.25875 2.3872v.2l.069-.3877zm-.8327-.2377.0406-.1964-.014-.0019zm.8261.2377v-.2h-.2563l.0623.2486zm.1425 1.5386.2-.003zm.054 1.1032-.0628.1899.2967.0981-.0352-.3105zm-1.9985-.9208-.1982.0269.0129.0948.0818.0495zm-.02-.3582-.2-.0089v.0089zm.0866-1.807-.1998-.01zm0-.0011-.0898-.1787-.1041.0523-.0058.1164zm.6041.0801-.0994.1735zm-1.2003 2.8965-.0898.1787.2826.142.0071-.3161zm-.0067-.0033.056-.192-.1458.3707zm.0154-.3838-.2-.0045zm.6994.613-.0637.1896zm2.283.4405.0116.1996.1785-.0104.0096-.1785zm-.1333-3.5861.1984-.0256-.0144-.1119-.1033-.0455zm-.703-.3561.0952-.1759zm-1.6918-.6015.0089-.1998-.0851-.0038-.0617.0587zm-.4064.8873-.1999-.01-.0001.0079zm-7.62184 8.6994v.0536h.4v-.0536zm.12339.2h.07661v-.4h-.07661zm.19122-.3103-.0766-.0536-.22924.3278.07661.0536zm1.4005-26.710031-.17986.043528.09408.388777.17987-.043528zm-.02901.316802c-.03443-.006921-.05874-.021717-.07218-.031532-.01392-.010166-.02311-.020048-.02818-.026021-.00987-.011636-.01439-.020676-.01574-.02347-.00179-.00371-.00316-.007313-.00431-.011578-.00088-.003258-.00353-.013724-.00353-.029812h.4c0-.053231-.01681-.101204-.032-.132633-.00843-.017443-.02107-.039667-.03937-.061243-.01297-.015301-.05432-.061483-.12585-.075864zm-.14233-.01652c.0492.002928.09819.008722.14673.017354l.07004-.393821c-.06385-.011354-.12829-.018976-.19302-.022827zm.21239-.161201c-.00003-.000054.00008.000133.00026.000528.00017.000397.00034.000832.00047.001247.00031.000925.00019.000929-.00005-.00074-.00028-.001897-.00067-.005493-.00091-.012143-.00026-.007137-.00029-.01497-.00029-.027338h-.39999c0 .044115-.00302.137981.05277.236118zm1.26154 1.71416.00008-.0007-.39768-.04306-.00007.0007zm-.187 1.83458c.05477-.61063.12077-1.22158.18701-1.83463l-.39769-.04296c-.06617.61244-.13257 1.227-.18772 1.84186zm.39114.11736c-.13138.00826-.22713.01049-.29774.00607-.07346-.0046-.09914-.0155-.10391-.01815-.00009-.00005.00416.00251.00861.00832.0042.00548.00445.0085.00333.00448-.00365-.01303-.00753-.04593-.00134-.11907l-.39857-.03375c-.00714.08423-.00894.17606.01469.26055.02687.09609.08503.17694.1791.22918.08267.0459.17939.06179.2731.06766.09656.00604.21273.00241.34781-.00608zm-.52478-2.52352c.31893.86232.43477 1.78724.33842 2.70218l.3978.04189c.10279-.97605-.02078-1.96279-.36105-2.88283zm.38759-.06268v-.0067h-.4v.0067zm-.06687.63351c.02204-.20398.0441-.40819.06575-.61243l-.39777-.04217c-.0216.20378-.04362.40759-.06566.61164zm-3.91104 20.58684c-.04084-.6067-.07629-1.155.07771-1.7463l-.38709-.1008c-.17269.6631-.1301 1.2741-.08971 1.874zm.02732.4506c-.00729-.1533-.01743-.3038-.02732-.4506l-.39909.0269c.00992.1474.01978.294.02686.4427zm.49546.151c-.2028-.1066-.40373-.2123-.6008-.3178l-.18887.3526c.19868.1064.401.2128.60355.3192zm.00027.0001-.00058-.0003-.1855.3544.00058.0003zm.79547.4226c-.26337-.1429-.53083-.2835-.79516-.4224l-.18612.354c.26473.1392.52987.2786.79056.42zm.26859.0194c-.10518.003-.21026-.0094-.31192-.0367l-.10406.3862c.13931.0375.28333.0545.42752.0503zm-.06372-2.2489c.06278.8062.02002 1.6173-.12717 2.4124l.39332.0728c.15353-.8293.19812-1.6753.13264-2.5163zm-1.699-.4006 1.83861.5759.11957-.3817-1.83862-.5759zm1.19907-17.45147c.00024-.84422.06188-1.68728.18441-2.52246l-.39576-.05806c-.12535.85436-.1884 1.7168-.18865 2.5804zm-.03173 1.95104c.01582-.64833.03173-1.29993.03173-1.9511h-.4c0 .64547-.01577 1.29219-.03161 1.94134zm-.03155 1.93631c0-.64296.01573-1.288.03155-1.93631l-.39988-.00976c-.0158.64749-.03167 1.29741-.03167 1.94607zm.04068.36955c-.02057-.12585-.03424-.25274-.04096-.38009l-.39945.02109c.00749.1419.02273.28328.04564.4235zm.73407-1.95554c-.30688.64252-.6095 1.27426-1.08669 1.86169l.31047.2522c.51149-.62965.83248-1.30358 1.13716-1.9415zm.24194-.49898c-.08271.16559-.16257.33279-.24194.49898l.36094.17239c.07964-.16672.15797-.33073.23884-.49264zm.48301-.99385c-.21353.31507-.38022.65971-.49482 1.02305l.38147.12033c.10296-.32644.2527-.63602.44447-.91898zm.36705-.63392c-.07185.227-.19127.4358-.35015.61233l.29732.26758c.19712-.21901.34515-.47792.43419-.75921zm.06623-.70346c.02822.23656.00563.47645-.06623.70346l.38136.1207c.08903-.28129.11701-.57848.08206-.87153zm-.02494-.66627c.01194.215.02354.42478.02354.64258h.39999c0-.23063-.01229-.45126-.02415-.66475zm.00059.00786v.00001l.3982-.03792v-.00001zm-.01685-.32801c.00447.10782.0104.21467.01626.32014l.39938-.02218c-.00588-.10592-.01165-.20997-.01599-.31452zm-.03337-.9191c.00999.3014.02001.59677.03337.9191l.39965-.01656c-.01328-.32055-.02325-.61449-.03324-.91579zm-1.81959.08258 2.00849.11049.02197-.39939-2.00849-.1105zm3.11128 21.62996c.00966-.3268.01952-.66.02745-1.0017l-.39989-.0093c-.0079.3403-.01772.6722-.02739.9992zm-.00017.0041h.00001l-.39951-.02v.0001zm-.03894 1.8564c.00219-.6118.02028-1.224.03911-1.8604l-.39983-.0119c-.0188.6356-.03707 1.253-.03928 1.8709zm-.07513 1.1091c.03632-.3623.07379-.7343.07513-1.1091l-.4-.0014c-.00126.3522-.03649.7051-.07314 1.0706zm-.03976 1.6773c-.07172-.5574-.01754-1.106.03976-1.6773l-.39801-.0399c-.0566.5644-.11698 1.1582-.03847 1.7682zm2.09182.7273c-.75997-.2183-1.49621-.5128-2.19759-.8791l-.18518.3546c.72522.3787 1.48651.6833 2.27238.9089zm-.20221-.6183c-.01742.2633-.03499.5288-.05256.7974l.39915.0261c.01756-.2684.03511-.5338.05254-.7971zm.00021-.0031-.00022.0032.39914.0263.00021-.0033zm.13037-2.0246c-.04081.6709-.08508 1.3401-.13037 2.0245l.39913.0264c.04527-.6842.08962-1.3545.1305-2.0266zm.09015-.8918c-.0359.2969-.07217.5963-.09015.8918l.39926.0243c.01713-.2816.05183-.569.088-.8681zm.05824-2.0029c.10109.676.02244 1.3358-.05824 2.0029l.39711.048c.07976-.6595.16707-1.3722.05673-2.1101zm-2.25141-.6505 2.38487.8103.12868-.3788-2.38487-.8103zm-4.67571-4.6758c.03086-1.1788.06269-2.3943.09695-3.6748l-.39986-.0107c-.03426 1.2806-.06609 2.4962-.09695 3.675zm-.00002.0006.00002-.0006-.39986-.0105-.00002.0007zm-.05958 2.2678c.01973-.7455.03945-1.4988.05958-2.2678l-.39986-.0104c-.02013.7689-.039856 1.5222-.059578 2.2676zm3.23295 1.2473-3.35414-1.4364-.15747.3677 3.35414 1.4364zm.09472 1.0212c.00841-.2744.01687-.5508.02643-.8305l-.39977-.0137c-.00959.2805-.01807.5576-.02647.832zm-.077 2.0161c.03575-.6683.05619-1.3363.077-2.0161l-.39981-.0122c-.02084.6805-.04116 1.3439-.07661 2.0069zm-.09487.3412c.05534-.1053.08764-.2212.0948-.3399l-.39928-.024c-.00374.0621-.02066.1227-.04957.1777zm-.22623.2704c.09379-.073.1709-.1652.22623-.2704l-.35405-.1862c-.0289.055-.06911.103-.11787.141zm-.31761.1527c.11555-.0276.22383-.0797.31762-.1527l-.24571-.3156c-.04876.038-.10495.065-.16481.0792zm-.35222.0072c.11657.0229.23667.0204.35222-.0072l-.0929-.3891c-.05985.0143-.12203.0156-.18241.0038zm-.34332-.1197c.10557.0371.20992.0739.31357.1115l.13641-.3761c-.10576-.0383-.21193-.0757-.31719-.1127zm-1.97603-.9956c.6076.5161 1.31491.7629 1.97603.9956l.13279-.3773c-.67065-.2361-1.30722-.4622-1.84986-.9232zm.07604-1.6625c.00011.494-.04773.9869-.14282 1.4716l.39252.077c.10007-.5101.15041-1.0288.1503-1.5487zm.00204-.3916c-.00675.1283-.01472.2721-.00109.4111l.39809-.039c-.01016-.1036-.00464-.2164.00245-.3511zm-.31944-.9753c.18254.145.26216.2955.29861.4473.03876.1614.03118.3312.02083.528l.39945.021c.00985-.1872.0232-.4153-.03133-.6424-.05684-.2367-.18472-.4654-.43884-.6671zm.35489 4.7657c-.27251-1.6182-.28361-3.27-.03288-4.8917l-.3953-.0612c-.257272 1.6641-.245881 3.3589.03373 5.0193zm1.13302.3782c-.36299-.2422-.77475-.5221-1.32194-.5448l-.0166.3996c.41881.0174.74105.2274 1.11652.4779zm.7342.4071c-.25645-.0896-.48375-.24-.7342-.4071l-.22201.3327c.24346.1625.51209.343.82432.452zm.85453.3743c-.27785-.1344-.5622-.2722-.85453-.3743l-.13189.3776c.26689.0932.53039.2204.81224.3568zm-.01872-.0079h-.00002l-.1367.3759h.00002zm-.00509-.0018h-.00002l-.12649.3795h.00002zm1.35292.5225c-.47289-.0997-.89582-.3032-1.32907-.5128l-.17419.3601c.42718.2066.89271.4328 1.42076.5441zm-.20584-.1308c-.01138.0954-.02354.1972-.03443.3067l.39804.0396c.01045-.105.02215-.2032.03357-.2989zm-.00072.0071.39862.0332zm.00031-.0033h-.00001l.39802.0398zm.0451-.4789c-.00606.1504-.02388.3007-.04469.4751l.39719.0474c.02045-.1715.04037-.3376.04718-.5064zm.0802-2.2187c-.02576.7402-.05152 1.4804-.08021 2.219l.3997.0155c.02872-.7396.05451-1.4806.08027-2.2206zm.03968-1.1287c-.01348.376-.02658.7523-.03968 1.1287l.39976.0139c.0131-.3764.02619-.7526.03966-1.1283zm.00153-.3991c.01634.1263.01634.2542 0 .3806l.39669.0513c.02076-.1604.02076-.3229 0-.4833zm.72668-1.7083c-.28895.22-.51894.4633-.65142.7521-.13476.2937-.16052.6169-.07106.9785l.38829-.096c-.07042-.2847-.04622-.514.04634-.7157.09485-.2068.26956-.4022.5302-.6007zm3.15592 1.3032c-.99956-.5057-1.98114-.9266-2.95861-1.329l-.15228.3698c.9744.4012 1.94469.8174 2.9303 1.3161zm.06243.9778c.01583-.2528.03208-.5124.04698-.7885l-.39941-.0216c-.0148.2741-.03095.5321-.04679.7851zm.00014-.0024v-.0001l-.3995-.02v.0001zm-.00035.0054.00001-.0001-.39882-.0307-.00001.0001zm-.02615.425c.00844-.1418.01733-.2837.02635-.4278l-.39922-.025c-.00902.144-.01794.2865-.02642.429zm-.06375 1.0054c.02144-.3348.04289-.6698.06372-1.0049l-.39923-.0248c-.0208.3346-.04223.6693-.06367 1.0041zm-.17594 3.0102c.04738-1.0026.11159-2.0054.17594-3.0102l-.39918-.0256c-.06431 1.0042-.12875 2.0104-.17631 3.0169zm.0716 1.0546c-.04892-.3523-.07277-.7076-.07137-1.0633l-.4-.0016c-.00148.3746.02365.7489.07518 1.1199zm5.73154 1.9406c-.1743-.0094-.5432-.0957-1.0406-.2422-.489-.1441-1.081-.34-1.6888-.5568-1.2198-.4351-2.48457-.9479-3.10366-1.2893l-.19315.3503c.64996.3584 1.94161.8803 3.16241 1.3158.6126.2185 1.212.4169 1.7101.5636.4897.1443.9034.2456 1.1322.258zm-.2371-1.3908c.0263.5265.0263 1.0539.0263 1.5905h.4c0-.5349.0001-1.0723-.0268-1.6105zm-.1343-2.4515c.0463.8177.0926 1.6347.1343 2.4517l.3994-.0204c-.0417-.8182-.088-1.6364-.1343-2.4539zm0-.0007v.0002l.3994-.0216v-.0002zm-.1989-3.8173c.0548 1.2733.1269 2.5464.1989 3.8178l.3994-.0226c-.0721-1.2719-.144-2.5423-.1987-3.8124zm-.05-2.598c.0061.8645.0123 1.731.05 2.5981l.3996-.0174c-.0373-.8586-.0435-1.7178-.0496-2.5836zm0-.0015h.4zm-.0101-1.0896c.0049.3639.0075.7273.0101 1.091l.4-.0028c-.0026-.3635-.0052-.7282-.0102-1.0936zm-.1442-1.5289c.1211.4957.1698 1.0065.1444 1.5163l.3995.0199c.0273-.5484-.025-1.0979-.1553-1.6312zm-.7055-.2219c.276.1038.5465.2218.8105.3534l.1785-.358c-.2762-.1377-.5594-.2612-.8482-.3698zm-4.43211-1.208c1.49191.3736 2.98511.7476 4.44181 1.2114l.1214-.3812c-1.4708-.4682-2.9762-.8452-4.46604-1.2183zm-.82919-.2083c.27602.0697.55258.139.82919.2083l.09717-.3881c-.27668-.0692-.55281-.1384-.82835-.208zm-4.63725-1.4216c1.52463.5366 3.06068 1.038 4.63897 1.422l.09457-.3887c-1.55935-.3794-3.081-.8758-4.60075-1.4106zm-1.42413-.5168c.50384.1857.96254.3548 1.42431.5168l.13244-.3774c-.4583-.1608-.91401-.3288-1.4184-.5147zm-.85625-.3144c.30376.1108.58654.215.85625.3144l.13835-.3753c-.26965-.0994-.55308-.2039-.85762-.3149zm20.77693-.1681.0001.0001.3181-.2424v-.0001zm-2.8641-3.5387c1.0741 1.0842 1.9568 2.2942 2.8616 3.5353l.3232-.2356c-.902-1.2373-1.8018-2.4721-2.9006-3.5813zm.0044.2898c.0818-.1009.1719-.1947.2695-.2802l-.2636-.3008c-.1147.1005-.2206.2106-.3167.3292zm-1.2258 1.9083c.4124-.6422.8247-1.2845 1.2385-1.9258l-.3361-.2168c-.4141.6417-.8267 1.2843-1.239 1.9265zm-.0016.0025.0016-.0025-.3365-.2162-.0016.0025zm.0007-.0011.0001-.0002-.3382-.2136-.0001.0002zm-2.0919 3.2433c.7005-1.0763 1.3958-2.159 2.0911-3.242l-.3366-.2161c-.6954 1.0831-1.39 2.1649-2.0897 3.2399zm-.4937 1.6384c-.1613-.6167.1152-1.0744.4922-1.636l-.3322-.2229c-.3691.55-.7588 1.1503-.547 1.9601zm.0049.5076c.0203-.16.0203-.3221 0-.4821l-.3968.0502c.016.1267.016.255 0 .3817zm-.0073 1.4909c.0044-.5047.0089-1.0105.0089-1.516h-.4c0 .5035-.0044 1.0074-.0089 1.5124zm0-.0017v-.0001h-.4v.0001zm.0088 3.0208c-.0265-1.0026-.0177-2.0088-.0088-3.0191l-.4-.0035c-.0089 1.0091-.0178 2.0223.009 3.0331zm.1989 3.9955c-.0786-1.3335-.157-2.6643-.1989-3.9965l-.3998.0125c.0421 1.3386.1208 2.6749.1993 4.0076zm.0807 1.3962c-.0259-.4656-.0533-.931-.0807-1.3962l-.3994.0236c.0275.4652.0549.93.0807 1.3948zm.1236 2.0186c-.0447-.6846-.0879-1.3455-.1236-2.0181l-.3994.0212c.0358.6755.0791 1.3388.1239 2.0229zm0-.0003v-.0002l-.3991.027v.0002zm.0661 1.0273c-.0219-.3505-.0442-.6915-.0661-1.0268l-.3991.0261c.0219.3354.0441.6758.066 1.0256zm.8782-.7025c-.3818.1748-.7687.3519-1.1616.5334l.1677.3631c.3922-.1812.7785-.3579 1.1604-.5327zm2.3966-1.1129c-.7858.3757-1.5796.739-2.3966 1.1129l.1665.3638c.8165-.3738 1.6133-.7385 2.4026-1.1158zm2.9408-1.4371c-.9884.4918-1.9619.9762-2.9397 1.4366l.1704.3619c.9824-.4626 1.9597-.9489 2.9475-1.4404zm-.0002.0001-.0002.0001.1789.3578.0002-.0001zm.0018-.0009-.0003.0002.176.3592.0002-.0002zm1.3457-.6672c-.4528.2229-.9013.4461-1.3468.6678l.1782.3581c.4456-.2217.8933-.4445 1.3452-.667zm-.059-.266c-.018.1381-.0365.2803-.0516.4246l.3978.0417c.0145-.1386.0324-.2759.0504-.4148zm-.0002.0013v.0002l.397.0485v-.0003zm.0774-.8566c-.0022.2759-.0382.5554-.0772.855l.3966.0516c.0384-.2952.0782-.5991.0806-.9034zm-.0206-1.2227c.0104.4105.0206.818.0206 1.2243h.4c0-.4122-.0104-.8247-.0207-1.2343zm0 .0009.0001.0002.3998-.0121v-.0002zm.0001.0025v.0001l.3997-.0174v-.0001zm-.0195-1.4868c-.0055.4956.007.9915.0194 1.4831l.3999-.01c-.0124-.4929-.0247-.9815-.0193-1.4686zm-.0764-6.9098c.103 2.2979.0997 4.6038.0764 6.91l.4.0041c.0233-2.3077.0267-4.6226-.0768-6.932zm.0207-.5291c-.0105.1765-.0209.3478-.0209.5202h.4c0-.1583.0095-.3175.0202-.4963zm.0009-.0102v.0001l.3975.0442v-.0001zm-.0007.0078v.0001l.399.0285v-.0001zm.0092-.1581c-.003.0545-.0062.1077-.0094.1604l.3993.0239c.0032-.0525.0064-.1067.0095-.1623zm.0966.183.0133.0067.1796-.3574-.0133-.0067zm-1.3976-1.8364c.4313.5915.8676 1.1901 1.3298 1.7809l.3151-.2464c-.4574-.5847-.8897-1.1777-1.3216-1.7701zm-16.60503-8.17539.00023-.00043-.35294-.18823-.00023.00043zm-.80216 1.47639c.2701-.48156.52646-.9609.80205-1.47618l-.35272-.18865c-.27592.5159-.53039.99169-.7982 1.46915zm-.56065.93577c.19371-.31348.38727-.62664.56065-.93577l-.34887-.19568c-.1685.30044-.35745.60626-.55206.92118zm.00203-.00336.00002-.00003-.34437-.20349-.00002.00003zm-.60688 1.01581c.18985-.3408.39758-.67703.60483-1.01241l-.34027-.21028c-.20644.33407-.419.67799-.614 1.02803zm-1.01212 1.88448c.29599-.6462.63243-1.27288 1.00728-1.87627l-.33977-.21108c-.38375.61771-.72817 1.25925-1.03118 1.92075zm-.3517.7156c.1243-.2311.25396-.4718.35544-.7243l-.37115-.1492c-.09176.2284-.21038.4494-.33658.684zm-.0034.0061.00001-.0001-.34551-.2015h-.00001zm-.51155 1.2968c.06944-.4707.28384-.8732.51494-1.3029l-.35228-.1895c-.2265.4212-.47714.8834-.55837 1.434zm.30225-.014c-.13142-.0633-.26802-.129-.41698-.1971l-.16625.3638c.1448.0662.27794.1303.40974.1937zm.00152.0007h-.00009l-.17636.359h.00008zm-.00295-.0014h-.00008l-.17031.3619h.00007zm.29197.1391c-.09684-.0452-.19206-.091-.29038-.1383l-.17349.3604c.09795.0471.19539.094.29485.1404zm6.62666 2.107c-2.25172-.5754-4.4686-1.2808-6.63962-2.1125l-.1431.3735c2.18542.8373 4.41702 1.5473 6.68369 2.1265zm.98779.2612c-.32858-.087-.65735-.1741-.98631-.2609l-.10198.3868c.3287.0867.65724.1737.98586.2608zm.00058.0002-.00036-.0001-.10287.3865.00035.0001zm3.27764.8534c-1.0944-.2751-2.1851-.564-3.27787-.8535l-.10242.3867c1.09229.2893 2.18549.5789 3.28279.8547zm.3936.1405c-.1191-.0496-.2531-.1058-.3943-.1407l-.096.3883c.1065.0263.2121.0699.3365.1217zm.8065.131c-.2961.0768-.5256-.014-.8065-.131l-.1538.3693c.2745.1143.6203.2631 1.0607.1489zm-.0351-.0642c-.0309.0557-.0605.1091-.0891.1599l.3488.1959c.0291-.0519.0593-.1062.0901-.1618zm.0005-.001-.0004.0008.3495.1944.0005-.0007zm.3103-.5415c-.1125.1851-.217.3734-.3104.5417l.3498.1941c.0939-.1693.1946-.3508.3024-.528zm.2244-.3713-.2247.3717.3423.207.2247-.3717zm1.1905-1.9299c-.4098.6377-.8005 1.2845-1.1905 1.93l.3424.2068c.3904-.6463.7783-1.2883 1.1846-1.9205zm1.1352-1.7353c-.3798.5763-.7606 1.154-1.1351 1.7351l.3363.2167c.3731-.5791.7527-1.1551 1.1328-1.7317zm-.0003.0004-.0002.0003.3349.2187.0002-.0002zm1.1667-1.7843c-.3832.5957-.7742 1.1889-1.1662 1.7836l.334.2202c.3918-.5945.784-1.1895 1.1686-1.7873zm.219-.66967c-.0505.23926-.1283.47187-.2319.69307l.3623.1697c.1166-.2491.2042-.51092.261-.78021zm-13.02552-4.24946 13.15672 4.48007.129-.37866-13.15679-4.48006zm-.02469.40072c.08619-.16114.17426-.32583.26535-.49542l-.35239-.18926c-.09128.16995-.17952.33493-.26568.49603zm-5.55211 7.91491.626195.4621.237501-.3219-.626196-.462zm.0249215-.6401c-.0560365.1483-.0915005.3037-.1054025.4617l.398461.035c.010703-.1216.038004-.2412.081124-.3553zm.3470985-.5932c-.11062.1876-.2210183.3749-.3319672.5618l.3439202.2042c.111344-.1875.222078-.3753.332642-.5629zm1.29817-2.1244c-.45647.6963-.878893 1.413-1.29817 2.1244l.344595.2031c.420085-.7127.837735-1.4212 1.288105-2.1082zm.48355-1.59066c.0019.56629-.16616 1.11989-.48211 1.58846l.33165.2236c.36083-.53512.55263-1.16712.55045-1.8134zm.20209-5.49922c-.08733 1.82932-.17479 3.66106-.20207 5.49558l.39995.00594c.02717-1.82686.11428-3.65203.20166-5.48245zm-.00023.00953h.4zm.05815-1.23694c-.01886.40915-.03839.81822-.05792 1.2274l.39954.01908c.01954-.40913.03908-.81853.05796-1.22806zm.09482-.79574c-.04363.24012-.09503.52009-.09503.80495h.4c0-.24293.04393-.48767.08859-.73345zm.05328-.319734c-.01314.098571-.03227.204064-.05328.319734l.39356.0715c.02063-.11358.04159-.228713.05621-.338374zm.79117-.434466c-.21278.088959-.43274.180921-.66754.275335l.14923.371125c.23772-.09559.46011-.188575.6726-.277417zm1.12524-.4473813c-.37563.133916-.73921.2859833-1.12524.4473813l.15429.369043c.3878-.162138.74146-.309948 1.10527-.439653zm1.14046-.1244437c-.38221-.03521-.76756.006316-1.13363.1221474l.12067.3813646c.31529-.099764.64714-.135518.97626-.105198zm1.09258.327207c-.33898-.1807596-.71037-.291997-1.09258-.327207l-.0367.398314c.32913.030319.64902.126113.94107.281847zm.34376.335443c-.08179-.139539-.19923-.254728-.34031-.333557l-.19511.349183c.07871.043986.14446.10838.19032.186636zm.1252.460196c-.00023-.161799-.04342-.320666-.1252-.460197l-.3451.202264c.04587.078264.07017.167504.0703.258492zm.25272 2.458489c-.05366-.83285-.14416-1.66129-.2545-2.48477l-.39645.053121c.10949.817209.19886 1.636139.25178 2.457369zm-.06064 1.3196c.04587-.43479.06625-.87192.06104-1.30912l-.39997.00476c.00502.4216-.01463.84312-.05886 1.2624zm1.66981.53458c-.62198-.1495-1.21733-.39457-1.76503-.72659l-.20736.34206c.58298.3534 1.21673.6143 1.87891.77346zm9.71607 3.27612c-3.235-1.08253-6.4678-2.17286-9.69845-3.27102l-.12873.37872c3.23118 1.09836 6.46458 2.1889 9.70028 3.27163zm.6739.16096c-.2272-.01654-.4503-.06926-.6611-.15619l-.1525.36978c.2501.10315.5149.16572.7845.18535zm.6989.21145c-.2136-.12939-.4564-.2023-.7058-.21184l-.0153.39971c.1815.00694.3583.05999.5139.15427zm.5158.52783c-.1247-.21681-.3021-.39844-.5158-.52783l-.2072.34214c.1557.09428.2852.22675.3763.38513zm2.3898 3.16058c-.8069-1.0608-1.6114-2.1183-2.4028-3.18036l-.3208.239c.7929 1.06396 1.5985 2.12306 2.4052 3.18356zm.0009.0011h-.0001l-.32.24h.0001zm-.0008-.0009-.0003-.0004-.3179.2427.0003.0004zm1.6501 2.1759c-.5486-.728-1.0998-1.4526-1.6499-2.1757l-.3183.2422c.5502.7232 1.1008 1.4471 1.6487 2.1742zm.0952.1212c-.0348-.0426-.0654-.0802-.0932-.1184l-.3235.2352c.0354.0488.0731.0949.1067.136zm.1067.136c-.0355-.0487-.0732-.0949-.1068-.136l-.3099.2528c.0347.0426.0653.0802.0931.1184zm-.4514 1.0695c.1465-.0672.27-.1304.366-.1949.0944-.0635.1817-.1408.2311-.2444.0537-.1126.0492-.2269.0152-.3324-.0315-.0983-.0908-.1965-.1583-.2941l-.3288.2278c.0623.09.0935.1487.1063.1887.0059.0181.0063.0277.0062.0312 0 .0024-.0003.0038-.0016.0066-.0044.0091-.023.0374-.0932.0846-.0685.046-.1682.0984-.3098.1634zm.1441 1.5763c-.0108-.5887-.0215-1.1754-.0276-1.7601l-.4.0041c.0061.5866.0169 1.1749.0276 1.7634zm0 .0015v-.0004l-.4.0052v.0005zm.019 4.0442c.0302-1.3502.0055-2.703-.019-4.0452l-.4.0073c.0246 1.3436.0491 2.6883.0191 4.029zm.0439 2.4502c-.0312-.8246-.062-1.6394-.0439-2.4502l-.3999-.0089c-.0184.8248.0129 1.6517.0441 2.4742zm.0001.0076h-.4zm.0022 3.4052c.0836-1.1478.0402-2.2893-.0023-3.4128l-.3997.0151c.0426 1.1272.0848 2.2466.003 3.3686zm-9.3329 4.5991c3.0581-1.6057 6.0774-3.0931 9.2118-4.4297l-.1568-.3679c-3.1476 1.3421-6.1771 2.8347-9.241 4.4434zm-.5513-.1526c.1277.0547.2555.1095.3837.161l.1492-.3711c-.1233-.0495-.2469-.1025-.3753-.1576zm-.0025-.0011.1625-.3655-.0001-.0001zm-.6503-.2641c.2283.0833.4409.1743.6527.2651l.1576-.3676c-.2106-.0903-.433-.1857-.6732-.2733zm-.5424-.21.5387.2086.1445-.373-.5388-.2086zm.0002.0001.0002.0001.1436-.3734h-.0002zm-4.18887-1.574c1.40127.4942 2.79257 1.0331 4.18837 1.5738l.1445-.373c-1.3948-.5403-2.7918-1.0815-4.19983-1.5781zm-1.74532-.5468c.58919.1741 1.17208.3463 1.74583.5469l.13202-.3775c-.58457-.2044-1.17691-.3794-1.76453-.553zm-.0002 0h.00004l.11363-.3835h-.00003zm-.00497-.0016.00009.0001.1234-.3805-.00009-.0001zm-1.73604-.5429c.57845.2011 1.16279.3737 1.74108.5445l.11332-.3836c-.57978-.1713-1.15503-.3413-1.72306-.5387zm-2.15724-.829c.71911.2894 1.44278.5806 2.15724.829l.13134-.3778c-.7038-.2447-1.41845-.5322-2.13926-.8223zm.00037.0002h.00001l.14856-.3714h-.00001zm-1.35601-.536c.44978.1713.90184.3532 1.35563.5358l.14932-.3711c-.45319-.1823-.90872-.3656-1.36257-.5385zm-.39287-.1674c.1264.056.25746.1142.39091.1667l.1463-.3723c-.12409-.0488-.24728-.1034-.37502-.1601zm-.01304-.0064h.00002l.18823-.3529h-.00002zm-.67191-.2589c.22732.0627.44802.1602.68492.2653l.1622-.3657c-.23205-.1029-.47992-.2133-.74078-.2852zm-.550875-.3205c.148536.1657.346266.2793.564125.3237l.07984-.392c-.13339-.0272-.25474-.0967-.346085-.1987zm-.261217-.5966c.021188.2217.112693.4309.261216.5966l.297882-.267c-.091356-.1019-.147831-.2308-.160912-.3677zm-.203607-1.7262c.040549.5842.121534 1.1635.204782 1.7359l.395836-.0575c-.083293-.5727-.162187-1.1386-.201578-1.7061zm.067893-3.8338c-.07813 1.2661-.1575215 2.548-.067889 3.8338l.399032-.0278c-.087501-1.2552-.010303-2.5109.068097-3.7814zm.081686-1.4854c-.020519.4941-.051025.9885-.081686 1.4854l.39924.0246c.03062-.4962.061387-.9946.082102-1.4934zm.088298-3.6052c-.018927 1.1985-.037703 2.3868-.088298 3.6052l.399656.0166c.050842-1.2244.069677-2.4177.088592-3.6155zm.000018-.001.399913.0083zm.028135-1.6064c-.011292.5397-.019739 1.0746-.028153 1.6074l.39995.0063c.008417-.533.016848-1.0668.028115-1.6054zm.193294.2042h.006662v-.4h-.006662zm1.950155 2.3593c.01539-.1734.03146-.3542.05221-.548l-.39773-.0425c-.02119.1979-.03755.3821-.05292.5551zm-.11588.9748c.05726-.3132.08534-.631.11588-.9748l-.39844-.0354c-.03086.3475-.05757.6465-.11092.9382zm-.02713.3395c-.01398-.1077-.00614-.2172.02303-.3217l-.38529-.1075c-.04359.1562-.0553.3197-.03441.4807zm.10432.3049c-.05484-.0935-.09034-.1972-.10432-.3049l-.39667.0515c.02088.1609.07393.3159.15599.4558zm.21467.239c-.08679-.0643-.15982-.1456-.21467-.239l-.345.2024c.08207.1399.19147.2617.32167.3581zm.29031.1349c-.10477-.0248-.20353-.0707-.29031-.1349l-.23799.3215c.13021.0963.27852.1653.43604.2026zm.25577.1111c-.06992-.0343-.1497-.0737-.23306-.1042l-.13768.3755c.0602.0221.12098.0517.19449.0878zm.61047.1235c-.23429.0565-.39851-.0195-.61048-.1235l-.17624.3591c.21033.1032.49324.2467.88054.1532zm-.13424-.1537-.01855.3371.3994.022.01855-.3372zm.08793-1.7098c-.02492.5678-.05677 1.1451-.08792 1.7097l.39939.0221c.03113-.5643.06311-1.1439.08814-1.7143zm-.0471-.1917c.03587.0544.05265.1195.04752.1848l.39877.0313c.01208-.1538-.02739-.3073-.11226-.4362zm-.1498-.1155c.06116.0205.11396.0611.1498.1155l.33403-.2201c-.08487-.1288-.21035-.2256-.35658-.2747zm-.82653-.2809c.29816.0973.56128.1832.82098.2789l.13834-.3753c-.26803-.0988-.53846-.187-.83524-.2839zm.00236.0008h.00017l.11902-.3819h-.00016zm-.00371-.0012.00096.0003.12453-.3801-.00096-.0003zm-.47155-.1553c.16748.0561.32381.1071.47177.1553l.12409-.3802c-.14811-.0484-.30308-.0989-.46895-.1544zm2.06391 2.9654c-.46761.1707-.90334.2448-1.31444.1858-.40737-.0585-.80804-.2503-1.20428-.6423l-.28133.2843c.44979.4451.9268.6819 1.42875.7539.49821.0716 1.00343-.0216 1.50843-.2059zm-.18137-3.1072.04996 3.2981.39995-.006-.04996-3.2981zm-1.76403-.7095 1.87859.8873.17083-.3616-1.87859-.8874zm-.17196-.062c.05999.0169.11869.0382.17561.0637l.16353-.365c-.07478-.0335-.1519-.0615-.23075-.0837zm-.14993-.0183c.04499-.0074.09115-.0029.13393.0131l.14038-.3746c-.10828-.0405-.22527-.052-.33937-.0332zm-.12297.0555c.03557-.029.07796-.0481.12297-.0555l-.06506-.3947c-.11409.0188-.22122.0672-.31082.1403zm-.07976.1102c.01665-.0432.04418-.0811.07976-.1102l-.25291-.3099c-.08959.0731-.15853.1684-.2001.2763zm-.0149.136c-.00689-.0459-.00174-.0928.0149-.136l-.37325-.1438c-.04158.108-.05439.2249-.03721.3392zm.02654.3419c-.00876-.1094-.01742-.2176-.02478-.3258l-.39908.0272c.00755.111.01641.2215.02514.3305zm.04563.8597c0-.2915-.02321-.5798-.04563-.8597l-.39872.0319c.02263.2825.04435.555.04435.8278zm-.02425 1.0947c.01191-.3567.02425-.7258.02425-1.0947h-.4c0 .3611-.01208.7235-.02402 1.0813zm-.02238.9846c0-.3132.01098-.643.02238-.9846l-.39977-.0134c-.01136.3403-.02261.6769-.02261.998zm16.878 1.6608c.74-.2323 1.43-.602 2.0343-1.09l-.2513-.3112c-.5653.4565-1.2107.8023-1.9028 1.0195zm-.3662-2.3901c-.0351.7445.0012 1.4906.1084 2.228l.3958-.0575c-.1035-.7122-.1386-1.4327-.1047-2.1517zm.3724-.6846c-.1976.1699-.3286.4046-.3701.6622l.3949.0636c.0265-.1647.1103-.3144.2361-.4226zm1.3272-.7638c-.5191.1124-.9897.3859-1.3455.7817l.2975.2674c.2997-.3334.6959-.5636 1.1326-.6581zm.7727 2.5612c-.1313-.8169-.311-1.6252-.5381-2.4206l-.3846.1098c.2227.7802.399 1.573.5278 2.3743zm.0758-2.9412c.0702 1.3446.133 2.6148-.261 3.8812l.3819.1188c.4186-1.3453.3482-2.6868.2785-4.0209zm.3997.0063v-.0167h-.4v.0167zm-.7602.0982c.1629-.0154.3269.0131.4752.0828l.1701-.362c-.213-.1001-.4489-.1412-.6831-.119zm-.4514.1708c.1327-.0964.2886-.1553.4514-.1708l-.0378-.3982c-.2341.0222-.4581.107-.6486.2453zm-1.8125.7878c.6168-.2074 1.2153-.4661 1.7893-.7733l-.1887-.3527c-.5544.2968-1.1324.5466-1.7281.7468zm-.3163.2185c.0695-.1073.1769-.1836.3002-.2138l-.0952-.3885c-.2226.0545-.4159.1922-.5407.3848zm-.0734.3638c-.0225-.1263.0038-.2564.0734-.3638l-.3357-.2175c-.1248.1925-.1718.4254-.1316.6514zm.1777 2.8728c-.0604-.9564-.1202-1.9016-.175-2.8493l-.3993.0231c.0548.9489.1147 1.8952.1751 2.8514zm.0001.0009v-.0008l-.3993.0251.0001.0008zm.028.4435-.028-.4436-.3992.0253.028.4435zm.5427-.3911c-.2435.175-.4115.2877-.689.211l-.1066.3855c.4782.1323.7918-.1011 1.0291-.2717zm.2475-.1649c-.09.0515-.1736.1118-.2475.1649l.2335.3248c.0768-.0552.1438-.1031.2128-.1427zm.8346-.5052c-.2999.146-.5858.3194-.8542.5179l.238.3216c.2486-.184.5135-.3446.7913-.4799zm1.1059-.1607c-.3589.0136-.7155.0625-1.0649.146l.093.389c.3238-.0774.6544-.1227.987-.1353zm-9.8602 4.0712c-.0199.1979-.0404.3827-.0601.5593l.3975.0443c.0197-.1764.0405-.3632.0606-.5636zm.0639-.1277-.0067.0067.2836.2821.0067-.0067zm2.1327.6218-1.9252-.6697-.1314.3778 1.9252.6697zm.1485.619-.0143-.4367-.3998.0132.0144.4366zm.0001.0005v-.0004l-.3998.0129v.0005zm.0523 1.6394c-.0159-.5324-.0339-1.0796-.0523-1.6395l-.3998.0132c.0184.56.0364 1.1065.0522 1.6382zm-1.0524.1461c.2242.0962.5647.2516.9507.0341l-.1965-.3485c-.195.11-.3557.0501-.5964-.0532zm-.1452-.0593c.0449.0163.0914.0362.1452.0593l.1578-.3676c-.0518-.0222-.1089-.0468-.1664-.0677zm-1.0827-.5736c.3347.2358.6977.4282 1.0804.5727l.1413-.3742c-.3511-.1326-.6842-.3091-.9914-.5255zm-.2124-.2988c.043.1047.1069.1994.1878.2784l.2795-.2862c-.0418-.0408-.075-.0899-.0973-.1442zm-.0623-.3301c-.0019.1131.0193.2255.0623.3301l.37-.152c-.0223-.0543-.0333-.1127-.0323-.1715zm.0974-1.0779c-.0424.3802-.0809.7255-.0972 1.0718l.3996.0188c.0156-.3312.0525-.6635.0951-1.0464zm2.5639-.3016c0 .4264.0154.8439.0305 1.2571l.3998-.0147c-.0152-.4143-.0303-.8246-.0303-1.2424zm.1967.2h.0033v-.4h-.0033zm-.8679-.3863c.2607.1237.5223.2478.7845.368l.1668-.3635c-.2594-.1191-.5187-.2421-.7798-.3659zm-.0015-.0008.0001.0001.1743-.36-.0002-.0001zm-1.6278-.7361c.5472.2236 1.0862.4792 1.6292.7368l.1714-.3614c-.5412-.2567-1.0902-.5172-1.6493-.7457zm-.4806.2657c.0081-.1815.0717-.2619.1274-.2941.0591-.0343.1714-.0507.3491.0266l.1596-.3667c-.2453-.1068-.5011-.1266-.7093-.006-.2116.1226-.3145.3553-.3264.6224zm.0725 3.0215c-.1008-1.0033-.125-2.0129-.0726-3.02l-.3994-.0208c-.0535 1.0273-.0288 2.0572.074 3.0807zm1.485.5975c-.5764-.19-1.0974-.3638-1.559-.7336l-.2501.3121c.5263.4218 1.1163.6143 1.6839.8014zm1.5307.6599c-.5125-.3251-1.0404-.4982-1.5307-.6599l-.1252.3799c.4951.1633.9771.3231 1.4417.6178zm-.2766-2.3643c.0304.8282.06 1.6405-.0294 2.5128l.3979.0408c.0926-.9041.0615-1.7432.0313-2.5683zm-5.35866-6.0671c.00722.2356.01498.4889.01498.782h.39999c0-.2999-.00794-.5588-.01516-.7942zm-.0001-.0061h.4zm0-.0001v.0001h.4v-.0001zm-.01157-.6365c-.00166.2089.0048.4188.01167.6427l.39981-.0123c-.00691-.2254-.01308-.4274-.01149-.6272zm.01868-.3139c-.00849.0988-.01782.2062-.01868.3139l.39999.0032c.00071-.0895.00849-.1813.01722-.2828zm-.14125-.8506c.18645.2608.16962.5204.14125.8506l.39853.0343c.02746-.3197.0676-.7231-.2144-1.1175zm-1.60392-.4094 1.71204.4855.10913-.3848-1.71204-.4855zm.32119 2.2464c-.25363-.7722-.27904-1.6017-.07315-2.3881l-.38696-.1014c-.22538.8609-.19757 1.769.08008 2.6143zm1.69632.5652-1.8153-.6898-.14208.374 1.81531.6897zm-.06438-.013h-.00666v.4h.00666zm-1.827-3.9507c-.17131-.0334-.367-.0559-.55666-.0125-.19944.0456-.37813.1607-.51299.3726l.33742.2148c.0783-.123.16775-.1753.26475-.1975.10679-.0244.23586-.015.39096.0152zm2.53172 1.15c-.77832-.5027-1.62534-.8887-2.5144-1.1458l-.11116.3842c.85158.2464 1.66295.6161 2.40857 1.0976zm.0669 1.2248c.05019-.3373.10941-.7194.01929-1.1026l-.38938.0915c.06965.2962.02666.6012-.02556.9523zm-.062.6173c0-.198.02954-.3991.062-.6173l-.39565-.0588c-.03168.2129-.06635.4435-.06635.6761zm0 1.6441v-1.6441h-.4v1.6441zm-3.36253-.7459c.94428.6071 2.03955.935 3.16059.9459l.00389-.4c-1.04553-.0102-2.06718-.3159-2.94815-.8824zm-.14628-2.3803c.09493.7275.18578 1.4341.05736 2.1781l.39417.068c.14027-.8126.03904-1.578-.0549-2.2979zm-.10841-1.0138c.02051.3408.06486.68.10841 1.0138l.39663-.0518c-.04385-.3361-.08623-.6615-.10576-.986zm.05122.1246.01998.0167.25688-.3066-.01998-.0167zm7.47617 2.0629c-.2806-.1032-.5685-.1854-.8612-.2459l-.081.3917c.2734.0565.5421.1333.8042.2296zm-.0756.3877h.0066v-.4h-.0066zm.3425 1.3356c-.0079-.5219-.015-1.0516-.1485-1.5842l-.388.0972c.1204.4804.1285.9637.1365 1.493zm.0527 1.0837c-.0418-.3693-.0473-.7255-.0527-1.0837l-.4.006c.0054.3557.0109.731.0553 1.1227zm-2.3007-.7271c.6426.3888 1.3267.7039 2.0392.9395l.1256-.3798c-.6841-.2261-1.3408-.5287-1.9578-.902zm-.1165-.5294c0 .105-.0001.2236.0218.3851l.3964-.0537c-.0181-.1332-.0182-.2289-.0182-.3314zm.0868-1.817c-.03.6023-.0599 1.2052-.0866 1.8081l.3996.0177c.0266-.6017.0565-1.2035.0865-1.8059zm.0001-.0011-.0001.0011.3995.0199.0001-.001zm.9032-.0834c-.0834-.0478-.1979-.1151-.3293-.1458-.1425-.0333-.2974-.0233-.464.0605l.1796.3574c.0807-.0406.1396-.041.1933-.0284.0647.0151.1286.0501.2216.1033zm.2324.1027c-.0622-.0083-.1258-.0417-.2324-.1027l-.1988.347c.092.0527.2244.1316.3781.1522zm-1.3322 2.9719c0-.0004.0001-.0007.0001-.001 0-.0002 0-.0003 0-.0004l-.3999-.0091v.0009c-.0001.0003-.0001.0004-.0001.0005zm-.2964.1708.0067.0033.1796-.3574-.0067-.0033zm.1527-.3687c-.0022-.0007-.0046-.0013-.0069-.002l-.1119.384c.0021.0006.0042.0012.0065.0019zm.1438.1964c.0029-.1298.0057-.2583.0086-.3857l-.3999-.009c-.0028.1274-.0057.2559-.0086.3858zm.5717.0332c-.2327-.0781-.4711-.1582-.7156-.2296l-.1122.3839c.2357.0689.4667.1464.7005.2249zm2.2078.4304c-.7833.0456-1.4682-.1821-2.2078-.4304l-.1273.3792c.7305.2453 1.4865.5013 2.3583.4505zm-.32-3.3609c.1516 1.1768.1958 2.365.1319 3.5498l.3994.0215c.0652-1.209.0201-2.4216-.1346-3.6224zm-.5999-.2058c.2277.1233.4659.2523.7176.3633l.1613-.366c-.2344-.1034-.4586-.2246-.6885-.349zm-1.6055-.5775c.5797.0258 1.0633.2841 1.6055.5775l.1904-.3517c-.5301-.287-1.0925-.5949-1.7781-.6254zm-.1977.6975c.0143-.2863.1378-.5557.3445-.7525l-.2758-.2897c-.2813.2677-.4488.6338-.4682 1.0222zm-.0478 2.5974c.0202-.9.0392-1.7449.048-2.6054l-.4-.0041c-.0087.8577-.0276 1.7001-.0479 2.6005z\" />\n </g>\n </g>\n </svg>\n )\n}\n\nexport default House\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"xs\":\"375px\",\"sm\":\"600px\",\"md\":\"834px\",\"lg\":\"1280px\",\"xl\":\"1280px\",\"right\":\"paw-module__right___15BEp\",\"left\":\"paw-module__left___3QzNA\",\"down\":\"paw-module__down___3W3XI\",\"up\":\"paw-module__up___2D2Wc\",\"topRight\":\"paw-module__topRight___2dBuF\",\"topLeft\":\"paw-module__topLeft___2M-vl\",\"bottomRight\":\"paw-module__bottomRight___1ezSf\"};","// @noflow\nimport React from 'react'\n\nimport {\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\ntype Props = {\n size: number\n accentColour: IconColours\n backgroundColour?: IconColours\n width?: number | string\n}\n\nconst Phone = ({\n size,\n accentColour,\n backgroundColour,\n width\n}: Props): JSX.Element => {\n return (\n <svg\n viewBox=\"0 0 35 32\"\n width={width}\n height={size}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M8.978 18.661c.196.342.493.627 1 1.5.4.687.856 1.283 1.117 1.544.238.238.47.484.717.717.602.569 1.187 1.158 1.76 1.73.57.57 1.192 1.133 1.89 1.544.39.229.652.738 1.173.767.378.021.763 0 1.141 0 .412 0 .856.04 1.235-.068.4-.115.67-.526 1.014-.747.229-.146.356-.404.587-.54.193-.113.287-.422.485-.535.352-.201.633-.603.898-.898.303-.337.743-.34 1.159-.34.573 0 1.048-.049 1.564.18.491.219 1.153.426 1.565.797.305.275.79.36 1.14.554.422.234 1.09.393 1.402.782.092.116.352.16.47.28.136.134.232.256.312.438.332.745.23 1.575-.163 2.281-.288.52-.755.958-1.17 1.373-.338.338-.716.644-1.046.974-.345.345-.892.517-1.369.623-.506.112-.964.454-1.467.597-.241.07-.464.222-.684.344-.175.097-.397.123-.569.228-.416.257-1.009.326-1.484.326-.894 0-2.038-.11-2.836-.554-.75-.416-1.61-.58-2.343-1.046-.38-.243-.792-.557-1.238-.685-.356-.101-.675-.461-1.029-.597a2.206 2.206 0 0 1-.507-.312c-.14-.11-.3-.08-.43-.17-.437-.302-.747-.7-1.25-.887-.427-.158-.923-.521-1.253-.833-.283-.267-.503-.584-.783-.848-.208-.197-.487-.472-.586-.746-.087-.237-.372-.364-.471-.608-.163-.4-.72-.88-1.029-1.188-.316-.316-.416-.779-.731-1.094-.307-.306-.478-.69-.652-1.057-.116-.245-.276-.57-.442-.782-.172-.222-.51-.513-.586-.782-.078-.273-.305-.418-.457-.638-.148-.215-.326-.429-.485-.634-.133-.17-.206-.397-.362-.554l-.008-.008c-.111-.11-.26-.26-.318-.419-.067-.185-.2-.318-.275-.485a7.856 7.856 0 0 0-.332-.633l-.012-.023c-.133-.236-.21-.537-.308-.793-.079-.204-.2-.581-.326-.753-.688-.946-1.069-2.093-1.536-3.143-.147-.332-.028-1.13.037-1.485.089-.489-.052-1.072.083-1.543.126-.442.24-1.181.489-1.572.198-.31.304-.72.529-1 .223-.277.426-.52.637-.789.73-.929 1.515-1.9 2.872-1.69.454.07 1.02.059 1.434.289.344.19.795.403 1.04.717.787.894.84 2 1.287 2.894.292.583.5 1 .9 1.673.063.239.219.467.257.713.037.244.01.54.003.786-.005.17-.177.375-.26.521-.18.316-.408.68-.638.956-.14.168-.238.365-.34.544-.134.233-.34.417-.486.644-.306.482-.883.866-.883 1.474 0 .456.009.848.195 1.268.14.313.582 1.122.752 1.421Z\"\n fill={backgroundColour ? ICON_COLOURS[backgroundColour] : '#fff'}\n />\n <path\n d=\"M8.978 16.661c.196.342.493.627 1 1.5.4.687.856 1.283 1.117 1.544.238.238.47.484.717.717.602.569 1.187 1.158 1.76 1.73.57.57 1.192 1.133 1.89 1.544.39.229.652.738 1.173.767.378.021.763 0 1.141 0 .412 0 .856.04 1.235-.068.4-.115.67-.526 1.014-.747.229-.146.356-.404.587-.54.193-.113.287-.422.485-.535.352-.201.633-.603.898-.898.303-.337.743-.34 1.159-.34.573 0 1.048-.049 1.564.18.491.219 1.153.426 1.565.797.305.275.79.36 1.14.554.422.234 1.09.393 1.402.782.092.116.352.16.47.28.136.134.232.256.312.438.332.745.23 1.575-.163 2.281-.288.52-.755.958-1.17 1.373-.338.338-.716.644-1.046.974-.345.345-.892.517-1.369.623-.506.112-.964.454-1.467.597-.241.07-.464.222-.684.344-.175.097-.397.123-.569.228-.416.257-1.009.326-1.484.326-.894 0-2.038-.11-2.836-.554-.75-.416-1.61-.58-2.343-1.046-.38-.243-.792-.557-1.238-.685-.356-.101-.675-.461-1.029-.597a2.206 2.206 0 0 1-.507-.312c-.14-.11-.3-.08-.43-.17-.437-.302-.747-.7-1.25-.887-.427-.158-.923-.521-1.253-.833-.283-.267-.503-.584-.783-.848-.208-.197-.487-.472-.586-.746-.087-.237-.372-.364-.471-.608-.163-.4-.72-.88-1.029-1.188-.316-.316-.416-.779-.731-1.094-.307-.306-.478-.69-.652-1.057-.116-.245-.276-.57-.442-.782-.172-.222-.51-.513-.586-.782-.078-.273-.305-.418-.457-.638-.148-.215-.326-.429-.485-.634-.133-.17-.206-.397-.362-.554l-.008-.008c-.111-.11-.26-.26-.318-.419-.067-.185-.2-.318-.275-.485a7.856 7.856 0 0 0-.332-.633l-.012-.023c-.133-.236-.21-.537-.308-.793-.079-.204-.2-.581-.326-.753-.688-.946-1.069-2.093-1.536-3.143-.147-.332-.028-1.13.037-1.485.089-.489-.052-1.072.083-1.543.126-.442.24-1.181.489-1.572.198-.31.304-.72.529-1 .223-.277.426-.52.637-.789.73-.929 1.515-1.9 2.872-1.69.454.07 1.02.059 1.434.289.344.19.795.403 1.04.717.787.894.84 2 1.287 2.894.292.583.5 1 .9 1.673.063.239.219.467.257.713.037.244.01.54.003.786-.005.17-.177.375-.26.521-.18.316-.408.68-.638.956-.14.168-.238.365-.34.544-.134.233-.34.417-.486.644-.306.482-.883.866-.883 1.474 0 .456.009.848.195 1.268.14.313.582 1.122.752 1.421Z\"\n stroke={ICON_COLOURS[accentColour]}\n strokeWidth=\"1.3\"\n strokeLinecap=\"round\"\n />\n <path\n d=\"M10.504 4.466c.167-.019.312-.198.446-.285.12-.079.241-.194.358-.285.154-.12.307-.262.429-.414.096-.12.215-.279.339-.37.091-.066.154-.18.219-.276.164-.242.33-.442.465-.698.105-.2.223-.391.329-.59.095-.18.162-.37.263-.548M12.213 6.341c.067 0 .161.017.225-.002.066-.02.13-.098.184-.14.077-.06.163-.109.242-.166.311-.224.63-.43.916-.69.217-.198.476-.362.712-.54.181-.135.322-.299.45-.48M12.165 8.43h.901c.294 0 .57.056.855.13.216.058.415.107.618.203.116.054.322.142.451.142\"\n stroke={ICON_COLOURS[accentColour]}\n strokeLinecap=\"round\"\n />\n </svg>\n )\n}\n\nexport default Phone\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"xs\":\"375px\",\"sm\":\"600px\",\"md\":\"834px\",\"lg\":\"1280px\",\"xl\":\"1280px\",\"topRight\":\"sprinkles-module__topRight___2feio\",\"topLeft\":\"sprinkles-module__topLeft___1qj7Z\",\"bottomRight\":\"sprinkles-module__bottomRight___1ToF5\"};","// @noflow\nimport Calendar from '@/components/elements/atoms/Icon/Icons/Calendar'\n\nimport Alert from './Icons/Alert'\nimport Arrow from './Icons/Arrow'\nimport Badge from './Icons/Badge'\nimport Bin from './Icons/Bin'\nimport BoxClosed from './Icons/BoxClosed'\nimport BoxOpen from './Icons/BoxOpen'\nimport Bubble from './Icons/Bubble'\nimport ButternutLogo from './Icons/ButternutLogo'\nimport Checkmark from './Icons/Checkmark'\nimport Chevron from './Icons/Chevron'\nimport ChevronFilled from './Icons/ChevronFilled'\nimport Close from './Icons/Close'\nimport CloseBold from './Icons/CloseBold'\nimport CurvedArrow from './Icons/CurvedArrow'\nimport CurvedDashedArrow from './Icons/CurvedDashedArrow'\nimport Customer from './Icons/Customer'\nimport DecorativeCheckbox from './Icons/DecorativeCheckbox'\nimport DogBowl from './Icons/DogBowl'\nimport Email from './Icons/Email'\nimport ErrorCircle from './Icons/ErrorCircle'\nimport Eye from './Icons/Eye'\nimport Facebook from './Icons/Facebook'\nimport FacebookLetter from './Icons/FacebookLetter'\nimport Food from './Icons/Food'\nimport HeartWithPlus from './Icons/HeartWithPlus'\nimport House from './Icons/House'\nimport Lock from './Icons/Lock'\nimport Minus from './Icons/Minus'\nimport Padlock from './Icons/Padlock'\nimport Pause from './Icons/Pause'\nimport Paw from './Icons/Paw'\nimport PaymentMethod from './Icons/PaymentMethod'\nimport Phone from './Icons/Phone'\nimport Play from './Icons/Play'\nimport Plus from './Icons/Plus'\nimport Pouch from './Icons/Pouch'\nimport Question from './Icons/Question'\nimport RadioSelected from './Icons/RadioSelected'\nimport RadioUnselected from './Icons/RadioUnselected'\nimport Receipt from './Icons/Receipt'\nimport ShoppingDog from './Icons/ShoppingDog'\nimport Sprinkles from './Icons/Sprinkles'\nimport SquiggleDashedArrow from './Icons/SquiggleDashedArrow'\nimport Star from './Icons/Star'\nimport Stethoscope from './Icons/Stethoscope'\nimport StopVan from './Icons/StopVan'\nimport SurveyClose from './Icons/SurveyClose'\nimport Van from './Icons/Van'\nimport VanFilled from './Icons/VanFilled'\nimport WhatsApp from './Icons/WhatsApp'\n\ntype BrandAssets = {\n checkmark: typeof Checkmark\n badge: typeof Badge\n boxClosed: typeof BoxClosed\n boxOpen: typeof BoxOpen\n chevron: typeof Chevron\n chevronFilled: typeof ChevronFilled\n close: typeof Close\n closeBold: typeof CloseBold\n van: typeof Van\n vanFilled: typeof VanFilled\n calendar: typeof Calendar\n pouch: typeof Pouch\n arrow: typeof Arrow\n bin: typeof Bin\n plus: typeof Plus\n decorativeCheckbox: typeof DecorativeCheckbox\n minus: typeof Minus\n bubble: typeof Bubble\n shoppingDog: typeof ShoppingDog\n whatsApp: typeof WhatsApp\n facebook: typeof Facebook\n facebookLetter: typeof FacebookLetter\n email: typeof Email\n errorCircle: typeof ErrorCircle\n curvedDashedArrow: typeof CurvedDashedArrow\n alert: typeof Alert\n question: typeof Question\n star: typeof Star\n house: typeof House\n paw: typeof Paw\n pause: typeof Pause\n play: typeof Play\n curvedArrow: typeof CurvedArrow\n customer: typeof Customer\n paymentMethods: typeof PaymentMethod\n receipt: typeof Receipt\n phone: typeof Phone\n stopVan: typeof StopVan\n butternutLogo: typeof ButternutLogo\n eye: typeof Eye\n padlock: typeof Padlock\n radioUnselected: typeof RadioUnselected\n radioSelected: typeof RadioSelected\n squiggleDashedArrow: typeof SquiggleDashedArrow\n lock: typeof Lock\n sprinkles: typeof Sprinkles\n surveyClose: typeof SurveyClose\n dogBowl: typeof DogBowl\n food: typeof Food\n stethoscope: typeof Stethoscope\n heartWithPlus: typeof HeartWithPlus\n}\n\nconst BRAND_ASSETS: BrandAssets = {\n checkmark: Checkmark,\n badge: Badge,\n boxClosed: BoxClosed,\n boxOpen: BoxOpen,\n chevron: Chevron,\n chevronFilled: ChevronFilled,\n close: Close,\n closeBold: CloseBold,\n van: Van,\n vanFilled: VanFilled,\n calendar: Calendar,\n pouch: Pouch,\n arrow: Arrow,\n bin: Bin,\n plus: Plus,\n decorativeCheckbox: DecorativeCheckbox,\n minus: Minus,\n bubble: Bubble,\n shoppingDog: ShoppingDog,\n whatsApp: WhatsApp,\n facebook: Facebook,\n facebookLetter: FacebookLetter,\n email: Email,\n errorCircle: ErrorCircle,\n curvedDashedArrow: CurvedDashedArrow,\n alert: Alert,\n question: Question,\n star: Star,\n house: House,\n paw: Paw,\n pause: Pause,\n play: Play,\n curvedArrow: CurvedArrow,\n customer: Customer,\n paymentMethods: PaymentMethod,\n receipt: Receipt,\n phone: Phone,\n stopVan: StopVan,\n butternutLogo: ButternutLogo,\n eye: Eye,\n padlock: Padlock,\n radioUnselected: RadioUnselected,\n radioSelected: RadioSelected,\n squiggleDashedArrow: SquiggleDashedArrow,\n lock: Lock,\n sprinkles: Sprinkles,\n surveyClose: SurveyClose,\n dogBowl: DogBowl,\n food: Food,\n stethoscope: Stethoscope,\n heartWithPlus: HeartWithPlus\n}\n\nexport { BRAND_ASSETS }\n\nexport type { BrandAssets }\n","// @noflow\nimport React from 'react'\n\nimport {\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\ntype Props = {\n size: number\n accentColour: IconColours\n backgroundColour?: IconColours\n width?: number | string\n}\n\nconst Calendar = ({\n size,\n accentColour = 'brandBlue500',\n backgroundColour = 'brandWhite',\n width\n}: Props): JSX.Element => {\n return (\n <svg\n fill=\"none\"\n width={width || '100%'}\n viewBox=\"0 0 26 24\"\n height={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M2.514 7.53c7.543-2.99 12.276-4.57 14.2-4.74a20.013 20.013 0 0 1 4.333.077 2 2 0 0 1 1.729 1.754c.294 2.555.517 4.69.667 6.41.147 1.676.774 4.144 1.882 7.405a2 2 0 0 1-1.581 2.62l-17.43 2.75a2 2 0 0 1-2.265-1.543L1.3 9.822A2 2 0 0 1 2.513 7.53z\"\n fill={ICON_COLOURS[backgroundColour]}\n />\n <path\n d=\"M21.967 19.336c.398-.096.661-.449.593-.804l-.405-2.092-.268-1.39-.335-1.73a.563.563 0 0 1-.006-.045l-.175-1.535-.384-2.3a.574.574 0 0 0-.013-.06l-.46-1.655a.576.576 0 0 0-.664-.412l-1.204-.003a13.003 13.003 0 0 0-4.746.883l-1.385.538a5.422 5.422 0 0 1-1.015.098l-1.484.004a7.221 7.221 0 0 0-2.618.498l-1.95.765-2.774.536a.576.576 0 0 0-.456.675l.09.462.266 1.378.28 1.453a.58.58 0 0 1 .01.068l.098 1.358a.585.585 0 0 0 .012.085l.325 1.44c.007.028.011.057.013.086l.1 1.402c.002.042.01.084.022.124l.862 2.898c.068.353.439.581.84.527a.518.518 0 0 0 .097-.024l1.99-.682a.575.575 0 0 1 .061-.017l2.33-.52c.029-.007.059-.011.089-.013l2.85-.18a.582.582 0 0 0 .073-.01l1.688-.326a.574.574 0 0 1 .118-.01l2.256.034c.045 0 .09-.004.133-.013l2.826-.625a.565.565 0 0 0 .08-.024l2.162-.819a.66.66 0 0 1 .078-.023zM1.742 8.844c.06.312.363.517.675.456l3.92-.757 3.075-.841 1.6-.248 1.39-.083 1.534-.296 2.66-.212a7.461 7.461 0 0 0 2.953-.873.576.576 0 0 0 .457-.675l-.277-1.432c-.07-.367-.47-.6-.89-.519l-4.282.828a.589.589 0 0 1-.063.008l-3.417.28a.579.579 0 0 0-.12.023L7.47 5.558a.576.576 0 0 1-.057.014l-2.479.479-2.836.548c-.42.081-.704.446-.633.813l.277 1.432zm22.254 9.595c.004.035.002.071.004.107.006.286-.061.574-.19.835a2.15 2.15 0 0 1-.546.676c-.225.187-.485.33-.759.424l-.102.035c-.035.011-.07.018-.106.027-.07.017-.139.035-.213.048-.147.03-.293.058-.438.086l-.856.169-1.605.317c-.482.097-.832.154-1.246.228l-3.075.598-.82.16-.411.079a.705.705 0 0 0-.116.03l-.052.02-.049.02-.193.079-.77.31-.38.154c-.03.013-.063.027-.088.034l-.041.013-.05.012a286.431 286.431 0 0 1-.093.024l-1.516.363-.36.086-.182.043-.091.022a.547.547 0 0 1-.12.017l-.047.001-.096.002-.196.005-.405.01c.006.003-.166.008-.25.011a49.634 49.634 0 0 0-1.352.033l-.128.004-.065.001-.077.008-.039.005-.033.007-.067.013-.136.027-.28.055-.586.117-.302.06c-.051.01-.1.016-.15.024-.049.007-.098.018-.148.021-.1.006-.2.017-.3.01-.05-.002-.1.001-.15-.006l-.147-.016a2.321 2.321 0 0 1-.562-.153l-.066-.026-.063-.032-.123-.063-.116-.073c-.019-.013-.038-.023-.056-.037l-.053-.04c-.034-.028-.07-.054-.102-.081l-.092-.088-.045-.043a46.44 46.44 0 0 1-.04-.046l-.078-.09a1.792 1.792 0 0 1-.33-.705c-.008-.044-.013-.094-.019-.138l-.013-.116-.016-.139c-.014-.114-.03-.233-.044-.354l-.101-.875-.007-.055a1.329 1.329 0 0 0-.009-.06l-.02-.109-.04-.217-.082-.434-.16-.864-.08-.428-.02-.107-.014-.06-.014-.053-.056-.208-.222-.824-.055-.203-.027-.101a.51.51 0 0 1-.018-.087l-.028-.408-.028-.405a.797.797 0 0 0-.013-.113c-.009-.041-.018-.071-.027-.104l-.05-.191c-.07-.254-.137-.503-.202-.746l-.093-.322c-.012-.053-.021-.087-.027-.15l-.018-.167-.069-.619a9.407 9.407 0 0 0-.028-.311c-.005-.032-.01-.067-.016-.093-.024-.113-.05-.234-.09-.445a47.88 47.88 0 0 0-.248-1.342c.002.01-.015-.027-.023-.054l-.023-.08-.09-.323-.18-.636-.044-.157c-.015-.051-.032-.107-.04-.149l-.06-.313-.117-.602-.218-1.086a15.026 15.026 0 0 1-.072-.378c-.01-.051-.013-.095-.017-.137-.004-.042-.009-.08-.01-.118-.01-.192.003-.323.02-.42l.028-.128c.006-.038.021-.07.031-.104l.036-.105.056-.123c.02-.049.052-.1.088-.164.033-.065.087-.131.145-.215.034-.035.127-.155.277-.294a2.54 2.54 0 0 1 .597-.395l.089-.04a.678.678 0 0 1 .09-.036l.178-.061c.12-.03.233-.06.341-.08l.434-.086-.136.028c.481-.092.883-.164 1.282-.235a.68.68 0 0 0 .554-.81c-.022-.108-.043-.221-.065-.339l-.19-.99-.047-.25a.366.366 0 0 1 .018-.192.479.479 0 0 1 .3-.27c.061-.022.154-.035.236-.052l.127-.025c.04-.007.088-.017.12-.021.142-.021.291.02.393.11.05.046.087.102.105.164.008.027.017.074.025.116l.024.126.098.504.097.503.049.25.024.124c.004.022.011.048.017.072l.025.07c.078.187.24.332.43.39a.688.688 0 0 0 .294.024l.036-.005.031-.006.061-.012.122-.024.96-.185.235-.045.117-.023c.04-.008.073-.012.122-.026.021-.006.047-.012.065-.019L8 4.17l.11-.038.22-.077c.01-.009-.119.037-.253.084l-.1.035-.048.016-.052.014-.044.01-.032.005a.137.137 0 0 1-.034.002l.067-.013.077-.02c.05-.014.088-.03.132-.045l.258-.09.517-.179 1.036-.357c.173-.06.346-.122.517-.175a7.604 7.604 0 0 1 1.592-.316c.13-.01.273-.017.403-.02l.3-.009c.469-.018.277-.018.62-.034l.046.009c.25-.017.434-.023.614-.028l.135-.004.034-.001.041-.003a.682.682 0 0 0 .43-.198c.005-.006.019-.02.036-.042a.74.74 0 0 0 .167-.355.34.34 0 0 0 .015-.103c-.001-.03 0-.065-.006-.102l-.008-.055-.009-.046c-.024-.122-.047-.241-.04-.23l-.002-.005-.055-.292a2489.352 2489.352 0 0 0-.15-.71l-.038-.177-.009-.044-.005-.033a.39.39 0 0 1 0-.067.399.399 0 0 1 .127-.243.547.547 0 0 1 .235-.124l.386-.083c.027-.003.05-.008.077-.007.112-.008.114-.028.161-.016.138.03.249.126.295.214a.351.351 0 0 1 .033.093c.008.038.016.09.025.14l.06.337.132.727c.02.1.038.492.238.745.054.068.122.109.167.135a.707.707 0 0 0 .437.08l.034-.005.03-.005.118-.023c.078-.016.354-.06.399-.07.07-.013.143-.027.197-.035.18-.034.86-.19.967-.217.036-.01.599-.054.778-.034.047.007.094.008.14.02l.15.032c.104.028.226.064.374.133l-.016-.011.066.028.063.033c.042.023.085.043.126.069.08.052.161.101.233.164.077.057.14.128.209.193l.09.11c.032.035.058.075.083.114l.04.06c.013.019.025.039.035.06l.064.126c.02.043.034.088.051.132l.025.066.017.068c.011.046.024.09.034.138l.027.147.056.292.11.586.056.293.027.147c.006.027.007.043.01.065l.008.074.124 1.189.008.074.004.038.008.043c.01.062.024.106.037.155l.08.288.159.577c.107.384.208.77.31 1.157l.154.58.077.291c.006.024.014.05.016.068.004.02.008.037.011.064l.019.15.149 1.195.052.401c.004.035.006.052.007.09l.003.102.006.205.024.827.006.208v.026l.002.032a.659.659 0 0 0 .02.12l.012.052.099.408.197.82.791 3.292.107.44c.017.073.039.149.044.217l.015.105zM5.242 12.23a.874.874 0 1 1 0 1.748.874.874 0 0 1 0-1.748zm.761 3.495a.874.874 0 1 1 0 1.747.874.874 0 0 1 0-1.747zm.874 3.494a.874.874 0 1 1 0 1.747.874.874 0 0 1 0-1.747zm2.62-7.997a.874.874 0 1 1 0 1.748.874.874 0 0 1 0-1.748zm.762 3.495a.874.874 0 1 1 0 1.747.874.874 0 0 1 0-1.747zm.874 3.494a.874.874 0 1 1 0 1.747.874.874 0 0 1 0-1.747zm2.733-7.862a.874.874 0 1 1 0 1.747.874.874 0 0 1 0-1.747zm.761 3.494a.874.874 0 1 1 0 1.747.874.874 0 0 1 0-1.747zm3.607-4.368a.874.874 0 1 1 0 1.747.874.874 0 0 1 0-1.747zm.761 3.495a.874.874 0 1 1 0 1.747.874.874 0 0 1 0-1.747z\"\n fill={ICON_COLOURS[accentColour]}\n />\n </g>\n </svg>\n )\n}\n\nexport default Calendar\n","// @noflow\nimport React from 'react'\n\nimport {\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\ntype Props = {\n size: number\n width?: number | string\n accentColour: IconColours\n backgroundColour?: IconColours\n}\n\nconst Alert = ({\n size,\n width,\n accentColour,\n backgroundColour = 'brandWhite'\n}: Props): JSX.Element => {\n return (\n <svg\n fill=\"none\"\n height={size}\n viewBox=\"0 0 22 22\"\n width={width || '100%'}\n style={{\n transform: accentColour === 'warningOrange300' ? 'rotate(180deg)' : ''\n }}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M21.044 11c0 5.547-4.497 10.044-10.044 10.044C5.453 21.044.957 16.547.957 11 .957 5.453 5.453.957 11 .957 16.547.957 21.044 5.453 21.044 11Z\"\n fill={ICON_COLOURS[backgroundColour]}\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11 1.626a9.374 9.374 0 1 0 0 18.748 9.374 9.374 0 0 0 0-18.748ZM.287 11C.287 5.083 5.083.287 11 .287 16.917.287 21.713 5.083 21.713 11c0 5.917-4.796 10.713-10.713 10.713C5.083 21.713.287 16.917.287 11Z\"\n fill={ICON_COLOURS[accentColour]}\n />\n <path\n d=\"M9.89 8.322h1.55c.13 0 .23-.1.23-.23v-1.55c0-.114-.1-.229-.23-.229H9.89c-.129 0-.23.115-.23.23v1.55c0 .128.101.229.23.229Zm1.708 7.963V9.57c0-.115-.1-.23-.23-.23H9.962c-.129 0-.23.115-.23.23v6.715c0 .115.101.23.23.23h1.406c.13 0 .23-.115.23-.23Z\"\n fill={ICON_COLOURS[accentColour]}\n />\n </svg>\n )\n}\n\nexport default Alert\n","// @noflow\nimport React from 'react'\n\nimport {\n Direction,\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\nimport STYLES from './Chevron.module.sass'\n\ntype Props = {\n size: number\n accentColour: IconColours\n width?: number | string\n direction?: Direction\n}\n\nconst Arrow = ({\n size,\n accentColour,\n width,\n direction = 'right'\n}: Props): JSX.Element => {\n return (\n <svg\n fill=\"none\"\n height={size}\n viewBox=\"0 0 31 26\"\n width={width || '100%'}\n className={`${direction ? STYLES[direction] : ''}`}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n clipRule=\"evenodd\"\n d=\"m14.2102.308369c.0718 0 .1433-.000002.215-.000676l.2553.141701c.1967.108466.393.217157.5868.331461l.2553.150684c.449.265661.9136.540311 1.3624.824611.7242.45834 2.3246 1.22793 4.0192 2.04244 1.7278.83045 3.5145 1.68919 4.3851 2.2304 1.0081.62654 2.062 1.2971 3.2221 2.0503.6339.4114 1.2215.93015 1.7965 1.58611.2034.23221.3125.5273.3844.7626v.9699c-.009.0613-.0179.1393-.0269.2172-.0183.1603-.0373.3258-.0658.4844-.1352.7619-.4957 1.3009-1.0711 1.6014-1.2492.6526-2.4664 1.5508-3.7204 2.7462-.5332.5082-1.0653 1.0377-1.5798 1.5497-.3087.307-.6175.614-.928.9187-1.4043 1.3762-3.0067 2.7373-5.0426 4.2841-.7169.5444-1.4515 1.0892-2.1617 1.6158l-.3903.2892c-.2959.2196-.6555.4568-1.0783.55-.0395.0085-.0786.0188-.1179.0292l-.0326.0085h-.1798c-.0161-.0195-.0324-.0388-.0501-.0564-.1963-.1947-.3021-.4087-.3231-.6539-.0177-.203-.0194-.402-.0051-.5915.0303-.4031.0731-.8129.1148-1.2091l.0114-.1118c.0013-.0072.0122-.029.0283-.0449l.1295-.1274c.1772-.1749.3606-.3559.5475-.5216.7463-.6627 1.4941-1.3229 2.2416-1.9832l1.3631-1.2048c1.5299-1.3539 2.6528-2.4767 3.6412-3.6407.0057-.0062.028-.017.0425-.024.0151-.0072.0301-.0144.0444-.0227l.1046-.0613-.1301-.1951-.1545-.0355c-.0816-.0186-.1629-.0371-.2437-.0573-.5921-.15-1.375-.333-2.1737-.4186-.5742-.0622-1.1472-.0707-1.6322-.0712-.8904-.0004-1.7815-.0107-2.6731-.0208-1.3597-.0155-2.7665-.0313-4.1482-.0117-1.64783.0233-1.90468.0442-2.41641.0862l-.24899.02c-.25173.0198-.51035.0564-.76032.0919-.48186.0684-.98023.139-1.45305.0922-.21734-.0217-.43449-.0444-.65184-.0669-.5418-.0563-1.10227-.1147-1.65468-.156-.82301-.062-1.53971-.0075-2.19116.1659-.18709.0494-.32426-.0007-.4744-.1738-.03871-.0445-.07408-.0925-.10788-.1415-.580121-.8316-.431554-2.011.00255-2.6988.39166-.6205.90811-.9358 1.535-.9376.18708.0036.37908.0171.56498.0341.10455.0097.2091.0191.31345.0259.24171.0155.48323.0301.72515.0444.28318.0169.56675.0339.84974.0526.15544.0103.31069.0236.46594.0366.29143.0249.59289.0503.89101.0554.23307.0057.90692-.0469 1.76275-.1111 1.04705-.0784 2.34996-.1758 3.29656-.2064.5507-.018 1.1019-.0272 1.6529-.0361.6819-.0115 1.387-.0232 2.0798-.0519 1.3711-.0573 2.7418-.1186 4.1129-.1821l.1947-.0084c.3253-.0139.6615-.0278.9905-.0754.1511-.0222.2945-.0813.4331-.1383.0823-.034.1647-.0681.2484-.0939.281-.0856.5632-.166.8456-.2461l.4082-.11659c.0285-.00808.0564-.01976.0851-.03188l.1904-.07501-.1171-.128c-.1144-.12486-.2272-.24995-.3394-.37436-.2535-.28116-.5155-.57197-.7833-.84212-.3257-.32877-.6014-.54637-.8934-.70604-.317-.17314-.813-.39075-1.4407-.66607-1.5552-.68246-3.6851-1.61688-5.1257-2.7624-.3832-.30541-.6517-.61599-.8443-.97664-.2639-.49472-.3441-.91152-.2523-1.31125.1865-.81091.6184-1.386472 1.2842-1.710971z\"\n fill={ICON_COLOURS[accentColour]}\n fillRule=\"evenodd\"\n />\n </svg>\n )\n}\n\nexport default Arrow\n","// @noflow\nimport React from 'react'\n\nimport {\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\ntype Props = {\n size: number\n accentColour: IconColours\n width?: number | string\n}\n\nconst Badge = ({ size, accentColour, width }: Props): JSX.Element => {\n return (\n <svg\n viewBox=\"0 0 64 64\"\n width={width || '100%'}\n height={size}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M61.67 36.447c-.067-.28-.183-.642-.183-.955.083-.263.215-.494.348-.74.166-.182.331-.363.513-.544 1.01-1.021 1.838-2.257 1.54-3.755-.249-1.268-1.176-2.19-2.169-2.948l-.298-.445c-.017-.05-.033-.082-.033-.099-.05-.115-.1-.23-.132-.362a2.245 2.245 0 0 1-.017-.576c.116-.857.778-1.433 1.175-2.158.745-1.367-.033-2.7-1.192-3.442a5.58 5.58 0 0 0-1.125-.576c-.43-.165-.993-.247-1.291-.61-.249-.313-.348-.774-.398-1.185.166-.873.381-1.763.017-2.62-.38-.888-1.242-1.366-2.136-1.613-.81-.214-1.804-.23-2.383-.84-.1-.395-.1-.84-.1-1.252-.016-.971-.148-1.943-.877-2.651-.728-.708-1.705-.84-2.665-.626a4.667 4.667 0 0 1-1.026.115 1.51 1.51 0 0 1-1.143-1.054c-.264-.889-.016-1.795-.612-2.602-.53-.724-1.424-.922-2.268-.856-.447.033-.811.148-1.225.33-.397.164-.728.147-1.092.065-.298-.23-.464-.61-.613-.922-.33-.675-.629-1.367-1.225-1.861-.761-.643-1.82-.807-2.78-.56a4.07 4.07 0 0 0-1.325.626c-.364.263-.695.625-1.126.79-.96.33-1.705-.626-2.235-1.251C32.95.512 32.121-.032 31.094 0a2.876 2.876 0 0 0-2.25 1.252c-.298.445-.381 1.005-.812 1.334a1.72 1.72 0 0 1-.81.362c-.332-.016-.646-.082-.928-.263-.314-.198-.579-.494-.877-.725-.728-.543-1.622-.659-2.5-.494-.943.181-1.605.708-1.97 1.581-.347.824-.81 1.845-1.87 1.713-.993-.115-1.854-.593-2.88-.478-.91.1-1.705.626-2.036 1.499-.282.741-.083 1.532-.15 2.29-.066.164-.132.345-.231.477-.348.494-.91.543-1.473.477-1.126-.115-2.202-.625-3.344-.312-1.06.296-1.523 1.185-1.54 2.206-.016.873.166 1.944-.463 2.603-.381.197-.795.329-1.192.46-1.126.346-2.682.429-3.427 1.466-.794 1.12-.149 2.438.414 3.508.38.725.762 1.598.613 2.372-.91.84-2.003 1.498-2.533 2.651-.613 1.318-.116 2.372.612 3.492.265.412.53.856.563 1.35C1.73 30.403-.307 31.36.107 33.17c.099.478.347.873.662 1.202.53.61 1.357.972 1.672 1.73.231.56.066 1.07-.232 1.531-.133.148-.298.28-.43.461-.994 1.12-.745 2.833.463 3.623.281.28.612.412.977.511a.236.236 0 0 0 .099.033c1.192.346.811 1.548.629 2.437-.199.972-.232 1.993.497 2.767.629.675 1.54.906 2.416 1.087.43.132.861.313 1.192.642.182.182.315.396.398.61.066.494.033.988-.034 1.482-.115.856-.182 1.713.464 2.388 1.258 1.268 3.195.33 4.585 1.285.729.51.729 1.268.861 2.075.116.823.43 1.548 1.11 2.058.694.51 1.572.66 2.416.577.761-.083 1.556-.527 2.334-.643 1.374-.065 1.523 1.647 2.136 2.504a2.702 2.702 0 0 0 2.996 1.004c1.092-.346 1.887-1.218 3.062-1.317a3.817 3.817 0 0 1 1.06.05c.215.098.413.213.595.394.348.346.58.774.894 1.137.083.099.166.181.249.28.099.181.281.33.53.444.513.363 1.108.56 1.738.445 1.059-.197 1.572-1.054 2.218-1.795.413-.478.894-.626 1.39-.593.91.412 1.838.824 2.731 1.285a3.367 3.367 0 0 0 1.838.379c.662-.033 1.175-.297 1.473-.725.017-.017.017-.033.017-.033.083-.099.149-.198.215-.313.364-.675.248-1.416.397-2.141.282-1.4 1.474-1.103 2.566-.79.116.049.215.065.331.098.315.083.613.165.861.181 1.54.1 2.284-1.564 2.318-2.865.016-.758-.083-1.433.728-1.795.712-.313 1.572-.214 2.35-.247h.034c1.572.214 3.062-.807 3.327-2.421.132-.857-.182-1.894.165-2.701.05-.115.116-.214.182-.313.2-.132.414-.247.63-.362.629-.116 1.241-.363 1.87-.61.182-.082.414-.263.53-.46.596-.577.712-1.384.463-2.208-.248-.807-1.109-1.811-.447-2.602l.1-.099c.38-.214.844-.296 1.241-.477.298-.132.58-.28.811-.478 1.192-.642 1.54-1.993.994-3.277-.43-.675-.894-1.35-1.11-2.158ZM17.272 58.154c.016 0 .016 0 0 0 .066 0 .132 0 .198-.017-.066 0-.132.017-.198.017Z\"\n fill={ICON_COLOURS[accentColour]}\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n />\n </svg>\n )\n}\n\nexport default Badge\n","// @noflow\nimport React from 'react'\n\nimport {\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\ntype Props = {\n size: number\n accentColour: IconColours\n width?: number | string\n}\n\nconst Bin = ({ size, accentColour, width }: Props): JSX.Element => {\n return (\n <svg\n fill=\"none\"\n height={size}\n viewBox=\"0 0 24 27\"\n width={width || '100%'}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"m8.72728 21.2727c0 .3069-.23864.5455-.54546.5455h-1.0909c-.30682 0-.54547-.2386-.54547-.5455v-11.99997c0-.30682.23865-.54545.54547-.54545h1.0909c.30682 0 .54546.23863.54546.54545zm4.36362 0c0 .3069-.2386.5455-.5454.5455h-1.091c-.3068 0-.5454-.2386-.5454-.5455v-11.99997c0-.30682.2386-.54545.5454-.54545h1.091c.3068 0 .5454.23863.5454.54545zm4.3637 0c0 .3069-.2387.5455-.5455.5455h-1.0909c-.3068 0-.5455-.2386-.5455-.5455v-11.99997c0-.30682.2387-.54545.5455-.54545h1.0909c.3068 0 .5455.23863.5455.54545zm-9.27278-16.90905.83523-1.99432c.05113-.06819.1875-.17046.28977-.1875h5.40338c.0853.01704.2387.11931.2898.1875l.8182 1.99432zm15.81818.54545c0-.30682-.2386-.54545-.5455-.54545h-5.267l-1.1932-2.8466c-.3409-.83523-1.3636-1.51705-2.267-1.51705h-5.45457c-.90341 0-1.92613.68182-2.26704 1.51705l-1.19319 2.8466h-5.267049c-.306818 0-.545451.23863-.545451.54545v1.09091c0 .30682.238633.54545.545451.54545h1.636369v16.22724c0 1.875 1.22728 3.4091 2.72728 3.4091h14.1818c1.5 0 2.7273-1.6022 2.7273-3.4772v-16.15914h1.6363c.3069 0 .5455-.23863.5455-.54545z\"\n fill={ICON_COLOURS[accentColour]}\n />\n </svg>\n )\n}\n\nexport default Bin\n","// @noflow\nimport React from 'react'\n\nimport {\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\ntype Props = {\n size: number\n accentColour: IconColours\n width?: number | string\n}\n\nconst BoxClosed = ({ size, accentColour, width }: Props): JSX.Element => {\n return (\n <svg\n viewBox=\"0 0 28 28\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width={width || '100%'}\n height={size}\n >\n <path\n d=\"M25.433 18.357c.01.202.013.295.016.408.002.145 0 .269-.009.44l.021.439c.004.067.003.131-.001.284a4.362 4.362 0 0 0 0 .36c.002.067.002.125-.003.264a3.863 3.863 0 0 0-.002.347l.007.134-.157.048-.012.004c-.091.028-.091.028-.218.07-.032.012-1.054.35-1.054.35-.184.063-.831.278-.831.278l-.018.007c-.056.023-.364.143-.399.165-.05.024-.095.041-.203.08a2.97 2.97 0 0 0-.3.122 3.59 3.59 0 0 1-.548.212c-.178.059-.234.078-.316.107a3.08 3.08 0 0 0-.264.087l-.418.154a1.06 1.06 0 0 1-.145.062 2.832 2.832 0 0 0-.263.107 3.9 3.9 0 0 1-.328.128c-.358.148-.716.29-1.078.423-1.04.188-2.07.544-3.071.828-1.221.347-1.951.464-3.154.878l-.06-1.25a.925.925 0 0 0-.034-.211 18.579 18.579 0 0 1-.044-.215 1.322 1.322 0 0 1-.015-.146l-.013-.27a23.447 23.447 0 0 1 .054-1.527l.025-.275-.004-.012.018-.346v-.031a4.099 4.099 0 0 1 .002-.268 4.426 4.426 0 0 0 .001-.361c-.002-.048.007.083.013-.028.007-.144.009-.212.004-.304 0-.026.036-.43.037-.486.003-.061.001-.104-.003-.194-.001-.032.016-.36.012-.442a3.427 3.427 0 0 1 .002-.34l.011-.181.016-.225.008-.359c0-.024.03-.224.03-.263.02-.138.02-.255.01-.467-.008-.18-.03-2.664-.047-2.966a4.81 4.81 0 0 1-.05-.42c.004-.125-.043-.51-.05-.582a7.974 7.974 0 0 0-.051-.206c-.01-.034-.005-.645-.005-.645 0-.008-.038-.477-.037-.485.005-.212-.174-1.342-.174-1.342l.005-.02.004.001a3.565 3.565 0 0 1-.001-.165 2.685 2.685 0 0 0-.049-.303c-.018-.082 1.218-.412 1.317-.423.044-.005.96-.174.96-.174.188-.052.464-.166 1.246-.33.059-.012.587-.136.604-.144.03-.01.06-.016.14-.03.117-.021.174-.033.289-.07l.078-.017c.116-.023.17-.036.31-.097-.014.008-.016.009 0 .004a.764.764 0 0 0 .175-.07c.138-.072.26-.11.555-.185.083-.02.134-.033.18-.046l.262-.063.064-.019c.01-.003.007-.002.076-.015 0 0 .762-.237 1.095-.288.064-.015.121-.024.255-.042a1.33 1.33 0 0 0 .255-.044c.073-.004.122-.012.233-.034.061-.012.086-.016.095-.016 0 0 .557-.056.632-.086l.487-.177.513-.186c.4-.172.789-.289 1.207-.34a3.19 3.19 0 0 0 .83-.292c.18-.104.396-.198.606-.268.057.439.106.89.147 1.353.007.186.012.339.02.672.01.389.016.556.025.769.03.734.032 1.324.02 2.72.012.095.022.184.032.307l.023.173.062.453-.002.075a2.888 2.888 0 0 0-.004.306l-.006.038c-.009.062-.014.107-.015.154a1.213 1.213 0 0 0-.018.345c-.015.438.002.774.049 1.057l.018.372c.004.087.012.145.033.255.013.066.016.09.028.197.05.24.08.418.086.558.003.074.009.107.032.239.012.068.017.103.019.131.006.14.016.244.04.469.021.205.03.296.035.41l.045.947zM11.099 8.262a1.416 1.416 0 0 0-.063-.02l-.019-.005-.47-.174c-.15-.044-.15-.044-.36-.1a1.346 1.346 0 0 1-.185-.045 5.195 5.195 0 0 1-.229-.078l-.03-.009a.823.823 0 0 1-.086-.036.64.64 0 0 0-.15-.06l-.108-.055a1.124 1.124 0 0 0-.19-.08c-.171-.065-1.494-.67-1.708-.787a5.367 5.367 0 0 0-.833-.431l-.735-.333a5.776 5.776 0 0 0-.598-.253c-.162-.059-.288-.1-.553-.185l-.42-.162a3.985 3.985 0 0 1-.302-.129 3.68 3.68 0 0 0-.28-.157 5.5 5.5 0 0 1 .693-.097.816.816 0 0 0 .455-.033c.05-.013.107-.022.175-.03.058-.005.108-.008.223-.014l.363-.017c.228-.011.451-.069.642-.16.244-.096.343-.126.467-.132l.066-.003c.226-.011.383-.038.697-.108.393-.077.425-.083.598-.094l.011-.002a.95.95 0 0 0 .574.19c.566.416.955.502 1.522.777.143.096.41.277.536.336.166.078.535.203.671.233.702.28 1.316.426 2.069.562.632.278.854.342 1.272.413.266.046.78.277.794.28.034.005-.02.163-.046.172a.64.64 0 0 1-.107.023l-.262.138s-.702.166-.746.171c-.042.005-.593.337-.829.408-.999.302-1.5.548-1.56.541l-.048-.006c-.014.001-.579-.408-.911-.449zm.087 6.03c-.01.124-.006.369-.011.492a3.295 3.295 0 0 0-.004.318c.003.046-.015.38-.01.475 0-.017-.002-.005-.007.034-.012.093-.013.29-.019.345-.012.119.026.904.024.923-.009.09.082 1.935.082 1.935l-.014.311a6.53 6.53 0 0 0-.014.457 9.303 9.303 0 0 1-.012.47s0 .283-.01.316c-.012.04-.03.227-.028.273.002.044-.01.219-.01.219-.003.049-.005.093-.005.117 0 0-.032.746-.019 1.022.002.047.001.09-.005.175a2.367 2.367 0 0 0-.009.251c-.027.456-.028.68.01.913a.324.324 0 0 1 .004.036l.012.252c.004.088.013.146.033.256.013.066.016.09.022.16.045.33.06.627.047.97l-.101-.07c-.165-.104-.665-.428-.732-.471-.266-.17-3.586-1.6-3.586-1.6h-.02a4.086 4.086 0 0 1-.177-.074 1.892 1.892 0 0 1-.33-.174 4.764 4.764 0 0 0-.244-.156 4.54 4.54 0 0 1-.187-.118 5.147 5.147 0 0 0-.702-.43 1.855 1.855 0 0 1-.162-.087 2.995 2.995 0 0 0-.209-.113c-.215-.14-.41-.236-.853-.435l-.13-.044a3.814 3.814 0 0 1-.296-.142l-.41-.285a9.666 9.666 0 0 0-.197-.133l-.005-.01c.005-.05.008-.1.01-.151.003-.103.001-.18-.007-.347l-.013-.277c.024-.099.024-.197.016-.367a8.123 8.123 0 0 1-.016-.817v-.003c.028-.187.027-.319.012-.638l.002-.028.005-.043c.007-.064.011-.109.012-.152.025-.118.026-.22.018-.39l-.033-.676a7.403 7.403 0 0 1-.004-.43c.001-.238 0-.346-.006-.485l-.096-1.996a5.115 5.115 0 0 0-.02-.262 2.72 2.72 0 0 1-.017-.466c.008-.154.01-.277.009-.553 0-.258 0-.37.007-.55a3.753 3.753 0 0 1 0-.3l.002-.046.07-.003-.028-.575a.699.699 0 0 0 .062-.244c.075-1.05-.004-1.993-.245-3.56a.742.742 0 0 0 .022-.238c-.016-.27-.036-.542-.06-.815a.437.437 0 0 0 .049.008l.24.138c.111.063.206.108.273.13a1.1 1.1 0 0 0 .093.037l.014.01c.472.253.944.44 1.443.56.032.007.072.02.123.039.045.018.085.035.177.077h.002l.106.048.033-.001.568.258.05.019-.049-.019.136.061c.264.12.554.268.812.416.086.048.15.079.288.14.116.053.164.076.22.107l.308.115s1.563.702 1.627.729c.069.029.134.055.167.064.021.006.04.016.06.026.158.083.303.133.584.215a2.218 2.218 0 0 0 .265.088c.09.026.126.037.191.065l.002.001.06.021c.02.007.04.016.058.027 0 0 .303.235.3.37a.33.33 0 0 0 0 .036l.008.1.006.03.007.034.01.055c.03.018.05.052.054.107.033.607.106 1.206.217 1.804.014.076.007.61.007.64 0 .02.079 1.338.079 1.338.001.029 0 .06-.006.142zM10.9 3.973c.209-.092.462-.166.763-.224.033-.01.051-.014.132-.03.062-.014.108-.025.152-.038.055-.006.107-.016.175-.03a.876.876 0 0 1 .078-.015.755.755 0 0 0 .215-.042l-.011-.002a.739.739 0 0 0 .032-.002l.519-.047c.02.003.025.003.05.003h.009c.005.003 1.097.242 1.123.246.1.028.175.045.338.079.138.028.196.041.3.07.074.015.11.02.224.032a.529.529 0 0 1 .073.01l.155.018c-.026.002-.03.001-.02.003.054.011.092.018.13.02.038.01.075.016.127.024.043.006.057.009.11.023l.424.086c.722.112.923.273 1.344.332-.064-.014.318.063.412.084.147.032.266.063.36.094.165.059.277.087.496.132l.198.04c.304.1.612.154 1.158.214a1.96 1.96 0 0 1 .346.036c.099.02.182.042.373.093.21.056.305.08.429.105.049.01.085.019.168.039l.184.042.213.05.15.044.152.043.078.01c.111.057.213.102.31.136-.34.089-.645.193-.908.313-.27.093-.48.15-.743.19a5.458 5.458 0 0 1-.35.049 3.387 3.387 0 0 0-.345.05 2.241 2.241 0 0 0-.283.033c-.094.016-.132.02-.256.034.112-.025-.78.187-.829.204 0 0-.68.187-1.128.328a.53.53 0 0 0-.051-.03c-.63-.504-1.185-.802-1.823-.91a6.009 6.009 0 0 1-.532-.116c-.11-.151-.846-.313-1.04-.34l-.823-.315a5.093 5.093 0 0 0-.378-.126 10.932 10.932 0 0 0-.645-.163c-.711-.166-1.016-.274-1.351-.513a3.722 3.722 0 0 1-.21-.165l-.106-.09a4.92 4.92 0 0 0 .332-.11zm15.998 13.666a4.365 4.365 0 0 1-.058-.639l-.002-.034a8.178 8.178 0 0 0-.083-.973 5.817 5.817 0 0 1-.048-.36 6.749 6.749 0 0 0-.057-.424 4.375 4.375 0 0 1-.045-.332 4.66 4.66 0 0 0-.052-.38 6.622 6.622 0 0 1-.03-1.347l-.019-.406-.066-.06a37.906 37.906 0 0 0-.03-.378l-.003-.036a25.128 25.128 0 0 1-.033-.43l.013-.019-.003-.17a73.578 73.578 0 0 0-.14-3.304 21.15 21.15 0 0 0-.084-1.625l-.023-.13a9.387 9.387 0 0 1-.074-.463 2.86 2.86 0 0 1-.027-.472l.005-.15-.075-.129-.009-.014-.276-.304a1.154 1.154 0 0 0-.415-.168l-.401-.083-.119-.009c.062-.003.062-.003.088.004a.526.526 0 0 0-.221-.031h-.02l-.125-.035a3.5 3.5 0 0 0-.362-.08 2.78 2.78 0 0 1-.273-.059.884.884 0 0 1-.121-.044.433.433 0 0 0-.023-.014.52.52 0 0 0-.126-.09c-.11-.074-.234-.122-.296-.111a2.524 2.524 0 0 1-.377-.074 1.752 1.752 0 0 0-.49-.134.524.524 0 0 0-.21-.05.639.639 0 0 0-.222-.027.387.387 0 0 1-.18-.04l-.101-.033a1.338 1.338 0 0 1-.148-.044 1.272 1.272 0 0 0-.2-.058 6.785 6.785 0 0 0-.782-.205.911.911 0 0 0-.194-.042 1.535 1.535 0 0 1-.153-.028 5.088 5.088 0 0 1-.49-.085c-.045-.01-.351-.08-.462-.103a1.13 1.13 0 0 1-.162-.04c-.18-.056-.174-.055-.25-.07a.718.718 0 0 1-.11-.037 1.225 1.225 0 0 0-.218-.07c-.02-.006-.23-.07-.296-.087a1.402 1.402 0 0 0-.277-.057l-.1-.028-.156-.018c.026-.002.03-.001.02-.003a.837.837 0 0 0-.17-.022l.023.006a.197.197 0 0 0-.048-.006h.026a.626.626 0 0 0-.216-.025c-.012 0-.046-.007-.205-.049a9.147 9.147 0 0 1-.222-.037c-.118-.021-.17-.03-.221-.037a1.948 1.948 0 0 0-.232-.033 1.952 1.952 0 0 1-.099-.01.94.94 0 0 0-.187-.04.647.647 0 0 1-.079-.013l-.155-.018c-.025.001-.103-.012-.112-.01l-.133-.054a1.253 1.253 0 0 0-.225-.042.567.567 0 0 1-.095-.017c-.351-.084-.351-.084-.616-.14a1.865 1.865 0 0 0-.435-.14c-.172-.05-.329-.09-.66-.17l-.206-.085a.763.763 0 0 0-.604-.003 1.285 1.285 0 0 1-.19.067c-.057.016-.118.032-.27.07-.033.01-.05.015-.132.032a.81.81 0 0 0-.172.046 10.49 10.49 0 0 0-.239.065c-.105.03-.154.043-.217.059l-.023.006c-.096.03-.177.051-.363.097a6.42 6.42 0 0 0-.42.111c-.095.03-.192.054-.375.095-.26.06-.331.076-.474.116a5.64 5.64 0 0 1-.363.097c-.206.05-.299.074-.382.101-.306.068-.453.108-.643.195l.01-.001a.122.122 0 0 0-.03.01l.02-.01-.027.002c-.56.027-.799.051-1.114.132a1.093 1.093 0 0 1-.161.029c-.05.005-.094.008-.204.013l-.099.005a2.57 2.57 0 0 0-.687.135l-.047.003a1.649 1.649 0 0 0-.597.032c-.257.042-.303.049-.404.06a2.024 2.024 0 0 1-.364.01 4.447 4.447 0 0 0-1.22.126 1.189 1.189 0 0 0-.228.035.705.705 0 0 1-.067.013.987.987 0 0 0-.227.038 1.029 1.029 0 0 1-.13.024c-.073.018-.125.033-.238.064l-.242.066c-.033.01-.06.017-.13.03a1.913 1.913 0 0 0-.29.076.91.91 0 0 1-.084.005l-.33.017a.667.667 0 0 0-.25.062l-.042-.033.006.051a.666.666 0 0 0-.262.26.537.537 0 0 0-.045.083.642.642 0 0 0-.082.432c.038.242.076.459.145.847l.008.045a.67.67 0 0 0-.018.269l.145 1.109.009.07.113.87a.736.736 0 0 0-.043.239c-.01.508-.01.508-.018 1.017-.012.68-.017.98-.019 1.292a.925.925 0 0 1-.024.122l-.02.108c-.012.2-.01.357.003.63l.003.067c.006.123.008.18.008.247 0 .081-.003.147-.013.22-.04.4-.038.714-.007 1.365l.002.033c.013.266.025.477.053.962l.028.477c.033.58.05 1.008.056 1.437l.034.71a10.091 10.091 0 0 1 .01 1.19c-.006.125-.009.2-.005.288l-.003.45-.007 1.28a3.958 3.958 0 0 0-.022.326 9.507 9.507 0 0 1-.019.335l.001.027c-.028.324.112.593.404.783.04.048.087.088.139.12l.007.008c.087.08.155.13.268.182.066.03.133.067.23.127.123.077.197.123.27.163.25.154.432.249.585.301.292.133.416.191.542.26.057.032.107.063.225.14.138.089.201.128.265.163.051.031.276.164.34.204.008.005.077.068.077.068s.179.077.21.095c.044.034.192.118.258.166 0 0 .157.095.161.099l.147.124.153.094.173.106c.353.194.632.37.933.594.093.069.195.133.337.218.055.032 1.55.417 2.764 1.185.185.116.464.129.785.383.053.049 1.403.358 1.403.358.826-.069.956-.514 1.852-.631.078-.028.215-.076.26-.09.102-.035.383-.191.383-.191.029-.01.277-.055.33-.07h.01a.755.755 0 0 0 .216-.042l-.013-.002a.914.914 0 0 0 .384-.115c.138-.059 1.085-.251 1.401-.307l.148-.048c.058-.014.098-.026.136-.04.038-.009.091-.03.06-.027l.14-.033.682-.196c-.025.014.58-.078.667-.115.036-.016.138-.062.214-.098a.405.405 0 0 0 .133-.047c.42-.167.706-.266 1.004-.343.35-.109.57-.193.743-.295.296-.139.593-.247.89-.323.298-.076.513-.153.968-.334a2.45 2.45 0 0 0 .156-.07c.052-.024.074-.033.067-.032.078-.025.359-.146.39-.155l.052-.02c.045-.02.299-.135.367-.164.125-.055.226-.093.326-.124l.097-.043a.279.279 0 0 1 .07-.022c.024-.006.136-.031.166-.04.236-.02.455-.099.723-.233.264-.114.298-.146.551-.194.416-.182 1.139-.57 1.14-.618.303-.138.188-.478.146-.652l-.008-.182c-.02-.43-.027-.648-.02-.872a.722.722 0 0 0 .03-.166.608.608 0 0 0 .028-.214c.01-.382.003-.654-.023-1.19l-.052-.984z\"\n fill={ICON_COLOURS[accentColour]}\n fillRule=\"evenodd\"\n />\n </svg>\n )\n}\n\nexport default BoxClosed\n","// @noflow\nimport React from 'react'\n\nimport {\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\ntype Props = {\n size: number\n accentColour: IconColours\n width?: number | string\n}\n\nconst Bubble = ({ size, accentColour, width }: Props): JSX.Element => {\n return (\n <svg\n fill=\"none\"\n height={size}\n viewBox=\"0 0 98 30\"\n width={width || '100%'}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M82.0328 1.54163C80.2244 1.54139 78.5694 1.93738 78.0418 2.05576C77.4817 2.13988 31.8789 1.22795 17.4129 0.891193C2.94703 0.554435 1.02722 8.83783 1.02722 8.83783C0.999119 10.4477 0.915358 11.0278 0.923418 14.7846C0.448406 14.8374 1.11516 19.7018 3.23974 25.3659C4.35081 28.328 11.6509 28.6665 50.7069 29.0254C86.3333 29.3528 95.9419 29.8551 96.461 25.5796L96.6061 24.3697C97.2993 18.5182 98.1983 17.6107 97.7253 15.4161L96.8689 7.80667C96.8514 7.73818 96.5906 6.93339 96.5912 6.89128C96.4568 6.54045 96.3115 6.19155 96.1509 5.84742L95.898 5.33516C95.8059 5.15941 95.1029 4.218 95.508 4.70408L95.4529 4.61052C95.179 4.10538 90.8609 1.93109 90.8609 1.93109C90.2569 1.78412 89.632 1.63224 88.9646 1.57016L88.6677 1.54247C88.0104 1.47525 83.8412 1.54186 82.0328 1.54163Z\"\n fill={ICON_COLOURS[accentColour]}\n />\n </svg>\n )\n}\n\nexport default Bubble\n","// @noflow\nimport React from 'react'\n\nimport {\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\ntype Props = {\n size: number\n accentColour: IconColours\n width?: number | string\n}\n\nconst Checkmark = ({ size, accentColour, width }: Props): JSX.Element => {\n return (\n <svg\n viewBox=\"0 0 512 512\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width={width || '100%'}\n height={size}\n >\n <path\n d=\"m504 256c0 136.967-111.033 248-248 248s-248-111.033-248-248 111.033-248 248-248 248 111.033 248 248zm-276.686 131.314 184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0l-150.059 150.058-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z\"\n fill={ICON_COLOURS[accentColour]}\n />\n </svg>\n )\n}\n\nexport default Checkmark\n","// @noflow\nimport React from 'react'\n\nimport {\n Direction,\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\ntype Props = {\n size: number\n accentColour: IconColours\n width?: number | string\n}\n\nconst ChevronFilled = ({ size, accentColour, width }: Props): JSX.Element => {\n return (\n <svg\n width={width || '100%'}\n height={size}\n viewBox=\"0 0 18 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M7.33686 1.64689C8.13115 0.766138 9.51302 0.766138 10.3073 1.64689L14.2331 6L16.6325 8.66056C17.7928 9.94714 16.8798 12 15.1473 12H2.49687C0.764366 12 -0.148651 9.94714 1.01164 8.66056L7.33686 1.64689Z\"\n fill={ICON_COLOURS[accentColour]}\n />\n </svg>\n )\n}\n\nexport type { Direction }\nexport default ChevronFilled\n","// @noflow\nimport React from 'react'\n\nimport {\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\ntype Props = {\n size: number\n accentColour: IconColours\n width?: number | string\n}\n\nconst Close = ({ size, accentColour, width }: Props): JSX.Element => {\n return (\n <svg\n fill={ICON_COLOURS[accentColour]}\n height={size}\n viewBox=\"0 0 30 30\"\n width={width || '100%'}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"m17.2274 15 12.3113-12.31131c.6151-.61508.6151-1.61231 0-2.227384-.6151-.615075-1.6123-.615075-2.2274 0l-12.3113 12.311294-12.31125-12.311294c-.61507-.615075-1.61231-.615075-2.227383 0-.615074.615074-.615074 1.612304 0 2.227384l12.311233 12.31131-12.311302 12.3113c-.615074.6151-.615074 1.6123 0 2.2274.615072.6151 1.612312.6151 2.227382 0l12.31132-12.3114 12.3114 12.3114c.615.6151 1.6123.6151 2.2274 0 .615-.6151.615-1.6123 0-2.2274z\" />\n </svg>\n )\n}\n\nexport default Close\n","// @noflow\nimport React from 'react'\n\nimport {\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\ntype Props = {\n size: number\n accentColour: IconColours\n width?: number | string\n}\n\nconst Close = ({\n size,\n accentColour = 'brandBlue500',\n width\n}: Props): JSX.Element => {\n return (\n <svg\n width={width || '100%'}\n height={size}\n viewBox=\"0 0 14 14\"\n fill={ICON_COLOURS[accentColour]}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0.636176 0.635919C0.134073 1.13802 0.134073 1.95209 0.636175 2.45419L5.18165 6.99967L0.635848 11.5455C0.133746 12.0476 0.133746 12.8617 0.635849 13.3638C1.13795 13.8659 1.95202 13.8659 2.45412 13.3638L6.99993 8.81795L11.5458 13.3638C12.0479 13.8659 12.862 13.8659 13.3641 13.3638C13.8662 12.8617 13.8662 12.0477 13.3641 11.5456L8.8182 6.99967L13.3638 2.45411C13.8659 1.952 13.8659 1.13793 13.3638 0.635832C12.8617 0.13373 12.0476 0.13373 11.5455 0.635831L6.99993 5.1814L2.45445 0.635919C1.95235 0.133817 1.13828 0.133817 0.636176 0.635919Z\"\n fill={accentColour}\n />\n </svg>\n )\n}\n\nexport default Close\n","// @noflow\nimport React from 'react'\n\nimport {\n Direction,\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\nimport STYLES from './curvedarrow.module.sass'\n\ntype Props = {\n size: number\n accentColour: IconColours\n width?: number | string\n direction?: Direction\n}\n\nconst CurvedArrow = ({\n size,\n accentColour,\n width,\n direction = 'right'\n}: Props): JSX.Element => {\n return (\n <svg\n fill=\"none\"\n height={size}\n viewBox=\"0 0 53 81\"\n width={width || '100%'}\n className={`${direction ? STYLES[direction] : ''}`}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M16.416 79.155c-.506.55-1.087.688-1.627.204-1.133-1.015-2.595-1.55-3.672-2.667-.76-.778-1.395-1.64-2.106-2.437-.52-.587-1.204-1.05-1.323-1.956-.057-.443-.398-.845-.587-1.296-.74-1.72-1.484-3.435-2.198-5.165-.43-1.037-.806-2.099-1.207-3.147-.03-.111-.028-.254-.09-.339-.792-1-.768-2.268-1.124-3.408-.161-.505-.344-.998-.476-1.518a11.55 11.55 0 0 1-.312-1.57c-.242-2.085-.568-4.181-.254-6.278.291-1.963.714-3.911 1.08-5.866.381-2.02 1.272-3.876 1.892-5.818.336-1.075.761-2.12 1.27-3.123.636-1.235 1.41-2.398 2.13-3.59.076-.126.221-.22.27-.352.427-1.117 1.304-1.912 2.016-2.847.532-.724 1.128-1.414 1.681-2.13.254-.376.48-.77.676-1.18.378-.311.778-.607 1.13-.945.68-.654 1.319-1.345 2.01-1.992.292-.267.63-.444.927-.691.736-.6 1.461-1.216 2.191-1.826.82-.685 1.606-1.411 2.466-2.038 1.045-.763 2.158-1.439 3.232-2.163.414-.282.804-.604 1.21-.902 1.126-.832 2.487-1.19 3.696-1.855.981-.542 2.048-.912 2.857-1.757a2.4 2.4 0 0 1 1.049-.466c.823-.22 1.655-.426 2.482-.647a13.97 13.97 0 0 0 2.603-.901c.86-.427 1.86-.586 2.806-.825 1.39-.372 2.795-.672 4.19-1.013a.982.982 0 0 0 .25-.173c-.934-.545-1.959-.601-2.919-.863-.595-.16-1.186-.358-1.77-.543a1.787 1.787 0 0 0-.405-.157c-1.418-.088-2.673-.77-4.017-1.125-1.173-.307-2.334-.657-3.506-.975-.282-.077-.58-.092-.867-.131a1.449 1.449 0 0 1-.584-.16.796.796 0 0 1-.362-.535.664.664 0 0 1 .428-.478 5.685 5.685 0 0 1 1.65.045c.541.12 1.033.45 1.568.615.313.074.636.092.955.053a3.33 3.33 0 0 1 1.997.58c.162.131.357.216.564.245 1.267-.042 2.294.697 3.447 1.016 1.238.305 2.492.536 3.757.694.33.053.627.02.842.363.108.17.382.26.582.342.343.166.69.323 1.041.469.152.083.321.129.494.133 1.05-.15 1.679.64 2.47 1.082.43.248.335.75.176 1.133-.591 1.427-1.112 2.885-2.137 4.093a2.951 2.951 0 0 0-.905 1.812c-.008.366-.249.43-.553.432a.916.916 0 0 1-.903-1.157c.041-.205.12-.4.235-.575.46-.646.935-1.282 1.422-1.907a1.754 1.754 0 0 0 .49-1.276c-.027-.44.228-.896.364-1.354.132-.036.284-.076.44-.093l.04-.163c-.193-.094-.383-.26-.58-.266-.59-.027-1.18-.012-1.768.045-.964.106-1.928.222-2.877.408-.843.164-1.666.413-2.495.643-1.406.377-2.816.754-4.205 1.2-1.47.462-2.936.957-4.38 1.51-.7.323-1.384.683-2.046 1.08-1.322.68-2.655 1.332-3.963 2.035a18.66 18.66 0 0 0-2.039 1.273c-1.218.878-2.424 1.8-3.632 2.713-1.038.79-2.13 1.54-3.092 2.398-1.558 1.373-3.12 2.758-4.54 4.264a30.809 30.809 0 0 0-3.805 4.78c-.613.978-1.33 1.897-1.926 2.885a24.845 24.845 0 0 0-1.637 3.058c-.7 1.64-1.358 3.27-1.91 4.965a66.905 66.905 0 0 0-1.413 5.07 25.266 25.266 0 0 0-.653 4.763c-.16 3.363.616 6.555 1.619 9.702.358 1.12.762 2.222 1.074 3.345a24.44 24.44 0 0 0 1.162 2.98 116.267 116.267 0 0 0 1.7 3.824c.304.608.638 1.2 1.002 1.773.652 1.079 1.35 2.123 2.389 2.895.268.2.376.604.637.82.566.47 1.176.892 1.783 1.31.81.532 1.596 1.037 2.423 1.59Z\"\n fill={ICON_COLOURS[accentColour]}\n stroke={ICON_COLOURS[accentColour]}\n strokeWidth=\"2\"\n strokeMiterlimit=\"10\"\n />\n </svg>\n )\n}\n\nexport default CurvedArrow\n","// @noflow\nimport React from 'react'\n\nimport {\n Direction,\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\nimport STYLES from './curveddashedarrow.module.sass'\n\ntype Props = {\n size: number\n accentColour: IconColours\n width?: number | string\n direction?: Direction\n}\n\nconst CurvedDashedArrow = ({\n size,\n accentColour,\n width,\n direction = 'down'\n}: Props): JSX.Element => {\n return (\n <svg\n fill=\"none\"\n height={size}\n viewBox=\"0 0 31 26\"\n width={width || '100%'}\n className={`${direction ? STYLES[direction] : ''}`}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M1 1.109C10.935.257 29.714 4.042 25.354 26\"\n stroke={ICON_COLOURS[accentColour]}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeDasharray=\"3 3\"\n />\n <path\n d=\"M22.115 22l2.5 4.5 4.5-2.5\"\n stroke={ICON_COLOURS[accentColour]}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n )\n}\n\nexport default CurvedDashedArrow\n","// @noflow\nimport React from 'react'\n\nimport {\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\ntype Props = {\n size: number\n accentColour: IconColours\n backgroundColour?: IconColours\n width?: number | string\n}\n\nconst Customer = ({\n size,\n accentColour,\n backgroundColour,\n width\n}: Props): JSX.Element => {\n return (\n <svg\n width={width}\n height={size}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M6.636 18.35c1.084-.03 2.172-.004 3.256-.004 1.609-.044 2.514.046 2.645-.044.22-.153.49-.28.723-.417.42-.25.92-.476 1.383-.614 1.327-.398 2.45.05 3.674.54l.018.007c.571.228 1.078.35 1.524.814.498.518.732 1.192 1.053 1.82.205.401.185.813.303 1.238.132.472.138.866.138 1.365 0 .681-.03 1.188-.285 1.823-.205.512-.538.866-.915 1.244-.168.168-.465.253-.676.328-.512.182-.986.315-1.528.315-.762 0-1.444-.03-2.192-.2a34.38 34.38 0 0 0-1.916-.373c-.868-.148-1.74-.114-2.617-.114-1.921 0-3.819.18-5.73.365-1.287.126-2.767.203-3.882-.56C.76 25.3.856 24.118.856 23.195c0-.27.094-.48.178-.738.219-.675.445-1.24.832-1.833.222-.34.368-.685.668-.942.28-.239.556-.463.887-.62.367-.173.761-.326 1.158-.398.675-.123 1.37-.296 2.057-.315ZM8.01 3.05c.282-.787 1.195-1.845 1.847-2.355 1.849-.46 3.38 0 3.653 0 .516 0 1.105.161 1.532.457.549.38.796.677.913 1.35.087.5.02 1.066.02 1.572 0 1.828-.507 3.938-1.278 5.57-.698 1.479-1.702 2.558-3.399 2.558-1.276 0-2.404-.285-3.156-1.42-.807-1.22-1.418-2.18-1.39-3.694.027-1.436.786-2.714 1.259-4.039Z\"\n fill={backgroundColour ? ICON_COLOURS[backgroundColour] : '#fff'}\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.126 5.531c-.156.577-.24 1.195-.266 1.945l.001.053c0 .046.001.098.009.147l.037.253v.002c.061.41.123.83.194 1.241.031.176.083.362.155.553.059.157.125.315.19.469.084.2.17.404.243.612.246.703.696 1.294 1.175 1.888.081.1.16.142.252.14a.55.55 0 0 1 .026-.001c.211 0 .346.112.456.217l.032.032c.207.198.42.403.653.559.248.166.493.203.727.11.233-.093.448-.209.675-.332l.112-.06c.704-.378 1.236-.932 1.626-1.691.345-.67.56-1.392.74-2.071a15.58 15.58 0 0 0 .511-3.391 2.691 2.691 0 0 0-.075-.765 4.323 4.323 0 0 0-1.184-2.027c-.264-.259-.524-.5-.809-.605a4.072 4.072 0 0 0-1.726-.268c-.109.008-.22.025-.327.042l-.007.001c-.1.016-.205.032-.313.042-.699.061-1.356.321-1.953.773-.215.162-.385.404-.536.642-.257.404-.448.864-.618 1.49ZM5.811 9.954a9.54 9.54 0 0 1-.398-1.993 9.343 9.343 0 0 1 .01-1.397c.024-.362.063-.786.176-1.186l.082-.304.005-.019c.155-.591.317-1.203.758-1.712.11-.128.215-.266.316-.4l.003-.003c.117-.154.238-.314.372-.463.146-.163.35-.273.494-.337a56.67 56.67 0 0 1 1.677-.7c.405-.163.829-.184 1.238-.204h.005c.148-.008.3-.016.447-.03.081-.008.162-.006.234-.004h.008l.1.002c.835.027 1.71.096 2.482.593.65.42 1.18.952 1.58 1.582.419.664.687 1.284.818 1.897.05.232.064.49.046.815-.038.66-.09 1.303-.154 1.91-.02.184-.06.364-.1.538a6.767 6.767 0 0 0-.071.339 4.6 4.6 0 0 0-.044.357v.011c-.006.062-.012.124-.02.185a2.96 2.96 0 0 0-.004.045.883.883 0 0 1-.034.194l-.187.577c-.17.531-.346 1.078-.54 1.61a4.482 4.482 0 0 1-1.126 1.75c-.54.51-1.182.892-1.68 1.168-.282.157-.616.33-1.005.403a3.499 3.499 0 0 1-.656.068c-.492 0-.91-.136-1.28-.418-.306-.234-.623-.5-.87-.862a.48.48 0 0 0-.196-.173c-.266-.103-.446-.286-.62-.462a7.84 7.84 0 0 0-.092-.094c-.582-.575-.939-1.283-1.283-1.967l-.002-.003c-.076-.152-.15-.298-.225-.442a2.444 2.444 0 0 1-.191-.586 4.571 4.571 0 0 0-.073-.285Zm-.995 14.308.008.075-.008-.075c.22-.026.448-.053.675-.066l.01-.001c.567-.034 1.144-.068 1.713-.057.276.005.548.048.811.09l.01.002.015.003c.105.016.21.033.314.047 1.19.159 2.391.21 3.573.15.423-.02.853-.031 1.313-.031.265 0 .545.003.83.01.266.007.532.033.79.057.338.032.686.065 1.022.055.11-.004.221-.006.332-.009.552-.012 1.124-.024 1.66-.176.185-.052.372-.115.553-.175l.008-.003.022-.007.197-.066a.585.585 0 0 1 .169-.028l.239-.45a.542.542 0 0 1-.03-.18c-.001-.088-.01-.18-.017-.268v-.001c-.014-.159-.029-.322-.006-.487.06-.443.04-1.246-.06-2.388a3.789 3.789 0 0 1-.008-.117 6.005 6.005 0 0 0-.155-.652 3.268 3.268 0 0 1-.049-.131l-.001-.004c-.025-.07-.06-.17-.077-.201l-.028-.055-.011-.023-.034-.066a.784.784 0 0 1-.02-.048 4.087 4.087 0 0 0-.154-.386l-.034-.029-.008-.064a.266.266 0 0 1-.003-.028c-.015-.04-.14-.21-.182-.25a3.795 3.795 0 0 0-.272-.213c-.197-.125-.377-.196-.536-.212l-.032-.003-.029-.015a4.699 4.699 0 0 0-.568-.248l-.038-.02a1.031 1.031 0 0 0-.26-.127l-.05-.026c-.267-.127-.59-.192-.87-.24-.189-.031-.404-.067-.544.012l-.062.035-.069-.02c-.601-.179-1.32.004-1.601.091-.322.1-.645.247-.957.389h-.001c-.13.06-.26.118-.389.174-.098.042-.2.093-.3.142-.357.176-.762.375-1.179.329-.006-.001-.025-.001-.055.014l-.041.02-.046-.004a2.98 2.98 0 0 1-1.038-.278c-.519-.244-.892-.605-1.19-.927-.14-.151-.34-.27-.51-.302-.823-.157-1.476-.102-2.055.173-.254.12-.526.198-.79.273h-.001l-.02.006c-.423.12-.786.385-1.11.81-.126.163-.202.385-.276.6l-.001.003-.056.16a7.755 7.755 0 0 0-.066.191l-.009.026-.016.022c-.303.406-.452.91-.59 1.435l-.005.012-.014.03a1.786 1.786 0 0 0-.134.52.116.116 0 0 0 .001.047l.02.065-.038.077-.016.032a.944.944 0 0 0-.057.327 1.36 1.36 0 0 1-.059.374c-.037.108-.093.199-.147.287-.056.091-.109.177-.129.268-.03.14-.007.292.017.452v.003c.012.072.023.144.03.216 0 .014.003.02.003.02l.049.042.003.072c.006.16.027.315.064.47.032.132.085.191.226.253.55.239 1.176.317 1.968.247.154-.014.308-.032.458-.05h.008Zm15.707-.903a.876.876 0 0 1-.028.195.52.52 0 0 1 .053.256 1.55 1.55 0 0 1-.733 1.265.526.526 0 0 1-.248.084.556.556 0 0 1-.315.204 15.87 15.87 0 0 1-1.276.268c-.184.03-.37.042-.549.054a6.41 6.41 0 0 0-.437.038c-.39.052-.803.077-1.262.077-.551 0-1.086-.037-1.582-.077a14.12 14.12 0 0 0-1.475-.015h-.021l-.014.001c-.26.007-.53.014-.795.012-.26-.002-.525 0-.782.002h-.03c-.66.006-1.336.011-2.007-.039-.353-.026-.7-.082-1.037-.135h-.002a17.909 17.909 0 0 0-.695-.102c-.39-.046-.792-.029-1.182-.011h-.001c-.295.013-.593.035-.882.057h-.008c-.505.038-1.028.077-1.546.07-.878-.014-1.62-.192-2.269-.547-.27-.147-.445-.365-.555-.685a3.3 3.3 0 0 1-.026-2.102c.154-.505.29-1.026.423-1.53l.003-.01c.107-.408.217-.83.337-1.242.097-.332.214-.663.327-.983l.003-.008c.08-.23.164-.465.238-.698.087-.273.24-.509.467-.721.448-.42.887-.681 1.383-.823.357-.102.713-.238 1.058-.37l.177-.067c.468-.178.975-.235 1.592-.182h.027c.755-.067 1.36.23 1.851.53.106.065.212.128.318.19l.007.005c.195.116.393.233.586.358.463.3.997.335 1.503.098l.075-.035a18.44 18.44 0 0 1 1.527-.66c.79-.286 1.67-.357 2.693-.218l.03.006h.023c.891 0 1.68.336 2.443.662l.021.009.276.117c.845.353 1.393.909 1.63 1.65.055.175.118.352.179.524l.002.005v.001c.107.3.216.605.294.917.066.26.088.527.11.786v.002c.01.119.02.241.034.36.008.065.02.133.03.198l.001.004v.001c.022.127.045.258.046.395.008.625.013 1.238-.01 1.86Z\"\n fill={ICON_COLOURS[accentColour]}\n />\n <path\n d=\"m6.86 7.476-.25-.008V7.486l.25-.01Zm.266-1.945-.24-.065.24.065ZM6.861 7.53l.25-.003v-.001l-.25.004Zm.009.147.247-.037-.247.037Zm.037.253-.247.037.247-.037Zm0 .002.248-.037-.248.037Zm.194 1.241-.246.043.246-.043Zm.155.553.234-.088-.234.088Zm.19.469-.23.097.23-.097Zm.243.612.236-.083-.236.083Zm1.175 1.888-.195.156.195-.156Zm.252.14.008.25h.005l-.013-.25Zm.482.216.173-.18-.173.18Zm.032.032-.173.18.173-.18Zm0 0 .174-.18-.173.18Zm.653.559.14-.208-.14.208Zm.727.11-.092-.233.092.233Zm.675-.332-.119-.22.119.22Zm.112-.06-.119-.22.119.22Zm1.626-1.691-.222-.114.222.114Zm.74-2.071.242.064-.242-.064Zm.511-3.391.25.01-.25-.01ZM14.6 5.44l-.242.062.242-.062Zm-1.184-2.027.175-.178-.175.178Zm-.809-.605-.087.234.087-.234ZM10.88 2.54l.018.25-.018-.25Zm-.327.042.039.247-.039-.247Zm-.007.001.039.247-.039-.247Zm-.313.042-.021-.25.021.25Zm-1.953.773.15.2-.15-.2Zm-.536.642-.21-.134.21.134ZM5.81 9.954l-.239.072.054.178h.185v-.25Zm0 0 .24-.073-.054-.177H5.81v.25ZM5.414 7.96l.25-.021-.25.021Zm.01-1.397.249.017-.25-.017Zm.176-1.186-.241-.067.24.067Zm.082-.304-.242-.064.242.064Zm.005-.019.241.064-.241-.064Zm.758-1.712.189.163-.19-.163Zm.316-.4-.199-.151.2.152Zm0 0 .199.152-.199-.151Zm.003-.003.199.151-.2-.15Zm.372-.463-.186-.167.186.167Zm.494-.337-.1-.228.1.228Zm1.677-.7.093.232-.093-.232Zm1.238-.204.012.25-.012-.25Zm.005 0-.012-.25.012.25Zm.447-.03.024.249-.024-.25Zm.234-.004-.006.25.006-.25Zm.008 0 .007-.25h-.001l-.006.25Zm.1.002.008-.25h-.008v.25Zm2.482.593-.136.21.136-.21ZM15.4 3.38l-.212.134.211-.134Zm.818 1.897-.244.052.244-.052Zm.046.815-.25-.015.25.015ZM16.11 8l-.249-.026.25.026Zm-.1.538-.244-.055v.002l.244.053Zm0 0 .244.056v-.003l-.244-.053Zm-.071.339.246.043-.246-.043Zm-.044.357-.248-.023.248.023Zm0 .011-.25-.024.25.024Zm-.02.185.249.03-.248-.03Zm-.004.045-.249-.025v.001l.249.024Zm-.034.194-.238-.078.238.078Zm-.187.577.238.076-.238-.076Zm-.54 1.61-.235-.086.235.085Zm-1.126 1.75-.171-.182.171.182Zm-1.68 1.168.12.219-.12-.219Zm-1.005.403.047.245-.047-.245Zm-1.936-.35.152-.199-.152.199Zm-.87-.862-.206.14.206-.14Zm-.196-.173.09-.233-.09.233Zm-.62-.462-.178.175.178-.175Zm-.092-.094-.176.178.176-.178ZM6.302 11.27l.223-.113-.223.113Zm-.002-.003-.223.112.223-.112Zm-.225-.442.221-.116-.221.116Zm-.191-.586-.245.053.001.004.244-.057Zm0 0 .244-.054v-.004l-.244.057Zm-1.06 14.098-.248.03.497-.058-.249.028Zm-.008-.075.248-.029-.026-.22h-.222v.25Zm0 0-.03-.248-.245.03.027.246.248-.028Zm0 0-.029-.248.03.248Zm.675-.066.015.25-.015-.25Zm.01-.001-.014-.25.014.25Zm1.713-.057-.005.25.005-.25Zm.811.09-.04.248h.003l.037-.247Zm.01.002.039-.247H8.07l-.037.247Zm.015.003.04-.247-.04.247Zm.314.047.033-.248-.033.248Zm3.573.15.013.25-.013-.25Zm2.144-.02.006-.25-.006.25Zm.789.056-.024.249.024-.249Zm1.022.055.008.25-.008-.25Zm.332-.009.005.25-.005-.25Zm1.66-.176-.069-.24.068.24Zm.553-.175-.08-.238.08.238Zm.008-.003.079.237-.079-.237Zm.022-.007-.08-.238.08.238Zm.197-.066.077.238-.078-.238Zm.169-.028.005.25.147-.003.069-.13-.221-.117Zm.239-.45.22.118.052-.098-.037-.104-.235.085Zm-.03-.18h-.25.25Zm-.017-.268-.25.022.25-.023Zm0-.001-.25.022.25-.022Zm-.006-.487.248.033-.248-.033Zm-.06-2.388-.248.021.249-.021Zm-.008-.117.25-.008-.25.008Zm-.155-.652.23-.098-.23.098Zm-.049-.131.236-.085-.236.085Zm-.001-.004.235-.084-.235.084Zm-.077-.201-.223.113v.001l.223-.114Zm-.028-.055-.223.112.223-.112Zm-.011-.023.223-.112-.223.112Zm-.034-.066-.224.11.004.008.22-.118Zm-.02-.048-.234.087.235-.087Zm-.154-.386.22-.117-.021-.041-.036-.031-.163.19Zm-.034-.029-.248.033.013.094.072.063.163-.19Zm-.008-.064.248-.032v-.003l-.248.035Zm-.003-.028.25-.008-.001-.04-.014-.038-.235.086Zm-.182-.25.17-.183-.17.183Zm-.272-.213-.134.211.134-.21Zm-.536-.212-.025.248.025-.248Zm-.032-.003-.115.222.042.021.047.005.026-.248Zm-.029-.015-.115.221.115-.221Zm-.568-.248-.114.223.014.007.014.005.086-.235Zm-.038-.02-.142.207.013.009.014.007.115-.222Zm-.26-.127-.118.22.018.01.019.007.08-.237Zm-.05-.026.117-.221-.01-.005-.108.226Zm-.87-.24-.04.247.04-.246Zm-.544.012.123.217-.123-.217Zm-.062.035-.072.24.102.03.093-.052-.123-.218Zm-.069-.02.072-.24-.072.24Zm-1.601.091.074.24-.074-.24Zm-.957.389-.104-.228.104.228Zm-.001 0 .103.228-.103-.228Zm-.389.174.099.23-.099-.23Zm-.3.142.111.224-.11-.224Zm-1.179.329-.028.248.028-.248Zm-.055.014.11.224-.11-.224Zm-.041.02-.02.249.068.006.061-.03-.11-.225Zm-.046-.004.02-.25-.02.25Zm-1.038-.278.107-.226-.107.226Zm-1.19-.927.184-.17-.183.17Zm-.51-.302-.046.245.047-.245Zm-2.055.173.107.226-.107-.226Zm-.79.273-.069-.24.069.24Zm-.001 0 .069.24-.069-.24Zm-.02.006-.07-.24.07.24Zm-1.11.81-.199-.153.199.152Zm-.276.6.237.08-.237-.08Zm0 0-.236-.082.236.082Zm-.001.003.236.082-.236-.082Zm-.056.16-.235-.085.235.085Zm-.066.191.237.08-.237-.08Zm-.009.026.2.15.024-.032.013-.038-.237-.08Zm-.016.022-.2-.15.2.15Zm-.59 1.435.235.083.003-.01.003-.01-.242-.063Zm-.005.012.228.103.004-.01.004-.01-.236-.083Zm-.014.03-.227-.103-.001.001.228.102Zm-.134.52-.248-.032.248.031Zm.001.047-.238.075.238-.075Zm.02.065.224.114.046-.091-.03-.098-.24.075Zm-.038.077.223.113-.223-.113Zm-.016.032-.228-.102.228.102Zm-.057.327-.25-.015.25.015Zm0 0 .25.016-.25-.015Zm-.059.374-.237-.081.237.08Zm-.147.287.213.131-.213-.131Zm0 0-.213-.132.213.132Zm-.129.268.244.054-.244-.054Zm.017.452-.247.038.247-.038Zm0 0 .247-.038-.247.038Zm0 .003.248-.038-.247.038Zm.03.216.248-.022v-.001l-.249.023Zm.003.02-.225.109.023.045.038.034.164-.189Zm.049.042.25-.01-.004-.107-.082-.071-.164.188Zm.003.072.25-.01-.25.01Zm.064.47-.243.06.243-.06Zm.226.253-.1.229.1-.23Zm1.968.247.022.249-.022-.25Zm.458-.05.03.248-.03-.248Zm.008 0v-.25H4.8l-.015.001.03.248Zm15.68-.709-.242-.065-.026.093.045.087.222-.115Zm.027-.195.25.01-.25-.01Zm.025.45-.25-.006.25.007Zm-.733 1.266.133.212-.133-.212Zm-.248.084-.016-.25-.114.008-.07.091.2.151Zm-.315.204.06.243-.06-.243Zm-1.276.268.04.247-.04-.247Zm-.549.054.016.25-.016-.25Zm-.437.038.033.248-.033-.248Zm-2.844 0 .02-.25-.02.25Zm-1.475-.015.006.25-.006-.25Zm-.005 0 .006.25-.006-.25Zm-.016 0-.006-.25.006.25Zm-.014.001.006.25-.006-.25Zm-.795.012.001-.25-.001.25Zm-.782.002-.002-.25.002.25Zm-.03 0v.25h.002l-.002-.25Zm0 0v-.25h-.002l.002.25Zm-2.007-.039.018-.25-.018.25Zm-1.037-.135.04-.247h-.001l-.04.247Zm-.002 0-.04.246.04-.247Zm-.695-.102.03-.248-.03.248Zm-1.182-.011.011.25-.01-.25Zm-.001 0-.011-.25.01.25Zm-.882.057-.018-.25.018.25Zm-.008 0 .019.25-.019-.25Zm-1.546.07-.004.25.004-.25ZM1.4 25.016l.12-.22-.12.22Zm-.555-.685.237-.081-.237.08Zm-.026-2.102.239.073-.24-.073Zm.423-1.53.242.064-.242-.064Zm0 0L1 20.635l.242.064Zm.003-.01.242.064-.242-.064Zm.337-1.242.24.07-.24-.07Zm.327-.983.235.084-.235-.084Zm.003-.008.235.083-.235-.083Zm.238-.698.238.076-.238-.076Zm.467-.721-.171-.183.17.183ZM4 16.214l-.069-.24.069.24Zm1.058-.37-.089-.233.09.233Zm.177-.067-.089-.234.089.234Zm1.592-.182-.021.25h.001l.02-.25Zm.008 0-.02.25h.023l-.003-.25Zm.019 0-.022-.25.022.25Zm1.851.53-.13.214.13-.213Zm.318.19.128-.214-.128.215Zm.007.005-.128.215.128-.215Zm.586.358.135-.21-.135.21Zm1.503.098.106.227-.106-.227Zm.075-.035-.106-.226.106.226Zm1.527-.66.086.235-.086-.235Zm2.693-.218.035-.248h-.002l-.033.248Zm.03.006-.06.242.03.008h.03v-.25Zm.023 0v-.25h-.001v.25Zm2.443.662-.098.23.098-.23Zm0 0-.097.23.098-.23Zm.021.009.098-.23-.098.23Zm.276.117.097-.231-.097.23Zm1.63 1.65-.239.077.238-.076Zm.179.524.235-.084-.235.084Zm.002.005-.236.084.236-.084Zm0 .001-.235.084.235-.084Zm.294.917-.242.061.242-.06Zm.11.786-.25.02.25-.02Zm0 .002.248-.02v-.001l-.249.02Zm.034.36.248-.03-.248.03Zm.03.198.247-.043-.247.043Zm.001.004.246-.042-.246.042Zm0 .001-.246.042.246-.042Zm.046.395-.25.003.25-.003ZM7.11 7.485c.025-.736.108-1.334.258-1.888l-.483-.13c-.162.598-.249 1.236-.275 2l.5.018Zm0 .04v-.058l-.5.018.001.047.5-.007Zm.007.113a.862.862 0 0 1-.006-.112l-.5.005c0 .044.001.113.011.182l.495-.075Zm.037.255-.037-.254-.495.073.038.254.494-.073Zm0 .001v-.001l-.494.073v.002l.495-.074Zm.194 1.235a50.24 50.24 0 0 1-.193-1.235l-.495.073c.06.41.123.834.195 1.248l.493-.086Zm.142.508a2.833 2.833 0 0 1-.142-.508l-.493.086c.034.193.09.394.167.598l.468-.176Zm.186.46a12.99 12.99 0 0 1-.186-.46l-.468.176c.06.162.13.325.194.478l.46-.194Zm.249.626c-.076-.216-.165-.428-.249-.626l-.46.194c.084.2.167.398.237.597l.472-.165Zm1.133 1.814c-.48-.595-.903-1.156-1.133-1.814l-.472.165c.262.748.738 1.37 1.216 1.963l.39-.314Zm.05.046h-.001c.001 0 .001.001 0 0a.187.187 0 0 1-.049-.046l-.389.313c.113.14.26.24.455.233l-.015-.5Zm.034 0h-.039l.026.5h.013v-.5Zm.63.287c-.12-.113-.316-.287-.63-.287v.5c.109 0 .182.05.283.148l.346-.36Zm.032.032-.033-.031-.347.36.033.03.347-.36Zm0 0-.347.36.347-.36Zm.618.531a4.754 4.754 0 0 1-.618-.531l-.347.36c.204.195.432.416.687.587l.278-.416Zm.495.085c-.143.057-.3.045-.495-.085l-.278.415c.302.203.633.264.958.135l-.184-.465Zm.649-.319a6.09 6.09 0 0 1-.648.32l.184.464c.25-.099.477-.222.702-.344l-.238-.44Zm.112-.06-.112.06.237.44.112-.06-.237-.44Zm1.523-1.585c-.369.717-.866 1.232-1.523 1.585l.237.44c.752-.404 1.319-.995 1.73-1.797l-.444-.229Zm.72-2.022c-.18.677-.389 1.376-.72 2.021l.444.229c.358-.696.578-1.439.76-2.121l-.483-.129Zm.503-3.336a15.333 15.333 0 0 1-.502 3.336l.483.129c.299-1.122.473-2.28.519-3.445l-.5-.02Zm-.067-.693c.053.206.077.446.067.693l.5.02c.011-.29-.016-.58-.083-.837l-.484.124Zm-1.118-1.91a4.072 4.072 0 0 1 1.118 1.91l.484-.124a4.572 4.572 0 0 0-1.251-2.143l-.35.356Zm-.72-.55c.227.084.45.284.72.55l.35-.357c-.256-.253-.553-.534-.896-.662l-.174.469ZM10.9 2.79a3.823 3.823 0 0 1 1.62.253l.174-.469a4.321 4.321 0 0 0-1.832-.282l.038.498Zm-.307.04c.109-.017.21-.033.306-.04l-.037-.498c-.12.009-.241.028-.347.044l.078.494Zm-.007.001h.007l-.077-.495-.007.001.077.494Zm-.33.044c.117-.01.23-.028.33-.044l-.077-.494c-.102.016-.199.031-.296.04l.043.498Zm-1.824.723a3.502 3.502 0 0 1 1.824-.723l-.044-.498a4.002 4.002 0 0 0-2.082.822l.302.4Zm-.476.577c.151-.237.3-.444.475-.577l-.3-.399c-.255.192-.445.47-.597.708l.422.268Zm-.587 1.422c.165-.61.347-1.045.587-1.422l-.422-.268c-.274.432-.474.916-.648 1.56l.483.13ZM5.81 10.204v-.5.5Zm-.646-2.222c.056.662.19 1.331.407 2.045l.479-.146a9.29 9.29 0 0 1-.387-1.941l-.499.042Zm.009-1.434a9.584 9.584 0 0 0-.009 1.434l.499-.042a9.1 9.1 0 0 1 .009-1.359l-.499-.033Zm.185-1.237c-.12.426-.16.872-.185 1.237l.499.033c.024-.36.062-.762.167-1.135l-.481-.135Zm.08-.3c-.026.101-.052.201-.08.3l.481.135c.03-.103.057-.207.083-.308L5.44 5.01Zm.006-.02-.005.02.483.127.005-.019-.483-.128Zm.81-1.812c-.484.56-.656 1.228-.81 1.813l.483.127c.158-.6.308-1.154.706-1.613l-.378-.327Zm.307-.386a7.75 7.75 0 0 1-.306.386l.378.327c.116-.134.226-.279.326-.411l-.398-.302Zm0-.001.398.303-.398-.303Zm.003-.003-.003.003.398.303.003-.004-.398-.302Zm.385-.479c-.142.158-.269.326-.385.479l.398.302c.118-.156.233-.307.359-.447l-.372-.334Zm.58-.398c-.157.069-.399.196-.58.398l.372.334c.111-.123.277-.216.41-.275l-.202-.457Zm1.683-.704c-.461.186-1.07.434-1.683.704l.201.457A56.477 56.477 0 0 1 9.4 1.672l-.187-.464Zm1.32-.222c-.404.02-.869.041-1.32.222l.187.464c.36-.145.742-.166 1.157-.187l-.024-.5Zm.005 0h-.006l.025.5.006-.001-.025-.5Zm.434-.029c-.14.014-.286.021-.434.029l.025.499c.146-.007.304-.015.458-.03l-.048-.498Zm.265-.005c-.07-.002-.166-.005-.265.005l.05.498c.063-.007.129-.005.203-.004l.012-.5Zm.008 0h-.008l-.012.5h.008l.012-.5Zm.094.002-.093-.002-.014.5.107.002v-.5Zm2.618.633c-.835-.538-1.774-.606-2.61-.633l-.016.5c.835.027 1.647.096 2.354.553l.272-.42Zm1.655 1.659a5.408 5.408 0 0 0-1.656-1.659l-.27.42c.62.4 1.124.907 1.503 1.506l.422-.267Zm.851 1.977c-.139-.647-.42-1.295-.852-1.977l-.422.267c.408.645.662 1.238.786 1.815l.488-.105Zm.051.882c.02-.339.005-.621-.05-.882l-.49.105c.044.204.059.44.041.748l.5.029Zm-.154 1.922c.064-.61.116-1.257.154-1.922l-.499-.029c-.038.658-.09 1.296-.153 1.899l.498.052Zm-.105.568c.039-.172.084-.367.105-.568l-.498-.052a4.335 4.335 0 0 1-.095.509l.488.11Zm0-.003-.489-.106.49.106Zm-.07.329a6.62 6.62 0 0 1 .07-.326l-.488-.111a6.914 6.914 0 0 0-.074.35l.493.087Zm-.04.338a4.39 4.39 0 0 1 .04-.338l-.492-.086c-.022.127-.034.26-.046.377l.498.047Zm0 .01v-.01l-.497-.047-.002.01.498.047Zm-.02.191.02-.19-.498-.048a8.9 8.9 0 0 1-.019.18l.497.058Zm-.004.041.004-.04-.497-.059a2.712 2.712 0 0 0-.005.05l.498.05Zm-.046.246c.032-.096.04-.19.046-.247l-.498-.048a.656.656 0 0 1-.023.14l.475.155Zm-.186.576.186-.576-.475-.155-.187.579.476.152Zm-.543 1.62c.196-.538.373-1.09.543-1.62l-.476-.152c-.17.532-.345 1.074-.537 1.6l.47.171Zm-1.19 1.846a4.734 4.734 0 0 0 1.19-1.847l-.47-.171a4.234 4.234 0 0 1-1.062 1.654l.343.364Zm-1.73 1.205c.502-.278 1.166-.673 1.73-1.205l-.342-.364c-.517.488-1.136.858-1.63 1.132l.242.437Zm-1.08.43c.432-.082.795-.272 1.08-.43l-.242-.437c-.28.155-.584.31-.93.375l.093.491Zm-.702.072c.218 0 .442-.024.703-.073l-.093-.491a3.25 3.25 0 0 1-.61.064v.5Zm-1.431-.47c.415.318.888.47 1.431.47v-.5c-.44 0-.805-.12-1.128-.367l-.303.398Zm-.925-.92c.27.397.614.683.925.92l.303-.397c-.301-.23-.592-.476-.815-.804l-.413.281Zm-.08-.08c-.003 0 .008.004.028.021a.323.323 0 0 1 .052.059l.413-.281a.724.724 0 0 0-.312-.265l-.182.466Zm-.708-.52c.17.173.385.395.707.52l.182-.466c-.21-.081-.355-.225-.532-.405l-.357.35Zm-.09-.09c.03.028.06.058.09.09l.357-.35a7.71 7.71 0 0 0-.096-.097l-.35.356Zm-1.33-2.034c.341.68.714 1.425 1.33 2.033l.352-.355c-.549-.542-.889-1.213-1.236-1.903l-.447.225Zm-.002-.003.001.003.447-.225-.001-.003-.447.225Zm-.224-.438c.075.142.148.286.224.438l.447-.225c-.076-.15-.15-.299-.228-.445l-.443.232Zm-.213-.645c.045.191.099.426.213.645l.443-.232c-.08-.154-.122-.326-.169-.528l-.487.115Zm0-.004.488-.107-.489.107Zm-.069-.265c.025.08.046.17.07.269l.486-.115c-.022-.095-.047-.2-.077-.3l-.479.146Zm-.498 14.28-.009-.074-.497.058.01.075.496-.058Zm-.505-.017.008.074.497-.055-.008-.074-.497.055Zm.219-.276.06.496-.06-.496Zm.69-.068c-.236.014-.47.042-.69.068l.06.496c.22-.026.44-.052.659-.065l-.03-.499Zm.01 0h-.01l.029.5.01-.001-.03-.5Zm1.732-.058c-.58-.011-1.168.024-1.732.057l.03.5a21.69 21.69 0 0 1 1.692-.057l.01-.5Zm.846.094c-.26-.042-.55-.089-.846-.094l-.01.5c.255.004.51.045.776.088l.08-.494Zm.006 0h-.009l-.074.494.009.001.074-.494Zm.019.004-.016-.003-.08.494.017.003.079-.494Zm.307.046c-.101-.013-.202-.03-.307-.046l-.08.494c.105.016.212.034.32.048l.067-.496Zm3.527.149a19.436 19.436 0 0 1-3.527-.149l-.066.496c1.204.16 2.421.212 3.619.152l-.025-.5Zm1.326-.032c-.464 0-.898.01-1.325.032l.024.499a25.75 25.75 0 0 1 1.3-.031v-.5Zm.837.01c-.288-.007-.57-.01-.837-.01v.5c.263 0 .54.003.825.01l.012-.5Zm.806.058c-.256-.024-.53-.05-.806-.057l-.012.5c.254.006.512.03.77.055l.048-.498Zm.991.054c-.318.01-.65-.021-.99-.054l-.048.498c.335.032.7.067 1.054.056l-.016-.5Zm.334-.009-.334.009.016.5c.109-.004.218-.006.33-.009l-.012-.5Zm1.597-.166c-.5.141-1.038.154-1.597.166l.011.5c.547-.012 1.15-.023 1.722-.185l-.136-.481Zm.542-.172a11.94 11.94 0 0 1-.542.172l.136.481c.193-.054.385-.119.565-.18l-.159-.473Zm.009-.003-.008.003.158.474.008-.003-.158-.474Zm.021-.008-.021.008.158.474.022-.007-.159-.475Zm.199-.065c-.067.021-.133.044-.198.066l.158.474.195-.065-.155-.475Zm.24-.04a.83.83 0 0 0-.24.04l.155.475a.339.339 0 0 1 .097-.016l-.011-.5Zm.025-.318-.24.45.442.234.24-.449-.442-.235Zm-.06-.062c0 .09.015.18.045.264l.47-.169a.291.291 0 0 1-.015-.098l-.5.003Zm-.015-.247c.008.09.015.172.015.247l.5-.002c0-.1-.01-.203-.017-.29l-.498.045Zm0 0 .498-.045-.498.044Zm-.005-.544c-.027.198-.009.389.005.543l.498-.044a1.957 1.957 0 0 1-.008-.432l-.495-.067Zm-.06-2.332c.099 1.143.115 1.92.06 2.332l.495.067c.064-.473.041-1.302-.057-2.442l-.498.043Zm-.01-.13c0 .02.005.07.01.13l.498-.043a10.14 10.14 0 0 1-.008-.1v-.004l-.5.017Zm-.135-.563.021.078a9.563 9.563 0 0 1 .097.399c.014.069.017.092.017.086l.5-.017a1.187 1.187 0 0 0-.028-.173 8.269 8.269 0 0 0-.147-.569l-.46.196Zm-.054-.145c.019.053.04.112.054.145l.46-.196a3.3 3.3 0 0 1-.043-.118l-.471.169Zm-.001-.004.001.004.47-.169v-.003l-.471.168Zm-.064-.17.006.014.017.045.04.111.471-.169-.043-.118a1.226 1.226 0 0 0-.047-.112l-.444.228Zm-.029-.058.028.056.446-.225-.027-.056-.447.225Zm-.012-.023.012.023.447-.225a4.667 4.667 0 0 1-.012-.022l-.447.224Zm-.03-.06.03.06.447-.224a4.817 4.817 0 0 0-.036-.071l-.441.235Zm-.033-.078a.868.868 0 0 0 .029.07l.449-.22.002.004a.426.426 0 0 1-.012-.03l-.468.176Zm-.142-.357c.004.009.039.08.141.356l.47-.174a4.16 4.16 0 0 0-.17-.416l-.441.234Zm.024.044.033.028.327-.378-.033-.029-.327.379Zm-.093-.221.008.064.496-.065-.008-.064-.496.065Zm-.005-.053c.001.022.003.04.006.056l.495-.071v-.001l-.5.016Zm-.101-.074c-.004-.003.002.002.02.024a1.863 1.863 0 0 1 .104.145c.004.006-.002-.001-.007-.017l.47-.172a.538.538 0 0 0-.055-.101 1.872 1.872 0 0 0-.194-.247l-.338.368Zm-.237-.186a2.12 2.12 0 0 1 .208.162l.029.024.338-.367a3.835 3.835 0 0 0-.307-.24l-.268.421Zm-.427-.174c.106.01.249.061.427.174l.268-.422a1.514 1.514 0 0 0-.645-.25l-.05.498Zm-.033-.004.033.003.05-.497-.032-.003-.05.497Zm-.118-.041.029.015.23-.445-.029-.014-.23.444Zm-.538-.235c.197.072.372.149.538.235l.23-.444a4.927 4.927 0 0 0-.598-.26l-.17.47Zm-.068-.032.038.02.229-.445-.038-.02-.229.445Zm-.226-.113a.783.783 0 0 1 .199.097l.283-.412a1.285 1.285 0 0 0-.322-.159l-.16.474Zm-.088-.043.05.027.236-.441-.05-.027-.236.441Zm-.792-.213c.28.047.571.108.803.218l.215-.451c-.3-.143-.654-.213-.935-.26l-.083.493Zm-.38-.018c.011-.006.045-.017.123-.015.075.003.16.017.257.033l.083-.493c-.09-.015-.209-.036-.324-.04a.729.729 0 0 0-.385.08l.246.435Zm-.062.036.062-.036-.246-.435-.062.035.246.436Zm-.263.001.068.02.143-.479-.068-.02-.143.48Zm-1.456.091c.278-.086.932-.246 1.456-.09l.142-.48c-.68-.202-1.462.005-1.746.093l.148.477Zm-.927.377c.315-.143.623-.283.927-.377l-.148-.477c-.34.105-.677.259-.986.4l.207.454Zm-.001 0-.207-.455.207.456Zm-.394.176c.132-.056.263-.116.393-.175l-.206-.455c-.132.06-.259.117-.385.171l.198.46Zm-.287.137c.1-.05.196-.098.287-.136l-.198-.46a6.525 6.525 0 0 0-.311.148l.222.448Zm-1.318.353c.502.056.974-.184 1.317-.353l-.221-.448c-.372.183-.71.34-1.041.304l-.055.497Zm.082-.01a.156.156 0 0 1-.083.01l.057-.497a.35.35 0 0 0-.194.038l.22.45Zm-.042.02.042-.02-.22-.45-.041.021.22.45Zm-.175.021.046.004.04-.498-.047-.004-.04.498Zm-1.124-.3c.358.168.736.27 1.124.3l.04-.498a2.73 2.73 0 0 1-.951-.255l-.213.452Zm-1.267-.984c.304.329.704.718 1.267.983l.213-.452c-.475-.224-.822-.556-1.113-.87l-.367.34Zm-.373-.226c.107.02.262.106.373.226l.367-.34a1.265 1.265 0 0 0-.647-.378l-.093.492Zm-1.902.152c.518-.245 1.115-.302 1.902-.152l.093-.492c-.86-.163-1.57-.11-2.209.193l.214.451Zm-.829.288c.26-.074.553-.157.83-.288l-.215-.451c-.232.11-.485.182-.752.259l.137.48Zm0 0-.137-.48.137.48Zm-.021.006.02-.005-.137-.481-.02.006.137.48Zm-.98.721c.3-.39.62-.618.98-.72l-.137-.481c-.484.138-.89.44-1.24.897l.397.304Zm-.237.53c.077-.225.141-.404.237-.53l-.397-.304c-.155.203-.243.467-.313.67l.473.164Zm0 0-.473-.163.472.163Zm-.002.004.002-.004-.473-.163-.001.004.472.163Zm-.057.164.057-.165-.472-.162a9.326 9.326 0 0 1-.055.156l.47.171Zm-.064.184.064-.185-.47-.17a7.92 7.92 0 0 0-.068.198l.474.157Zm-.009.027.009-.026-.474-.16-.009.027.474.159Zm-.053.092.016-.022-.4-.3-.016.022.4.3Zm-.549 1.348c.14-.527.28-.987.55-1.348l-.401-.3c-.336.45-.495 1-.632 1.52l.483.128Zm-.01.032.004-.012-.471-.167-.004.012.47.168Zm-.022.05.014-.03-.456-.207-.013.031.455.207Zm-.114.448c.024-.19.061-.33.114-.448l-.456-.205a2.035 2.035 0 0 0-.154.59l.496.063Zm-.008-.059c.01.035.008.057.008.058l-.496-.061a.36.36 0 0 0 .01.153l.478-.15Zm.02.066-.02-.066-.477.15.02.065.477-.15Zm-.054.264.039-.076-.446-.227-.039.076.446.227Zm-.01.02a.462.462 0 0 1 .01-.02l-.446-.227c-.004.008-.013.025-.02.044l.455.204Zm-.037.241a.733.733 0 0 1 .037-.24l-.457-.204c-.065.147-.072.306-.079.414l.5.03Zm0 0-.499-.03.5.03Zm-.072.44c.057-.165.065-.322.072-.44l-.499-.03a1.128 1.128 0 0 1-.046.308l.473.162Zm-.17.337c.053-.085.123-.199.17-.337l-.473-.162a1.179 1.179 0 0 1-.123.236l.426.263Zm0 0-.425-.263.425.263Zm-.098.19a.71.71 0 0 1 .098-.19l-.426-.262c-.05.082-.13.205-.16.346l.488.107Zm.02.36c-.026-.17-.039-.273-.02-.359l-.488-.107c-.043.194-.009.394.014.543l.494-.076Zm0 0-.494.077.494-.077Zm0 .004v-.003l-.494.076v.003l.495-.076Zm.031.231c-.007-.081-.02-.16-.03-.23l-.494.075c.01.073.02.137.026.2l.498-.045Zm-.245.042a27.175 27.175 0 0 1 .225-.108l.002.002a.134.134 0 0 1 .008.02.22.22 0 0 1 .01.045l-.498.044a.344.344 0 0 0 .023.094l.002.006.002.004v.001h.001v.001l.225-.109Zm.213-.145-.048-.043-.33.377.05.042.328-.376Zm.089.25-.003-.071-.5.018.003.072.5-.018Zm.057.422a2.092 2.092 0 0 1-.057-.421l-.5.018c.006.177.03.348.071.52l.486-.117Zm.082.081a.39.39 0 0 1-.064-.034l-.002-.003-.003-.004a.222.222 0 0 1-.013-.04l-.486.117c.022.088.056.18.129.26.07.079.156.126.24.163l.2-.459Zm1.847.228c-.764.068-1.345-.01-1.847-.228l-.199.459c.6.26 1.27.34 2.09.267l-.044-.498Zm.45-.05c-.15.019-.3.037-.45.05l.045.498c.157-.014.315-.033.464-.05l-.058-.497Zm.008 0H4.78l.058.498.008-.001-.059-.497Zm.03-.002v.5-.5Zm15.92-.393c.022-.08.034-.164.037-.25l-.5-.02a.623.623 0 0 1-.02.14l.483.13Zm.062.198a.768.768 0 0 0-.08-.377l-.445.229c.015.03.027.073.025.134l.5.014Zm-.85 1.47a1.8 1.8 0 0 0 .85-1.47l-.5-.014a1.3 1.3 0 0 1-.616 1.06l.266.424Zm-.364.122a.778.778 0 0 0 .364-.122l-.266-.423a.28.28 0 0 1-.131.046l.033.499Zm-.272.197a.805.805 0 0 0 .455-.296l-.4-.301a.305.305 0 0 1-.175.111l.12.486Zm-1.296.272c.387-.063.8-.15 1.296-.272l-.12-.486c-.488.12-.886.205-1.256.265l.08.493Zm-.573.056c.178-.011.375-.024.573-.056l-.08-.493c-.17.027-.344.039-.525.05l.032.5Zm-.42.037c.134-.018.274-.027.42-.037l-.032-.499c-.143.01-.3.02-.454.04l.066.495Zm-1.295.079c.468 0 .892-.026 1.295-.08l-.066-.495a9.26 9.26 0 0 1-1.23.075v.5Zm-1.602-.078c.497.04 1.04.078 1.602.078v-.5c-.54 0-1.067-.036-1.562-.076l-.04.498Zm-1.449-.014c.49-.012.979-.024 1.45.014l.04-.498c-.502-.04-1.018-.028-1.502-.016l.012.5Zm-.005 0h.005l-.012-.5h-.005l.012.5Zm-.016 0h.016l-.012-.5h-.016l.012.5Zm-.014.001h.014l-.012-.5h-.014l.012.5Zm-.803.012c.27.002.543-.005.803-.012l-.012-.5c-.262.007-.526.014-.788.012l-.003.5Zm-.778.002c.257-.002.52-.004.778-.002l.003-.5c-.262-.002-.529 0-.785.002l.004.5Zm-.03 0h.03l-.004-.5h-.03l.004.5Zm-.002 0v-.5.5Zm-2.026-.04c.683.051 1.37.046 2.028.04l-.004-.5c-.66.006-1.328.01-1.987-.038l-.037.498Zm-1.058-.137c.335.053.693.11 1.058.137l.037-.498c-.34-.026-.678-.08-1.016-.133l-.079.494Zm-.001 0h.002l.078-.494h-.002l-.078.493Zm-.685-.1c.225.026.455.063.684.1l.08-.495a18.096 18.096 0 0 0-.705-.102l-.06.496Zm-1.142-.01c.393-.018.775-.034 1.142.01l.059-.497c-.414-.05-.837-.03-1.223-.013l.022.5Zm-.001 0h.001l-.021-.5h-.002l.022.5Zm-.874.056c.29-.022.584-.044.874-.057l-.022-.5c-.3.014-.601.037-.89.058l.038.499Zm-.008 0h.008l-.037-.499h-.008l.037.5Zm-1.568.07c.53.008 1.064-.032 1.568-.07l-.037-.498a17.23 17.23 0 0 1-1.524.069l-.007.5Zm-2.386-.577c.69.378 1.474.564 2.385.578l.008-.5c-.846-.013-1.546-.184-2.153-.516l-.24.438Zm-.672-.823c.128.373.342.643.672.823l.24-.438c-.208-.114-.347-.28-.438-.547l-.474.162ZM.58 22.156a3.55 3.55 0 0 0 .028 2.256l.474-.162a3.051 3.051 0 0 1-.024-1.948l-.478-.146Zm.42-1.52c-.132.505-.268 1.02-.42 1.52l.478.146c.156-.51.294-1.036.426-1.54L1 20.637Zm0 0 .484.127L1 20.635Zm.003-.011-.003.01.484.128.003-.01-.484-.128Zm.34-1.248c-.122.417-.233.841-.34 1.248l.484.127c.107-.408.216-.826.335-1.235l-.48-.14Zm.33-.996c-.113.319-.232.656-.33.996l.48.14c.094-.325.208-.649.321-.97l-.471-.166Zm.003-.009-.003.01.471.165.003-.008-.471-.167Zm.236-.69c-.073.229-.155.46-.236.69l.471.167c.081-.229.165-.468.241-.705l-.476-.152Zm.534-.828c-.255.24-.433.51-.534.828l.476.152c.074-.229.201-.43.4-.615l-.342-.365Zm1.485-.88c-.54.154-1.014.439-1.485.88l.342.365c.424-.398.83-.636 1.28-.765l-.137-.48Zm1.038-.363c-.347.132-.693.264-1.038.362l.137.481c.37-.105.736-.245 1.08-.376l-.179-.467Zm.177-.068-.177.068.178.467.177-.067-.178-.468Zm1.703-.197c-.647-.056-1.192.004-1.703.197l.178.468c.426-.162.893-.218 1.482-.167l.043-.498Zm.006 0h-.008l-.04.498h.008l.04-.497Zm-.024 0 .007.5a.494.494 0 0 0 .038-.002l-.045-.498Zm2.004.566c-.504-.308-1.166-.64-2.003-.566l.044.498c.673-.06 1.22.203 1.699.495l.26-.427Zm.315.189a30.124 30.124 0 0 1-.315-.189l-.26.427c.107.066.215.13.32.192l.255-.43Zm.008.005-.007-.005-.256.43.007.004.256-.43Zm.593.362c-.197-.128-.4-.248-.593-.363l-.255.43c.195.116.389.231.577.353l.271-.42Zm1.262.082c-.429.2-.871.17-1.262-.082l-.271.42a1.756 1.756 0 0 0 1.745.114l-.212-.452Zm.075-.035-.075.035.212.452.075-.035-.212-.452Zm1.548-.669c-.536.194-1.056.438-1.548.669l.212.452c.495-.232.995-.466 1.507-.65l-.17-.471Zm2.811-.231c-1.053-.143-1.976-.071-2.81.231l.17.47c.743-.27 1.581-.34 2.573-.206l.067-.495Zm.057.011a.508.508 0 0 0-.055-.01l-.07.494.004.001.12-.485Zm-.038-.007h-.023l.001.5h.023l-.001-.5Zm2.542.682c-.756-.323-1.59-.682-2.541-.682v.5c.832 0 1.575.313 2.345.642l.196-.46Zm0 0-.196.46.197-.46Zm.02.009-.02-.01-.195.46.02.01.196-.46Zm.276.116a42.343 42.343 0 0 1-.275-.116l-.196.46.278.117.193-.461Zm1.77 1.806c-.262-.825-.87-1.43-1.77-1.806l-.193.461c.79.33 1.277.837 1.487 1.497l.477-.152Zm.177.515a16.221 16.221 0 0 1-.177-.515l-.476.152c.057.179.122.36.182.53l.471-.167Zm.002.005-.002-.005-.47.168.001.005.471-.168Zm0 .001-.47.167v.001l.47-.168Zm.302.94c-.082-.325-.195-.642-.301-.94l-.471.168c.107.302.212.596.287.894l.485-.122Zm.115.826c-.02-.255-.044-.543-.115-.826l-.485.122c.06.237.08.484.102.746l.498-.042Zm0 .002v-.002l-.498.042v.002l.498-.042Zm.034.351c-.014-.113-.024-.23-.034-.35l-.498.04c.01.119.02.246.035.37l.497-.06Zm.029.185a3.871 3.871 0 0 1-.03-.185l-.495.06c.008.072.02.146.032.21l.493-.085Zm0 .005v-.005l-.493.085v.004l.493-.084Zm0 .001v-.001l-.492.084v.001l.493-.084Zm.05.434c-.002-.16-.028-.31-.05-.434l-.492.085c.022.13.041.242.042.355l.5-.006Zm-.01 1.871c.023-.627.018-1.246.01-1.87l-.5.005c.008.626.013 1.233-.01 1.847l.5.018Z\"\n fill={ICON_COLOURS[accentColour]}\n />\n </svg>\n )\n}\n\nexport default Customer\n","// @noflow\nimport React from 'react'\n\nimport {\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\ntype Props = {\n size: number\n accentColour: IconColours\n width?: number | string\n}\n\nconst DecorativeCheckbox = ({\n size,\n accentColour,\n width\n}: Props): JSX.Element => {\n return (\n <svg\n fill=\"none\"\n height={size}\n viewBox=\"0 0 26 25\"\n width={width || '100%'}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g stroke={ICON_COLOURS[accentColour]}>\n <path\n d=\"m1 3h21v21h-21z\"\n fill=\"#ffe180\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n />\n <path\n d=\"m7 13.4656c.63186.4007.93722.5605 1.5 1.0344.35651.3002 1.13849 1.1839 1.5 1.4797.4613.3774.7373.5961 1.2615.8737.1858.0984.1302.1048.3073-.0169.1812-.1247.3745-.2984.5298-.4538.1463-.1462.3218-.2074.4284-.403.0798-.1462.199-.3553.3101-.4848.3786-.4418.6653-.9687 1.1133-1.367.3704-.3293.6237-.7554.8878-1.1725.6511-1.0281 1.633-1.8447 2.2971-2.8776.13-.20233.3533-.38666.5157-.56937.3119-.3509.5937-.73618.8963-1.09639.6198-.73782 1.143-1.45554 1.6432-2.27733.34-.55864.7216-1.07295 1.1048-1.59808.3622-.49629.8829-.79432 1.3304-1.21758.488-.46162 1.0262-.73355 1.319-1.31905\"\n strokeLinecap=\"round\"\n strokeWidth=\"2.4\"\n />\n </g>\n </svg>\n )\n}\n\nexport default DecorativeCheckbox\n","// @noflow\nimport React from 'react'\n\nimport {\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\ntype Props = {\n size: number\n width?: number | string\n accentColour: IconColours\n}\n\nconst DogBowl = ({\n size,\n width,\n accentColour = 'brandPink400'\n}: Props): JSX.Element => {\n return (\n <svg\n width={width || '100%'}\n height={size}\n viewBox=\"0 0 80 63\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M10.595 33.527c-.324-2.98 0-8.98 3.887-9.135 3.888-.156 3.952-.584 3.499-.778-.26-2.462-.078-7.386 2.721-7.386 1.81 0 2.525.054 2.735.11.145-.873.594-2.574 1.347-3.025.972-.583 1.943-1.36 3.693-1.36.971-2.139 1.555-5.054 5.247-5.054.584-1.361 1.361-2.722 3.888-1.944.777-3.304 1.75-5.442 3.887-4.86 2.138.584 3.11.778 5.831 2.333 2.721 1.555 4.47.972 4.665 1.555.194.583 1.555 1.75 2.721 1.75 1.166 0 2.916-.584 3.304.777.39 1.36.583 2.332 1.555 3.304s2.916 2.527 2.138 3.499c-.622.777-1.814 2.008-2.332 2.526 1.684.648 5.17 2.8 5.636 6.22 4.277 2.138 5.248 2.721 5.248 4.86 0 2.137-.971 6.219-1.555 6.996-.583.778-54.228 4.471-58.115-.388Z\"\n fill=\"#C18666\"\n />\n <path\n d=\"M43.054 20.893c-.466-1.089-2.915-.583-4.082-.195-1.36 1.555 1.36 1.555 1.944 1.555.583 0 1.36 0 2.332 1.555.778-.971.39-1.555-.194-2.915ZM54.12 27.381c-.466-1.088-2.915-.583-4.081-.194-1.36 1.554 1.36 1.555 1.944 1.555.583 0 1.36 0 2.332 1.555.778-.972.389-1.556-.194-2.916ZM49.146 10.645c-.704-.953-2.972.102-4.018.748-.967 1.825 1.682 1.2 2.25 1.067.567-.134 1.323-.313 2.626.978.534-1.125.022-1.603-.858-2.793ZM28.75 23.734c-1.151-.276-2.209 1.99-2.593 3.158.435 2.02 2.06-.162 2.408-.63.348-.468.812-1.091 2.64-.942-.315-1.204-1.015-1.24-2.455-1.586ZM37.983 12.258c-1.007-.623-2.721 1.198-3.452 2.186-.22 2.054 2.007.49 2.484.156.477-.335 1.114-.782 2.802-.067.078-1.242-.575-1.496-1.834-2.275ZM60.936 24.197c-3.11-1.244-4.406.26-4.665 1.166 3.304-.583 3.693.583 5.053 2.138 1.167-3.304 5.054-3.304 6.609-2.72 1.542.577 1.364 3.066 1.171 5.76l-.005.07c.972 0 .972-2.915.972-3.887s-1.36-2.916-2.915-3.693c-1.555-.778-3.5-.583-6.22 1.166ZM26.922 17.829c3.11-1.244 4.405.259 4.664 1.166-3.304-.583-3.692.583-5.053 2.138-1.166-3.304-5.054-3.304-6.609-2.721-1.541.578-1.363 3.067-1.17 5.761l.004.07c-.972 0-.972-2.915-.972-3.887s1.361-2.916 2.916-3.693c1.555-.778 3.498-.583 6.22 1.166ZM56.077 17.394c.466-.777 3.045-1.101 4.276-1.166.583.194 2.138 1.166 2.526 1.944.312.622.648 2.073.778 2.72-.26-.388-.933-1.36-1.555-2.137-.777-.972-3.304-.972-4.47 0-1.167.972-2.333.583-2.527.194-.194-.389.389-.583.972-1.555Z\"\n fill=\"#8A634F\"\n />\n <path\n d=\"M5.736 32.166c.622-.933 4.535-.389 6.414 0 3.822.324 12.79.933 18.076.778 5.287-.156 21.64-.584 29.155-.778h15.355c1.244 0 3.11 10.107 3.887 15.16.518 1.815 1.516 6.298 1.36 9.719-.194 4.276-4.47 4.47-6.802 4.47H54.52c-5.895.26-18.425.622-21.38 0-3.693-.777-22.74.778-29.154.778-6.415 0-3.305-6.414-2.722-9.524.467-2.488 2.527-10.366 3.499-13.994.065-1.814.35-5.676.972-6.609Z\"\n fill={ICON_COLOURS[accentColour]}\n />\n <path\n d=\"M51.828 21.335c0 .226-.07.573.093.757.138.156.438.25.64.17.188-.072.28-.169.276-.372-.003-.226-.173-.44-.413-.44M35.065 26.669c0 .226-.07.573.093.756.138.156.438.25.641.171.188-.073.279-.17.275-.372-.003-.226-.173-.44-.413-.44M30.493 8.382c0 .226-.07.573.093.757.139.155.438.25.641.17.188-.073.279-.17.276-.372-.004-.226-.174-.44-.413-.44\"\n stroke=\"#5E862C\"\n />\n <path\n d=\"m42.248 6.792 1.143-2.286c.48-.96 0-.762 1.524-.381 1.524.38 1.143 1.524.762 2.286-.38.762-.38 1.523-.762 2.285-.38.762-.38.762-1.905 0-1.523-.762-1.142-1.143-.761-1.904ZM53.023 15.922l-1.02-1.935c-.428-.813-.534-.35.508-1.357 1.041-1.006 1.648-.186 1.988.46.34.645.874.995 1.214 1.64.34.645.34.645-.968 1.477-1.308.831-1.381.36-1.721-.285ZM20.5 27.782l.616-2.1c.26-.881-.139-.622 1.31-.619 1.447.003 1.312 1.015 1.106 1.715-.205.7-.066 1.322-.271 2.022-.206.7-.206.7-1.723.385-1.518-.314-1.243-.703-1.038-1.403Z\"\n fill=\"#C76642\"\n />\n </svg>\n )\n}\n\nexport default DogBowl\n","// @noflow\nimport classnames from 'classnames'\nimport Handlebars from 'handlebars'\nimport { TOptions } from 'i18next'\nimport React from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { Markup } from 'react-render-markup'\n\nimport STYLES from './Text.module.sass'\n\ntype AllowedElements =\n | 'p'\n | 'h1'\n | 'h2'\n | 'h3'\n | 'h4'\n | 'h5'\n | 'h6'\n | 'span'\n | 'div'\n | 'li'\n\n// Note: Display variants should only be 'brandBlue500' OR 'brandWhite'\ntype AllowedColours =\n | 'brandBlue100'\n | 'brandBlue200'\n | 'brandBlue300'\n | 'brandBlue400'\n | 'brandBlue500'\n | 'brandBlue600'\n | 'brandRed300'\n | 'brandRed400'\n | 'brandRed500'\n | 'brandRed600'\n | 'brandYellow100'\n | 'brandYellow300'\n | 'brandYellow600'\n | 'brandYellow700'\n | 'brandPink200'\n | 'brandPink400'\n | 'brandPink500'\n | 'brandWhite'\n | 'supportGreen300'\n | 'supportGreen400'\n | 'supportGreen500'\n | 'supportOrange300'\n | 'supportOrange400'\n | 'supportOrange500'\n | 'dangerRed300'\n | 'dangerRed500'\n | 'supportRed300'\n | 'supportRed500'\n | 'supportBlue300'\n | 'supportBlue500'\n | 'grey400'\n | 'shadowBlack'\n | 'cardboardBrown'\n\ntype AllowedAlignment = 'left' | 'right' | 'center'\n\ntype Props = {\n variant?: keyof typeof STYLES\n margin?: boolean\n element?: AllowedElements\n namespace?: string\n text: string | Array<string>\n translate?: boolean\n bold?: boolean\n variables?: TOptions\n colour?: AllowedColours\n align?: AllowedAlignment\n shouldScale?: boolean\n wonky?: boolean\n underline?: boolean\n hideOverflow?: boolean\n uppercase?: boolean\n strikeThrough?: boolean\n tight?: boolean\n dataTestId?: string\n hyphens?: boolean\n}\n\ntype InjectedTextProps = {\n children: Array<string>\n type: keyof typeof STYLES\n}\n\nconst allowedHtmlElement = ['strong', 'em', 'b', 'a', 'br', 'span', 'accent'] // strips all other elements\n\n// This allows us to add specific styling to certain word(s) in a string by\n// wrapping custom <accent> wrappers around them and declaring the style 'type'\n// with a class within the Text component stylesheet. See Storybook for examples\n// under 'With Underline'\nconst AccentText = ({ children, type }: InjectedTextProps) => {\n return <span className={STYLES[type]}>{children[0]}</span>\n}\n\nconst replace = {\n accent: AccentText\n}\n\nconst Text = ({\n variant = 'textRegular16',\n element = 'p',\n namespace = '',\n margin = true,\n text,\n translate = true,\n bold = false,\n variables = {},\n colour = 'brandBlue500',\n align,\n shouldScale = true,\n wonky = false,\n underline = false,\n hideOverflow = false,\n uppercase = false,\n strikeThrough = false,\n tight = false,\n dataTestId,\n hyphens = true\n}: Props): JSX.Element => {\n const { t } = useTranslation(namespace)\n const Element = element as keyof JSX.IntrinsicElements\n const translatedText = translate\n ? t(text, variables)\n : Handlebars.compile(text)(variables)\n\n const applyRotation = (text: string) => {\n return text\n .split('')\n .map((char, index) => {\n const rotateAngle = index % 2 === 0 ? '-5' : '5'\n const minWidth = char === ' ' ? 'min-width: 4px' : ''\n\n return `<span style=\"transform: rotate(${rotateAngle}deg); display: inline-flex; ${minWidth}\">${char}</span>`\n })\n .join('')\n }\n\n const textToDisplay = wonky ? applyRotation(translatedText) : translatedText\n\n const className = classnames({\n [STYLES.hyphens]: hyphens,\n [STYLES[variant]]: variant,\n [STYLES.nomargin]: !margin,\n [STYLES.bold]: bold,\n [STYLES.underline]: underline,\n [STYLES[colour]]: colour,\n [STYLES[`${align}Align` as keyof typeof STYLES]]: align,\n [STYLES.scale]: shouldScale,\n [STYLES.hideOverflow]: hideOverflow,\n [STYLES.uppercase]: uppercase,\n [STYLES.strikeThrough]: strikeThrough,\n [STYLES.tight]: tight\n })\n\n return (\n <Element data-testid={dataTestId} className={className}>\n <Markup\n allowed={allowedHtmlElement}\n markup={textToDisplay}\n replace={replace}\n />\n </Element>\n )\n}\n\nexport { Props, AllowedColours, AllowedAlignment }\nexport default Text\n","// @noflow\nimport React from 'react'\n\nimport {\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\ntype Props = {\n size: number\n accentColour: IconColours\n width?: number | string\n}\n\nconst Email = ({ size, accentColour, width }: Props): JSX.Element => {\n return (\n <svg\n viewBox=\"0 0 72 72\"\n height={size}\n width={width || '100%'}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M69.8 10.8c-1.3-1.3-2.9-2-4.8-2H6.8c-1.9 0-3.5.7-4.8 2-1.3 1.3-2 2.9-2 4.8v40.3c0 1.9.7 3.5 2 4.8 1.3 1.3 2.9 2 4.8 2H65c1.9 0 3.5-.7 4.8-2 1.3-1.3 2-2.9 2-4.8V15.6c0-1.9-.7-3.5-2-4.8zM24.3 43.9c1.8 1.4 3.2 2.4 4.3 3.1 2.6 1.5 5 2.2 7.3 2.2s4.6-.7 7.1-2.2c1.2-.7 2.6-1.7 4.2-3L61 55.9H10.5l13.8-12zm28.5-4.4L65 29.9v20.3L52.8 39.5zm-46-23.9H65v5.7C61.8 24 55.5 29 46.1 36.2l-1.3 1.1c-1.9 1.6-3.4 2.7-4.5 3.4-1.8 1.2-3.3 1.8-4.5 1.8-1.2 0-2.7-.6-4.5-1.8-1.1-.7-2.6-1.8-4.5-3.4l-1.3-1.1C16.3 28.9 10 23.9 6.8 21.3v-5.7zm12 23.9l-12 10.4v-20l12 9.6z\"\n fill={ICON_COLOURS[accentColour]}\n />\n </svg>\n )\n}\n\nexport default Email\n","// @noflow\nimport React from 'react'\n\nimport {\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\ntype Props = {\n size: number\n accentColour: IconColours\n width?: number | string\n}\n\nconst ErrorCircle = ({ size, accentColour, width }: Props): JSX.Element => {\n return (\n <svg\n fill={ICON_COLOURS[accentColour]}\n viewBox=\"0 0 12 12\"\n height={size}\n width={width || '100%'}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6 0C2.68548 0 0 2.68548 0 6C0 9.31452 2.68548 12 6 12C9.31452 12 12 9.31452 12 6C12 2.68548 9.31452 0 6 0ZM5.99999 10.8387C3.32661 10.8387\n 1.16129 8.67338 1.16129 5.99999C1.16129 3.32661 3.32661 1.16129 5.99999 1.16129C8.67338 1.16129 10.8387 3.32661 10.8387 5.99999C10.8387 8.67338\n 8.67338 10.8387 5.99999 10.8387ZM6.95806 6L8.4629 4.49516C8.57661 4.38145 8.57661 4.19758 8.4629 4.08387L7.91613 3.5371C7.80242 3.42339 7.61855\n 3.42339 7.50484 3.5371L6 5.04193L4.49516 3.5371C4.38145 3.42339 4.19758 3.42339 4.08387 3.5371L3.5371 4.08387C3.42339 4.19758 3.42339 4.38145\n 3.5371 4.49516L5.04193 6L3.5371 7.50484C3.42339 7.61855 3.42339 7.80242 3.5371 7.91613L4.08387 8.4629C4.19758 8.57661 4.38145 8.57661 4.49516\n 8.4629L6 6.95806L7.50484 8.4629C7.61855 8.57661 7.80242 8.57661 7.91613 8.4629L8.4629 7.91613C8.57661 7.80242 8.57661 7.61855 8.4629 7.50484L6.95806 6Z\"\n fill={ICON_COLOURS[accentColour]}\n />\n </svg>\n )\n}\n\nexport default ErrorCircle\n","// @noflow\nimport React from 'react'\n\nimport {\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\ntype Props = {\n size: number\n width?: number | string\n accentColour: IconColours\n}\n\nconst Eye = ({\n size,\n width,\n accentColour = 'brandBlue500'\n}: Props): JSX.Element => {\n return (\n <svg\n fill=\"none\"\n height={size}\n viewBox=\"0 0 23 15\"\n width={width || '100%'}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M22.735 6.507C20.483 2.607 16.285 0 11.5 0 6.714 0 2.516 2.608.265 6.507a1.992 1.992 0 000 1.986C2.517 12.393 6.715 15 11.5 15c4.786 0 8.984-2.608 11.235-6.507a1.992 1.992 0 000-1.986zM11.5 13.043c-4.095 0-7.67-2.23-9.583-5.543a11.062 11.062 0 018.631-5.503 2.3 2.3 0 01.633 1.59c0 1.26-1.002 2.283-2.237 2.283S6.708 4.848 6.708 3.587v-.002a5.61 5.61 0 00-.639 2.61c0 3.062 2.432 5.544 5.431 5.544 3 0 5.43-2.482 5.43-5.543a5.6 5.6 0 00-1.113-3.364A11.116 11.116 0 0121.083 7.5c-1.913 3.314-5.488 5.543-9.583 5.543z\"\n fill={ICON_COLOURS[accentColour]}\n />\n </svg>\n )\n}\n\nexport default Eye\n","// @noflow\nimport React from 'react'\n\nimport {\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\ntype Props = {\n size: number\n accentColour: IconColours\n width?: number | string\n}\n\nconst Facebook = ({ size, accentColour, width }: Props): JSX.Element => {\n return (\n <svg\n viewBox=\"0 0 72 72\"\n height={size}\n width={width || '100%'}\n data-name=\"Layer 1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M68 0H4a4 4 0 00-4 4v64a4 4 0 004 4h34.46V44.16h-9.35v-10.9h9.35v-8c0-9.3 5.68-14.36 14-14.36a77.46 77.46 0 018.38.43V21h-5.76c-4.5 0-5.37 2.14-5.37 5.29v6.94H60.5l-1.4 10.9h-9.39V72H68a4 4 0 004-4V4a4 4 0 00-4-4z\"\n fill={ICON_COLOURS[accentColour]}\n />\n </svg>\n )\n}\n\nexport default Facebook\n","// @noflow\nimport React from 'react'\n\ntype Props = {\n size: number\n width?: number | string\n}\n\nconst FacebookLetter = ({ size = 49, width }: Props): JSX.Element => {\n return (\n <svg\n width={width || '100%'}\n height={size}\n viewBox=\"0 0 49 49\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle cx=\"24.5\" cy=\"24.5\" r=\"24.5\" fill=\"#1877F2\" />\n <path\n d=\"M20.7984 20.2303C20.8767 18.8606 21.1098 17.5675 21.1098 16.196C21.1098 15.2828 21.4995 14.3697 22.042 13.6081C22.1204 13.5332 22.1987 13.3798 22.3534 13.3049L23.2857 12.6201C24.0058 12.0357 24.8198 11.5722 25.6946 11.2485C25.814 11.188 25.9485 11.162 26.0824 11.1736C27.0147 11.0969 28.0253 10.9453 28.9575 11.0202C29.4236 11.0202 29.8133 11.1736 30.2795 11.2485C30.5125 11.3252 30.6673 11.4786 30.6673 11.6302C30.7456 12.0101 30.9003 12.3918 30.9003 12.8484C30.9786 13.1515 30.9003 13.5332 30.9786 13.8364C31.057 14.2948 30.9003 14.6747 30.8239 15.1312C30.794 15.2807 30.7115 15.4151 30.5908 15.5111C30.2795 15.7394 29.9681 15.8928 29.5803 15.8161C28.8811 15.6645 28.2583 15.8928 27.5591 16.0444C27.4155 16.0478 27.2779 16.1016 27.1713 16.196C26.9162 16.4817 26.7301 16.82 26.6269 17.1858C26.5486 17.8707 26.4721 18.4807 26.3938 19.1655V19.8504C26.7835 20.1554 27.2496 20.0787 27.6374 20.002C27.8705 20.002 28.0253 19.9271 28.2583 19.9271C28.4914 19.9271 28.7245 20.002 28.9575 20.002C29.2077 20.0897 29.4696 20.1414 29.735 20.1554C30.2795 20.2303 30.5125 20.612 30.4342 21.1434C30.4342 21.3717 30.3578 21.6767 30.3578 21.905C30.2795 22.515 30.4342 23.1231 30.4342 23.7313V24.113C30.4459 24.2032 30.4301 24.2947 30.3886 24.376C30.3471 24.4573 30.2818 24.5247 30.2011 24.5696C29.9892 24.6321 29.7818 24.7084 29.5803 24.7979H28.5697C28.3366 24.7979 28.1036 24.8746 27.8705 24.8746C27.5591 24.9495 27.3261 25.0262 27.0166 24.9495C26.5486 24.8746 26.4721 25.0262 26.3938 25.4827C26.3286 26.1656 26.3025 26.8516 26.3155 27.5373C26.2391 28.4505 26.3938 29.2888 26.2391 30.2019C26.2391 30.3535 26.3155 30.5069 26.3155 30.6585C26.4196 31.2106 26.446 31.7741 26.3938 32.3332C26.3155 33.2464 26.2391 34.1595 26.3938 35.1494C26.3938 35.301 26.4721 35.5292 26.4721 35.6808C26.3938 36.594 26.4721 37.4323 26.4721 38.3454C26.4721 38.802 26.3938 38.8787 25.9277 38.9554C25.6163 39.0303 25.3832 39.0303 25.1502 38.802C24.9853 38.7073 24.7986 38.6552 24.6076 38.6504C24.4978 38.639 24.3875 38.6662 24.2962 38.7271C23.9849 38.9554 23.597 38.9554 23.2074 38.8787C22.9548 38.8017 22.6843 38.8017 22.4317 38.8787C22.1787 38.9461 21.9159 38.972 21.6542 38.9554C21.2664 38.9554 20.955 38.7271 21.0315 38.3454C21.1881 37.7372 20.955 37.204 21.0315 36.6707V35.5292C21.0315 34.6928 21.1098 33.8545 21.1881 32.9414C21.2664 32.1798 21.1881 31.3434 21.1881 30.5818C21.1765 29.8705 21.2026 29.1591 21.2664 28.4505C21.2664 27.6907 21.3429 27.0041 21.3429 26.2443V25.3312C21.3429 24.9495 21.2664 24.7979 20.8767 24.7979C20.4889 24.7212 20.0228 24.6445 19.6331 24.8728C19.5909 24.8677 19.548 24.872 19.5077 24.8852C19.4674 24.8985 19.4306 24.9205 19.4 24.9495C18.7008 25.1777 18.3895 24.8728 18.2347 24.1879C17.9873 23.0118 17.9351 21.8043 18.08 20.612C18.0988 20.4973 18.1528 20.391 18.2347 20.307C18.6244 20.002 19.0122 19.7737 19.5567 20.002C20.0228 20.307 20.3323 20.3837 20.7984 20.2303Z\"\n fill=\"white\"\n />\n </svg>\n )\n}\n\nexport default FacebookLetter\n","// @noflow\nimport React from 'react'\n\ntype Props = {\n size: number\n width?: number | string\n}\n\nconst Food = ({ size, width }: Props): JSX.Element => {\n return (\n <svg\n width={width || '100%'}\n height={size}\n fill=\"none\"\n viewBox=\"0 0 40 39\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M7.505 8.364a6.892 6.892 0 0 1-.967-2.375c-.04-.198-.069-.415.023-.594.089-.173.276-.27.461-.308.802-.158 1.48.607 1.902 1.334.097.168.201.349.376.428.17.077.367.033.551-.005 1.43-.302 2.902-.262 4.36-.22.718.02 1.444.042 2.14.225 1.597.42 2.876 1.63 4.067 2.818.837.834 1.667 1.68 2.443 2.58.503.584 1.005 1.237 1.095 2.018.11.942-.306 1.009-.89 1.738-.56.7-1.837 1.894-2.476 2.517-1.78 1.735-2.773 2.717-4.864 3.9-1.22.691-3.307 1.126-4.64 1.534-1.438.44-2.775 1.273-4.267 1.438-.202.021-.411.03-.598-.05-.29-.127-.46-.434-.6-.728a13.838 13.838 0 0 1-1.117-8.202C5 13.54 6.384 10.935 7.61 8.308M31.12 27.576c.844.08 1.612.738 1.846 1.586.234.848-.08 1.83-.758 2.363-.43.339-.968.493-1.494.628-3.405.87-6.92 1.202-10.427 1.239-.892.008-1.784 0-2.676-.03-3.82-.125-7.66-.607-11.27-1.911-.677-.246-1.432-.613-1.617-1.335-.133-.516.083-1.075.43-1.47.347-.394.807-.655 1.258-.91.681-.383 1.417-.78 2.187-.69-.598.621-1.216 1.274-1.483 2.107-.13.4-.15.894.137 1.19.142.145.338.218.535.253.616.11 1.239-.113 1.865-.128.724-.017 1.425.247 2.138.383.678.128 1.37.14 2.059.151 3.36.056 6.722.104 10.074-.136.523-.037 1.047-.082 1.556-.205.476-.114.937-.295 1.418-.38.718-.128 1.455-.04 2.182-.075.728-.035 1.5-.221 1.996-.777.495-.556.558-1.565-.028-2.017M21.51 25l-1.409.076c-.072.003-.15.007-.214-.032-.076-.047-.111-.141-.139-.228a4.235 4.235 0 0 1-.184-1.246c0-.05.002-.103.03-.143.04-.055.115-.066.181-.07.31-.026.626-.05.926.035.3.084.584.299.673.608.082.285-.015.6.06.89\"\n fill=\"#FFE180\"\n />\n <path\n d=\"M29.64 27.927c-.476.158-1.047-.134-1.22-.622-.06-.177-.06-.407.085-.52.101-.078.238-.073.364-.056.576.075 1.13.339 1.56.745.032.03.065.064.074.108.011.048-.01.099-.035.142a.624.624 0 0 1-.818.227M13.02 31.19c.1-.253-.025-.552-.225-.729-.2-.176-.458-.258-.71-.337l-.92-.286c-.177-.055-.369-.109-.541-.043-.318.12-.384.552-.397.905-.006.171-.008.36.098.49.071.09.18.135.283.173a5.483 5.483 0 0 0 1.926.351c.053 0 .11-.002.151-.038.05-.044.055-.121.055-.19l.005-.605M17.527 21.533c.052.475.092.999-.174 1.389a.947.947 0 0 1-1.044.37.533.533 0 0 1-.303-.213.6.6 0 0 1-.076-.295c-.016-.517.373-1.016.863-1.107a1.32 1.32 0 0 1 .605.046M24.802 28.65c.191.048.437.079.548-.091a.483.483 0 0 0 .061-.254c.02-.41-.035-.824-.16-1.212-.048-.15-.108-.299-.214-.41-.206-.22-.53-.252-.824-.268-.361-.022-.768-.03-1.034.226-.248.239-.29.628-.287.98 0 .073.003.149.032.216.042.092.127.151.21.206.538.356 1.12.724 1.758.7M16.822 29.254c-.125-.057-.201-.19-.267-.316-.197-.369-.396-.738-.592-1.11-.149-.277-.302-.575-.278-.893.02-.263.16-.499.253-.745.094-.247.133-.553-.03-.756-.08-.1-.195-.161-.308-.219-.253-.127-.505-.255-.758-.384a.258.258 0 0 0-.131-.039c-.06.004-.11.047-.153.088-.394.36-.797.712-1.21 1.05-.139.115-.284.231-.456.276-.112.029-.23.027-.337.07-.352.135-.404.622-.397 1.013.005.24.01.48.013.72.001.073.005.149.043.207.049.073.139.101.221.118.323.069.66.076.984.017.31-.056.621-.166.93-.104.486.1.802.618.891 1.126.021.118.042.252.139.318.075.052.176.042.266.027a4.07 4.07 0 0 0 1.223-.417M27.729 23.974c.982-.663 1.642-1.82 1.73-3.036.036-.478-.01-.974.133-1.429.17-.54.582-.954.979-1.343 1.529-1.502 3.056-3.003 4.585-4.502 1.3-1.278 2.609-2.563 3.683-4.05.064-.09.13-.19.124-.301-.011-.165-.189-.274-.348-.262-.159.011-.299.109-.43.205-3.251 2.404-5.44 6.09-8.579 8.651-.33.269-.675.53-1.07.677-.368.136-.76.17-1.146.238a6.413 6.413 0 0 0-1.995.71c-.634.353-1.276.955-1.205 1.698.036.378.255.71.487 1.003a7.39 7.39 0 0 0 1.85 1.66c.333.209.826.358 1.052.03\"\n fill=\"#FFE180\"\n />\n <path\n d=\"M9.542 16.908a7.344 7.344 0 0 0 1.774 2.022c.111.089.334.11.464.069a.701.701 0 0 0 .363-.286 49.69 49.69 0 0 0 4.43-7.296c.145-.293.09-.694-.209-.862-.272-.153-.672-.094-.827.217a49.829 49.829 0 0 1-4.43 7.298l.828-.217-.067-.054c.06.05.072.06.037.03-.039-.033-.078-.065-.115-.098a6.135 6.135 0 0 1-.774-.82l-.08-.102a2.424 2.424 0 0 0-.054-.07 7.12 7.12 0 0 1-.292-.455c-.164-.278-.542-.417-.822-.233-.271.177-.404.558-.226.857Z\"\n fill=\"#174f78\"\n />\n <path\n d=\"M38.908 8.995c-.045-.14-.108-.22-.197-.26-.398-.04-.814.18-1.137.394-.818.545-1.548 1.265-2.247 1.962-.283.282-.56.573-.832.865-.143.201-.285.404-.453.582-.437.46-.905.887-1.36 1.327l-.185.19-.047.05c-.086.113-.153.245-.257.334-.07.06-.143.121-.216.18-.361.39-.724.777-1.093 1.157-.782.806-1.605 1.569-2.407 2.354a.218.218 0 0 1-.153.068 7.194 7.194 0 0 1-.158.154c-.037.035-.102.052-.166.054a.543.543 0 0 1-.134.06c-.18.054-.37.004-.552-.015-.508-.05-1.058-.044-1.522.2-.408.215-.745.547-1.073.875-.37.37-.737.737-1.07 1.143a.194.194 0 0 1-.054.046.216.216 0 0 1-.237.126.223.223 0 0 1-.265-.042c-.187-.182-.314-.43-.52-.59a.312.312 0 0 1-.093-.116 22.091 22.091 0 0 0-.348-.246c-.177-.123-.361-.177-.565-.016-.082.064-.216.076-.327.08-.439.01-.879-.01-1.318.013-.387.02-.774.08-1.16.13-.153.02-.306.05-.457.083-.257.057-.575.044-.75.2-.262.232-.467.566-.613.897-.176.4-.336.517-.79.322l-.425.862c.12.09.227.147.302.236.082.098.11.247.2.333.14.134.3.258.474.334.06.025.182-.114.28-.168.04-.022.09-.02.172-.035-.186.154-.142.264-.005.388.234.213.44.094.677-.004.426-.174.673-.461.674-.95.002-.385.037-.774-.001-1.154-.024-.247.079-.268.25-.302.229-.045.501-.047.67-.183.36-.287.773-.265 1.173-.33.184-.031.352 0 .423.234.02.07.111.158.177.166.283.032.57.068.849.042.314-.028.603.106.701.417.08.25.146.505.213.76.037.143.07.26.255.284.071.009.186.185.174.267-.04.274.02.377.362.427a17.565 17.565 0 0 0-.126-.166c.17-.08.245-.413.52-.158.156.143.354.237.546.36-.363.471-.57-.078-.847-.038-.124.25-.124.462.128.627.314.206.751.139 1.017-.14.083-.085.247-.2.315-.168.33.158.697.304.943.565.399.42.713.926 1.062 1.397.047.062.122.137.116.201-.047.48.311.507.606.596.239.07.274.146.137.355-.279.426-.195.848.225 1.108.2.124.443.205.598.373.337.364.834.502 1.237.262.147-.087.252-.215.192-.433-.063-.227-.206-.168-.352-.155-.164.015-.332.04-.495.024-.16-.017-.332-.047-.466-.131a2.355 2.355 0 0 1-.482-.427c-.07-.077-.084-.206-.124-.312.088-.034.179-.1.266-.094.226.013.453.04.672.094.181.043.388.09.517.211.291.276.554.588.801.909.078.1.099.284.08.42-.022.17-.098.339-.173.497-.08.166-.152.364-.286.465-.21.158-.47.238-.705.363-.274.146-.506.011-.756-.083-.176-.067-.38-.15-.553-.116-.59.116-1.171.28-1.755.429-.084.021-.165.055-.247.082-.211.067-.418.168-.634.191-.39.046-.784.036-1.176.064-.414.03-.827.08-1.24.116-.203.018-.408.018-.61.05-.355.058-.705.146-1.061.194-.347.047-.698.063-1.049.082-.442.023-.89.096-1.322.043-.915-.11-1.821-.287-2.75-.253-.616.023-1.234-.017-1.85-.012-.387.004-.776.039-1.208.062.143-.4.02-.651-.255-.838-.398-.27-.802-.535-1.197-.81-.187-.13-.332-.132-.52.036-.152.138-.365.224-.565.28-.316.091-.49.345-.616.604-.136.282-.288.443-.528.27-.264-.192-.497-.066-.742-.049-.24.017-.477.07-.716.108a3.964 3.964 0 0 1-.023-.136c.165-.032.331-.098.494-.091.239.008.239.03.248-.232-.017-.007-.037-.017-.055-.017-.029-.001-.06.01-.088.002-.349-.113-.665-.15-.862.279-.019.042-.21.032-.304-.005a2.369 2.369 0 0 1-.492-.272.637.637 0 0 1-.23-.28c-.04-.12.009-.268-.014-.397-.032-.176-.092-.395-.3-.368-.101.014-.242.2-.26.326a4.598 4.598 0 0 0-.019.919c.011.176.039.404.147.51.335.324.777.433 1.22.497.102.015.21-.04.315-.034.51.032 1.02.068 1.528.116.385.037.848-.028 1.137.172.456.315.94.322 1.415.347.674.037 1.354-.025 2.03-.075 1.182-.09 2.361-.14 3.544.001.501.06 1.013.015 1.5.205.12.047.272.017.408-.003.453-.066.903-.145 1.356-.213.036-.005.076.028.113.026.44-.008.88-.008 1.32-.04.143-.01.279-.144.422-.15.713-.024 1.432.038 2.132-.174.046-.013.099-.008.147-.005.518.037 1.008.015 1.499-.247.39-.206.851-.272 1.282-.394.332-.094.658-.068.979.072.126.054.264.109.397.107.4-.006.766-.11 1.095-.302.184-.248.356-.505.506-.777.16-.293.299-.605.36-.938.068-.36-.006-.748-.013-1.115a.683.683 0 0 0-.266-.194c-.166-.073-.294-.28-.394-.48a.685.685 0 0 1-.072-.098.634.634 0 0 1-.12-.11.59.59 0 0 1-.183-.176c-.563-.369-1.226-.433-1.833-.67-.18-.07-.382-.188-.487-.346-.166-.25-.234-.569-.393-.826-.097-.154-.1-.24.01-.366.241-.279.457-.57.767-.79.442-.595.792-1.263.95-2.002.099-.459.076-.937.189-1.392.084-.345.252-.642.48-.892.044-.13.102-.259.188-.355.532-.6 1.077-1.189 1.629-1.771.243-.257.501-.5.77-.726.383-.319.797-.6 1.173-.928.252-.22.428-.54.692-.732.868-.633 1.566-1.446 2.313-2.256l.002.004c.185-.21.411-.41.62-.59l.06-.048c.147-.152.296-.303.44-.454.323-.343.707-.699.994-1.108.071-.217.14-.433.218-.648-.02-.2-.03-.408-.092-.6ZM18.074 21.907c-.05.378-.039.801-.439.997a.773.773 0 0 1-.537.048c-.168-.056-.293-.215-.193-.464.12-.299.16-.643.32-.912.088-.146.368-.268.534-.236.23.043.362.278.315.567Zm-5.38 8.675c-.004.054-.102.126-.17.141-.723.165-1.361-.067-1.98-.47.286-.484.767-.626 1.181-.628.313 0 .638.334.93.56.072.053.054.263.04.397ZM38.446 9.637a.237.237 0 0 1-.07.18c-.062.063-.123.13-.185.196a1.167 1.167 0 0 1-.396.445c-.468.54-.92 1.1-1.446 1.583a.226.226 0 0 1-.138.062c-.392.382-.76.79-1.168 1.154-.439.391-.916.744-1.266 1.231a.236.236 0 0 1-.21.104c-.366.405-.73.811-1.129 1.182-.702.657-1.445 1.265-2.126 1.947a25.63 25.63 0 0 0-.65.678c-.293.314-.585.631-.882.942-.137.306-.118.657-.097 1.011.047.78-.16 1.468-.69 2.039-.17.183-.316.393-.497.564-.22.208-.44.489-.702.55-.201.046-.485-.165-.7-.315-.313-.217-.572-.526-.898-.714-.421-.245-.634-.671-.92-1.027-.188-.236-.01-.672.264-.84.351-.51.91-.99 1.467-1.233.036-.027.075-.052.116-.079.405-.268.826-.293 1.271-.25a.54.54 0 0 1 .262.1l.116-.03c.67-.16 1.16-.599 1.598-1.14.045-.055.099-.077.149-.073.266-.28.535-.558.816-.823.711-.672 1.474-1.285 2.163-1.983.667-.679 1.276-1.41 1.97-2.058l.452-.418c.283-.39.62-.72.944-1.066.289-.309.54-.657.82-.974.265-.299.53-.603.828-.863l.007-.005c.006-.009.011-.017.02-.025.185-.207.322-.177.493-.397.074-.094.26-.127.334-.048.088.094.17.14.096.235l-.005.005a.217.217 0 0 1-.01.153Z\"\n fill=\"#174f78\"\n stroke=\"#174f78\"\n />\n <path\n d=\"M24.284 13.388c-.333-.78-.946-1.335-1.475-1.944-.651-.751-1.375-1.438-2.093-2.125a13.04 13.04 0 0 0-1.37-1.142c-.535-.384-1.087-.755-1.669-1.054a11.231 11.231 0 0 0-1.856-.754c-.458-.14-.955-.175-1.438-.193-.704-.026-1.404-.131-2.116.094-.726.23-1.49.322-2.232.495-.218.05-.308-.057-.423-.207a9.944 9.944 0 0 0-.745-.89 4.415 4.415 0 0 0-.77-.658 8.84 8.84 0 0 0-.852-.473c-.183.211-.41.376-.666.493-.176.172-.35.341-.525.514-.222.606-.11 1.156.287 1.65.112.139.236.265.352.397.163.183.324.368.487.553.144.16.265.307.071.537-.62.732-1.082 1.572-1.493 2.443-.147.311-.307.615-.44.93-.207.486-.4.978-.593 1.468-.129.325-.295.644-.366.981-.116.543-.13 1.108-.255 1.648-.246 1.07-.217 2.156-.224 3.24-.003.645.026 1.289.032 1.933.005.73.197 1.41.51 2.05.161.333.363.646.539.971.151.283.282.578.442.857.29.51.51.564.997.257l.072.14c.197-.033.373-.068.55-.093.63-.09 1.263-.168 1.89-.274a8.425 8.425 0 0 0 1.112-.262c.497-.158.979-.366 1.476-.529.435-.143.892-.216 1.317-.383.386-.15.733-.4 1.11-.576.384-.18.811-.272 1.173-.49.635-.383 1.24-.825 1.848-1.256.384-.272.747-.578 1.128-.858.338-.25.71-.455 1.024-.734.779-.692 1.534-1.412 2.296-2.124.175-.162.354-.32.508-.497.1-.115.146-.278.24-.397.306-.38.638-.735.93-1.127.424-.569.608-1.33 1.266-1.71.027-.016.032-.071.05-.107.139-.288.003-.537-.106-.794ZM6.846 5.516c.286-.284.512-.086.676.018.43.274.837.595 1.234.922.345.286.323.566-.03.821-.064.046-.125.09-.183.143-.377.327-.7.302-.939-.158-.292-.568-.513-1.175-.758-1.746Zm16.613 8.586c-.31.497-.613 1.002-.954 1.476-.404.56-.812 1.123-1.283 1.617-.44.462-.972.83-1.455 1.251-.235.205-.43.46-.67.658-.462.38-.943.734-1.415 1.099-.416.32-.823.656-1.25.962-.434.31-.87.628-1.337.876-.58.308-1.186.571-1.794.813a85.662 85.662 0 0 1-3.163 1.187c-.45.158-.924.244-1.392.338-.627.128-1.26.232-1.888.35-.158.031-.312.088-.468.127-.152.038-.23-.01-.244-.192-.006-.094-.087-.184-.138-.273-.042-.072-.092-.138-.131-.21-.032-.06-.034-.155-.08-.188-.247-.18-.318-.455-.4-.734-.122-.403-.312-.791-.377-1.2-.138-.877-.267-1.764-.301-2.65-.023-.582.116-1.173.198-1.755.084-.595.187-1.186.287-1.777.097-.573.18-1.15.308-1.716a8.05 8.05 0 0 1 .384-1.166c.26-.653.51-1.315.83-1.936a9.384 9.384 0 0 1 1.017-1.6c.326-.405.78-.696 1.15-1.067.461-.462 1.068-.54 1.634-.724a25.849 25.849 0 0 1 1.766-.498c.332-.083.676-.106 1.016-.156l.005.062c.498.005.997-.017 1.492.023.442.035.874.148 1.263.397.1.063.22.092.332.132.266.098.526.24.799.279.403.055.703.267.983.54.021.02.04.044.065.061.28.2.561.396.84.598.352.257.715.5 1.049.782.288.244.543.531.814.798.363.36.74.704 1.087 1.08.399.431.771.89 1.155 1.337.057.067.104.144.166.204.27.264.304.469.1.795ZM33.374 29.146c-.065-.136-.084-.287-.166-.415-.263-.406-.753-.636-1.215-.856a10.977 10.977 0 0 0-1.075-.431c.033.087.05.18.051.277.345.176.611.434.96.618.327.173.66.396.756.745.021.074.082.15.152.202.405.312.39.733.003 1.08-.268.24-.482.517-.718.779-.3.334-.71.544-1.169.73-.921.373-1.91.49-2.916.581-.471.042-.934.133-1.403.193a118.907 118.907 0 0 1-3.805.434c-.462.041-.926.062-1.39.092-.45.028-.9.087-1.349.079-.976-.019-1.95-.074-2.926-.11-.33-.011-.664 0-.995-.016-.699-.035-1.399-.069-2.094-.13a34.01 34.01 0 0 1-2.074-.236c-.553-.083-1.087-.286-1.64-.313-.87-.041-1.574-.456-2.408-.564-.324-.042-.621-.232-.923-.366-.311-.138-.613-.289-.918-.436a2.408 2.408 0 0 1-.6-.415c-.216-.039-.387-.203-.472-.412-.31-.757.093-1.69.777-2.134.149-.096.308-.165.474-.213l1.013-.368c.2-.072.39-.165.597-.22.334-.09.67-.17 1.007-.252a.809.809 0 0 1 .08-.376.228.228 0 0 0-.034.003 5.11 5.11 0 0 1-.582.084 6.013 6.013 0 0 1-.489.098c-.024.003-.048.006-.07.006-.15.07-.299.145-.455.203-.615.227-1.242.432-1.849.67-.348.137-.72.298-.829.62-.137.41-.3.81-.37 1.24-.094.577.227.987.607 1.381.345.36.792.654 1.326.849.365.132.639.413 1.084.42.026 0 .051.025.079.038.187.086.363.198.564.25.526.135 1.06.25 1.596.356.879.175 1.758.36 2.646.5.73.117 1.47.202 2.21.25 1.03.066 2.068.088 3.102.123.16.005.32-.041.482-.04.821.014 1.642.044 2.463.049.537.003 1.076-.008 1.61-.047.51-.037 1.011-.133 1.52-.181.655-.063 1.318-.084 1.973-.162a27.65 27.65 0 0 0 2.307-.349c.816-.168 1.655-.212 2.472-.401a4.157 4.157 0 0 0 2.063-1.124c.24-.237.428-.509.654-.756.103-.114.212-.224.335-.325.003-.02.005-.039.01-.059.058-.275.163-.56.177-.846-.093-.118-.152-.26-.216-.397Z\"\n fill=\"#174f78\"\n stroke=\"#174f78\"\n />\n <path\n d=\"m14.003 24.226-.75-.008c-.044.087-.108.22-.174.35h-.076c.002-.204-.027-.416.02-.605.02-.086.219-.202.3-.178.286.085.514.04.78-.105.24-.13.561-.215.816-.162.18.037.31.335.466.513.055.063.144.17.184.157.305-.106.458.168.68.263.3.131.306.376.291.648-.003.044.05.09.058.136.037.224.166.439-.158.608-.339.178-.432.591-.332.988-.163.06-.323.137-.489.178-.192.045-.393.109-.54-.138-.03-.05-.258-.05-.308.009-.126.146-.247.132-.415.127-.368-.012-.743.08-1.105.035-.248-.032-.477-.22-.714-.342-.034-.017-.057-.054-.155-.151-.005.457-.008.846-.011 1.262-.347-.062-.36-.345-.384-.534-.044-.345 0-.703.01-1.056.01-.421.29-.582.707-.344l.18-.715c.204.16.412.324.69.54.155-.524.285-.979.429-1.476Zm1.83.565c-.13.39-.443.421-.767.441-.452.027-.363-.487-.666-.712-.155.438-.315.84-.437 1.253-.128.433-.257.507-.66.358-.073-.027-.245.037-.266.095-.052.155-.044.331-.066.568l.201-.225c.139.055.295.151.321.12.236-.266.43-.186.644.028.05.05.182.082.229.048.056-.04.098-.168.08-.24-.145-.576.44-.611.588-.965l.1.05-.218.61c.07.043.18.095.27.172.257.22.441.207.531-.119.09-.325.292-.453.547-.53-.011-.377-.029-.73-.43-.952ZM26.164 27.375c-.098-.321-.219-.655-.413-.917-.15-.204-.43-.298-.646-.452-.242-.171-.471-.2-.768-.108-.403.126-.573.477-.83.748-.08.085-.183.154-.285.21-.135.073-.341.092-.403.203-.068.122-.037.33.003.487a.493.493 0 0 0 .24.316.582.582 0 0 1 .341-.007c-.113-.262-.05-.615.187-.78.086-.095.192-.15.315-.117.483.128.937.123 1.396-.065.042-.017.138-.002.152.028.113.22.3.383.234.712-.071.358-.258.56-.49.781-.19.18-.373.23-.571.087-.23-.163-.433-.152-.71.063.106.114.244.342.311.32.189-.059.24.044.336.151.143.165.306.294.532.118.156-.121.339-.208.482-.341.41-.38.784-.8.587-1.438ZM19.503 22.953c.561.025 1.09.052 1.62.069.114.003.231-.015.343-.042.298-.072.396.013.364.332-.027.274-.08.548-.072.82.008.29.077.581.116.871.034.25-.074.343-.302.267l-.664-.218c-.215-.07-.399-.035-.613.072-.144.074-.408.037-.547-.06-.189-.134-.321-.415-.21-.643.176-.361.113-.679-.001-1.023-.039-.109-.021-.238-.034-.445Zm.551.489c-.254.297-.303.663-.106 1.04.052.098.215.213.31.197.35-.053.692-.157 1.09-.256.002-.187.002-.422.006-.659.004-.166-.175-.322-.325-.317-.307.01-.616-.002-.975-.005ZM16.105 27.063c.051.055.145.105.151.166.065.65.542.878 1.02 1.026.066.02.195-.057.248-.126.158-.213.298-.435.603-.418.044.001.099-.027.133-.06.233-.23.46-.382.807-.199.18.094.415.066.622.11.1.023.19.09.279.174-.263.044-.549-.02-.655.332-.007.02-.233.019-.297-.04-.203-.188-.38-.156-.577-.008a1.161 1.161 0 0 1-.334.193c-.292.09-.373.267-.338.58.012.105-.154.258-.267.35-.142.114-.311.192-.474.276-.049.025-.11.018-.165.031-.082.02-.163.044-.302.081l-.143-.104c.113-.15.239-.277.313-.432.038-.082.022-.248-.034-.315a4.802 4.802 0 0 0-.595-.578c-.162-.133-.186-.32-.071-.423.216-.195.137-.345-.005-.522.024-.034.053-.064.08-.095ZM15.679 29.648c-.225-.01-.233-.295-.368-.438a.398.398 0 0 1-.095-.218c-.055-.53-.426-.76-.847-.838-.397-.074-.81-.244-1.23-.03-.117.06-.278.12-.346-.126-.016-.057-.297-.005-.148-.234.334-.033.685-.02 1.005-.116.23-.069.433-.152.685-.114.66.104 1.158.595 1.255 1.263.01.07.077.13.103.198.03.08.068.165.063.245-.003.126-.043.25-.077.408ZM17.001 25.195c.376-.309.49-.31.958-.015.416.264.826.54 1.34.543.038 0 .104.052.104.08a.26.26 0 0 1-.061.153c-.383.455-.637.492-1.17.173-.324-.195-.656-.378-.968-.595-.1-.068-.14-.226-.203-.339ZM22.493 29.702c-.348.34-.701.331-1.026.363-.44.044-.703-.26-.927-.608-.18-.282-.216-.285-.505-.08-.158-.232-.108-.407.078-.603.192-.204.345-.18.519 0 .174.178.335.377.534.522.143.104.337.14.513.193.245.07.493.13.814.213ZM12.003 28.2c-.02.466-.258.644-.707.476-.164-.062-.343-.127-.467-.245-.075-.069-.108-.276-.063-.364.048-.095.21-.153.33-.172.095-.015.204.052.305.088.197.068.394.14.602.216ZM25.714 25.827c-.232-.086-.501-.125-.685-.274-.13-.106-.144-.366-.22-.59.028-.008-.035.036-.072.019-.086-.039-.16-.106-.239-.161.07-.049.139-.138.21-.141.376-.017.876.436.953.836.014.076.056.144.085.217-.012.032-.022.063-.032.094Z\"\n fill=\"#174f78\"\n stroke=\"#174f78\"\n />\n <path\n d=\"M7.048 29.306c.122-.905.937-1.377 1.618-1.807.592-.375 1.019-.774 1.484-1.302.495-.56 1.217-.252 1.756-.7.418-.348.442-1.051.932-1.3.334-.17.047-.692-.287-.522-.606.307-.62 1.238-1.234 1.471-.39.15-.776-.003-1.155.232-.28.173-.466.463-.677.71-.995 1.167-2.774 1.44-3.015 3.21-.053.384.526.387.578.008Z\"\n fill=\"#174f78\"\n />\n <path\n d=\"M10.398 27.439c-.274.017-.445.184-.487.326a.448.448 0 0 0-.016.22.296.296 0 0 0 .029.09c.01.022.03.057.07.12.036.065.088.142.112.288a.579.579 0 0 1-.01.203.46.46 0 0 1-.11.217.41.41 0 0 1-.237.13c-.075.011-.127 0-.16-.006a1.96 1.96 0 0 1-.196-.048 1.608 1.608 0 0 1-.698-.415c.274-.032.517-.04.756-.054l.176-.01c.029-.002.042-.008.026-.008a.123.123 0 0 0-.076.037c-.039.047-.03.048-.036.052.004.016-.01-.022-.038-.066-.026-.049-.076-.12-.112-.221a.9.9 0 0 1-.045-.29.804.804 0 0 1 .195-.513c.252-.29.671-.279.857-.052Z\"\n fill=\"#174f78\"\n stroke=\"#174f78\"\n />\n <path\n d=\"M6.95 29.454c.04-.72.525-.991 1.04-1.344.371-.253.63-.631.992-.893.303-.218.02-.744-.287-.522-.242.174-.43.382-.637.594-.265.269-.592.43-.89.65-.497.368-.762.875-.796 1.508-.022.388.557.393.578.007Z\"\n fill=\"#174f78\"\n />\n </svg>\n )\n}\n\nexport default Food\n","// @noflow\nimport React from 'react'\n\ntype Props = {\n size: number\n width?: number | string\n}\n\nconst HeartWithPlus = ({ size, width }: Props): JSX.Element => {\n return (\n <svg\n viewBox=\"0 0 28 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width={width || '100%'}\n height={size}\n fill=\"none\"\n >\n <path\n d=\"M8.20276 3.12452C9.51898 3.68346 10.7374 4.62586 12.1477 4.92805C12.1477 5.34907 13.2891 4.8671 13.4366 4.62659L13.4416 4.61852C13.6017 4.35762 13.8317 3.98296 13.8317 3.66506C13.8317 3.32784 14.0701 3.10371 14.2994 2.86984C14.4955 2.66993 14.728 2.1835 14.9699 2.07462C16.2306 1.50732 17.5297 1.22689 18.9096 1.19105C19.6059 1.17296 20.6622 0.999838 21.2953 1.39375C22.199 1.95609 21.7063 3.60699 21.5032 4.4083C21.1382 5.84781 20.5438 7.03357 19.8244 8.33761C19.0051 9.82256 18.4537 11.4378 17.605 12.901C16.5286 14.757 15.3692 16.5165 14.4138 18.4519C14.162 18.962 13.9617 19.4633 13.8524 20.0216C13.8411 20.0798 13.8572 20.2437 13.7797 20.2659C13.6526 20.3022 13.5569 20.1184 13.4574 20.0632C12.541 19.554 11.6797 18.9196 10.7443 18.4519C10.146 18.1528 9.44409 18.0605 8.87324 17.7243C8.11306 17.2765 7.30599 16.9129 6.62792 16.3366C5.13506 15.0676 3.76466 14.1257 3.05204 12.2253C2.45025 10.6206 2.33439 9.13538 2.49071 7.43324C2.55915 6.68799 2.75309 5.95115 2.79216 5.20871C2.81338 4.80556 3.30253 4.25536 3.43665 3.86256C3.5807 3.44071 3.51651 3.02286 3.5406 2.58917C3.55735 2.28772 4.02753 2.25798 4.23707 2.16818C4.77388 1.93811 5.2432 2.03405 5.78592 2.21495C6.59702 2.48532 7.41557 2.79023 8.20276 3.12452Z\"\n fill=\"#FFE180\"\n />\n <mask\n id=\"path-2-outside-1_521_2468\"\n maskUnits=\"userSpaceOnUse\"\n x=\"0\"\n y=\"0\"\n width=\"22\"\n height=\"23\"\n fill=\"black\"\n >\n <rect fill=\"white\" width=\"22\" height=\"23\" />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M20.8108 6.02645C20.6035 7.67314 20.1545 9.2968 19.4175 11.0125C19.095 11.7841 18.646 12.4865 18.2659 13.0738C18.1163 13.3041 17.9551 13.5343 17.7939 13.7647C17.4253 14.2944 17.0568 14.8471 16.7459 15.4229C16.3544 16.1253 15.8247 16.7587 15.2951 17.3689L15.1914 17.4841C14.8459 17.8871 14.5119 18.3247 14.2011 18.7392C14.109 18.8659 14.0053 18.9926 13.9132 19.1193C13.7059 19.3956 13.4987 19.672 13.2799 19.9484C13.0726 20.2247 12.8538 20.501 12.6466 20.7775C12.6005 20.835 12.5429 20.881 12.4853 20.9156C12.4623 20.9271 12.4393 20.9502 12.4162 20.9617L12.3587 21.0077L12.2896 20.9847C12.2666 20.9732 12.2435 20.9732 12.2205 20.9617C12.1629 20.9502 12.1169 20.9386 12.0708 20.9156C12.0017 20.881 11.9326 20.8465 11.875 20.789C11.6447 20.5932 11.426 20.3974 11.1956 20.2016C11.0229 20.0519 10.8617 19.9023 10.6889 19.7641C10.6084 19.695 10.5392 19.6375 10.4702 19.5683C10.2974 19.4071 10.1247 19.2459 9.92896 19.1193C9.42226 18.7738 8.9847 18.4284 8.58166 18.0944C8.478 18.0023 8.35141 17.9217 8.21323 17.8295C7.52231 17.4035 6.96958 16.9659 6.52051 16.4822C6.22105 16.1598 5.88706 15.8374 5.57617 15.5264C5.38045 15.3307 5.17313 15.135 4.97741 14.9277C4.81621 14.7665 4.66643 14.5823 4.49381 14.375C4.06767 13.8337 3.79131 13.3847 3.59558 12.9356C3.43438 12.5786 3.25016 12.2101 3.06587 11.8646L2.93927 11.6114C2.60529 10.978 2.37495 10.2986 2.23677 9.59618C2.20225 9.4234 2.16772 9.25069 2.13311 9.07798C2.04097 8.6174 1.9489 8.13372 1.87977 7.66163C1.77611 6.95921 1.8223 6.30282 2.00652 5.69255C2.04097 5.57738 2.07557 5.45071 2.1101 5.32403C2.15621 5.16283 2.20225 4.99013 2.25979 4.82885C2.42099 4.32223 2.69743 3.81553 3.14651 3.20518C3.21556 3.11311 3.2962 3.03247 3.36525 2.95191C3.38835 2.91739 3.42279 2.89437 3.44581 2.85976C3.84893 2.41069 4.41317 2.14584 5.13861 2.08821C5.87563 2.03067 6.67012 2.04218 7.57986 2.11131C7.67193 2.12282 7.75256 2.12282 7.84471 2.14584C8.73135 2.36466 9.67561 2.61793 10.5392 3.05549L10.5508 3.06708C10.6084 3.0901 10.6659 3.12462 10.7234 3.15915C11.3568 3.57369 11.8635 3.99975 12.2666 4.46041C12.4162 4.63312 12.4738 4.82885 12.4278 5.02465C12.3931 5.19736 12.3471 5.37007 12.3126 5.55428L12.3011 5.61191C12.2896 5.66945 12.2896 5.75009 12.4047 5.78462C12.5659 5.83065 12.7041 5.79612 12.8192 5.70406C12.9345 5.6004 12.9805 5.47372 13.015 5.34705C13.1187 4.94401 13.2338 4.51796 13.4641 4.11492C13.9938 3.22828 14.6617 2.60642 15.5138 2.21497C16.0205 1.98464 16.5386 1.77732 16.9763 1.60461C17.3562 1.45492 17.7823 1.37428 18.2199 1.36277C18.8072 1.35127 19.3138 1.52397 19.7398 1.88098C20.2811 2.33005 20.4999 2.88278 20.6612 3.424C20.9721 4.36826 20.903 5.31253 20.8108 6.02645ZM19.1296 1.12093C18.3811 0.913701 17.5865 0.971324 16.7113 1.30523C16.4351 1.40889 16.1472 1.51255 15.8708 1.63914C15.8017 1.67375 15.7211 1.70827 15.652 1.73129C15.3641 1.85796 15.0762 1.98464 14.8229 2.14584C14.0053 2.67555 13.4871 3.14764 13.1187 3.70037C13.0726 3.7695 13.015 3.81553 12.9575 3.87316C12.9345 3.89617 12.8998 3.91919 12.8768 3.95372L12.8078 4.02285L12.7156 3.96523C12.681 3.94221 12.658 3.9307 12.635 3.91919C12.589 3.89617 12.5429 3.87316 12.5198 3.83855C12.0592 3.34344 11.449 2.94041 10.6084 2.57189C9.75625 2.19195 8.81191 1.97313 7.90234 1.7543L7.78709 1.73129C7.74106 1.71978 7.69494 1.71978 7.6374 1.70827H7.60287C7.34953 1.68525 7.10769 1.67375 6.86593 1.66216C5.9908 1.62763 5.20774 1.68525 4.4592 1.82336C4.09069 1.89249 3.79131 2.00765 3.51502 2.15734C3.22715 2.31854 2.92768 2.50276 2.73188 2.77913C2.67442 2.85977 2.59378 2.9404 2.52465 3.00946L2.38646 3.14764C2.27138 3.28582 2.17923 3.40099 2.08708 3.52766C1.67253 4.11492 1.37315 4.78281 1.18893 5.56587C0.993129 6.40648 0.947095 7.12041 1.06218 7.79981L1.1198 8.13372C1.21195 8.66343 1.29259 9.21616 1.4422 9.75738C1.4653 9.83794 1.48832 9.91858 1.51133 10.0107C1.6265 10.4368 1.74166 10.8859 1.9489 11.3004L2.1101 11.6229C2.32892 12.0605 2.55925 12.498 2.76648 12.9471C2.9507 13.3386 3.20413 13.8567 3.57256 14.3289C3.59558 14.3634 3.63019 14.4096 3.6532 14.4441C3.79131 14.6283 3.92949 14.8125 4.1137 14.9508C4.18292 14.9968 4.24046 15.0544 4.30951 15.112C4.36713 15.158 4.41317 15.204 4.47071 15.2502C4.60897 15.3537 4.71255 15.4804 4.81621 15.5956C4.89685 15.6992 4.97741 15.7913 5.06947 15.8719C5.19615 15.9756 5.31131 16.1023 5.41497 16.2174C5.56474 16.3901 5.71435 16.5513 5.91016 16.6665C5.9908 16.7125 6.03683 16.7817 6.07136 16.8392C6.08287 16.8622 6.09437 16.8853 6.11739 16.8968C6.1289 16.9198 6.15192 16.9429 6.16351 16.9659C6.18652 17.0004 6.20954 17.035 6.24407 17.058C6.34772 17.1386 6.43987 17.2308 6.53194 17.3229C6.70473 17.4956 6.87744 17.6568 7.10769 17.7605C7.22285 17.818 7.315 17.8871 7.39564 17.9677C7.43009 18.0023 7.46469 18.0253 7.49922 18.0598C7.6605 18.175 7.81011 18.3132 7.9598 18.4399C8.22466 18.6586 8.48951 18.8889 8.81191 19.0616C8.95017 19.1308 9.05375 19.2459 9.1459 19.338C9.18042 19.3725 9.21503 19.4071 9.24956 19.4417C9.29559 19.4877 9.35321 19.5452 9.39925 19.5914C9.45679 19.649 9.51441 19.7065 9.57204 19.7641C9.72165 19.8907 9.87134 20.0289 10.0211 20.1556C10.286 20.3859 10.5623 20.6278 10.8156 20.8695C10.9538 20.9962 11.1035 21.1114 11.2762 21.2265C11.495 21.3877 11.7138 21.5489 11.898 21.7562C11.9211 21.7793 11.9557 21.8023 11.9787 21.8023C12.1629 21.8368 12.3587 21.8138 12.4968 21.7332C12.5659 21.6871 12.658 21.6181 12.6696 21.5029C12.7041 21.3072 12.7962 21.1689 12.992 21.0538C13.061 21.0192 13.1187 20.9502 13.1762 20.881L13.3835 20.6508C13.6484 20.3629 13.9132 20.0519 14.1665 19.7526C14.2471 19.6605 14.3163 19.5568 14.3853 19.4417C14.4545 19.338 14.5235 19.2344 14.6041 19.1423C14.9035 18.7623 15.2144 18.3938 15.5138 18.0138C15.9053 17.5416 16.2854 17.058 16.6769 16.5859C16.9417 16.252 17.1835 15.918 17.3792 15.5956C17.4369 15.5034 17.4944 15.4114 17.552 15.3077C17.6671 15.112 17.7939 14.8932 17.9435 14.6974C18.0587 14.5477 18.1623 14.3865 18.2659 14.2368C18.3466 14.1101 18.4271 13.995 18.5192 13.8683C18.646 13.6955 18.7726 13.5228 18.8877 13.3501C19.1181 13.0277 19.3599 12.6937 19.5786 12.3598L19.6132 12.3138C19.9126 11.8646 20.212 11.4041 20.3963 10.9089C20.4769 10.6901 20.5575 10.4713 20.6381 10.2526C20.7072 10.0683 20.7763 9.89557 20.8454 9.71135L20.8914 9.57317C20.949 9.41189 21.0181 9.23918 21.0641 9.06647C21.3405 8.06467 21.6514 6.87857 21.755 5.68104C21.8356 4.78281 21.709 3.90768 21.3865 3.04398C21.0296 2.0767 20.2696 1.43191 19.1296 1.12093Z\"\n />\n </mask>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M20.8108 6.02645C20.6035 7.67314 20.1545 9.2968 19.4175 11.0125C19.095 11.7841 18.646 12.4865 18.2659 13.0738C18.1163 13.3041 17.9551 13.5343 17.7939 13.7647C17.4253 14.2944 17.0568 14.8471 16.7459 15.4229C16.3544 16.1253 15.8247 16.7587 15.2951 17.3689L15.1914 17.4841C14.8459 17.8871 14.5119 18.3247 14.2011 18.7392C14.109 18.8659 14.0053 18.9926 13.9132 19.1193C13.7059 19.3956 13.4987 19.672 13.2799 19.9484C13.0726 20.2247 12.8538 20.501 12.6466 20.7775C12.6005 20.835 12.5429 20.881 12.4853 20.9156C12.4623 20.9271 12.4393 20.9502 12.4162 20.9617L12.3587 21.0077L12.2896 20.9847C12.2666 20.9732 12.2435 20.9732 12.2205 20.9617C12.1629 20.9502 12.1169 20.9386 12.0708 20.9156C12.0017 20.881 11.9326 20.8465 11.875 20.789C11.6447 20.5932 11.426 20.3974 11.1956 20.2016C11.0229 20.0519 10.8617 19.9023 10.6889 19.7641C10.6084 19.695 10.5392 19.6375 10.4702 19.5683C10.2974 19.4071 10.1247 19.2459 9.92896 19.1193C9.42226 18.7738 8.9847 18.4284 8.58166 18.0944C8.478 18.0023 8.35141 17.9217 8.21323 17.8295C7.52231 17.4035 6.96958 16.9659 6.52051 16.4822C6.22105 16.1598 5.88706 15.8374 5.57617 15.5264C5.38045 15.3307 5.17313 15.135 4.97741 14.9277C4.81621 14.7665 4.66643 14.5823 4.49381 14.375C4.06767 13.8337 3.79131 13.3847 3.59558 12.9356C3.43438 12.5786 3.25016 12.2101 3.06587 11.8646L2.93927 11.6114C2.60529 10.978 2.37495 10.2986 2.23677 9.59618C2.20225 9.4234 2.16772 9.25069 2.13311 9.07798C2.04097 8.6174 1.9489 8.13372 1.87977 7.66163C1.77611 6.95921 1.8223 6.30282 2.00652 5.69255C2.04097 5.57738 2.07557 5.45071 2.1101 5.32403C2.15621 5.16283 2.20225 4.99013 2.25979 4.82885C2.42099 4.32223 2.69743 3.81553 3.14651 3.20518C3.21556 3.11311 3.2962 3.03247 3.36525 2.95191C3.38835 2.91739 3.42279 2.89437 3.44581 2.85976C3.84893 2.41069 4.41317 2.14584 5.13861 2.08821C5.87563 2.03067 6.67012 2.04218 7.57986 2.11131C7.67193 2.12282 7.75256 2.12282 7.84471 2.14584C8.73135 2.36466 9.67561 2.61793 10.5392 3.05549L10.5508 3.06708C10.6084 3.0901 10.6659 3.12462 10.7234 3.15915C11.3568 3.57369 11.8635 3.99975 12.2666 4.46041C12.4162 4.63312 12.4738 4.82885 12.4278 5.02465C12.3931 5.19736 12.3471 5.37007 12.3126 5.55428L12.3011 5.61191C12.2896 5.66945 12.2896 5.75009 12.4047 5.78462C12.5659 5.83065 12.7041 5.79612 12.8192 5.70406C12.9345 5.6004 12.9805 5.47372 13.015 5.34705C13.1187 4.94401 13.2338 4.51796 13.4641 4.11492C13.9938 3.22828 14.6617 2.60642 15.5138 2.21497C16.0205 1.98464 16.5386 1.77732 16.9763 1.60461C17.3562 1.45492 17.7823 1.37428 18.2199 1.36277C18.8072 1.35127 19.3138 1.52397 19.7398 1.88098C20.2811 2.33005 20.4999 2.88278 20.6612 3.424C20.9721 4.36826 20.903 5.31253 20.8108 6.02645ZM19.1296 1.12093C18.3811 0.913701 17.5865 0.971324 16.7113 1.30523C16.4351 1.40889 16.1472 1.51255 15.8708 1.63914C15.8017 1.67375 15.7211 1.70827 15.652 1.73129C15.3641 1.85796 15.0762 1.98464 14.8229 2.14584C14.0053 2.67555 13.4871 3.14764 13.1187 3.70037C13.0726 3.7695 13.015 3.81553 12.9575 3.87316C12.9345 3.89617 12.8998 3.91919 12.8768 3.95372L12.8078 4.02285L12.7156 3.96523C12.681 3.94221 12.658 3.9307 12.635 3.91919C12.589 3.89617 12.5429 3.87316 12.5198 3.83855C12.0592 3.34344 11.449 2.94041 10.6084 2.57189C9.75625 2.19195 8.81191 1.97313 7.90234 1.7543L7.78709 1.73129C7.74106 1.71978 7.69494 1.71978 7.6374 1.70827H7.60287C7.34953 1.68525 7.10769 1.67375 6.86593 1.66216C5.9908 1.62763 5.20774 1.68525 4.4592 1.82336C4.09069 1.89249 3.79131 2.00765 3.51502 2.15734C3.22715 2.31854 2.92768 2.50276 2.73188 2.77913C2.67442 2.85977 2.59378 2.9404 2.52465 3.00946L2.38646 3.14764C2.27138 3.28582 2.17923 3.40099 2.08708 3.52766C1.67253 4.11492 1.37315 4.78281 1.18893 5.56587C0.993129 6.40648 0.947095 7.12041 1.06218 7.79981L1.1198 8.13372C1.21195 8.66343 1.29259 9.21616 1.4422 9.75738C1.4653 9.83794 1.48832 9.91858 1.51133 10.0107C1.6265 10.4368 1.74166 10.8859 1.9489 11.3004L2.1101 11.6229C2.32892 12.0605 2.55925 12.498 2.76648 12.9471C2.9507 13.3386 3.20413 13.8567 3.57256 14.3289C3.59558 14.3634 3.63019 14.4096 3.6532 14.4441C3.79131 14.6283 3.92949 14.8125 4.1137 14.9508C4.18292 14.9968 4.24046 15.0544 4.30951 15.112C4.36713 15.158 4.41317 15.204 4.47071 15.2502C4.60897 15.3537 4.71255 15.4804 4.81621 15.5956C4.89685 15.6992 4.97741 15.7913 5.06947 15.8719C5.19615 15.9756 5.31131 16.1023 5.41497 16.2174C5.56474 16.3901 5.71435 16.5513 5.91016 16.6665C5.9908 16.7125 6.03683 16.7817 6.07136 16.8392C6.08287 16.8622 6.09437 16.8853 6.11739 16.8968C6.1289 16.9198 6.15192 16.9429 6.16351 16.9659C6.18652 17.0004 6.20954 17.035 6.24407 17.058C6.34772 17.1386 6.43987 17.2308 6.53194 17.3229C6.70473 17.4956 6.87744 17.6568 7.10769 17.7605C7.22285 17.818 7.315 17.8871 7.39564 17.9677C7.43009 18.0023 7.46469 18.0253 7.49922 18.0598C7.6605 18.175 7.81011 18.3132 7.9598 18.4399C8.22466 18.6586 8.48951 18.8889 8.81191 19.0616C8.95017 19.1308 9.05375 19.2459 9.1459 19.338C9.18042 19.3725 9.21503 19.4071 9.24956 19.4417C9.29559 19.4877 9.35321 19.5452 9.39925 19.5914C9.45679 19.649 9.51441 19.7065 9.57204 19.7641C9.72165 19.8907 9.87134 20.0289 10.0211 20.1556C10.286 20.3859 10.5623 20.6278 10.8156 20.8695C10.9538 20.9962 11.1035 21.1114 11.2762 21.2265C11.495 21.3877 11.7138 21.5489 11.898 21.7562C11.9211 21.7793 11.9557 21.8023 11.9787 21.8023C12.1629 21.8368 12.3587 21.8138 12.4968 21.7332C12.5659 21.6871 12.658 21.6181 12.6696 21.5029C12.7041 21.3072 12.7962 21.1689 12.992 21.0538C13.061 21.0192 13.1187 20.9502 13.1762 20.881L13.3835 20.6508C13.6484 20.3629 13.9132 20.0519 14.1665 19.7526C14.2471 19.6605 14.3163 19.5568 14.3853 19.4417C14.4545 19.338 14.5235 19.2344 14.6041 19.1423C14.9035 18.7623 15.2144 18.3938 15.5138 18.0138C15.9053 17.5416 16.2854 17.058 16.6769 16.5859C16.9417 16.252 17.1835 15.918 17.3792 15.5956C17.4369 15.5034 17.4944 15.4114 17.552 15.3077C17.6671 15.112 17.7939 14.8932 17.9435 14.6974C18.0587 14.5477 18.1623 14.3865 18.2659 14.2368C18.3466 14.1101 18.4271 13.995 18.5192 13.8683C18.646 13.6955 18.7726 13.5228 18.8877 13.3501C19.1181 13.0277 19.3599 12.6937 19.5786 12.3598L19.6132 12.3138C19.9126 11.8646 20.212 11.4041 20.3963 10.9089C20.4769 10.6901 20.5575 10.4713 20.6381 10.2526C20.7072 10.0683 20.7763 9.89557 20.8454 9.71135L20.8914 9.57317C20.949 9.41189 21.0181 9.23918 21.0641 9.06647C21.3405 8.06467 21.6514 6.87857 21.755 5.68104C21.8356 4.78281 21.709 3.90768 21.3865 3.04398C21.0296 2.0767 20.2696 1.43191 19.1296 1.12093Z\"\n fill=\"#174F78\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M20.8108 6.02645C20.6035 7.67314 20.1545 9.2968 19.4175 11.0125C19.095 11.7841 18.646 12.4865 18.2659 13.0738C18.1163 13.3041 17.9551 13.5343 17.7939 13.7647C17.4253 14.2944 17.0568 14.8471 16.7459 15.4229C16.3544 16.1253 15.8247 16.7587 15.2951 17.3689L15.1914 17.4841C14.8459 17.8871 14.5119 18.3247 14.2011 18.7392C14.109 18.8659 14.0053 18.9926 13.9132 19.1193C13.7059 19.3956 13.4987 19.672 13.2799 19.9484C13.0726 20.2247 12.8538 20.501 12.6466 20.7775C12.6005 20.835 12.5429 20.881 12.4853 20.9156C12.4623 20.9271 12.4393 20.9502 12.4162 20.9617L12.3587 21.0077L12.2896 20.9847C12.2666 20.9732 12.2435 20.9732 12.2205 20.9617C12.1629 20.9502 12.1169 20.9386 12.0708 20.9156C12.0017 20.881 11.9326 20.8465 11.875 20.789C11.6447 20.5932 11.426 20.3974 11.1956 20.2016C11.0229 20.0519 10.8617 19.9023 10.6889 19.7641C10.6084 19.695 10.5392 19.6375 10.4702 19.5683C10.2974 19.4071 10.1247 19.2459 9.92896 19.1193C9.42226 18.7738 8.9847 18.4284 8.58166 18.0944C8.478 18.0023 8.35141 17.9217 8.21323 17.8295C7.52231 17.4035 6.96958 16.9659 6.52051 16.4822C6.22105 16.1598 5.88706 15.8374 5.57617 15.5264C5.38045 15.3307 5.17313 15.135 4.97741 14.9277C4.81621 14.7665 4.66643 14.5823 4.49381 14.375C4.06767 13.8337 3.79131 13.3847 3.59558 12.9356C3.43438 12.5786 3.25016 12.2101 3.06587 11.8646L2.93927 11.6114C2.60529 10.978 2.37495 10.2986 2.23677 9.59618C2.20225 9.4234 2.16772 9.25069 2.13311 9.07798C2.04097 8.6174 1.9489 8.13372 1.87977 7.66163C1.77611 6.95921 1.8223 6.30282 2.00652 5.69255C2.04097 5.57738 2.07557 5.45071 2.1101 5.32403C2.15621 5.16283 2.20225 4.99013 2.25979 4.82885C2.42099 4.32223 2.69743 3.81553 3.14651 3.20518C3.21556 3.11311 3.2962 3.03247 3.36525 2.95191C3.38835 2.91739 3.42279 2.89437 3.44581 2.85976C3.84893 2.41069 4.41317 2.14584 5.13861 2.08821C5.87563 2.03067 6.67012 2.04218 7.57986 2.11131C7.67193 2.12282 7.75256 2.12282 7.84471 2.14584C8.73135 2.36466 9.67561 2.61793 10.5392 3.05549L10.5508 3.06708C10.6084 3.0901 10.6659 3.12462 10.7234 3.15915C11.3568 3.57369 11.8635 3.99975 12.2666 4.46041C12.4162 4.63312 12.4738 4.82885 12.4278 5.02465C12.3931 5.19736 12.3471 5.37007 12.3126 5.55428L12.3011 5.61191C12.2896 5.66945 12.2896 5.75009 12.4047 5.78462C12.5659 5.83065 12.7041 5.79612 12.8192 5.70406C12.9345 5.6004 12.9805 5.47372 13.015 5.34705C13.1187 4.94401 13.2338 4.51796 13.4641 4.11492C13.9938 3.22828 14.6617 2.60642 15.5138 2.21497C16.0205 1.98464 16.5386 1.77732 16.9763 1.60461C17.3562 1.45492 17.7823 1.37428 18.2199 1.36277C18.8072 1.35127 19.3138 1.52397 19.7398 1.88098C20.2811 2.33005 20.4999 2.88278 20.6612 3.424C20.9721 4.36826 20.903 5.31253 20.8108 6.02645ZM19.1296 1.12093C18.3811 0.913701 17.5865 0.971324 16.7113 1.30523C16.4351 1.40889 16.1472 1.51255 15.8708 1.63914C15.8017 1.67375 15.7211 1.70827 15.652 1.73129C15.3641 1.85796 15.0762 1.98464 14.8229 2.14584C14.0053 2.67555 13.4871 3.14764 13.1187 3.70037C13.0726 3.7695 13.015 3.81553 12.9575 3.87316C12.9345 3.89617 12.8998 3.91919 12.8768 3.95372L12.8078 4.02285L12.7156 3.96523C12.681 3.94221 12.658 3.9307 12.635 3.91919C12.589 3.89617 12.5429 3.87316 12.5198 3.83855C12.0592 3.34344 11.449 2.94041 10.6084 2.57189C9.75625 2.19195 8.81191 1.97313 7.90234 1.7543L7.78709 1.73129C7.74106 1.71978 7.69494 1.71978 7.6374 1.70827H7.60287C7.34953 1.68525 7.10769 1.67375 6.86593 1.66216C5.9908 1.62763 5.20774 1.68525 4.4592 1.82336C4.09069 1.89249 3.79131 2.00765 3.51502 2.15734C3.22715 2.31854 2.92768 2.50276 2.73188 2.77913C2.67442 2.85977 2.59378 2.9404 2.52465 3.00946L2.38646 3.14764C2.27138 3.28582 2.17923 3.40099 2.08708 3.52766C1.67253 4.11492 1.37315 4.78281 1.18893 5.56587C0.993129 6.40648 0.947095 7.12041 1.06218 7.79981L1.1198 8.13372C1.21195 8.66343 1.29259 9.21616 1.4422 9.75738C1.4653 9.83794 1.48832 9.91858 1.51133 10.0107C1.6265 10.4368 1.74166 10.8859 1.9489 11.3004L2.1101 11.6229C2.32892 12.0605 2.55925 12.498 2.76648 12.9471C2.9507 13.3386 3.20413 13.8567 3.57256 14.3289C3.59558 14.3634 3.63019 14.4096 3.6532 14.4441C3.79131 14.6283 3.92949 14.8125 4.1137 14.9508C4.18292 14.9968 4.24046 15.0544 4.30951 15.112C4.36713 15.158 4.41317 15.204 4.47071 15.2502C4.60897 15.3537 4.71255 15.4804 4.81621 15.5956C4.89685 15.6992 4.97741 15.7913 5.06947 15.8719C5.19615 15.9756 5.31131 16.1023 5.41497 16.2174C5.56474 16.3901 5.71435 16.5513 5.91016 16.6665C5.9908 16.7125 6.03683 16.7817 6.07136 16.8392C6.08287 16.8622 6.09437 16.8853 6.11739 16.8968C6.1289 16.9198 6.15192 16.9429 6.16351 16.9659C6.18652 17.0004 6.20954 17.035 6.24407 17.058C6.34772 17.1386 6.43987 17.2308 6.53194 17.3229C6.70473 17.4956 6.87744 17.6568 7.10769 17.7605C7.22285 17.818 7.315 17.8871 7.39564 17.9677C7.43009 18.0023 7.46469 18.0253 7.49922 18.0598C7.6605 18.175 7.81011 18.3132 7.9598 18.4399C8.22466 18.6586 8.48951 18.8889 8.81191 19.0616C8.95017 19.1308 9.05375 19.2459 9.1459 19.338C9.18042 19.3725 9.21503 19.4071 9.24956 19.4417C9.29559 19.4877 9.35321 19.5452 9.39925 19.5914C9.45679 19.649 9.51441 19.7065 9.57204 19.7641C9.72165 19.8907 9.87134 20.0289 10.0211 20.1556C10.286 20.3859 10.5623 20.6278 10.8156 20.8695C10.9538 20.9962 11.1035 21.1114 11.2762 21.2265C11.495 21.3877 11.7138 21.5489 11.898 21.7562C11.9211 21.7793 11.9557 21.8023 11.9787 21.8023C12.1629 21.8368 12.3587 21.8138 12.4968 21.7332C12.5659 21.6871 12.658 21.6181 12.6696 21.5029C12.7041 21.3072 12.7962 21.1689 12.992 21.0538C13.061 21.0192 13.1187 20.9502 13.1762 20.881L13.3835 20.6508C13.6484 20.3629 13.9132 20.0519 14.1665 19.7526C14.2471 19.6605 14.3163 19.5568 14.3853 19.4417C14.4545 19.338 14.5235 19.2344 14.6041 19.1423C14.9035 18.7623 15.2144 18.3938 15.5138 18.0138C15.9053 17.5416 16.2854 17.058 16.6769 16.5859C16.9417 16.252 17.1835 15.918 17.3792 15.5956C17.4369 15.5034 17.4944 15.4114 17.552 15.3077C17.6671 15.112 17.7939 14.8932 17.9435 14.6974C18.0587 14.5477 18.1623 14.3865 18.2659 14.2368C18.3466 14.1101 18.4271 13.995 18.5192 13.8683C18.646 13.6955 18.7726 13.5228 18.8877 13.3501C19.1181 13.0277 19.3599 12.6937 19.5786 12.3598L19.6132 12.3138C19.9126 11.8646 20.212 11.4041 20.3963 10.9089C20.4769 10.6901 20.5575 10.4713 20.6381 10.2526C20.7072 10.0683 20.7763 9.89557 20.8454 9.71135L20.8914 9.57317C20.949 9.41189 21.0181 9.23918 21.0641 9.06647C21.3405 8.06467 21.6514 6.87857 21.755 5.68104C21.8356 4.78281 21.709 3.90768 21.3865 3.04398C21.0296 2.0767 20.2696 1.43191 19.1296 1.12093Z\"\n stroke=\"#174F78\"\n strokeWidth=\"0.4\"\n mask=\"url(#path-2-outside-1_521_2468)\"\n />\n <path\n d=\"M13.3272 14.6151C13.2951 15.2171 13.3272 15.8347 13.3272 16.437C13.3272 17.2137 13.3606 18.2738 13.4808 18.4986C13.5764 18.6776 14.7568 18.4986 14.952 18.4986H15.7771C16.138 18.4986 16.4795 18.5945 16.8329 18.5945H17.5941C17.8656 18.5945 18.0865 18.3841 18.3782 18.4347C18.4666 18.45 18.4474 19.7075 18.4474 19.8411C18.4474 20.4148 18.3058 22.345 18.3782 22.9096C18.5735 23.1126 19.3863 22.9096 19.6467 22.9096C20.3055 22.9096 21.3175 22.9325 21.9707 22.9325C22.3338 22.9325 22.0556 18.8325 22.0556 18.5572C22.0982 18.513 22.2421 18.5571 22.2991 18.5439C22.8434 18.4182 26.7805 19.0846 26.7805 18.6036C27.2615 17.6416 26.8653 15.0927 26.6121 14.7802C26.4271 14.5519 26.0873 14.5671 25.8048 14.5671C25.5414 14.5671 22.5222 14.4911 22.2991 14.3461C22.2991 13.1315 22.4517 11.6414 22.4517 10.4268C22.4517 10.2794 22.4786 9.53823 22.2991 9.48492C22.1322 9.43535 21.2275 9.48492 21.0562 9.48492H19.8056C19.3565 9.48492 18.8024 9.49459 18.4013 9.71399C18.2609 9.7908 18.0323 9.90875 18.0323 10.0842V10.7528C18.0323 11.3832 18.0784 12.0219 18.0784 12.66C18.0784 12.8784 18.1552 14.1619 17.8016 14.1835C17.4074 14.2077 17.0384 14.1356 16.6484 14.1356C16.0562 14.1356 15.4611 14.1835 14.8751 14.1835C14.5823 14.1835 13.3511 14.1677 13.3272 14.6151Z\"\n fill=\"white\"\n stroke=\"#174F78\"\n strokeWidth=\"0.8\"\n />\n </svg>\n )\n}\n\nexport default HeartWithPlus\n","// @noflow\nimport React from 'react'\n\nimport {\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\ntype Props = {\n size: number\n accentColour: IconColours\n width?: number | string\n}\n\nconst BoxClosed = ({ size, accentColour, width }: Props): JSX.Element => {\n return (\n <svg\n fill=\"none\"\n viewBox=\"0 0 15 19\"\n width={width || '100%'}\n height={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g fill={ICON_COLOURS[accentColour]}>\n <path d=\"m8.04349 13.5047h.16102c.26836-.0553.48305-.2214.69773-.3875l.42942-.4429.1073-.4983.05364-.4982-.37567-.6644-.10734-.1108-.10735-.1107-.53671-.2214c-.26836-.1107-.53672-.1107-.80508-.0554l-.16101.0554-.26836.0553c-.26837.2215-.59039.4983-.75141.7752v.166c0 .1108-.05367.2215-.05367.3322-.05367.3322 0 .6643.21469.9411l.10734.2215s.05367.0554.10734.1108c.05368.0553.16102.1107.21469.166.05367.0554.10734.0554.16102.1108l.48304.2214h.10735.21468z\" />\n <path d=\"m14.6976 9.0204c0-.11072 0-.22146 0-.33218 0-.22145-.0537-.38754-.0537-.609v-.16608c0-.22145 0-.38755-.0537-.55364 0 0 0-.05536-.0536-.05536l-.0537-.16608c-.0537-.05537-.0537-.05537-.1074-.11074v-.05536c-.1073-.05536-.2147-.16609-.2683-.33217l-.0537-.05537-.4831-.16609-.5366-.11073-.1074-.05536-.161.11072-.161-.11072-.161.05536-.3221-.11072-.1073-.49827.1073-.33218-.1073-.33218.1073-.33217-.0536-.33219-.1611-1.38407-.7514-1.16263-.9124-.941177-1.23444-.498268-1.28813-.276811-1.3418.276811-1.34179.498268-.9661.996537-.70267 1.55143-.15607 1.21673v.38754l-.05368.49827v.38755l-.05366.33217-.32204.11072-.05367-.05536h-.16102c-.05367.05536-.10734.05536-.16102.05536h-.10734c-.10734 0-.16101 0-.26835.05537-.05368 0-.10735.05537-.16102.05537-.05368 0-.16102.05536-.21468.05536-.10735 0-.2147 0-.32204.05536-.05367 0-.10735 0-.10735 0-.05366.05537-.10734.05537-.161.05537l-.32204.22144-.322031.99654.053672 1.71623-.107343 1.7716.107343 1.7717-.107343 1.7716.107343 2.2699.644059.8304c.05368 0 .10734-.0553.16102-.0553.48305 0 .9661.0553 1.39547.1107.21468.0554.42937.0554.64406.0554.37571.0553.69774 0 1.01976-.0554.26837-.0554.48305-.1107.80508-.1107.21469 0 .48305 0 .75141-.0554.48304 0 .96609-.0554 1.39546-.0554.2147 0 .42938 0 .64407.0554.48305-.1107 1.01977-.0554 1.44917-.0554h.85871.3221c.322 0 .644-.0553.9124 0h.0536c.2147 0 .3757 0 .5368.0554.0536 0 .161.0554.2146.0554l.3221.0553c.161.0554.322.0554.5367.1108h.2683.1074c.0536-.0554.161-.1108.2683-.1108l.4294-.2768c.161-.0553.161-.0553.161-.0553.0537-.0554.0537-.1108.1074-.1662l.2147-.6643c0-.1107.0536-.2214.0536-.3322-.0536-.1661 0-.2768 0-.3875v-.1108l-.0536-.9965v-.6089c0-.0555 0-.1662-.0537-.2768 0-.0555 0-.1108.0537-.1662 0-.1661 0-.3321 0-.5536-.0537-.2214-.0537-.4982 0-.6644v-.1661c0-.0553 0-.166 0-.3321l-.0537-.7751.0537-1.4395c.0536-.38746.0536-.66437 0-.9965zm-10.62706-4.48442c0-.16609.05368-.33217.05368-.4429.05367-.71973.3757-1.21799.69773-1.60553.21469-.27681.3757-.38755.53672-.44291.10735-.05536.21469-.11072.37571-.22145.26835-.16609.42937-.27682.7514-.27682h.16102c.16102 0 .3757-.05536.59039 0h.16102.32202l.85876.05537.75136.4429.75145.55363.3757.88582.161 1.99307s.1073.33217.1073.44291l-.1073.22145-.2146.16608h-.1074c-.1073.05536-.2147.05536-.32201.05536-.05374 0-.05374 0-.10739 0-.53675.05537-1.07343 0-1.5028-.05536-.32204-.05536-.53672-.05536-.80509-.05536-.10734 0-.26836 0-.3757 0h-.10734l-.64406-.05536c-.10734 0-.16102 0-.21469 0s-.05367 0-.10735 0h-.21468s0 0-.05367 0h-.05367c-.05367 0-.16102.05536-.26837 0h-.80507s-.05368 0-.10734 0c-.16102 0-.42938.05536-.42938-.22145 0-.11073-.05367-.22146-.05367-.27682-.05368-.11073 0-.25039-.05368-.47184 0-.05536-.05367-.35861 0-.69079zm9.60726 10.96192v.2768l-.161.7751c-.0537.3322-.3221.5537-.6441.5537h-.0536l-1.9322-.2215-2.20057.1107-2.20055-.1107-2.20054.1107-1.98587.1108c-.26835 0-.48305-.1662-.48305-.443l-.05366-.5536c-.05368-.1108-.05368-.3322 0-.7197 0-.1108 0-.1661 0-.2215 0-.1661 0-.3322.05366-.4429 0 0 0-.0553 0-.1661.05368-.3875.05368-.5536.05368-.6643l.05367-.6644-.10735-1.7716.10735-1.77162-.05367-1.99309h2.14688c.05366 0 .10734-.05537.16101-.05537.48305 0 .96609-.05537 1.44914-.05537.21469 0 .48304-.05536.69774-.05536.64405-.05536 1.28812 0 1.93218 0h.75141c.59041 0 1.18084.05536 1.71744.05536h.8051c.4294 0 .9125.05537 1.3955 0h.161c.1611 0 .2147.22146.2147.27682.3757 1.27336.3757 2.87893.3757 4.42903l.0537.8859-.0537 1.1072c.0537.4982.0537.8858 0 1.218z\" />\n </g>\n </svg>\n )\n}\n\nexport default BoxClosed\n","// @noflow\nimport React from 'react'\n\nimport {\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\ntype Props = {\n size: number\n accentColour: IconColours\n width?: number | string\n}\n\nconst Minus = ({ size, accentColour, width }: Props): JSX.Element => {\n return (\n <svg\n fill=\"none\"\n height={size}\n viewBox=\"0 0 24 6\"\n width={width || '100%'}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n clipRule=\"evenodd\"\n d=\"M22.2857 0.714752H1.71429C0.767679 0.714752 0 1.48243 0 2.42904V4.14332C0 5.08993 0.767679 5.85761 1.71429 5.85761H22.2857C23.2323 5.85761 24 5.08993 24 4.14332V2.42904C24 1.48243 23.2323 0.714752 22.2857 0.714752Z\"\n fill={ICON_COLOURS[accentColour]}\n fillRule=\"evenodd\"\n />\n </svg>\n )\n}\n\nexport default Minus\n","// @noflow\nimport React from 'react'\n\nimport {\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\ntype Props = {\n size: number\n accentColour: IconColours\n width?: number | string\n}\n\nconst Padlock = ({ size, accentColour, width }: Props): JSX.Element => {\n return (\n <svg fill=\"none\" height={size} viewBox=\"0 0 26 30\" width={width || '100%'}>\n <path\n d=\"M13.2815 13.2583C8.56555 12.8315 8.55189 17.0232 9.33788 19.1571H17.5906C17.9836 17.3789 17.9974 13.6851 13.2815 13.2583Z\"\n fill=\"white\"\n />\n <path\n d=\"M3 27.3394V13.8394C3 12.7348 3.89543 11.8394 5 11.8394H23C24.1046 11.8394 25 12.7348 25 13.8394V27.3394C25 28.4439 24.1046 29.3394 23 29.3394H5C3.89543 29.3394 3 28.4439 3 27.3394Z\"\n fill=\"#FFE180\"\n />\n <path\n d=\"M13.8233 21.6053H14.096C14.5504 21.516 14.9139 21.2482 15.2774 20.9803L16.0044 20.2661L16.1862 19.4626L16.2771 18.6591L15.6409 17.5877L15.4591 17.4092L15.2774 17.2306L14.3686 16.8735C13.9142 16.695 13.4598 16.695 13.0054 16.7842L12.7328 16.8735L12.2784 16.9628C11.824 17.3199 11.2787 17.7663 11.0061 18.2127C11.0061 18.302 11.0061 18.3912 11.0061 18.4805C11.0061 18.6591 10.9152 18.8376 10.9152 19.0162C10.8243 19.5519 10.9152 20.0875 11.2787 20.5339L11.4605 20.8911C11.4605 20.8911 11.5514 20.9803 11.6423 21.0696C11.7331 21.1589 11.9149 21.2482 12.0058 21.3374C12.0966 21.4267 12.1875 21.4267 12.2784 21.516L13.0963 21.8731C13.1872 21.8731 13.1872 21.8731 13.2781 21.8731H13.6416L13.8233 21.6053Z\"\n fill={ICON_COLOURS[accentColour]}\n />\n <path\n d=\"M25.0919 14.3738C25.0919 14.1953 25.0919 14.0167 25.0919 13.8381C25.0919 13.481 25.001 13.2132 25.001 12.8561V12.5882C25.001 12.2311 25.001 11.9633 24.9101 11.6955C24.9101 11.6955 24.9101 11.6062 24.8193 11.6062L24.7284 11.3383C24.6375 11.2491 24.6375 11.2491 24.5466 11.1598V11.0705C24.3649 10.9812 24.1831 10.8027 24.0922 10.5348L24.0014 10.4456L23.1834 10.1777L22.2747 9.99917L22.0929 9.90989L21.8203 10.0885L21.5476 9.90989L21.275 9.99917L20.7297 9.82062L20.548 9.01711L20.7297 8.48144L20.548 7.94577L20.7297 7.4101L20.6389 6.87443L20.3662 4.64247L19.0939 2.76763L17.549 1.2499L15.4588 0.446392L13.2777 0L11.0057 0.446392L8.73376 1.2499L7.09795 2.85691L5.90817 5.35873L5.64389 7.32082V7.94577L5.55301 8.74928C5.55301 8.92783 5.55301 9.19567 5.55301 9.37422L5.46214 9.90989L4.91687 10.0885L4.82599 9.99917H4.55335C4.46247 10.0885 4.37159 10.0885 4.28072 10.0885H4.09896C3.9172 10.0885 3.82632 10.0885 3.64457 10.1777C3.55369 10.1777 3.46281 10.267 3.37193 10.267C3.28105 10.267 3.09929 10.3563 3.00842 10.3563C2.82666 10.3563 2.6449 10.3563 2.46314 10.4456C2.37227 10.4456 2.28139 10.4456 2.28139 10.4456C2.19051 10.5348 2.09963 10.5348 2.00875 10.5348L1.46348 10.892L0.91821 12.499L1.00909 15.2666L0.827332 18.1235L1.00909 20.9804L0.827332 23.8373L1.00909 27.4977L2.09963 28.8369C2.19051 28.8369 2.28139 28.7476 2.37227 28.7476C3.19017 28.7476 4.00808 28.8369 4.73511 28.9262C5.09862 29.0155 5.46214 29.0155 5.82565 29.0155C6.4618 29.1047 7.00707 29.0155 7.55234 28.9262C8.00674 28.8369 8.37025 28.7476 8.91552 28.7476C9.27903 28.7476 9.73343 28.7476 10.1878 28.6583C11.0057 28.6583 11.8236 28.5691 12.5507 28.5691C12.9142 28.5691 13.2777 28.5691 13.6412 28.6583C14.4591 28.4798 15.3679 28.5691 16.0949 28.5691C16.5493 28.5691 17.0946 28.5691 17.549 28.5691C17.7307 28.5691 17.9125 28.5691 18.0943 28.5691C18.6395 28.5691 19.1848 28.4798 19.6392 28.5691H19.7301C20.0936 28.5691 20.3662 28.5691 20.6389 28.6583C20.7297 28.6583 20.9115 28.7476 21.0024 28.7476L21.5476 28.8369C21.8203 28.9262 22.0929 28.9262 22.4564 29.0155H22.9108C23.0017 29.0155 23.0926 29.0155 23.0926 29.0155C23.1834 28.9262 23.3652 28.8369 23.547 28.8369L24.274 28.3905C24.5466 28.3012 24.5466 28.3012 24.5466 28.3012C24.6375 28.212 24.6375 28.1227 24.7284 28.0334L25.0919 26.9621C25.0919 26.7835 25.1828 26.6049 25.1828 26.4264C25.0919 26.1586 25.1828 25.98 25.1828 25.8014V25.6229L25.0919 24.0159V23.0338C25.0919 22.9445 25.0919 22.766 25.001 22.5874C25.001 22.4981 25.001 22.4089 25.0919 22.3196C25.0919 22.0517 25.0919 21.7839 25.0919 21.4268C25.001 21.0697 25.001 20.6233 25.0919 20.3555V20.0876C25.0919 19.9983 25.0919 19.8198 25.0919 19.552L25.001 18.3021L25.0919 15.9808C25.1828 15.3559 25.1828 14.9095 25.0919 14.3738ZM7.09795 7.14227C7.09795 6.87443 7.18883 6.6066 7.18883 6.42804C7.27971 5.26742 7.82498 4.46392 8.37025 3.83897C8.73376 3.39258 9.0064 3.21402 9.27903 3.12474C9.46079 3.03546 9.64255 2.94619 9.91518 2.76763C10.3696 2.49979 10.6422 2.32124 11.1875 2.32124C11.2784 2.32124 11.3692 2.32124 11.4601 2.32124C11.7328 2.32124 12.0963 2.23196 12.4598 2.32124C12.5507 2.32124 12.6415 2.32124 12.7324 2.32124C13.0051 2.32124 13.1868 2.32124 13.2777 2.32124L14.7317 2.41051L16.004 3.12474L17.2763 4.01752L17.9125 5.44598L18.1851 8.66C18.1851 8.66 18.3669 9.19567 18.3669 9.37422L18.1851 9.73134L17.8216 9.99917H17.6399C17.4581 10.0885 17.2763 10.0885 17.0946 10.0885C17.0037 10.0885 17.0037 10.0885 16.9128 10.0885C16.004 10.1777 15.0953 10.0885 14.3682 9.99917C13.823 9.90989 13.4594 9.90989 13.0051 9.90989C12.8233 9.90989 12.5507 9.90989 12.3689 9.90989H12.1871L11.0966 9.82062C10.9148 9.82062 10.824 9.82062 10.7331 9.82062C10.6422 9.82062 10.6422 9.82062 10.5513 9.82062H10.1878C10.1878 9.82062 10.1878 9.82062 10.0969 9.82062H10.0061C9.91518 9.82062 9.73343 9.9099 9.55167 9.82062H8.18849C8.18849 9.82062 8.09761 9.82062 8.00674 9.82062C7.7341 9.82062 7.27971 9.90989 7.27971 9.4635C7.27971 9.28495 7.18883 9.10639 7.18883 9.01711C7.09795 8.83855 7.18883 8.61334 7.09795 8.25622C7.09795 8.16694 7.00707 7.67794 7.09795 7.14227ZM23.3652 24.8194V25.2658L23.0926 26.5157C23.0017 27.0513 22.5473 27.4084 22.002 27.4084H21.9111L18.6395 27.0513L14.9135 27.2299L11.1875 27.0513L7.46146 27.2299L4.09896 27.4084C3.64457 27.4084 3.28105 27.1406 3.28105 26.6942L3.19017 25.8014C3.09929 25.6229 3.09929 25.2658 3.19017 24.6408C3.19017 24.4623 3.19017 24.373 3.19017 24.2837C3.19017 24.0159 3.19017 23.748 3.28105 23.5695C3.28105 23.5695 3.28105 23.4802 3.28105 23.3016C3.37193 22.6767 3.37193 22.4089 3.37193 22.2303L3.46281 21.159L3.28105 18.3021L3.46281 15.4452L3.37193 12.2311H7.00707C7.09795 12.2311 7.18883 12.1419 7.27971 12.1419C8.09761 12.1419 8.91552 12.0526 9.73343 12.0526C10.0969 12.0526 10.5513 11.9633 10.9148 11.9633C12.0054 11.874 13.0959 11.9633 14.1865 11.9633H15.4588C16.4584 11.9633 17.4581 12.0526 18.3669 12.0526C18.8213 12.0526 19.2757 12.0526 19.7301 12.0526C20.4571 12.0526 21.275 12.1419 22.0929 12.0526C22.1838 12.0526 22.2747 12.0526 22.3655 12.0526C22.6382 12.0526 22.7291 12.4097 22.7291 12.499C23.3652 14.5524 23.3652 17.1414 23.3652 19.6412L23.4561 21.0697L23.3652 22.8553C23.4561 23.6588 23.4561 24.2837 23.3652 24.8194Z\"\n fill={ICON_COLOURS[accentColour]}\n />\n </svg>\n )\n}\n\nexport default Padlock\n","// @noflow\nimport type { i18n } from 'i18next'\nimport isNull from 'lodash/isNull'\nimport isUndefined from 'lodash/isUndefined'\nimport React from 'react'\nimport ReactDOM from 'react-dom'\n\nimport BannerManager from '@/components/elements/molecules/BannerManager/BannerManager'\n\nconst mountBannerManagerWhenI18nReady = (event: CustomEventInit<i18n>) => {\n const bannerManagerContainer: HTMLElement | null =\n document.getElementById('banner-manager')\n\n if (isNull(bannerManagerContainer) || isUndefined(event.detail)) return\n\n ReactDOM.render(<BannerManager i18n={event.detail} />, bannerManagerContainer)\n\n document.removeEventListener(\n 'translationInitialised',\n mountBannerManagerWhenI18nReady\n )\n}\n\ndocument.addEventListener('DOMContentLoaded', (): void => {\n const bannerManagerContainer: HTMLElement | null =\n document.getElementById('banner-manager')\n\n // Note: i18n is passed manually to BannerManager so it can be used in bundles outside of our main bundle.\n // Importing/initialising i18n directly here means our translation files will be included in the final bundle,\n // bloating its size.\n // This setup can be revisited when we transition to webpack from webpacker as it seems to be a tree shaking issue\n if (bannerManagerContainer) {\n document.addEventListener(\n 'translationInitialised',\n mountBannerManagerWhenI18nReady\n )\n }\n})\n","// @noflow\nimport React from 'react'\n\nimport {\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\ntype Props = {\n size: number\n accentColour: IconColours\n width?: number | string\n}\n\nconst Pause = ({ size, accentColour, width }: Props): JSX.Element => {\n return (\n <svg\n height={size}\n width={width || '100%'}\n viewBox=\"0 0 11 17\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M3.3 3c.067.868.043 1.744-.014 2.611-.05.768-.169 1.54-.169 2.31 0 .094.036.188.05.279.065.39.099.786.139 1.179.06.583.049 1.17.09 1.755.006.096.04.193.032.29-.009.11-.044.223-.066.33-.089.43-.186.858-.258 1.29-.086.513-.097 1.027-.097 1.545 0 .058-.032.193.037.216M9 3c-.025.886-.25 1.79-.371 2.673-.106.775-.156 1.567-.355 2.334-.031.12-.052.25-.109.365-.029.058-.127.077-.142.13-.066.235.028.54.055.772.064.55.144 1.099.207 1.648.105.912.23 1.853.172 2.77-.027.434-.145.875-.145 1.308\"\n stroke=\"#432918\"\n strokeOpacity=\".3\"\n strokeWidth=\"3\"\n strokeLinecap=\"round\"\n />\n <path\n d=\"M2.3 2c.067.868.043 1.744-.014 2.611-.05.768-.169 1.54-.169 2.31 0 .094.036.188.05.279.065.39.099.786.139 1.179.06.583.049 1.17.09 1.755.006.096.04.193.032.29-.009.11-.044.223-.066.33-.089.43-.186.858-.258 1.29-.086.513-.097 1.027-.097 1.545 0 .058-.032.193.037.216M8 2c-.025.886-.25 1.79-.371 2.673-.106.775-.156 1.567-.355 2.334-.031.12-.052.25-.109.365-.029.058-.127.077-.142.13-.066.235.028.54.055.772.064.55.144 1.098.207 1.648.105.912.23 1.853.172 2.77-.027.434-.145.875-.145 1.308\"\n stroke={ICON_COLOURS[accentColour]}\n strokeOpacity=\".5\"\n strokeWidth=\"3\"\n strokeLinecap=\"round\"\n />\n </svg>\n )\n}\n\nexport default Pause\n","// @noflow\nimport React from 'react'\n\nimport {\n Direction,\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\nimport STYLES from './paw.module.sass'\n\ntype Props = {\n size: number\n accentColour: IconColours\n width?: number | string\n direction?: Direction\n}\n\nconst Paw = ({\n size,\n accentColour,\n width,\n direction = 'right'\n}: Props): JSX.Element => {\n return (\n <svg\n height={size}\n width={width || '100%'}\n viewBox=\"0 0 26 27\"\n className={`${direction ? STYLES[direction] : ''}`}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M.56 11.5c.061-.198.117-.397.183-.593.154-.46.29-.929.476-1.375.237-.564.672-.975 1.129-1.365.517-.442 1.105-.75 1.739-.98a.264.264 0 01.06-.015c.976-.114 1.95-.242 2.93-.335.835-.08 1.672-.028 2.506.071a20.03 20.03 0 012.414.43 6.282 6.282 0 013.32 2.046c.635.733 1.134 1.557 1.57 2.419.659 1.297 1.192 2.643 1.547 4.055.327 1.298.27 2.59-.054 3.88-.274 1.096-.791 2.067-1.44 2.978-.375.525-.74 1.058-1.184 1.528-.68.719-1.492 1.251-2.377 1.675-.413.197-.836.377-1.261.549-.918.373-1.875.428-2.85.32l-.438-.046-.62-.127-.054-.03c-.248-.112-.506-.208-.744-.342-.482-.273-.887-.653-1.312-1.006a3.795 3.795 0 01-1.154-1.668c-.432-1.197-.617-2.43-.487-3.699.026-.26.092-.518.155-.773.032-.132.1-.254.145-.384.07-.208.03-.322-.157-.438a3.195 3.195 0 00-.297-.16c-.661-.319-1.316-.65-1.902-1.101-1.37-1.058-2.023-2.466-2.02-4.188 0-.193.02-.386.03-.578l.148-.747zM17.308.308c.105.049.214.09.313.147.223.132.316.36.394.593.1.298.138.606.134.916a2.13 2.13 0 01-.167.771 8.711 8.711 0 01-.804 1.505c-.246.375-.519.732-.78 1.096-.158.218-.312.44-.477.651-.23.295-.546.455-.89.561-.237.073-.464.176-.719.177a.523.523 0 01-.465-.344 2.504 2.504 0 01-.142-.814c0-.215.035-.428.124-.622.266-.583.538-1.161.804-1.744.26-.57.54-1.128.865-1.661.193-.317.464-.553.754-.767.173-.127.346-.251.522-.373.048-.033.106-.053.159-.08l.375-.012zm7.15 21.208c-.1.227-.22.446-.419.609-.11.09-.237.179-.37.218-.434.13-.876.22-1.33.217a2.285 2.285 0 01-.79-.168c-.56-.21-1.123-.41-1.68-.625a2.647 2.647 0 01-.457-.236.612.612 0 01-.306-.616 3.59 3.59 0 01.131-.665c.107-.339.356-.573.686-.729.403-.19.833-.237 1.267-.25 1.12-.036 2.122.282 3.04.847a.46.46 0 01.212.313c.043.222.061.449.089.674.003.026.002.052.003.078l-.075.333zm-3.115-4.727c-.483-.124-.905-.345-1.22-.772-.462-.623-.455-1.479.021-2.044a.871.871 0 01.583-.322c.726-.078 1.453-.133 2.189-.064a5.055 5.055 0 011.656.42c.347.16.55.434.61.825.068.448.045.874-.212 1.244a.893.893 0 01-.462.368c-.765.236-1.542.428-2.356.415-.27-.005-.54-.046-.809-.07zm.65-8.758c-.242 1.052-.81 1.937-1.71 2.644-.59.464-1.236.545-1.917.327-1.354-.552-.99-1.53-.852-1.702.215-.265.436-.529.677-.774.748-.76 1.636-1.333 2.638-1.748.232-.096.458-.205.715-.216.308-.013.501.12.565.395.056.243.005.487-.033.73-.018.116-.055.23-.082.344z\"\n fill={ICON_COLOURS[accentColour]}\n fillRule=\"evenodd\"\n />\n </svg>\n )\n}\n\nexport default Paw\n","// @noflow\nimport React from 'react'\n\nimport {\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\ntype Props = {\n size: number\n accentColour: IconColours\n backgroundColour?: IconColours\n width?: number | string\n}\n\nconst PaymentMethod = ({\n size,\n accentColour,\n backgroundColour,\n width\n}: Props): JSX.Element => {\n return (\n <svg\n width={width}\n height={size}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M2.12 23.615V12.287c0-.596-.07-1.338 1.072-1.287.469 0 .992-.066 1.448.054 1.366.36 3.029-.032 4.437.185 3.714.571 7.379.62 11.137.62.9 0 2.369-.343 2.865.595.275.519.081 1.043.167 1.602.086.558.101 1.087.101 1.662v7.778c0 .517-.073 1.243-.238 1.74-.193.578-.37.713-.995.767-.957.084-1.883-.1-2.84-.1H12.09c-.808 0-1.768-.085-2.55.13-1.103.305-2.34.19-3.478.19h-1.56c-.316 0-.864.106-1.15-.053-.549-.305-1.233.031-1.233-.857v-1.698Z\"\n fill={backgroundColour ? ICON_COLOURS[backgroundColour] : '#fff'}\n />\n <path\n d=\"M1 22.496V11.168c0-.596-.069-1.339 1.073-1.287.468 0 .992-.066 1.447.054 1.366.36 3.03-.032 4.437.184 3.715.572 7.38.62 11.138.62.899 0 2.368-.343 2.865.595.274.52.08 1.044.166 1.603.086.558.102 1.087.102 1.661v7.779c0 .517-.073 1.242-.239 1.739-.192.578-.37.714-.994.768-.957.083-1.883-.101-2.841-.101H10.97c-.808 0-1.767-.085-2.55.13-1.103.305-2.34.191-3.477.191h-1.56c-.317 0-.864.106-1.15-.053-.55-.305-1.233.03-1.233-.858v-1.697ZM4.488 14.877H8.2\"\n stroke={ICON_COLOURS[accentColour]}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n <path\n d=\"M5.369 9.781c.019-.962.403-2.22.914-3.031.247-.392.35-.838.504-1.249.19-.508.527-1.025.643-1.55.074-.329.316-.592.394-.926.067-.29.308-.972.555-1.169.2-.16.161-.643.419-.779.23-.122.618-.082.855 0 .614.213 1.207.513 1.829.72.507.17 1.011.352 1.507.554.336.138.67.28 1.007.42.327.135.81.271 1.084.495.251.205.565.264.864.36.77.247 1.534.56 2.302.821 1.973.67 3.987 1.24 5.978 1.858.917.285 1.81.681 2.747.89.88.195 1.029.936 1.029 1.748 0 .69-.21 1.164-.423 1.824-.127.39-.4 1.033-.66 1.36-.348.433-.477 1.212-.632 1.769-.252.909-.668 1.787-.872 2.705-.052.235-.08.492-.173.724-.118.294-.121.797-.305 1.05-.157.215-.28.697-.364.969-.092.3-.233.534-.3.838-.072.323-1.279.038-1.529.038\"\n stroke={ICON_COLOURS[accentColour]}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n <path\n d=\"M7.96 4.904c1.124 0 2.114.437 3.14.78 1.247.415 2.503.838 3.734 1.295.768.284 1.51.637 2.286.914.705.251 1.47.434 2.15.745.375.17.808.219 1.186.398.231.11.658.26.915.288.555.061 1.193.452 1.735.626.504.162 1.022.25 1.524.424.293.1.545.38.855.398.473.026 1.184.325 1.6.533\"\n stroke={ICON_COLOURS[accentColour]}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n </svg>\n )\n}\n\nexport default PaymentMethod\n","// @noflow\nimport React from 'react'\n\nimport {\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\ntype Props = {\n size: number\n accentColour: IconColours\n width?: number | string\n}\n\nconst Play = ({ size, accentColour, width }: Props): JSX.Element => {\n return (\n <svg\n height={size}\n width={width || '100%'}\n viewBox=\"0 0 13 17\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"m4.5 11.976-.5-6.5 5 3-4.5 3.5Z\"\n stroke=\"#432918\"\n strokeOpacity=\".1\"\n strokeWidth=\"3\"\n strokeLinecap=\"round\"\n />\n <path\n d=\"M10.508 7.884c1.5.58-1.5.98-7.5 6.58L3.5 8.557s-.5-5-.5-5.5 3 1.92 3 1.92 3.007 2.328 4.508 2.908Z\"\n fill={ICON_COLOURS[accentColour]}\n />\n <path\n d=\"M3.008 14.465c6-5.6 9-6 7.5-6.58C9.008 7.303 6 4.974 6 4.974s-3-2.42-3-1.92.5 5.5.5 5.5l-.5 6\"\n stroke=\"#432918\"\n strokeOpacity=\".1\"\n strokeWidth=\"3\"\n strokeLinecap=\"round\"\n />\n <path\n d=\"m3.5 10.988-.5-6.5 5 3-4.5 3.5Z\"\n stroke={ICON_COLOURS[accentColour]}\n strokeWidth=\"3\"\n strokeLinecap=\"round\"\n />\n <path\n d=\"M9.508 6.896c1.5.58-1.5.98-7.5 6.58L2.5 7.569s-.5-5-.5-5.5 3 1.92 3 1.92 3.007 2.328 4.508 2.908Z\"\n fill={ICON_COLOURS[accentColour]}\n />\n <path\n d=\"M2.008 13.477c6-5.6 9-6 7.5-6.58C8.008 6.316 5 3.986 5 3.986S2 1.569 2 2.069s.5 5.5.5 5.5l-.5 6\"\n stroke={ICON_COLOURS[accentColour]}\n strokeWidth=\"3\"\n strokeLinecap=\"round\"\n />\n </svg>\n )\n}\n\nexport default Play\n","// @noflow\nimport React from 'react'\n\nimport {\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\ntype Props = {\n size: number\n accentColour: IconColours\n backgroundColour?: IconColours\n width?: number | string\n}\n\nconst Pouch = ({\n size,\n accentColour,\n backgroundColour,\n width\n}: Props): JSX.Element => {\n return (\n <svg\n fill=\"none\"\n width={width || '100%'}\n viewBox=\"0 0 29 29\"\n height={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M15.247 13.966c0-.278 0-.612-.306-.723-.061-.056-.184-.056-.245-.056-.367-.611-1.284-.556-1.957-.556-1.224 0-2.386.056-3.61.056-.55 0-1.162.055-1.712.111-.367.056-.796.056-.98.39-.183.277-.121.722-.183 1.056-.06.39-.183.89.062 1.168.183.222.489.222.734.222.611-.055 1.284-.167 1.896-.222 1.223-.112 2.386-.056 3.61 0 .61.055 1.223.055 1.773-.056.245-.056.734-.111.856-.333.245-.279.123-.78.062-1.057Zm2.875 9.287c-.612-.945-.612-1.724-.245-2.78.245-.668.49-1.28.612-2.003.061-.444.367-.834 0-1.279-.306-.389-1.713 0-2.141 0h-2.63c-2.264 0-5.078-1.112-7.28-1.112-.428 0-.49 1.057-.245 1.502-.061.834.245.667 0 1.445-.183.557.123 1.669.245 2.28.306 1.669.122 3.004 0 4.672-.122 1.335.979 1.279 2.202 1.279 1.896 0 3.732-.056 5.628-.111.856 0 1.774-.056 2.63-.056.734 0 1.59.111 2.264-.167 1.04-.445.795-1.334.244-2.057-.428-.5-.917-1.001-1.284-1.613Z\"\n fill={ICON_COLOURS[backgroundColour || 'brandWhite']}\n />\n <path\n d=\"M18.978 11.908c-.306-1.502-.122-.834-.06-2.67.183-1.167.366-2.613-1.102-2.891-.856-.5-3.18.111-4.833.222l-.122-.055c-.367-.112-2.63-.167-2.875-.167-1.04-.111-3.67-.946-3.854.612-.061.778.306 1.668.428 2.446.123.946-.06 2.003.123 2.892.122.445.489.334.917.39 1.162.166 2.508-.167 3.67-.167 2.447 0 4.466.055 6.913 0 .184.055.367.055.55.11.429.057.918-.222.429-.333\"\n fill={ICON_COLOURS[backgroundColour || 'brandWhite']}\n />\n <path\n d=\"M25.218 27.467c-.07-.165-.139-.276-.139-.442v-3.368c0-.166-.07-.331-.139-.497 0-.055 0-.11-.069-.166 0-.11-.07-.22-.07-.276-.068-.165-.138-.386-.138-.552 0-.165 0-.386.07-.607 0-.166.069-.387.069-.552v-1.27c0-.442-.07-.94-.07-1.38v-.553c0-.607-.069-1.215-.069-1.822 0-.166 0-.387.07-.552.069-.387-.277-3.037-.277-3.148v-.22c.069-.056.069-.166.069-.277v-.828c0-.331 0-.718-.07-1.104-.069-.332-.069-.608-.069-.94 0-.275 0-.551-.07-.827-.068-.277.07-.553.14-.829.069-.276.138-.552.138-.828v-.276c0-.276 0-.607-.07-.884v-.11c.07-.055.07-.11.07-.22v-.111c.208-.552.346-.994.485-1.491v-.221c0-.11 0-.276-.07-.387-.138-.22-.346-.33-.692-.386-.277 0-.693-.055-1.108 0-1.04.166-1.116.331-2.224.386l-1.033.166c-.415 0-.892.166-1.238.221l-.84.166c-1.04.165-2.829.11-3.868.055l-4.168-.608c-.9-.055-1.87-.11-2.84-.11-.208 0-.416-.055-.693-.055h-.277c-.278-.055-.624.11-.693.331 0 .11-.07.276-.07.331 0 .056 0 .11-.069.166 0 .055 0 .11-.07.166.07.331 0 .552.14.883 0 .055.069.166.069.221.138.331.208.552.069.828-.07.056-.07.11-.07.11-.138.774-.207 1.602-.138 2.54 0 .332.07.719.07 1.05 0 .386.069.828.069 1.215 0 .276.069.552.138.828.139.552.139 1.104.139 1.657v.33c0 .222-.07.443-.07.663-.069.166-.069.277-.069.387l-.069.773c-.07.663-.139 1.38-.277 2.098v.277c-.07.33-.07.717 0 1.104l.07.22c.138.663.276 1.381.276 2.099v.276c.208.552.208 1.16.07 1.877-.07.277-.07.497-.07.718v1.215l-.069.442v.055c-.07.166-.139.552 0 1.105.139.607.139 1.16-.139 1.546l-.138.11c-.07.11-.07.166 0 .276.07.055.138.11.277.11h3.187c.693 0 1.316.056 2.009.056.485 0 1.178.055 1.801.055h12.193l.485-.166c.139-.055.277-.11.277-.22.07-.387-.07-.608-.139-.829Zm-1.04-24.075c-.346.331-.623 1.05-.623 1.05-.277.551-.07 1.048 0 1.214v.387c.07.441.07.773-.07 1.16-.138.44-.138.772-.069 1.214v.773c0 .331 0 .718.07 1.05.069.275 0 2.263 0 2.373.138.166 0 .332.069.553.07.331-.07.607 0 .938 0 .11.138.332 0 .387 0 .276.07.552.07.828v2.264c0 .221 0 .387.068.608 0 .11 0 .22.07.33 0 .222 0 .387.069.608 0 .276 0 .608.07.939.069.497.069.883-.07 1.325a2.808 2.808 0 0 0 .139 1.822c.138.276.207.497.207.773 0 .829-.069 1.657-.069 2.43v.166c0 .386 0 .718.07 1.104 0 .055 0 .11-.07.166-.07.055-.139.055-.208.055H10.67c-.762 0-1.524-.055-2.286-.055-.554 0-1.108-.055-1.663-.055h-.277c0-.166.07-.332.07-.442v-.828c0-.111-.07-.277 0-.387.138-.939.138-1.822.069-2.595v-.056c.138-.552.208-1.16.138-1.822 0-.386-.069-.773-.138-1.16v-.165c0-.11 0-.276-.07-.387 0-.276-.069-.607-.138-.883-.139-.552-.208-1.104-.07-1.712v-.055c0-.166.07-.386.07-.552V16.7c.07-.276.138-.663.138-1.05.07-.386.07-.717.07-1.104 0-.165 0-.386.069-.552v-.939c0-.441.07-.828 0-1.27 0-.22-.07-.386-.07-.607-.069-.442-.138-.884-.138-1.325V9.08c0-.221 0-.442-.07-.663v-.055a6.19 6.19 0 0 1-.207-1.491c0-.497.139-.994.208-1.325.07-.332.138-.663-.07-.994-.207-.332-.138-.663-.138-1.05v-.22h.277c1.524.22 2.226.11 4.69.672l2.462.328c1.386-.166 2.053 0 4.28-.328l2.632-.452a6.86 6.86 0 0 0 1.385-.165h.208c.139-.055.623-.11.97-.166.416-.055.623-.055.762-.11s.208-.055.277 0c0 .055.07.165.07.331 0-.055 0-.055 0 0Z\"\n fill={ICON_COLOURS[accentColour]}\n />\n <path\n d=\"M22.908 24.966v-4.271c.205-.393.137-.73.068-1.124 0-.112-.068-.225-.068-.337-.069-.225-.069-.45-.069-.674 0-.225.069-.506.069-.787 0-.169.068-.337.068-.506 0-.28.069-.562.069-.843 0-.168 0-.337.068-.505.069-.675.069-1.35-.137-2.023 0 0 .069-.843-.137-1.124-.068-.056 0-.113 0-.225-.137-1.461.069-2.81 0-4.27-.068-.731.412-2.417-.274-3.035-.068 0-.206-.113-.754-.113-.411 0-.548.057-1.096 0-.069-.056-1.303.113-1.371 0-1.097-.224-1.302-.168-2.193-.168-1.44 0-2.947.112-4.455.225-.137 0-.274-.057-.411-.057-.686 0-.754.169-1.44.169-.342 0-1.165-.169-1.508-.169h-.89l-.754-.056c0 .056.068.45.068.506 0 .169 0 .337.069.506 0 .28.068.562.137.786.205.562.274 1.068 0 1.518-.069.168-.137.337-.206.562a27.485 27.485 0 0 0-.274 2.079c0 .28 0 .506.069.786.137.675.137 1.461.137 2.304v.394c0 .45-.069.899 0 1.405.068.505.068.955-.137 1.46a2.128 2.128 0 0 0-.069 1.124c.137.394.137.787.069 1.35v.392c-.206.787-.206 1.63-.206 2.473v.169c.206.618.206 1.292.206 1.966v1.405c0 .113 0 .281.137.393a.634.634 0 0 0 .41.17h3.77c.686 0 1.44.055 2.057.055.822.056 1.713.056 2.604.056H21.4c.548 0 1.165.057 1.645-.224l.274-.394v-.224c0-.281-.069-.45-.274-.787-.069-.113-.137-.225-.137-.337ZM8.446 11.254c.138-.28.069-.73.069-.899 0-.056 0-.28.069-.45.068-.393.137-.842.274-1.18.342-.674.342-1.292.068-1.966-.068-.169-.137-.337-.137-.506 0-.224.206-.45.48-.393l1.713.056c.137-.056.275-.112.343-.112 2.879.28 5.894-.562 8.773.056.343.056 1.233-.112 1.508 0 .342.225.068 1.124.205 1.517.412.787.206 1.517.137 2.304a15.584 15.584 0 0 0 0 2.529c-.822 0-3.152.056-3.152.056-1.92 0-3.838.056-5.826.056-.685 0-1.302 0-1.988.056h-.137c-.548 0-1.165 0-1.782.057h-.548c0-.113 0-.281-.069-.394a1.53 1.53 0 0 1 0-.787Zm13.502 8.317c0 .169.069.393.069.562 0 .056 0 .169-.069.281-.068.112-.068.281-.068.393v4.159c0 .168 0 .393.137.562.068.112.068.168.068.28 0 .113-.137.225-.274.225l-.205.057h-2.057v-.057h-3.22c-.755 0-1.509-.056-2.194-.056h-.069c-.685 0-1.37-.056-2.056-.056H8.584c.068-.955.068-1.854-.069-2.753 0-.113 0-.17-.069-.281 0-.169-.068-.394-.068-.619-.069-.45 0-.843.069-1.292.068-.45.137-.955.068-1.405 0-.168 0-.337-.069-.506 0-.168 0-.393-.068-.562 0-.112 0-.224-.069-.337 0-.112-.068-.28-.068-.337v-.112c0-.169 0-.169.068-.394.069-.168.206-.28.48-.28h.343c.205 0 .48-.057.754-.057h2.947c.411 0 .822.056 1.508 0 .685 0 1.028-.056 1.37-.056.412-.056.754-.056 1.645 0h2.468c.205.056.754 0 .822 0 .343-.056.617-.056.891 0 .137 0 .274 0 .48.056h.068c0 .225-.068.45-.137.675-.068.45-.068.899-.068 1.292 0 .225.068.393.068.618Zm.274-3.428c-.068 0-.137 0-.137.056-.48 0-1.028-.056-1.507.057-1.577-.056-2.879 0-4.318 0h-3.427c-1.234.056-2.536.056-3.838.056-.137 0-.274-.113-.274-.225-.069-.618-.069-1.292-.069-1.91v-1.068h3.221c.754 0 1.44-.056 2.194-.056.753-.057 1.576-.057 2.33-.057h5.209c.137 0 .205 0 .342.057 0 .337.137.618.206.955a1.7 1.7 0 0 1 .137.618c0 .45 0 1.012-.069 1.517ZM4.334 9.12c-.617-.28-1.302-.337-1.919-.618A9.046 9.046 0 0 1 .565 7.49c-.206-.169-.549.112-.343.28.891.843 2.604 1.742 3.975 1.63.206 0 .274-.225.137-.28ZM28.048 5.41c-.754.45-1.37 1.124-1.919 1.799-.206.224.206.45.411.224.549-.618 1.165-1.124 1.714-1.63.205-.224 0-.561-.206-.393Zm-24.4 9.272c-1.164 0-2.26-.056-3.426.056-.206 0-.343.394-.068.394 1.165.112 2.33.056 3.495.056.343 0 .411-.506 0-.506Zm-.273 5.226c-.549 0-1.165.169-1.714.337-.548.169-1.028.338-1.439.619-.137.112-.068.337.137.28.48-.056.96-.28 1.44-.393.548-.168 1.096-.225 1.644-.393.206-.113.274-.45-.068-.45Zm.48 4.72c-.549.338-1.029.843-1.44 1.237-.548.45-1.028.899-1.508 1.405-.274.224.069.505.343.337.548-.45 1.028-.9 1.576-1.405.48-.45 1.029-.843 1.371-1.349.069-.168-.137-.393-.342-.225Zm24.399-13.205c-.343-.112-.686 0-1.028.056-.412.057-.754.113-1.165.113-.275.056-.343.45 0 .45.41-.057.822-.057 1.233-.113.343-.056.686-.056 1.028-.169.137-.112.137-.337-.068-.337Zm.616 4.777c-.685-.281-1.507-.338-2.261-.338-.274 0-.343.394 0 .45.754.056 1.37.225 2.056.393.274 0 .48-.393.206-.505Zm-.548 5c-.342-.224-.685-.449-1.096-.617-.343-.169-.754-.45-1.165-.506-.206 0-.343.168-.206.28.274.282.754.45 1.096.619.359.212.75.382 1.166.506.205.168.41-.113.205-.281Zm.274 6.463c-.48-.281-1.028-.45-1.576-.674-.48-.169-.96-.45-1.44-.562-.205-.056-.342.168-.205.28.411.282.891.45 1.37.675.55.225 1.029.45 1.577.618.343.113.549-.225.274-.337Z\"\n fill={ICON_COLOURS[accentColour]}\n />\n <path\n d=\"M5.932 2.318c.95 0 1.997-.056 2.802-.318.548-.178 1.049-.419 1.685-.53.902-.156 1.614-.395 2.614-.395.452 0 .877-.075 1.332-.075h1.118c.747 0 1.376.077 2.055.205.49.093 1.015.14 1.508.247.31.067.482.21.753.301.553.187 1.25.194 1.878.262.407.044.792.089 1.2.117.248.017.679.065.85.149\"\n stroke={ICON_COLOURS[accentColour]}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n )\n}\n\nexport default Pouch\n","// @noflow\nimport React from 'react'\n\ntype Props = {\n size: number\n width?: number | string\n}\n\nconst Question = ({ size, width }: Props): JSX.Element => {\n return (\n <svg\n fill=\"none\"\n height={size}\n viewBox=\"0 0 26 26\"\n width={width || '100%'}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M13 26C20.1797 26 26 20.1797 26 13C26 5.8203 20.1797 0 13 0C5.8203 0 0 5.8203 0 13C0 20.1797 5.8203 26 13 26Z\"\n fill=\"#BEEBF4\"\n />\n <path\n d=\"M12.9998 22.533C18.2647 22.533 22.5328 18.2649 22.5328 13C22.5328 7.73505 18.2647 3.46698 12.9998 3.46698C7.73487 3.46698 3.4668 7.73505 3.4668 13C3.4668 18.2649 7.73487 22.533 12.9998 22.533Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M13.0001 3.46667C18.2652 3.46667 22.5335 7.73489 22.5335 13C22.5335 18.2651 18.2652 22.5333 13.0001 22.5333C7.73501 22.5333 3.4668 18.2651 3.4668 13C3.4668 7.73489 7.73501 3.46667 13.0001 3.46667ZM13.0001 5.26667C8.72913 5.26667 5.2668 8.72901 5.2668 13C5.2668 17.271 8.72913 20.7333 13.0001 20.7333C17.2711 20.7333 20.7335 17.271 20.7335 13C20.7335 8.72901 17.2711 5.26667 13.0001 5.26667ZM14.0938 15.908C14.272 15.908 14.4178 16.0538 14.4178 16.232V18.176C14.4178 18.3542 14.272 18.5 14.0938 18.5H12.1498C11.9716 18.5 11.8258 18.3542 11.8258 18.176V16.232C11.8258 16.0538 11.9716 15.908 12.1498 15.908H14.0938ZM13.1218 6.98181C15.1954 6.98181 16.54 8.31021 16.54 10.1894C16.54 11.534 15.6814 12.4898 14.9686 13.0082C14.353 13.4618 14.2234 13.7372 14.2234 14.3528V14.6606C14.2234 14.8388 14.0776 14.9846 13.8994 14.9846H12.2794C12.1012 14.9846 11.9554 14.8388 11.9554 14.6606V14.3528C11.9554 13.6562 11.9878 13.0244 12.409 12.4898C12.7654 12.0362 13.3162 11.7608 13.6564 11.4368C13.9966 11.1128 14.272 10.6754 14.272 10.3028C14.272 9.63861 13.7698 9.23361 13.1218 9.23361C12.3928 9.23361 11.9554 9.65481 11.9554 10.3514V10.6268C11.9554 10.805 11.8096 10.9508 11.6314 10.9508H10.0114C9.8332 10.9508 9.6874 10.805 9.6874 10.6268V10.3838C9.6874 8.31021 11.0806 6.98181 13.1218 6.98181Z\"\n fill=\"#0BB4D0\"\n />\n </svg>\n )\n}\n\nexport default Question\n","// @noflow\nimport React from 'react'\n\nimport {\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\ntype Props = {\n size: number\n accentColour: IconColours\n width?: number | string\n}\n\nconst RadioSelected = ({ size, accentColour, width }: Props): JSX.Element => {\n return (\n <svg\n width={width}\n height={size}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n cx=\"12.5\"\n cy=\"12.5\"\n r=\"12\"\n fill=\"#fff\"\n stroke={ICON_COLOURS[accentColour]}\n />\n <circle cx=\"12.5\" cy=\"12.5\" r=\"9.5\" fill={ICON_COLOURS[accentColour]} />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"m11.398 15.853-3.261-3.041a.432.432 0 0 1-.137-.33c0-.135.046-.245.137-.33l.722-.66a.448.448 0 0 1 .342-.147c.137 0 .257.05.361.147l2.188 2.052 4.688-4.397a.512.512 0 0 1 .36-.147c.138 0 .252.049.343.147l.722.66a.432.432 0 0 1 .137.33.432.432 0 0 1-.137.329l-5.761 5.387a.46.46 0 0 1-.352.147.46.46 0 0 1-.352-.147Z\"\n fill=\"#fff\"\n />\n </svg>\n )\n}\n\nexport default RadioSelected\n","// @noflow\nimport React from 'react'\n\nimport {\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\ntype Props = {\n size: number\n accentColour: IconColours\n width?: number | string\n}\n\nconst RadioUnselected = ({ size, accentColour, width }: Props): JSX.Element => {\n return (\n <svg\n width={width}\n height={size}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n cx=\"12.5\"\n cy=\"12.5\"\n r=\"12\"\n fill=\"#fff\"\n stroke={ICON_COLOURS[accentColour]}\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"m11.398 15.853-3.261-3.041a.432.432 0 0 1-.137-.33c0-.135.046-.245.137-.33l.722-.66a.448.448 0 0 1 .342-.147c.137 0 .257.05.361.147l2.188 2.052 4.688-4.397a.512.512 0 0 1 .36-.147c.138 0 .252.049.343.147l.722.66a.432.432 0 0 1 .137.33.432.432 0 0 1-.137.329l-5.761 5.387a.46.46 0 0 1-.352.147.46.46 0 0 1-.352-.147Z\"\n fill=\"#fff\"\n />\n </svg>\n )\n}\n\nexport default RadioUnselected\n","// @noflow\nimport React from 'react'\n\nimport {\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\ntype Props = {\n size: number\n accentColour: IconColours\n backgroundColour?: IconColours\n width?: number | string\n}\n\nconst Receipt = ({\n size,\n accentColour,\n backgroundColour,\n width\n}: Props): JSX.Element => {\n return (\n <svg\n width={width}\n height={size}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M22.344 2.454c-.002.013-.046.024-.129.032-.427.167-.776.87-.923 1.202-.344 1.204-1.006 4.857-1.006 6.11 0 5.095-.083 10.21-.083 15.292l-1.79 1.95a.5.5 0 0 1-.721.015l-1.778-1.777a.5.5 0 0 0-.707 0l-1.293 1.293a.5.5 0 0 1-.707 0l-1.33-1.33a.5.5 0 0 0-.666-.037l-1.838 1.47a.5.5 0 0 1-.625 0l-1.938-1.55a.5.5 0 0 0-.535-.056l-1.99.995a.508.508 0 0 1-.734-.446c-.04-2.21-.201-6.897-.3-8.224C3.177 16.377 3 15.42 3 14.39V8.087c0-.756.165-1.503.165-2.259 0-.454.164-.913.164-1.358 0-.523.12-1.311.476-1.705.21-.235.158-.508.47-.682.287-.159.863-.041 1.194-.041.885 0 15.234.602 16.746.444a.52.52 0 0 1 .129-.032Z\"\n fill={backgroundColour ? ICON_COLOURS[backgroundColour] : '#fff'}\n />\n <path\n d=\"M20.344 1.454C19 1.424 3.5.5 3 1c-1 .5-1.67 1.947-1.67 2.47 0 .445-.165.904-.165 1.358 0 .756-.165 1.503-.165 2.26v6.301c0 1.03.176 1.987.252 3.005.098 1.326.259 6.013.3 8.223.006.371.4.612.732.446l1.99-.995a.5.5 0 0 1 .536.056l1.938 1.55a.5.5 0 0 0 .625 0l1.838-1.47a.5.5 0 0 1 .666.037l1.33 1.33a.5.5 0 0 0 .707 0l1.293-1.293a.5.5 0 0 1 .707 0l1.778 1.777a.5.5 0 0 0 .722-.015l1.79-1.95c0-5.082.082-10.197.082-15.292 0-1.253.662-4.906 1.006-6.11.162-.364.566-1.177 1.052-1.234Zm0 0c.849-.1 1.5-.184 1.893.7.336.755.658 1.45.658 2.304v2.14c0 .481-1.465.288-1.852.288h-2.181M3.595 6.618h1.782M4.35 10.832h1.643M8.56 10.924h7.001M8.56 6.924h4\"\n stroke={ICON_COLOURS[accentColour]}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n <path\n d=\"M4.525 14.836h.82c.072 0 .231-.03.263.035M8.56 14.924h6M4.386 18.924h1.432M8.56 18.924h7.001\"\n stroke={ICON_COLOURS[accentColour]}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n </svg>\n )\n}\n\nexport default Receipt\n","// @noflow\nimport React from 'react'\n\nimport {\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\ntype Props = {\n size: number\n accentColour: IconColours\n width?: number | string\n}\n\nconst ShoppingDog = ({ size, accentColour, width }: Props): JSX.Element => {\n return (\n <svg\n fill=\"none\"\n height={size}\n viewBox=\"0 0 90 69\"\n width={width || '100%'}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M.013 54.913c.042-.346.069-.692.115-1.034.026-.19 0-.43.133-.555a3.74 3.74 0 0 0 .763-1.254.608.608 0 0 1 .118-.178c.252-.293.504-.585.763-.87.07-.076.16-.13.26-.156a.74.74 0 0 0 .606-.642.76.76 0 0 1 .71-.665c.122 0 .229-.16.34-.251.143-.14.299-.267.465-.38a.41.41 0 0 1 .633.235c.16.46.288.932.381 1.41a.757.757 0 0 1-.171.661 5.231 5.231 0 0 0-.641 1.095 3.169 3.169 0 0 0 .05 2.097c.095.304.247.38.614.38a3.085 3.085 0 0 0 1.846-.714c.181-.12.331-.282.439-.471.323-.58.476-1.238.442-1.9-.053-.566-.137-1.14-.21-1.695-.03-.224-.06-.445-.099-.661-.046-.289-.084-.582-.149-.863a8.098 8.098 0 0 1-.297-2.975c.053-.38.13-.76.21-1.14.234-.923.538-1.828.908-2.706.293-.76.873-1.36 1.365-2.01a9.354 9.354 0 0 1 1.82-1.797c.43-.322.785-.731 1.041-1.201.302-.578.603-1.14.847-1.756.565-1.39 1.118-2.789 1.633-4.18.225-.713.54-1.395.938-2.029.404-.625.843-1.227 1.317-1.801.4-.425.707-.928.9-1.478.236-.715.4-1.452.71-2.147.083-.194.118-.403.198-.6a1.31 1.31 0 0 0-.023-.977 2.875 2.875 0 0 1-.294-1.038c.012-.976.13-1.949.355-2.9.217-.76.458-1.553.675-2.336.114-.414.18-.844.301-1.258.088-.277.252-.536.355-.813.103-.278.137-.49.202-.737-.31.162-.603.355-.873.577a.247.247 0 0 1-.302.043.248.248 0 0 1-.08-.073c-.107-.126-.026-.225.038-.338a10.33 10.33 0 0 0 1.015-2.197c.061-.194.073-.293 0-.38v-.068c-.019.136 0 0 0-.023s0-.069.02-.099c.018-.03 0-.083 0-.125h.018c.165-.57.201-1.17.107-1.756h-.084c-.461.312-.934.62-1.064 1.182a.143.143 0 0 1-.038.076c-.225.232-.382.578-.763.578a4.127 4.127 0 0 1-.942-.118c-.69-.167-.863-.612-.508-1.167.24-.365.455-.746.645-1.14.332-.784.744-1.533 1.228-2.234.336-.445.668-.893 1.026-1.323a2.289 2.289 0 0 1 1.801-.84c.103 0 .21 0 .317-.018a.406.406 0 0 0 .381-.259c.176-.37.375-.73.595-1.075A2.448 2.448 0 0 1 25 .679c.302-.027.6-.08.901-.118.885-.106 1.77-.209 2.67-.327a5.1 5.1 0 0 1 2.362.327c.587.21 1.186.407 1.755.665.429.22.84.475 1.228.76.076.05.103.164.145.255.118.254.217.517.347.76a1.103 1.103 0 0 0 .656.54c.55.193 1.072.456 1.621.65.477.176.97.303 1.473.38a.995.995 0 0 1 .935.657c.092.245.092.515 0 .76-.129.416-.3.819-.512 1.2-.266.46-.609.872-1.014 1.217-.53.354-1.087.664-1.667.927-.287.12-.565.261-.832.422a3.845 3.845 0 0 1-1.03.516.461.461 0 0 0-.35.52c0 .18.026.358.041.552l-.381.08a.936.936 0 0 0 .404.984c.072.053.095.167.149.247.496.76.583.93 1.571.76h.046c.3-.04.602-.055.904-.046.538.057 1.072.16 1.61.255.559.095 1.09.31 1.556.63.44.3.855.624 1.282.932.075.046.154.084.237.114l.656.266a3.065 3.065 0 0 1 1.404 0c.147.04.296.07.446.09.295.037.567.18.763.404.259.233.559.416.885.54.253.077.482.215.668.402.4.418.82.817 1.217 1.239.396.422.812.863 1.194 1.31.381.45.74.947 1.094 1.407a.684.684 0 0 0 .168 0 6.293 6.293 0 0 1 2.468-.27 5.81 5.81 0 0 0 .68-.026h.5c.896 0 1.788.064 2.67.053.88-.012 1.758-.076 2.64-.11.762-.027 1.525-.039 2.288-.073.53-.023 1.057-.102 1.587-.102.988 0 1.972.034 2.96.057 1.606.038 3.212.087 4.822.114.921.075 1.846.096 2.77.064.541-.053 1.09-.053 1.636-.076l.588-.038c.57-.081 1.144-.126 1.72-.133 1.702.088 3.35-.243 5.017-.437a7.42 7.42 0 0 1 .763-.038c.972 0 1.945.076 2.91.035 1.103-.05 2.007.38 2.873.9.318.234.655.443 1.007.623a.383.383 0 0 1 .284.318c.007.05.004.101-.01.15-.05.289-.076.577-.133.862-.032.163-.084.32-.153.472a.179.179 0 0 1-.277.02.179.179 0 0 1-.047-.093 1.73 1.73 0 0 1 0-.315c-.065 0-.103 0-.122.03a1.396 1.396 0 0 0-.149.152 3.37 3.37 0 0 0-.705 1.98c-.08.677-.134 1.353-.195 2.03-.023.254-.038.512-.057.782.23-.018.46-.018.69 0 .088 0 .157.137.23.213a.79.79 0 0 1-.23.163.71.71 0 0 1-.267 0c-.381-.03-.492.046-.55.38-.03.164-.045.327-.06.494-.068.396-.1.796-.096 1.197.093 1.095.06 2.196-.095 3.284-.05.345-.053.695-.122 1.037a64.493 64.493 0 0 1-.542 2.405 13.594 13.594 0 0 1-.438 1.49c-.088.247-.206.452.057.661-.069.061-.107.118-.157.13a.733.733 0 0 0-.53.554c-.095.294-.213.58-.354.855-.221.441-.556.816-.97 1.087a5.737 5.737 0 0 1-2.574.878c-.151.011-.302.03-.45.057-.329.06-.332.072-.355.38a.832.832 0 0 1-.073.319c-.267.467-.545.927-.812 1.395a.849.849 0 0 1-.683.41 3.206 3.206 0 0 0-2.026.939.995.995 0 0 0-.229.433c-.035.26-.056.523-.065.786-.114 1.319-.24 2.638-.35 3.956-.031.346-.035.696-.035 1.041v2.546c0 .27.035.544.053.844.645 0 1.236.042 1.82 0a5.086 5.086 0 0 1 1.873.258c.168.046.313.171.48.206.169.034.344.041.337.201-.008.16-.142.232-.256.304-.187.101-.381.19-.58.266.174.28.311.582.408.897.016.335-.011.67-.08 1 .206 0 .382-.035.534-.043a4.91 4.91 0 0 1 1.98.149c.382.136.694.304.614.76a.353.353 0 0 0 .027.163.42.42 0 0 1-.214.51c-.27.159-.56.3-.862.459.088.236.206.505.283.783.099.346.152.707.236 1.056a1.367 1.367 0 0 1-.694 1.47 8.934 8.934 0 0 1-1.412.575 2.185 2.185 0 0 1-1.67-.156 1.933 1.933 0 0 1-.947-1.14c-.06-.198-.175-.38-.244-.581a.867.867 0 0 1-.053-.38c.099-.783.328-1.52 1.099-1.973.05-.041.098-.087.14-.137a.644.644 0 0 0-.186-.064c-.382 0-.733-.03-1.091 0-1.526.106-3.025.201-4.532.353-1.145.114-2.29.323-3.433.452a7.48 7.48 0 0 1-1.675.023 36.263 36.263 0 0 0-4.498-.129c-1.3 0-2.605.103-3.906.19-1.206.084-2.411.205-3.617.304-.106 0-.286-.023-.312-.08a.379.379 0 0 1 .053-.342.645.645 0 0 1 .382-.182c.724-.061 1.45-.118 2.174-.14 1.076-.031 2.14-.172 3.223-.126.98.038 1.965-.099 2.95-.118.85 0 1.697 0 2.547.038.466 0 .935.125 1.4.106.764-.03 1.526-.117 2.263-.205 1.215-.137 2.432-.287 3.65-.452a2.77 2.77 0 0 0 .988-.186c0-.14-.026-.274-.045-.468-.275.038-.504.084-.74.107l-2.621.247c-.134 0-.267.045-.4.064-.676.095-1.351.202-2.026.278-.45.045-.561-.027-.698-.433a2.139 2.139 0 0 0-.496-.73 4.067 4.067 0 0 1-1.118-1.873 1.056 1.056 0 0 1 .423-1.14 16.374 16.374 0 0 0 2.67-2.543c.44-.516.905-1.014 1.328-1.52a70.217 70.217 0 0 0 1.61-2.074c.112-.176.211-.358.298-.548.06-.108.13-.211.21-.307.148-.175.32-.335.461-.51.591-.74 1.144-1.52 1.778-2.219a5.45 5.45 0 0 1 1.29-1.041 7.833 7.833 0 0 1 1.311-.448c.166-.047.318-.134.443-.251.166-.196.31-.41.427-.639.137-.254.248-.524.382-.79a2.79 2.79 0 0 1-.718-.137c-.515-.258-1.06-.068-1.625-.194-.021.17-.029.34-.023.51.092.68-.251 1.208-.679 1.713L76.4 46.31c-.368.498-.778.965-1.225 1.394-1.094.912-2.014 1.965-3.01 2.957-.884.877-1.712 1.805-2.605 2.66-.892.855-1.793 1.656-2.69 2.489-.572.472-1.106.988-1.598 1.542a13.03 13.03 0 0 1-1.724 1.767 3.113 3.113 0 0 1-1.82.878 26.13 26.13 0 0 1-3.132.095c-.843-.045-1.56.251-2.36.403-.027.346-.066.677-.073 1.007.03.177.051.356.06.536a5.917 5.917 0 0 1-.518 2.056 8.225 8.225 0 0 1-.93 1.47 6.164 6.164 0 0 1-3.205 2.022c-.215.062-.42.155-.607.277a.731.731 0 0 1-.511.11 2.433 2.433 0 0 0-.622 0 5.874 5.874 0 0 1-2.17-.068c-.435-.11-.866-.243-1.305-.357a4.642 4.642 0 0 1-2.7-1.657c-.18-.25-.356-.513-.512-.779a2.238 2.238 0 0 1-.298-.634 13.037 13.037 0 0 0-.621-2.17 1.033 1.033 0 0 1-.096-.38c0-.977.023-1.95.576-2.839.17-.31.315-.633.435-.965-.172-.281-.29-.464-.381-.658a1.822 1.822 0 0 1-.172-.38 1.17 1.17 0 0 1-.11-.516 4.785 4.785 0 0 1 1.117-2.254c.347-.403.713-.794 1.064-1.19a2.76 2.76 0 0 1 .256-.296l2.457-2.04c.246-.183.48-.381.702-.593.827-.855 1.762-1.607 2.67-2.383.423-.38.858-.706 1.286-1.06.839-.688 1.7-1.345 2.498-2.067.444-.37.803-.83 1.053-1.349.133-.315-.034-.547-.408-.551h-2.003c-.316 0-.633-.023-.95-.053a.546.546 0 0 1-.267-.137 2.406 2.406 0 0 1-.69-.969c-.271-.76-.664-1.463-.763-2.261a4.407 4.407 0 0 0-.195-.6c-.059-.172-.1-.349-.122-.529-.065-.665-.13-1.33-.164-1.998a5.86 5.86 0 0 0-.427-2.041c-.26-.62-.458-1.264-.591-1.923-.077-.38-.145-.737-.187-1.11-.073-.634-.054-1.284-.187-1.9a22.712 22.712 0 0 1-.489-3.347 3.79 3.79 0 0 0-.415-1.307c-.203-.464-.565-.901-.416-1.46a.394.394 0 0 0-.153-.266 6.288 6.288 0 0 1-2.205-2.325 4.615 4.615 0 0 0-1.732-1.786 1.728 1.728 0 0 0-.686-.171c-.252-.023-.336.095-.237.315.109.234.237.46.382.673a.758.758 0 0 1 .038.836 6.067 6.067 0 0 1-.595.836.729.729 0 0 1-.382.182c-.224.04-.451.06-.679.057a1.458 1.458 0 0 1-1.236-.505c0-.023-.042-.038-.06-.061-.294-.346-.718-.582-.932-1.003a.533.533 0 0 0-.629-.3.547.547 0 0 1-.53-.267 4.716 4.716 0 0 0-.382-.44c-.5.33-.503.813-.614 1.25a.132.132 0 0 0 .057.106c.191.126.157.266.08.441a.677.677 0 0 0-.026.361c.11.76.229 1.486.347 2.23.05.174.082.353.095.533-.08 1.14-.076 2.242-.198 3.367-.134 1.23-.702 2.321-1.003 3.492a.323.323 0 0 1-.058.114 8.504 8.504 0 0 0-.927 1.755 5.809 5.809 0 0 0-.42 1.566.789.789 0 0 1-.144.38 21.345 21.345 0 0 1-1.908 2.375c-.434.437-.763.95-1.186 1.414a6.565 6.565 0 0 0-1.106 1.664.91.91 0 0 1-.305.296c-.294.213-.619.403-.893.631-.404.338-.763.718-1.164 1.053-.358.243-.64.583-.812.98a.497.497 0 0 1-.427.338.382.382 0 0 0-.23.118c-.215.354-.502.66-.842.897-.169.132-.33.273-.485.422-.076.064-.19.114-.229.194a1.022 1.022 0 0 1-.72.68c-.035 0-.07.053-.092.091-.157.274-.462.483-.454.844 0 .11-.11.22-.176.326-.213.35-.454.688-.633 1.053-.077.21-.12.43-.126.654-.05.41-.06.828-.13 1.238a2.674 2.674 0 0 0-.06 1.03c.096.427.042.874-.153 1.266a6.822 6.822 0 0 0-.416 1.14c-.122.414-.164.85-.313 1.254a1.517 1.517 0 0 0 .065 1.178c.114.27.252.532.381.798.34.68.691 1.356 1.02 2.04.09.209.237.387.426.513a.526.526 0 0 1 .264.616c-.058.19.042.311.274.35.504.087 1.003.197 1.507.292.252.046.511.06.763.106a1.53 1.53 0 0 1 1.234.93 1.516 1.516 0 0 1-.216 1.525 3.927 3.927 0 0 1-.82.715 2.61 2.61 0 0 1-1.32.38c-.499.12-1.014.16-1.525.117-.447-.08-.89-.17-1.336-.247a2.16 2.16 0 0 0-.583-.045 1.582 1.582 0 0 1-.954-.13c0 .065-.03.096 0 .115.038.106.092.205.13.311.358.912.099 1.589-.786 2.056a.991.991 0 0 1-.435.091c-.381 0-.763-.026-1.144-.041a4.984 4.984 0 0 1-1.042-.042c-.843-.22-1.694-.057-2.537-.11-.572-.038-1.144-.023-1.724-.023a.528.528 0 0 1-.545-.41c-.199-.567-.424-1.14-.61-1.695-.218-.68-.401-1.368-.615-2.049-.118-.38-.26-.74-.404-1.106-.184-.456-.382-.904-.565-1.36-.088-.236-.11-.49-.175-.733-.126-.449-.122-.434.263-.726a2.465 2.465 0 0 0 1.08-1.9.613.613 0 0 0-.442-.645.62.62 0 0 0-.28-.016 2.141 2.141 0 0 1-.29.608 5.442 5.442 0 0 0-.743 1.03 4.83 4.83 0 0 0-.447.995c-.067.23-.169.447-.301.646-.16.224-.351.19-.473-.053-.096-.183-.183-.38-.302-.608-.305.213-.621.254-.846.494-.182.19-.394.35-.626.475-.313.175-.61.41-1.045.273-.172-.057-.332.088-.447.236a2.96 2.96 0 0 1-.381.418c-.206.19-.336.156-.408-.099-.073-.254-.084-.41-.13-.612a.413.413 0 0 0-.465-.38c-.283 0-.565-.022-.847-.022H2.45a.676.676 0 0 1-.382-.095.612.612 0 0 0-.656-.145c-.217.061-.309-.026-.313-.232.002-.098.01-.196.027-.292a.757.757 0 0 0-.225-.726 1.585 1.585 0 0 1-.47-1.102c0-.11 0-.22-.026-.334a.629.629 0 0 0-.244-.559c-.195-.057-.168-.194-.149-.338Zm79.649 1.44h-.382v.08l.382.023a.463.463 0 0 0 0-.103Zm-2.736 3.55c1.244 0 2.484-.02 3.724 0 .415 0 .827.155 1.247.208a6.24 6.24 0 0 0 1.144.061c.382-.023.535-.35.275-.589a.646.646 0 0 0-.381-.133 9.705 9.705 0 0 0-.996-.038c-.473 0-.942.027-1.411.05a1.51 1.51 0 0 0-.53.083 1.485 1.485 0 0 1-1.107 0 5.098 5.098 0 0 0-1.713-.114c-.26.03-.275.084-.252.471Zm.165-3.238c.087.02.179.02.267 0 .51-.076 1.022-.16 1.525-.244v-.076h-1.796c-.077 0-.15.1-.225.152.07.065.146.12.229.168Zm-8.591.342c0 .125.026.247.042.399.465.082.943.055 1.396-.08a14.72 14.72 0 0 1 3.605-.327c.167-.006.334-.024.5-.053l-.065-.323c-.046-.186-.176-.232-.382-.205-.42.057-.843.106-1.263.14-.496.06-.995.088-1.495.084a6.727 6.727 0 0 1-1.564-.228c-.511-.152-.774.072-.774.581v.012Zm3.39-3.743a26.994 26.994 0 0 1-2.574 2.69c.772.22 1.582.273 2.377.156.618-.061 1.228-.16 1.846-.228.24-.027.34-.13.347-.35.027-.608.057-1.22.095-1.828.027-.38.073-.718.111-1.079.038-.36.057-.608.084-.912.03-.414.057-.828.095-1.341-.835 1.01-1.617 1.945-2.38 2.892Zm2.236 4.157c-.255 0-.51.068-.763.064a14.255 14.255 0 0 0-3.501.4c-.26.06-.523.102-.878.17.126.171.187.259.256.346.225.297.477.574.671.886a.484.484 0 0 0 .55.25c.38-.049.762-.08 1.17-.121 1.008-.107 2.01-.213 3.018-.327.359-.042.717-.103 1.076-.156.149-.023.26-.095.255-.247a7.423 7.423 0 0 0-.106-1.413l-1.748.148Zm.447-.623c.32.07.652.078.976.022.252-.03.29-.136.21-.535-.446.09-.996-.126-1.186.513Zm1.266-8.25c-.088.855-.229 1.71-.324 2.565-.05.456-.05.916-.069 1.375a14.505 14.505 0 0 1-.355 2.809 3.649 3.649 0 0 0-.05.418c.054.038.066.053.077.053.69.034.813-.072.763-.696-.13-.825-.16-1.663-.091-2.496.05-.403.103-.802.14-1.201.062-.612.1-1.22.165-1.832.042-.425.11-.855.164-1.28.023-.164.038-.323.053-.487a.998.998 0 0 0-.473.772Zm8.286-27.623a.803.803 0 0 1-.565-.026.858.858 0 0 0-.381-.065c-.576 0-1.145.035-1.725.088a36.127 36.127 0 0 1-4.623.285c-1.015-.035-2.03.023-3.052.034H72.23c-1.182.038-2.36.091-3.544.14-.24 0-.484.035-.724.05-1.305.072-2.606 0-3.91 0-.939 0-1.881.03-2.82.03-.938 0-1.972-.026-2.956-.022-.5 0-1 .057-1.5.057-.816 0-1.632-.023-2.448-.038-.107 0-.214-.023-.32 0-1.324.117-2.671.11-3.983.334a.794.794 0 0 0-.458.205c.075.02.152.033.229.042.301.03.603.038.904.08.657.104 1.323.143 1.987.118 1.347-.061 2.694-.061 4.044-.103.71-.023 1.423-.08 2.133-.114.575-.023 1.152 0 1.724.072.634.05 1.271.065 1.907.046h2.045c1.56.042 3.12 0 4.677.186a14.59 14.59 0 0 0 2.544 0c1.026-.06 2.064-.042 3.094-.087.679-.03 1.358-.118 2.037-.168.68-.05 1.45-.095 2.175-.152.316-.026.629-.095.946-.114.438-.022.88 0 1.32-.022a8.651 8.651 0 0 0 1.62-.164 17.71 17.71 0 0 1 1.855-.167c.263.016.527-.038.763-.156a1.754 1.754 0 0 0-1.446-.369ZM52.993 33.614v-.487c-.16.183-.16.183 0 .487Zm.228-7.16c-.034.495 0 .989 0 1.498a.683.683 0 0 0 .172.053c.832.034 1.667.065 2.499.091.35 0 .698.027 1.045.023s.404-.06.4-.38c0-.665-.03-1.33 0-1.995 0-.54.096-1.08.153-1.653h-.576c-.526.057-1.049.148-1.58.182-.53.035-1.117.03-1.678 0-.45 0-.515.054-.415.445.089.576.082 1.163-.02 1.737Zm.07 4.94c0 .334.022.666.064.996.042.468.095.935.145 1.418 1.469.215 2.952.309 4.437.28l-.481-4.719h-3.814c-.36.027-.428.076-.382.414a7.34 7.34 0 0 1 .03 1.6v.012Zm.43 6.08c-.03.233-.006.47.069.692.05.147.108.29.175.43.153.41.15.414.634.414h1.682c.576.023 1.144.053 1.728.064.404 0 .443-.034.443-.402 0-.1 0-.198-.023-.293a9.704 9.704 0 0 1-.084-1.452 7.25 7.25 0 0 0-.126-1.371c-.042-.29-.084-.312-.416-.32-.332-.007-.702 0-1.049 0-.725-.022-1.45-.068-2.174-.095h-.73c-.243 0-.308.1-.281.293.038.285.068.574.125.859.109.376.118.774.027 1.155v.027Zm3.62 7.57c-.763.829-1.64 1.596-2.441 2.413-.381.403-.717.859-1.083 1.285-.648.729-1.37 1.389-2.156 1.968-.434.342-.847.71-1.236 1.102-.812.787-1.602 1.592-2.414 2.379-.271.262-.584.49-.87.737-.138.118-.264.25-.382.38l.057.087 1.03-.186c-.083-.399-.087-.403.218-.68.702-.635 1.37-1.307 2.125-1.9a34.94 34.94 0 0 0 3.17-2.865c.55-.54 1.144-1.053 1.682-1.585 1.343-1.284 2.796-2.47 4.017-3.86.241-.286.467-.584.675-.894.063-.12.113-.248.15-.38a3.252 3.252 0 0 0-1.386-.129c.119.95-.587 1.505-1.156 2.102v.026Zm10.247-3.629a7.331 7.331 0 0 1 0-1.083v-.513c-.256-.034-.446-.076-.637-.083a457.736 457.736 0 0 0-3.227-.133c-.344 0-.382.06-.382.357.038.357.042.718.05 1.079.058.524.296 1.011.675 1.38.15.125.338.194.534.197.585.067 1.173.104 1.762.11.244-.029.481-.098.702-.205.05 0 .11-.087.107-.125-.046-.403.477-.578.416-.98Zm-3.887-2.25c.576.023 1.144.039 1.728.054l1.59.034c.466 0 .596-.114.573-.543-.042-.68-.073-1.365-.122-2.041-.023-.304-.08-.608-.126-.958-1.442-.125-2.827-.129-4.273-.148v.76c0 .24.023.38.042.582.073.672.149 1.345.221 2.021.035.21.206.228.374.232l-.007.008Zm9.464-11.658c-.04.289.008.583.137.844l3.998-.107c.016-.11.016-.223 0-.334-.244-.684-.126-1.383-.08-2.075.011-.69-.04-1.381-.152-2.063-.576.03-1.145.053-1.683.091s-1.121.076-1.678.118c-.214 0-.424.026-.633.06-.31.05-.382.153-.348.426.033.236.09.467.168.692.251.756.343 1.555.271 2.348Zm4.196 2.238v-.562c-.171 0-.301-.03-.43-.027l-3.053.122c-.526.023-.568.087-.545.585.038.707.042 1.414.069 2.124.026.711.068 1.327.106 1.988 0 .277.035.55.058.855l1.499-.053 1.774-.069c.118 0 .24 0 .358-.03a.262.262 0 0 0 .21-.096.259.259 0 0 0 .05-.223c-.073-.958-.153-1.9-.183-2.87-.023-.58.045-1.162.072-1.744h.015Zm-2.243-.915c-.423-.16-1.48-.164-1.74 0h1.74Zm-1.526 6.414c.325.163.565.16 1.145 0h-1.145Zm1.69-.095c.214.24.408.027.61 0h-.61Zm2.133 1.326c-.03-.247-.054-.498-.084-.805h-1.145c-.786.034-1.571.083-2.357.133-.382.026-.42.068-.443.402a13.443 13.443 0 0 0 0 2.57c.027.223.122.334.359.345.404 0 .813.038 1.217.042h2.044c.45 0 .477-.034.535-.449a3.877 3.877 0 0 0-.054-1.451 6.667 6.667 0 0 1-.072-.787Zm-.477 3.12c-.553.076-1.103.209-1.66.25-.508.029-1.018.021-1.526-.022-.297 0-.38 0-.38.255-.058.76-.096 1.52-.142 2.299.32.044.646.03.961-.038.302-.03.6-.076.897-.1.408-.033.82-.03 1.224-.087a.967.967 0 0 0 .546-.258c.273-.252.456-.585.522-.95.042-.426.13-.847.206-1.33a4.713 4.713 0 0 0-.648-.023v.004Zm-4.044-1.14a216.8 216.8 0 0 0-.08-2.208c0-.106-.03-.216-.053-.38-.462-.023-.882-.05-1.301-.057h-2.545c-.476 0-.496 0-.53.414-.023.346 0 .692 0 1.038 0 .54-.026 1.079-.038 1.619v.277c.086.014.172.022.26.023l3.902-.14c.286 0 .343-.05.381-.309.01-.09.012-.182.004-.273v-.004Zm-.126-3.196a40.516 40.516 0 0 0-4.093-.209.43.43 0 0 0-.301.164c.091.045.179.125.274.129.405.03.813.042 1.221.05.801 0 1.606.022 2.407.022.149.004.336.06.492-.152v-.004Zm-.82 4.56h-3.273a.382.382 0 0 0-.412.316A16.038 16.038 0 0 0 68 42.157v.493c.161.03.324.046.488.05.332-.02.664-.065.996-.088.5-.038 1-.057 1.495-.099.271-.022.538-.08.805-.102a.765.765 0 0 0 .664-.506c.284-.652.414-1.36.381-2.07-.34-.008-.61-.004-.88-.008v-.008Zm-3.887-7.25c.114.444.17.901.168 1.36 0 .114 0 .224.026.335.046.399.065.406.504.402h1.77v.035c.607.034 1.21.072 1.816.098.32 0 .423-.064.381-.38-.05-.581-.14-1.14-.194-1.74-.054-.6-.08-1.14-.107-1.702-.027-.46-.034-.92-.053-1.376 0-.274-.058-.315-.351-.308-1.301.034-2.602.069-3.903.11-.4 0-.427.076-.381.434.065.547.095 1.098.152 1.649.019.368.076.734.172 1.09v-.007Zm4.196-3.728c-1.835-.228-1.907-.224-2.209.034.382.171.763 0 1.11.038.36.054.729.032 1.08-.064l.02-.008Zm-4.295-.517 3.776.02h.317c.214 0 .282-.115.267-.305-.038-.482-.046-.969-.095-1.451-.038-.38-.122-.76-.18-1.14-.057-.38-.194-.817.027-1.254-.255-.03-.473-.076-.694-.08h-3.952c-.298 0-.382.118-.328.38.091.642.179 1.288.259 1.934.065.54.118 1.08.183 1.615.021.096.052.19.092.281.103-.007.206.008.309.008l.019-.008Zm-1.164 2.759c-.072-.52-.164-1.037-.255-1.611H63.01c-.42 0-.512.08-.485.463.053.79.095 1.577.164 2.364.05.581.133 1.159.206 1.74.03.247.11.312.423.327.576.027 1.145.042 1.724.069.58.026 1.145.072 1.72.098.134 0 .268 0 .482-.019-.062-.486-.111-.912-.165-1.337-.11-.68-.198-1.383-.3-2.086l.018-.008Zm0-4.457c.057.505-.046 1.033.199 1.52a3.18 3.18 0 0 0-.233-1.513l.034-.007Zm-.625-2.28c.053-.327 0-.38-.34-.472a1.274 1.274 0 0 0-.263-.049H62.9c-.493 0-.55.065-.512.51.073.828.157 1.656.199 2.484-.01.347-.045.692-.103 1.034v.308c.43 0 .82-.057 1.209-.053.694 0 1.392.045 2.087.068.45 0 .507-.042.461-.448 0-.126-.03-.251-.05-.38a9 9 0 0 1-.053-2.983l.035-.02Zm-3.617 11.78v.718h.038v-.722l-.038.004Zm.47-1.273c0 .053.06.144.121.178a.61.61 0 0 0 .267.05l3.495.106c.13 0 .286.03.332-.201a7.133 7.133 0 0 0-1.808-.187l-2.041-.064c-.061 0-.13-.034-.18 0-.05.034-.202.095-.22.152l.033-.034Zm4.272-4.788-.069-.532h-.103c.023.174.042.35.065.524l.107.008Zm-4.14 11.76c-.197-.524-.411-1.044-.617-1.565-.023-.053-.046-.103-.065-.156-.172-.547-.175-.558-.797-.49-.431.046-.858.148-1.293.205-.254.023-.509.03-.763.023h-.351a1.034 1.034 0 0 0 .19.946c.301.491.689.924 1.145 1.277a.97.97 0 0 0 .404.152 72.43 72.43 0 0 0 1.808.144h.458a4.124 4.124 0 0 0-.152-.501l.034-.034Zm-3.612-2.808 2.358-.14c.408-.023.431-.061.381-.426-.106-.885-.202-1.767-.286-2.66-.038-.403-.072-.46-.507-.482a244.8 244.8 0 0 0-2.358-.126c-.381 0-.412.034-.381.38.053.78.084 1.554.141 2.33.027.38.092.737.145 1.14.156.019.324.026.473.019l.034-.035Zm-.763-4.282c.977.057 1.954.106 2.926.156.05 0 .1-.05.23-.122a3.12 3.12 0 0 0-1.107-.114 30.863 30.863 0 0 0-1.125-.084 2.419 2.419 0 0 0-1.103.03c.061.107.103.164.145.168l.034-.034Zm.222-.608 2.407.133h.408c0-.205.03-.38.03-.582a4.919 4.919 0 0 1 0-.786c.076-.596.04-1.2-.106-1.782a4.071 4.071 0 0 1-.027-1.327c.034-.35 0-.402-.381-.399-.603 0-1.21.038-1.813.054h-.682c-.4 0-.496.08-.466.47.023.316.069.632.077.947.007.315-.039.581-.039.87 0 .639 0 1.28.027 1.9-.008.487.015.506.53.536l.035-.034Zm-.534-6.46a4.209 4.209 0 0 0 0 .44h1.392c.45 0 .858.008 1.328.008.316 0 .381-.05.381-.338 0-.597-.076-1.193-.065-1.79.012-.596.08-1.216.134-1.824a4.69 4.69 0 0 1 .095-.471c-.3-.017-.6-.017-.9 0-.66.084-1.316.198-1.972.293-.412.06-.431.068-.382.444.119 1.1.102 2.21-.05 3.306l.039-.068Zm.827 1.19c0 .037.027.075.042.113.382-.038.798-.064 1.194-.121.18-.023.298-.133.222-.346a2.782 2.782 0 0 0-1.065 0c-.255.087-.328.258-.427.406l.034-.053Zm-.873-6.46v-.07l-.187.05.023.069.164-.05ZM54.992 34.64c.515 0 1.03.026 1.525.03a6.594 6.594 0 0 0 1.5 0v-.144a2.352 2.352 0 0 0-.31-.088 21.828 21.828 0 0 0-3.07-.201 7.48 7.48 0 0 1-.763-.042c-.382-.042-.408-.034-.424.418l1.541.027Zm3.059-9.9h-.149l-.099 3.098c.265-1.01.35-2.058.248-3.097Zm19.837 7.107h-.073v.41h.11c.02-.14.008-.277-.007-.41h-.03Zm.35-3.496c.74-.034 1.412-.069 2.087-.091.512 0 1.026-.035 1.526 0 .424 0 .47 0 .45-.38-.01-.305 0-.61.03-.912.145-.906.185-1.826.12-2.74a3.112 3.112 0 0 1 0-.445c-1.492.042-2.972-.05-4.498.114.457 1.44.316 2.926.316 4.454h-.03Zm4.052.817a1.563 1.563 0 0 0 0-.274c-.618.038-1.186.061-1.755.114a9.56 9.56 0 0 1-1.713.13c-.442-.042-.461 0-.454.41 0 .984.061 1.968.073 2.956 0 .498-.035.996-.042 1.494 0 .205.027.41.042.627h.652c.618 0 1.24 0 1.858-.023.382 0 .763-.103 1.171-.16.252-.034.229-.216.24-.38a9.846 9.846 0 0 0-.095-1.862 7.95 7.95 0 0 1 .053-3.032h-.03Zm-.965 5.837c-.546.114-1.08.277-1.625.38a6.433 6.433 0 0 1-.897.125c-.206.023-.282.11-.297.296-.077 1.08-.16 2.159-.248 3.325.515-.026.965-.045 1.411-.08.71-.056 1.42-.113 2.129-.186.381-.038.458-.129.462-.49v-2.747c0-.232.053-.46.087-.76-.343.06-.675.087-.992.137h-.03Zm1.45-4.56c.03-.335.057-.67.087-1.004a1.206 1.206 0 0 0-.057 1.004h-.03Zm4.65-3.07a8.827 8.827 0 0 0 .148-2.573c-.038-.38 0-.76 0-1.186a39.667 39.667 0 0 0-4.043.05v.326c.039.29.063.582.072.874-.026.76-.088 1.52-.122 2.28v1.08h.538c.572-.058 1.144-.1 1.713-.198.473-.08.934-.228 1.4-.354a.34.34 0 0 0 .294-.3Zm-.801 5.844c.145-.863.309-1.722.457-2.588a9.49 9.49 0 0 0 .11-.992v-1.178c-.648-.03-1.299.015-1.937.137a9.264 9.264 0 0 1-1.347.163c-.381.042-.415.069-.423.403a658.413 658.413 0 0 0-.13 4.454c.003.189.015.378.038.566.11.01.22.01.329 0a81.057 81.057 0 0 0 1.811-.38c.222-.046.447-.076.664-.13.325-.075.37-.151.42-.455h.008Zm-.855 4.715c.202-1.04.423-2.074.633-3.116.042-.201.058-.402.088-.623a1.53 1.53 0 0 0-1.034.156 4.747 4.747 0 0 1-1.652.403c-.415.019-.454.057-.518.433-.065.376-.107.851-.176 1.277-.042.273-.114.54-.175.81a2.191 2.191 0 0 0-.08.38v1.04c.831-.09 1.61-.17 2.388-.262.43-.057.438-.099.518-.498h.008Zm-.27 1.06c-.275-.121-.28-.121-.733.054.267.015.496.087.725-.053h.007Zm-1.752 2.596c.935-.467 1.248-1.3 1.625-2.128-.72-.068-1.377-.144-2.037-.194-.381-.026-.55.099-.557.445a6.533 6.533 0 0 1-.541 2.056l-.07.193a3.379 3.379 0 0 0 1.573-.372h.007Zm-5.299.646h1.683a.474.474 0 0 0 .381-.156c.16-.175.325-.338.614-.167a.298.298 0 0 0 .267-.084 4.51 4.51 0 0 0 .802-2.405c-.13 0-.206-.023-.275-.019l-2.312.114c-.381.019-.725 0-1.087.042s-.439.095-.473.433c-.076.703-.141 1.406-.214 2.15.19.084.4.116.607.092h.007Zm-.58-10.936c0-.065.027-.133.043-.202h-.065l-.023.205.046-.003ZM66.868 55.042c.732-.665 1.476-1.322 2.186-2.006.824-.798 1.625-1.615 2.422-2.436.664-.684 1.316-1.383 1.969-2.079.381-.38.763-.733 1.174-1.098a23.43 23.43 0 0 0 1.656-1.824c.382-.414.71-.832 1.045-1.262.23-.271.38-.602.431-.953.058-.521-.198-.738-.827-.643a4.415 4.415 0 0 0-.123.627 1.847 1.847 0 0 1-.492 1.14c-.702.855-1.365 1.737-2.067 2.592-.382.452-.786.882-1.202 1.307-.909.884-1.863 1.721-2.857 2.508-.48.403-.889.874-1.335 1.311-.569.559-1.145 1.14-1.71 1.672a2.117 2.117 0 0 0-.602 1.383c.113-.073.221-.153.324-.239h.008Zm-11.14 4.062c.272.21.245.49.36.783.38-.068.762-.156 1.144-.198.465-.049.934-.064 1.4-.087h.316c.683-.027 1.362-.076 2.041-.087a2.85 2.85 0 0 0 1.74-.521c.511-.38.984-.817 1.472-1.227l-.045-.088c-.53.038-1.065.08-1.595.11-.816.054-1.634.102-2.453.145-.967.03-1.93.126-2.884.289-.38.053-.761.084-1.144.095a1.217 1.217 0 0 0-.313.022c-.072.023-.172.11-.168.168.023.209-.008.497.122.596h.008Zm-.3-1.288c.704.018 1.41-.03 2.105-.144.37-.075.747-.116 1.126-.122 1.468-.087 2.937-.148 4.402-.258.54-.058 1.076-.157 1.602-.297a.93.93 0 0 0 .355-.24c.282-.246.55-.512.839-.76.427-.36.45-.451.141-.911a.56.56 0 0 1 .03-.734c.382-.402.725-.824 1.122-1.208 1.385-1.341 2.735-2.713 4.257-3.937.84-.715 1.617-1.5 2.324-2.344.797-.909 1.526-1.9 2.288-2.809.32-.38.454-.76.096-1.193l-.48-.064c-.039.03-.077.045-.08.064a2.413 2.413 0 0 1-.733 1.619c-1.122 1.208-2.21 2.44-3.32 3.652-.762.83-1.525 1.654-2.288 2.47-1.335 1.387-2.56 2.865-4.131 4.05a8.08 8.08 0 0 1-2.194 1.163c-.423.149-.835.323-1.243.51a4.454 4.454 0 0 1-2.11.425 1.105 1.105 0 0 0-.317 0c-.856.126-1.722.164-2.586.114a4.468 4.468 0 0 0-.675.061c-.614.099-.752.334-.538.893h.007Zm.163-1.52c1.023.114 2.056.114 3.079 0 .404-.06.82-.042 1.225-.087.285-.026.565-.087.835-.183 1.099-.44 2.201-.874 3.265-1.375.495-.26.955-.58 1.37-.954a32.339 32.339 0 0 0 2.88-2.9c1.186-1.265 2.392-2.515 3.567-3.8.793-.858 1.552-1.744 2.327-2.622.21-.235.427-.47.63-.714.213-.247.321-.568.3-.893h-.514a83.03 83.03 0 0 0-1.671.179c-.282.034-.569.038-.763.319-.092.144-.305.11-.427-.03a2.11 2.11 0 0 1-.168-.297l-1.713.087-1.953.095a3.006 3.006 0 0 0-.454.02 7.241 7.241 0 0 1-1.858.049c-.382 0-.744-.107-1.121-.148-.985-.118-1.973-.225-2.96-.335a2.254 2.254 0 0 0-.321 0c-.569.02-.565.042-.721.544-.078.269-.207.52-.382.74-.46.558-.949 1.09-1.465 1.597-1.24 1.185-2.51 2.337-3.76 3.51-.829.76-1.645 1.563-2.462 2.35a1.999 1.999 0 0 0-.179.227 6.831 6.831 0 0 1 2.214 1.933 6.8 6.8 0 0 1 1.193 2.68l.008.008Zm-1.579-2.06c.054.045.111.084.172.118l.088-.045a1.196 1.196 0 0 0-.092-.255 6.15 6.15 0 0 0-1.808-1.721c-.45-.293-.675-.263-.988.095.1.076.206.146.316.209.248.125.512.231.763.357.581.32 1.102.739 1.541 1.235l.008.007Zm-.763 2.733.08-.042a.332.332 0 0 0-.065-.08s-.045 0-.068.027l.053.095Zm-10.376 3.184a3.606 3.606 0 0 0-.217 1.452l.06-.02a5.035 5.035 0 0 1 .943-2.614.7.7 0 0 0 .095-.14c.336-.943 1.187-1.52 1.942-2.106a3.976 3.976 0 0 1 3.006-.82c.553.064 1.121.03 1.675.095.64.08 1.308.045 1.907.338.07.03.143.047.218.053.022 0 .053 0 .106-.042-.042-.042-.068-.095-.11-.121a5.196 5.196 0 0 0-2.125-.68 5.84 5.84 0 0 0-1.888.121 8.42 8.42 0 0 1-1.496.186 3.31 3.31 0 0 0-1.907.813 5.21 5.21 0 0 0-1.633 2.071c-.194.48-.385.947-.595 1.406l.02.008Zm12.093-15.067c-1.091.904-2.224 1.763-3.311 2.66-.962.806-1.885 1.657-2.827 2.481-.382.339-.763.67-1.164.996-.675.559-1.361 1.11-2.033 1.672a3.13 3.13 0 0 0-.477.502c-.576.76-1.339 1.41-1.789 2.257-.034.06-.076.121-.11.182a1.304 1.304 0 0 0 .186 1.76c.027 0 .065 0 .077-.035a4.569 4.569 0 0 1 1.297-1.322c.477-.334.896-.76 1.29-1.075-.047-.232-.146-.415-.1-.555.046-.14.236-.236.381-.346.081-.06.159-.125.233-.194a9.766 9.766 0 0 1 1.644-1.493c.439-.32.828-.692 1.236-1.045.485-.422.962-.848 1.446-1.266a18.51 18.51 0 0 0 2.152-2.15c.269-.304.558-.59.866-.855.846-.76 1.709-1.52 2.548-2.33.324-.304.591-.661.893-.992.089-.094.183-.184.282-.27.21-.19.217-.216.126-.596a1.83 1.83 0 0 0-.325.076c-.404.163-.469.133-.537-.315a1.27 1.27 0 0 0-.344.03c-.099.034-.225.122-.244.201a3.629 3.629 0 0 1-1.415 2.014l.019.008Zm.545-2.91c.091.073.203.117.32.125.485 0 .966-.023 1.45-.038h.271l2.08-.03c.021-.038.045-.073.072-.107a2.591 2.591 0 0 0-.263-.38 3.324 3.324 0 0 1-.794-1.615.325.325 0 0 0-.246-.295.33.33 0 0 0-.135-.005c-.68 0-1.362.034-2.045.038-.404 0-.813-.03-1.22-.038-.5 0-.623.09-.52.543a3.07 3.07 0 0 0 1.03 1.801Zm-4.093-1.962c.092.232.18.468.248.707a.76.76 0 0 0 .26.418c.22.197.423.415.602.65a.583.583 0 0 0 .48.266h1.672c.023 0 .05-.03.084-.05-.191-.38-.382-.797-.573-1.185-.19-.388-.442-.783-.698-1.231l-2.071-.183a.557.557 0 0 0-.004.608Zm-1.03-4.966c.073.479.279.938.202 1.436a.784.784 0 0 0 .077.323c.16.566.324 1.14.488 1.703l2.144.125c-.046-.27-.073-.475-.115-.676a14.193 14.193 0 0 1-.461-2.421 2.517 2.517 0 0 0-.073-.38c-.038-.205-.148-.289-.381-.323a7.8 7.8 0 0 1-1.084-.274 1.451 1.451 0 0 0-.846 0c.007.168.022.327.05.487Zm2.018-1.08a4.112 4.112 0 0 0-1.61-.037c.134.098.18.155.24.17.313.096.63.183.947.274.404.114.507.023.423-.406Zm-2.354-.478h2.278c.072-1.36.043-2.722-.084-4.078-.846-.246-1.72-.38-2.602-.399.126 1.486.267 2.972.397 4.477h.011Zm-1.663-9.181c.126.38.294.79.408 1.19.15.524.26 1.056.382 1.588.027.106.046.216.069.327.095.433.251.573.713.554a59.021 59.021 0 0 0 1.995-.11c.382-.03.382-.076.382-.452 0-.467.018-.939.03-1.41v-.665c0-.43.027-.859.042-1.284v-.186a3.606 3.606 0 0 0-1.549-.164c-.605.03-1.21.03-1.816 0-.225 0-.446.023-.728.038.008.193.033.385.072.574Zm-.465-2.858c.095-.262-.038-.38-.126-.505-.088-.126-.164-.293-.27-.426-.108-.133-.135-.326-.466-.209l.862 1.14Zm-1.099-1.573.076-.038-.103-.167a.309.309 0 0 0-.076.026l.103.18Zm-10.601-6.243c-.526 0-1.053.026-1.58.038-.175 0-.35 0-.61-.034l.187.455 2.533-.285a.516.516 0 0 0-.53-.174Zm6.035 3.382c.515.097 1.025.223 1.526.38a4.748 4.748 0 0 1 1.827 1.185c.057.065.126.118.19.179h.054c.164-.091.149-.213.065-.346a5.489 5.489 0 0 0-1.083-1.22 6.132 6.132 0 0 0-.569-.47 3.124 3.124 0 0 0-1.266-.518c-.298-.05-.6-.076-.897-.125a3.154 3.154 0 0 1-.381-.133 1.135 1.135 0 0 0 .164.878c.05.114.233.152.37.19Zm-2.953 2.637c.176.315.42.587.714.798a1.616 1.616 0 0 0 1.587.19.983.983 0 0 0 .609-.942.977.977 0 0 0-.095-.384c-.144-.259-.263-.528-.427-.86-.16.05-.316.088-.469.138-.572.186-1.144.38-1.713.558-.336.114-.362.198-.206.502ZM.658 55.194c.1.259.139.537.114.813 0 .243.084.426.382.475.095 0 .24.14.24.213-.008.205.032.41.118.597.058.199.09.404.092.611a3.9 3.9 0 0 0 2.151.339h.092c.71-.05.858.049 1.022.668l.046.217a1.247 1.247 0 0 1 1.225-.452c.06.006.119-.006.171-.034a2.93 2.93 0 0 0 1.065-.76c.095-.103.207-.19.332-.255.022 0 .064 0 .08-.034.32-.38.847-.551 1.098-1.015.275-.427.514-.877.714-1.345.053-.16.236-.281.381-.422.218-.247.225-.273.023-.536a15.93 15.93 0 0 0-.462-.57 3.823 3.823 0 0 1-.865-1.987c-.103-.63-.123-1.273-.184-1.9-.026-.293-.068-.581-.091-.874a1.48 1.48 0 0 1 .038-.312c.229 0 .252.149.27.266.073.41.134.825.203 1.24.095.57.195 1.14.294 1.713a.97.97 0 0 1 .046.247c-.058.597.328 1.015.675 1.452.156.201.301.414.435.627a1.35 1.35 0 0 0 .923.684 1.093 1.093 0 0 1 .877.817c.037.09.05.188.038.285-.206.843-.461 1.672-1.197 2.28a.419.419 0 0 0-.195.38c.03.332.112.658.244.965.447.907.785 1.864 1.007 2.85.141.498.286.995.447 1.486.075.167.16.33.251.49.097.184.174.377.23.578.075.326.075.38.453.414a27.38 27.38 0 0 0 1.858.09 9.914 9.914 0 0 1 1.526 0c.801.141 1.614.046 2.4.183a1.042 1.042 0 0 0 .971-.36 1.033 1.033 0 0 0 .173-1.02 1.165 1.165 0 0 0-.649-.809 3.668 3.668 0 0 1-.667-.49 1.297 1.297 0 0 0-.904-.194c-.496.046-1 .042-1.5.038-.343 0-.381-.08-.381-.418 0-.338-.042-.58-.065-.87-.023-.289-.072-.581-.08-.874a4.342 4.342 0 0 0-.412-1.486 2.74 2.74 0 0 0-.263-.486c-.382-.57-.222-1.102.076-1.657a11.45 11.45 0 0 1 1.339-1.664c.118-.125.225-.26.32-.403.46-.665.867-1.367 1.213-2.098a.449.449 0 0 1 .107-.178 1.52 1.52 0 0 0 .435-1.14 12.818 12.818 0 0 0-.225-3.325 3.252 3.252 0 0 1 .13-2.098c.048-.146.085-.296.11-.448.085-.366.295-.69.596-.916.232-.175.461-.353.71-.513.052-.038.163 0 .247 0 0 .087.042.198 0 .258a4.76 4.76 0 0 1-.492.639c-.188.228-.32.498-.381.786a5.344 5.344 0 0 0-.145 2.03c.17 1.552.215 3.114.137 4.674a.878.878 0 0 1-.034.247c-.317.794-.61 1.6-.977 2.378-.19.322-.427.614-.702.867a2.634 2.634 0 0 1-.47.327l.115.068c.08.217.172.433.233.654.079.297.208.578.382.832.402.548.703 1.163.888 1.816a8.25 8.25 0 0 0 .862 2.147c.235.311.514.586.828.817a1.427 1.427 0 0 0 1.072.449c.388.021.773.089 1.145.201.939.19 1.912.134 2.823-.163a2.17 2.17 0 0 0 1.197-.924 1.012 1.012 0 0 0-.763-1.52c-.328-.05-.663-.076-.991-.125-.329-.05-.565-.103-.843-.156a2.05 2.05 0 0 0-.447-.08.507.507 0 0 1-.595-.437 2.748 2.748 0 0 0-.347-.574 10.43 10.43 0 0 0-1.59-2.329c-.497-.505-1-1-1.508-1.493-.229-.225-.229-.339.054-.532a3.485 3.485 0 0 0 1.35-1.874c.25-.75.417-1.524.496-2.31.1-1.064.45-2.113.206-3.188a.352.352 0 0 1 .218-.418c.22-.115.393-.302.492-.529.19-.326.381-.65.587-.976.206-.327.355-.787.893-.878.084 0 .145-.163.202-.258a.795.795 0 0 1 .496-.46.236.236 0 0 0 .114-.061c.29-.315.58-.63.863-.954a.883.883 0 0 1 .545-.41.42.42 0 0 0 .324-.316 1.97 1.97 0 0 1 .74-.874c.447-.353.832-.76 1.267-1.14.274-.235.595-.421.881-.646.142-.097.257-.227.336-.38a6.417 6.417 0 0 1 1.526-2.044c.124-.156.24-.318.347-.486.16-.198.343-.38.515-.578.122-.137.252-.274.381-.414.13-.14.191-.251.283-.38.324-.437.66-.87.965-1.315a.96.96 0 0 0 .164-.467 7.58 7.58 0 0 1 .53-1.9c.178-.37.378-.73.599-1.076.131-.263.247-.533.347-.81.048-.16.104-.319.168-.474.338-.72.559-1.49.652-2.28.138-.852.21-1.714.214-2.577 0-.638-.054-1.28-.11-1.919a1.84 1.84 0 0 0-.272-.76c-.076.232-.164.46-.22.696a2.824 2.824 0 0 1-.478.98c-.381.547-.706 1.14-1.087 1.684-.184.241-.4.457-.64.642-.203.167-.356.125-.466-.099-.11-.224-.176-.407-.283-.665l-.434.266-.302.186c-.557.316-.706.281-1.045-.289-.134.076-.267.145-.382.225a4.81 4.81 0 0 1-.56.353.333.333 0 0 1-.523-.258c-.034-.16-.05-.323-.076-.517a1.904 1.904 0 0 0-.32.076 1.15 1.15 0 0 1-1.24-.281.498.498 0 0 1-.16-.38c.06-.7-.45-1.08-.94-1.471-.083-.068-.262-.027-.38-.068a.577.577 0 0 1-.302-.198c-.027-.053.084-.201.168-.262a.616.616 0 0 1 .763 0c.274.194.557.38.812.589a.85.85 0 0 1 .279.403c.091.33.13.676.194 1.037a.765.765 0 0 0 .962-.023.518.518 0 0 1 .206-.08c.263-.06.381 0 .381.255s.042.38.065.581c.267 0 .382-.19.519-.288.137-.1.229-.187.358-.255a.382.382 0 0 1 .592.156c.057.095.118.186.198.315.18-.083.34-.152.492-.235.088-.05.16-.13.244-.187.405-.27.565-.243.851.141.076.103.141.213.233.353.236-.115.428-.303.55-.535.331-.548.67-1.091.983-1.646.14-.244.243-.508.306-.783.217-.995.42-1.995.598-2.994.134-.76.687-1.14 1.305-1.52a.503.503 0 0 1 .172-.05l3.322-.444c.382-.05.47-.179.382-.51a3.266 3.266 0 0 0-.569-1.14 4.277 4.277 0 0 0-.316-.33c-.183.148-.08.25 0 .312.381.292.404.733.595 1.106.027.056-.034.148-.053.224-.092-.023-.226 0-.275-.069-.19-.216-.359-.448-.53-.676a.171.171 0 0 1-.042-.114c.11-.52-.31-.806-.637-1.08-.813-.68-1.831-.813-2.892-.76-.24 0-.48.039-.721.065-.664.072-1.331.126-1.843.6a.594.594 0 0 1-.194.103c-1.145.418-2.289.867-3.433 1.231a5.595 5.595 0 0 1-2.51.263 2.36 2.36 0 0 0-.542 0 1.913 1.913 0 0 1-.973-.156c-.381-.163-.381-.213-.1-.528l1.645.277a.892.892 0 0 0 .317 0 93.772 93.772 0 0 0 1.793-.38c.423-.102.843-.228 1.255-.38.48-.163.957-.346 1.423-.54.286-.117.553-.277.88-.44a4.387 4.387 0 0 0-.285-.437c-.23-.278-.237-.274-.054-.585.042-.073.084-.149.134-.217.044-.061.093-.12.145-.175-.038-.053-.065-.099-.1-.14-.13-.145-.38-.118-.476-.346a1.649 1.649 0 0 1-.168-1.326c.119-.292.204-.595.255-.905a.691.691 0 0 1 .607-.55c.193-.034.38-.095.557-.18.278-.144.542-.326.862-.528-.133-.05-.217-.087-.305-.114a1.065 1.065 0 0 1-.763-.889c0-.194.149-.277.336-.182.149.062.289.143.416.243a.596.596 0 0 0 .629.084c.217-.057.435-.126.66-.164a2.62 2.62 0 0 1 .622-.034.884.884 0 0 0 .8-.296c.119-.141.233-.29.34-.441.18-.255.16-.316-.11-.464l-.122-.057c-.851-.33-.912-1.049-.569-1.668l.183-.338c-.786-.29-1.526-.582-2.289-.84a1.65 1.65 0 0 1-1.08-.882 2.478 2.478 0 0 0-.903-1.269 1.145 1.145 0 0 0-.347-.186 8.73 8.73 0 0 1-1.843-.688 4.184 4.184 0 0 0-2.17-.315c-.828.095-1.652.182-2.48.285-.418.048-.833.119-1.244.213-.261.057-.51.162-.732.311-.515.395-.9.933-1.106 1.547-.115.304-.039.38.312.456a.906.906 0 0 1 .298.087c.272.193.601.29.934.274.07 0 .142.072.218.11a.71.71 0 0 1-.965.19c-.4-.2-.83-.33-1.274-.38a2.09 2.09 0 0 0-2.19.669 11.682 11.682 0 0 0-2.079 3.078c-.244.54-.52 1.066-.828 1.573-.145.266-.103.403.199.52a1.106 1.106 0 0 0 1.114-.25c.22-.195.357-.467.38-.76a.406.406 0 0 1 .089-.232c.442-.543.892-1.08 1.335-1.623.107-.133.187-.285.294-.421.251-.327.503-.658.762-.973a.925.925 0 0 1 .344-.198c.5-.183 1.037-.24 1.564-.167.244.023.381.148.35.357-.102.513-.087 1.053-.45 1.52a1.4 1.4 0 0 1-1.006.566c-.382.035-.74.103-1.11.156a.264.264 0 0 0-.245.262 4.35 4.35 0 0 0-.038.665 5.765 5.765 0 0 1-.294 2.144c-.118.425-.232.854-.362 1.352.214-.102.382-.17.538-.258.347-.194.343-.198.652.068.079-.03.154-.069.225-.114.382-.27.466-.254.695.164.606.099.824.38.69.855a2.88 2.88 0 0 1-.503-.057c-.31-.061-.351-.038-.515.186a3.958 3.958 0 0 1-.55.657 2.97 2.97 0 0 0-.725 1.045c-.227.475-.481.935-.762 1.38a3.36 3.36 0 0 0-.382 1.269 5.9 5.9 0 0 1-.343 1.14 2.446 2.446 0 0 0-.138 1.596c.086.346.086.707 0 1.052a.755.755 0 0 0 0 .323c.031.166.084.327.157.48a1.626 1.626 0 0 1-.042 1.345c-.172.456-.404.896-.572 1.356-.122.327-.138.692-.275 1.007-.182.505-.44.98-.763 1.41a24.705 24.705 0 0 0-1.686 2.223 3.793 3.793 0 0 0-.626 1.417c-.01.056-.026.11-.046.164-.583 1.52-1.144 3.017-1.762 4.514-.278.665-.6 1.31-.965 1.93-.282.473-.662.88-1.114 1.194a12.257 12.257 0 0 0-2.056 2.113c-.813.957-1.194 2.078-1.583 3.207a9.234 9.234 0 0 0-.477 1.858 7.264 7.264 0 0 0 .091 1.9c.065.494.226.977.325 1.467.068.342.118.688.164 1.03.068.54.13 1.075.183 1.615a3.539 3.539 0 0 1-.645 2.5 1.332 1.332 0 0 1-.984.676.436.436 0 0 0-.221.126 1.949 1.949 0 0 1-1.816.38.657.657 0 0 1-.527-.475 4.812 4.812 0 0 1-.064-2.516c.061-.214.157-.416.282-.6.404-.673.645-1.345.088-2.105-.18.166-.35.34-.512.524a.545.545 0 0 1-.618.258 19.05 19.05 0 0 0-.202.62c-.06.201-.145.327-.381.334a.887.887 0 0 0-.675.441c-.12.158-.255.303-.405.433-.239.19-.398.46-.446.76a.915.915 0 0 1-.313.52c-.194.206-.3.479-.297.76-.061.382-.007.772.156 1.122v-.004Zm19.512 7.881a1.072 1.072 0 0 0-.137-.205 3.615 3.615 0 0 1-.969-1.368 17.43 17.43 0 0 0-.664-1.46 8.773 8.773 0 0 0-.545-.904 5.36 5.36 0 0 0-.462-.566 14.37 14.37 0 0 0-.614-.661 2.49 2.49 0 0 0-.301-.224c-.473.38-.523.558-.317 1.033.278.703.46 1.439.542 2.19.053.38.095.74.149 1.113.024.129.059.256.103.38h.904c.297 0 .576-.02.862 0 .43 0 .706.296 1.026.498.118.075.233.163.35.246l.073-.072Z\"\n fill={ICON_COLOURS[accentColour]}\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M31.466 1.865c-.348.017-.682.14-.957.353a.759.759 0 0 0-.23.471c-.034.179.207.3.424.224.431-.152.866-.311 1.286-.49a.38.38 0 0 0 .183-.254c0-.054-.107-.156-.191-.187a4.59 4.59 0 0 0-.515-.117Z\"\n fill={ICON_COLOURS[accentColour]}\n />\n <path\n d=\"M32.423 3.898a.352.352 0 0 0 .195-.03c.064-.041.114-.101.141-.172 0-.053-.046-.133-.103-.152a2.693 2.693 0 0 0-.275-.064l-.091-.02h-.054a1.187 1.187 0 0 0-.888.335.226.226 0 0 0-.046.171.095.095 0 0 0 0 .046.256.256 0 0 0 .252.049c.265-.145.57-.202.87-.163Z\"\n fill={ICON_COLOURS[accentColour]}\n />\n </svg>\n )\n}\n\nexport default ShoppingDog\n","// @noflow\nimport React from 'react'\n\nimport {\n Direction,\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\nimport STYLES from './sprinkles.module.sass'\n\ntype Props = {\n size: number\n accentColour: IconColours\n width?: number | string\n direction?: Direction\n}\n\nconst Sprinkles = ({\n size,\n accentColour,\n width,\n direction = 'left'\n}: Props): JSX.Element => {\n return (\n <svg\n fill=\"none\"\n height={size}\n viewBox=\"0 0 53 81\"\n width={width || '100%'}\n className={`${direction ? STYLES[direction] : ''}`}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M2.4 12c0 .2 0 .4-.3.4a.4.4 0 0 1-.3-.3L.6 1C.6.8.6.6.9.6c.1 0 .3.1.3.3L2.4 12zm8.3.8c-.2.2-.4.3-.6.1a.4.4 0 0 1 0-.5l7.2-10.2c.2-.2.4-.3.6-.1v.5l-7.2 10.2zm7.8 8.2c-.2 0-.4 0-.5-.2 0-.1 0-.4.2-.4l9.3-5.4c.2 0 .4 0 .5.2 0 .1 0 .4-.2.4L18.5 21zm2 10c-.3 0-.5-.2-.5-.5s.2-.5.4-.5h9.2c.2 0 .4.2.4.5s-.2.5-.4.5h-9.2z\"\n fill={ICON_COLOURS[accentColour]}\n stroke={ICON_COLOURS[accentColour]}\n strokeWidth=\"#000\"\n />\n </svg>\n )\n}\n\nexport default Sprinkles\n","// @noflow\nimport React from 'react'\n\nimport {\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\ntype Props = {\n size: number\n accentColour: IconColours\n width?: number | string\n}\n\nconst SquiggleDashedArrow = ({\n size,\n accentColour,\n width\n}: Props): JSX.Element => {\n return (\n <svg\n fill=\"none\"\n height={size}\n viewBox=\"0 0 97 106\"\n width={width || '100%'}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M34.843 100.907c-32.234-30.6-7.975-62.154 8.543-63.52 16.515-1.366 25.697 12.141 5.32 19.389-20.376 7.248-39.69-21.179-12.723-43.394 6.995-6.677 22.628-9.888 32.479 1.187\"\n stroke={ICON_COLOURS[accentColour]}\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeDasharray=\"3 3\"\n />\n <path\n d=\"m35.484 90.712 1.125 10.159-10.136 1.103\"\n stroke={ICON_COLOURS[accentColour]}\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n )\n}\n\nexport default SquiggleDashedArrow\n","// @noflow\nimport React from 'react'\n\nimport {\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\nimport STYLES from './star.module.sass'\n\ntype StarTypes = 'filled' | 'half' | 'empty'\n\ntype Props = {\n size: number\n accentColour: IconColours\n width?: number | string\n starType?: StarTypes\n responsive?: boolean // size scales on desktop from 2.8rem to 4.6rem\n}\n\nconst Star = ({\n size,\n accentColour,\n width,\n starType = 'filled',\n responsive = false\n}: Props): JSX.Element => {\n const starTypeFill = (): string => {\n switch (starType) {\n case 'filled': {\n return ICON_COLOURS[accentColour]\n }\n case 'half': {\n return 'url(#gradient)'\n }\n case 'empty': {\n return 'transparent'\n }\n }\n }\n\n return (\n <svg\n height={size}\n viewBox=\"0 0 21 21\"\n width={width || '100%'}\n className={`${STYLES.star} ${responsive ? STYLES.responsive : ''}`}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n {starType === 'half' && (\n <defs>\n <linearGradient id=\"gradient\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\">\n <stop\n offset=\"50%\"\n style={{ stopColor: ICON_COLOURS[accentColour], stopOpacity: 1 }}\n />\n <stop\n offset=\"50%\"\n style={{ stopColor: 'transparent', stopOpacity: 1 }}\n />\n </linearGradient>\n </defs>\n )}\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M16.6904 17.3437C16.8654 18.6104 16.6655 19.0318 16.6655 19.0318C16.7568 19.1217 16.8482 19.2115 16.8482 19.3014C16.9395 19.4811 16.9395 19.571 16.7568 19.6608C16.6654 19.7507 16.5741 19.7507 16.4827 19.7507C16.3 19.6608 16.2086 19.6608 16.0259 19.6608C15.9346 19.6608 15.8432 19.6608 15.6605 19.7507C15.5691 19.8406 15.4778 19.8406 15.4778 19.7507C15.2037 19.571 14.9296 19.571 14.6555 19.3912C14.1987 19.2115 13.8333 18.9419 13.3765 18.7622C12.9197 18.5825 12.6456 18.4028 12.1888 18.1332C12.0061 18.0433 11.9147 17.9535 11.9147 17.8636L11.732 17.6839C11.4579 17.5041 11.1838 17.3244 10.8184 17.1447C10.727 17.0548 10.727 17.0548 10.6357 17.0548H10.5443C10.3616 17.1447 10.2702 17.2346 10.0875 17.2346C9.53933 17.4143 9.08253 17.594 8.62573 17.8636C8.16893 18.0433 7.71212 18.223 7.16396 18.4926C6.70716 18.6723 6.25036 18.8521 5.79355 19.1217C5.51947 19.2115 5.15403 19.3912 4.78859 19.4811H4.69723C4.42315 19.3912 4.24042 19.571 4.0577 19.6608C3.87498 19.7507 3.69226 19.8406 3.50954 19.8406C3.32682 19.9304 3.23546 20.0203 3.05274 20.1101C2.96138 20.2 2.96138 20.2 2.87002 20.2C2.6873 20.2 2.59594 20.1101 2.59594 19.9304C2.59594 19.7507 2.59594 19.4811 2.77866 19.3014C2.87002 19.1217 4.42315 14.359 4.51451 14.1793C4.69723 13.9097 4.87995 13.5502 5.06267 13.2806L5.33675 13.0111C5.51947 12.8313 5.42811 12.6516 5.15403 12.5617C4.87995 12.4719 4.78859 12.382 4.60587 12.2922C4.51451 12.2023 4.51451 12.2023 4.42315 12.2023C4.24042 12.1124 3.96634 12.0226 3.78362 11.753C3.69226 11.6631 3.6009 11.6631 3.6009 11.5733C3.23546 11.2138 0.951447 8.60783 0.860087 8.51797C0.677366 8.24839 0.403285 7.88894 0.129203 7.70921C0.0378428 7.61935 -0.0535177 7.52949 0.0378427 7.34977V7.25991C0.0378427 7.08018 0.311924 6.90046 0.494645 7.08018C0.677366 7.17004 0.860087 7.17004 1.04281 7.17004C1.49961 7.17004 1.95641 7.08018 2.41322 7.08018C2.6873 7.08018 3.05274 6.99032 3.41818 6.99032C3.87498 6.99032 4.33179 6.99032 4.69723 6.90046H5.70219C5.88491 6.90046 6.06763 6.99032 6.25035 7.08018C6.34172 7.17004 6.43308 7.17004 6.52444 6.99032C6.6158 6.8106 6.70716 6.63087 6.79852 6.54101C6.98124 6.00184 7.25532 5.46267 7.43804 4.9235C7.62076 4.47419 7.89484 3.93502 8.16893 3.39585C8.26029 3.21613 8.35165 2.94654 8.44301 2.76682C8.53437 2.58709 8.71709 2.31751 8.89981 2.04792C8.99117 1.95806 8.99117 1.8682 9.08253 1.8682C9.17389 1.8682 9.17389 1.77834 9.17389 1.77834C9.26525 1.59861 9.35661 1.41889 9.44797 1.14931C9.53933 1.05944 9.53933 1.05944 9.53933 0.969582C9.63069 0.87972 9.63069 0.789859 9.72205 0.87972C9.81341 0.969582 9.90477 0.969582 9.90477 1.05944C9.90477 1.0707 9.92915 1.10735 9.97486 1.16939C9.94763 0.980079 10.1089 0.699997 10.2702 0.699997C10.3616 0.699997 10.4529 0.789859 10.5443 0.87972C10.9097 1.41889 11.0925 1.95806 11.3665 2.49723C11.4579 2.67696 11.5493 2.85668 11.5493 3.0364C11.6406 3.12626 11.6406 3.12626 11.732 3.12626H11.9147C12.0061 3.12626 12.0061 3.21613 12.0974 3.30599C12.1888 3.57557 12.4629 3.93502 12.6456 4.20461C12.8283 4.38433 12.9197 4.56405 13.011 4.83364C13.1024 4.9235 13.1024 5.01336 13.1938 5.10322L13.2851 5.19309C13.2851 5.37281 13.3765 5.37281 13.5592 5.37281C14.016 5.46267 14.4728 5.46267 14.9296 5.55253C15.3864 5.64239 15.9346 5.73226 16.3914 5.73226C16.7568 5.82212 17.1223 5.82212 17.4877 5.91198C17.8531 6.00184 18.2186 6.00184 18.584 6.0917L20.2285 6.36129C20.3199 6.45115 20.5026 6.45115 20.594 6.36129C20.6853 6.27143 20.7767 6.36129 20.9594 6.27143C20.9594 6.36129 21.0508 6.45115 20.9594 6.45115C20.868 6.54101 20.868 6.63087 20.868 6.72074C20.7767 6.8106 20.7767 6.90046 20.6853 6.90046C20.5026 6.99032 20.4112 6.99032 20.3199 7.17004C20.3199 7.25991 20.2285 7.25991 20.2285 7.34977C20.0458 7.43963 19.8631 7.61935 19.7717 7.79908C19.6803 7.88894 19.589 7.9788 19.4976 7.9788C19.1322 8.24839 18.7667 8.60783 18.4013 8.87742C18.2186 9.05714 17.9445 9.23687 17.7618 9.41659C17.5791 9.68617 17.305 9.95576 17.0309 10.1355C16.8482 10.3152 16.6654 10.4051 16.5741 10.4949C16.2086 10.7645 15.9346 11.124 15.5691 11.4834L15.4778 11.5733C15.7518 11.9327 15.8432 12.382 15.9346 12.8313C16.0259 13.1908 16.1173 13.5502 16.3 13.9097C16.3914 14.0894 16.3914 14.1793 16.3914 14.4488C16.4827 14.8982 16.6654 15.4373 16.7568 15.8866C16.8482 16.1562 16.8482 16.5157 16.8482 16.8751C16.8482 17.1479 16.7956 17.3171 16.6904 17.3437Z\"\n fill={starTypeFill()}\n stroke={ICON_COLOURS[accentColour]}\n />\n </svg>\n )\n}\n\nexport type { StarTypes }\nexport default Star\n","// @noflow\nimport React from 'react'\n\ntype Props = {\n size: number\n width?: number | string\n}\n\nconst Stethoscope = ({ size, width }: Props): JSX.Element => {\n return (\n <svg\n viewBox=\"0 0 23 32\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width={width || '100%'}\n height={size}\n fill=\"none\"\n >\n <path\n d=\"M2.899 22.464c0 .382-.144 1.12.039 1.45.077.138.162.318.274.43.184.185.222-.01.353-.113.346-.27.806-1.293.43-1.689-.158-.167-.916-.673-1.096-.313M13.443 2.188c0 .381-.144 1.12.039 1.45.077.138.162.318.274.43.184.184.222-.011.353-.113.346-.27.806-1.293.43-1.689-.158-.167-.916-.673-1.096-.313M11.092 1.796c-.162.593-1.219.86-1.254 1.489-.012.23-.212.688-.152.896.055.195.851-1.032.897-1.088.26-.318.286-.822.352-1.219\"\n stroke=\"#fff\"\n />\n <path\n d=\"M9.939 2.322c-.925 0-2.714-1.726-3.822-1.234-4.052 2.028-2.152 5.005-2.123 6.31.033 1.41 1.2 2.95 2.123 3.925.732.772 1.398 1.639 2.057 2.463.472.59.977 1.165 1.51 1.698.239.24.47.535.764.699.287.159.46.514.68.745.212.224.588.581.698.868.06.158.895 1.266.953 1.208.337-.337.45-1.062.684-1.477.182-.324.459-.59.637-.901.183-.32.493-.556.717-.845.221-.284.338-.673.6-.934.813-.813 1.424-1.85 2.25-2.675.354-.354.576-.756.891-1.141.366-.447.776-.866 1.19-1.279.609-.61 1.225-1.365 1.655-2.118.308-.538.414-1.299.552-1.91.205-.911.82-2.229.486-3.129-.106-.285-.475-.434-.745-.528-.544-.19-1.188-.186-1.694-.467-.287-.16-.998-.187-1.326-.208-.817-.05-1.69-.06-2.496.08-.547.096-1.05.494-1.523.765-.152.087-.217.78-.217.34\"\n stroke=\"#174F78\"\n />\n <path\n d=\"M14.44 2.916c0-.363-.342-.886-.68-1.038-.54-.243-.492-.053-.698.359-.284.567-.236 1.182-.236 1.826 0 .435 1.166.533 1.486.462.488-.109.195-1.371-.042-1.609M11.298 2.831c0-.371-.108-1.351-.34-1.061-.219.273-.395.62-.68.844-.423.333-1.263 1.328-.952 1.916.056.106.519.254.656.254.41 0 .325-.21.594-.424.097-.078.205-.547.212-.68.017-.293.265-.635.34-.934M12.487 7.625c0 .932-.19 2.094.066 2.991.078.275.188 1.198.188.406\"\n stroke=\"#174F78\"\n />\n <path\n d=\"M10.449 9.493h2.387c.507 0 1.241-.14 1.689.085M12.742 20.24v1.316c0 .486-.188.467-.642.467-.73 0-1.42-.023-2.123-.189-1.41-.331-3.18.315-3.18 2.01 0 .33-.046.442.255.576.274.121.632.066.934.066 1.348 0 2.685-.085 4.029-.085 1.227 0 2.229.102 3.378.528.64.237.992 1.032 1.274 1.595.605 1.21-.25 2.478-1.142 3.208-.434.355-1.027.489-1.562.575-.931.152-1.844.293-2.788.293-.574 0-1.15-.17-1.703-.17-.326 0-.61-.17-.939-.17-.278 0-.551-.16-.82-.17-.312-.012-.715-.061-1-.188-.273-.122-.574-.1-.855-.198-.596-.21-1.16-.417-1.693-.76-.834-.536-.51-2.326-.51-3.184\"\n stroke=\"#174F78\"\n />\n <path\n d=\"M3.57 21.174c-.681 0-2.1.301-2.288 1.146-.108.487.078.912.16 1.364.198 1.088.905 1.736 2 1.736 1.202 0 1.742-.821 1.742-1.991 0-.595.221-1.477-.236-1.934-.296-.296-.643-.236-1.038-.236\"\n stroke=\"#174F78\"\n />\n <path\n d=\"M7.737 13.59c.124.023.177.07.279.165.626.586 1.173 1.264 1.75 1.897.427.468.953.904 1.326 1.42.249.345.634.57.891.892.246.307.34.133.52-.095.303-.388.842-.71 1.056-1.137a.834.834 0 0 1 .293-.32c.219-.13.357-.549.49-.765.204-.33.514-.854.783-1.123.306-.306.473-1.17.85-1.358\"\n stroke=\"#fff\"\n />\n <path\n d=\"M6.555 13.141c-.057.066-.427.747-.44.836.116.058.657.607.749.705.102.11.215.227.302.35.18.258.466.45.624.73.124.218.307.403.47.591.12.137.286.236.395.378.095.123.235.228.346.339.118.118.233.242.356.356.135.126.228.287.383.395.108.074.247.258.383.274.082.009.233.253.29.311.174.179.374.334.57.486l.017.013c.123.096.272.163.383.274.11.11.236.212.366.296.222.142.457.321.709.393.082.024.16.078.24.122.046.026.21-.184.234-.204.125-.1.237-.21.369-.303.295-.209.513-.508.766-.763a6.53 6.53 0 0 0 .81-.954c.136-.204.32-.348.482-.527.358-.398.646-.85.986-1.264.223-.272.422-.557.624-.838.097-.133.178-.276.264-.416.085-.14.204-.263.295-.4.067-.1.158-.195.214-.301.067-.127.112-.136.017-.231-.052-.053-.1-.117-.156-.165-.042-.036-.06-.09-.097-.13-.045-.047-.107-.065-.153-.11-.226-.213-.488-.382-.706-.608-.202-.21-.435-.466-.673-.63-.042-.029-.196-.175-.253-.162-.07.015-.138.147-.187.196-.303.303-.559.65-.853.964-.118.126-.201.279-.308.416-.12.155-.237.325-.35.487-.164.233-.358.445-.537.664-.12.146-.248.289-.35.448-.059.09-.16.156-.213.241-.095.151-.357.252-.495.36-.072.057-.242.249-.349.217-.005-.002-.034-.08-.06-.095-.071-.041-.125-.147-.176-.21a1.312 1.312 0 0 0-.294-.262c-.306-.21-.555-.483-.812-.755-.518-.547-.991-1.136-1.512-1.687-.123-.13-.224-.284-.367-.394-.09-.07-.123-.187-.224-.252a1.452 1.452 0 0 1-.265-.242c-.042-.05-.107-.053-.152-.098a.462.462 0 0 0-.136-.104c-.118-.044-.138-.097-.236-.005-.05.047-.151.12-.21.153-.143.082-.274.243-.393.362-.136.137-.27.276-.405.415-.102.105-.187.226-.282.338Z\"\n stroke=\"#174F78\"\n />\n </svg>\n )\n}\n\nexport default Stethoscope\n","// @noflow\nimport React from 'react'\n\nimport {\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\ntype Props = {\n size: number\n accentColour: IconColours\n backgroundColour?: IconColours\n width?: number | string\n}\n\nconst StopVan = ({\n size,\n accentColour,\n backgroundColour,\n width\n}: Props): JSX.Element => {\n return (\n <svg\n width={width}\n height={size}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M9.85 10.92c6.182.294 9.091.48 15.386.424 2.996-.027 10.862 5.917 11.639 6.823 2.408 2.809 0 6.403 0 6.403l-2.455 1.17s-.78 2.73-3.12 2.34c-2.34-.39-1.56-2.73-1.56-2.73-1.179.295-7.369-.295-10.92.39-2.484.48-1.56 2.34-3.51 2.34-1.95 0-1.905-2.03-3.12-2.73-1.235-.71-2.934-.091-3.408-.197L9.85 10.92Z\"\n fill={backgroundColour ? ICON_COLOURS[backgroundColour] : '#fff'}\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M36.844 23.886a.534.534 0 0 1-.284.284 6.525 6.525 0 0 1-1.863.514c-.231.012-.39.043-.52.08-.014-.041-.034-.08-.047-.122a2.193 2.193 0 0 0-.353-.682c-.067-.086-.126-.177-.197-.258-.154-.174-.34-.299-.53-.422a2.326 2.326 0 0 0-1.02-.357l-.204-.015-.205.004c-.136.005-.273.02-.41.032a.3.3 0 0 0-.104.028c-.209.098-.422.186-.619.306-.124.075-.24.18-.332.305-.131.178-.26.366-.413.52-.117.119-.194.255-.276.396a.793.793 0 0 0-.129.372c0 .015-.008.029-.01.046-.477.108-1.103.258-1.256.273-.78.079-1.508.008-2.238-.089-.034.001-.055.007-.089.007-1.346.001-4.018.398-5.592-.27a75.44 75.44 0 0 1-2.647-.083l-.03-.089c-.011-.044-.037-.086-.055-.128a2.63 2.63 0 0 1-.093-.24 1.143 1.143 0 0 0-.363-.554.416.416 0 0 1-.102-.095.43.43 0 0 0-.292-.195 1.502 1.502 0 0 1-.475-.193 1.315 1.315 0 0 0-.816-.147l-.111.016c-.162-.025-.344.017-.527.039-.318.041-.634.127-.91.328-.156.116-.3.247-.44.389-.124.123-.254.236-.362.375-.019.02-.031.045-.046.068-.92-.052-2.231-.032-2.43-.376-.266.074-.596-.001-.594-.317.008-1.49-.067-3.063.152-4.535l.001-.005c-.003-.032-.016-.05-.016-.092 0-.15.007-.306.028-.454.032-.265.042-.53.04-.794-.001-.382.005-.76.005-1.144 0-.203-.021-.405-.006-.608.047-.667.107-1.333.16-2 .053-.655.127-1.309.077-1.973-.017-.238.05-.32.224-.34.064-.007.143.014.19-.028.161-.143.332-.114.49-.045.164.07.314.052.473.012a2.08 2.08 0 0 1 .477-.087c.366-.01.737-.02 1.104.014.441.044.883.077 1.325 0 .054-.01.113-.002.17-.002.395.006.789.033 1.187-.009.178-.016.359.005.534.021l.649.07.409.026.41.023c.226.013.45.049.679.036.411-.023.82-.127 1.237-.106.084.002 1.024-.2 1.467-.134.185.027.198.043.193.307-.008.318.167.388.154.705-.029.721.146.27.118.99-.003.069.021.59-.013.833-.035.244.132.632.132.701 0 .074.074.529.095.64.066.331.065.51.068.73.066.082.074.519.15.59.125.12.27-.067.424.027.106.064.369.137.369.137.147.063.507.02.68.068.188.052.468-.002.69.03.222.035.886-.074 1.144-.057.214.014 1.056.026 1.207.027.196.001.603.072.799.068.157-.002.657-.022.813-.028.581-.02.981-.09 1.59-.151.11-.012.676-.07.776-.078.017-.009.02-1.304.038-1.31-.047.016-.066-.565-.059-.816.01-.371.596-.098.95.205.625.535 1.345.79 1.786 1.698.259.53.413 1.205.612 1.765.09.256.46 1.341.539 1.607 1.149 1.12 2.85-.136 2.952 1.658.036.611-.17 1.567-.689 2.058ZM33 26.016c-.024.131-.04.263-.119.374-.023.028-.034.065-.048.1-.05.109-.112.213-.186.307a.179.179 0 0 1-.11.07.802.802 0 0 0-.197.065 1.655 1.655 0 0 1-.515.14.23.23 0 0 1-.158-.029.733.733 0 0 0-.152-.065 1.758 1.758 0 0 1-.457-.235.47.47 0 0 1-.162-.16 2.08 2.08 0 0 1-.217-.544.653.653 0 0 1-.004-.143c.002-.059.015-.117.02-.175.014-.15.053-.291.121-.423l.106-.23.04-.075.05-.071c.057-.079.374-.306.461-.34.01-.003.018-.006.028-.007.087-.013.142-.069.172-.159a.462.462 0 0 1 .413.045c.17.112.34.222.51.336a.32.32 0 0 1 .107.13c.042.088.085.182.146.257a.484.484 0 0 1 .106.277l.048.477a.358.358 0 0 1-.003.079Zm-16.712.37c-.004.108-.017.207-.095.29-.034.036-.05.096-.07.145-.025.05-.04.105-.067.151-.149.246-.322.461-.612.516a.131.131 0 0 0-.03.01c-.17.07-.346.048-.52.029-.192-.022-.355-.124-.51-.239a1.139 1.139 0 0 1-.43-.636c-.028-.1-.05-.204-.078-.306a.497.497 0 0 1-.005-.246c.017-.074.037-.152.043-.228.007-.107.04-.206.057-.31a.597.597 0 0 1 .193-.331c.11-.101.227-.196.353-.268.206-.118.431-.179.698-.214a.918.918 0 0 1 .503.138c.057.034.1.076.14.13.147.196.265.412.373.633a.64.64 0 0 1 .068.238c.018.168-.005.332-.01.499Zm6.952-14.211c.001-.096.004-.189.01-.284.006-.091.017-.185.1-.261.189.009.387.016.584.023a.214.214 0 0 0 .068-.007c.176-.042.059-.031.234.007.057.013.115.016.174.028.275.06.557 0 .836.066.194.047.39.066.588.096.116.017.469.048.71.108.52.129.662.403.9.544.039.022.076.049.113.074.096.072.192.15.29.217.2.134.43.208.621.364.065.053.142.087.21.132.106.067.498.3.793.49.27.172.493.412.634.7.052.105.09.205.082.264-.04.371-.01.832.044 1.203.012.087.012.176.012.262 0 .23-1.15.065-1.153.109-.03.015-.45.048-.64.077-.078.012-.14-.028-.19-.111.026-.035.048-.079.081-.105.162-.128.23-.337.32-.505.046-.092.082-.193.117-.29.014-.034.033-.064.044-.099.02-.077 0-.149-.058-.206a.254.254 0 0 0-.289-.039 6.93 6.93 0 0 0-.224.12.4.4 0 0 0-.099.083c-.14.168-.305.314-.43.5a1.316 1.316 0 0 1-.112.145c-.13.14-.258.277-.41.435-.036.002-.094.012-.153.007-.167-.016-.677-.088-.772-.091l-.507-.014c-.067-.001-.134.006-.2.001-.325-.029-.656-.025-.98-.109a.565.565 0 0 0-.124-.012.681.681 0 0 1-.446-.166c-.164-.132-.33-.264-.494-.4a.28.28 0 0 1-.098-.124l-.06-.198c-.028-.098-.046-.2-.028-.31.03-.159.01-.316-.011-.472a1.164 1.164 0 0 1-.022-.283c.01-.136.003-.268-.024-.401a1.721 1.721 0 0 1-.026-.45c.008-.124-.01-.252-.014-.378-.002-.08-.009-.157-.009-.236 0-.168.008-.336.008-.504Zm11.42 5.418c.123.054.255.067.385.091.26.049.523.1.78.175.181.053.367.126.492.3.087.121.185.226.299.316.046.037.078.092.118.14.13.146.204.33.294.5.064.12.138.246.13.407-.03.005-.055.014-.085.014-.11 0-.219-.002-.328-.006-.052 0-.106 0-.156-.006-.14-.01-.279-.025-.418-.037-.078-.008-.161-.011-.24-.017a.337.337 0 0 1-.289-.193 7.642 7.642 0 0 1-.187-.379 1.833 1.833 0 0 0-.227-.405l-.48-.615-.064-.086a.826.826 0 0 1-.103-.2c.04 0 .06-.006.078 0Zm4.383 6.271-.03-.281-.025-.164-.027-.163c-.057-.31-.117-.623-.172-.932-.032-.202-.093-.385-.237-.526a.377.377 0 0 1-.117-.295c0-.045-.015-1.252-.03-1.295-.069-.195-.077-.402-.094-.607a3.573 3.573 0 0 0-.531-1.568c-.247-.395-.574-.652-.96-.852a2 2 0 0 1-.341-.218 3.43 3.43 0 0 0-.734-.435c-.007-.003-.018-.002-.022-.007-.329-.235-.703-.364-1.056-.55-.152-.078-.314-.135-.47-.205-.116-.05-1.145-.897-1.407-1.079-.18-.122-.366-.243-.537-.38a7.856 7.856 0 0 1-.941-.869 4.692 4.692 0 0 0-.666-.62 5.387 5.387 0 0 0-.622-.41c-.079-.045-.143-.112-.216-.164-.062-.044-.12-.104-.188-.12-.214-.051-.39-.187-.578-.296-.136-.08-.27-.164-.403-.245a7.111 7.111 0 0 1-.642-.427c-.097-.072-.205-.123-.309-.184a80.41 80.41 0 0 0-.739-.429c-.034-.017-.069-.028-.105-.044-.14-.067-.28-.138-.425-.207a20.479 20.479 0 0 0-.361-.049c-.05-.005-.104-.004-.156-.004-.161-.004-.322-.01-.485-.008-.094 0-1.066-.105-1.158-.09-.08.01-.853.115-1.125.106a49.474 49.474 0 0 0-.927-.016c-.51.008-1.019-.005-1.525-.063-.124-.014-.25-.031-.377-.026-.123.004-.244.038-.368.05-.183.024-.364.047-.549.06-.287.023-.573.041-.86.056-.22.012-.443.021-.663.018-.206-.002-.413-.019-.618-.033-.28-.016-.559-.038-.84-.05-.396-.012-.796-.016-1.192-.027-.126-.004-.25-.018-.375-.03a4.867 4.867 0 0 0-.97.03c-.19.022-.384.011-.574.012-.302.003-.605.013-.907.003-.357-.015-.719.03-1.078-.04a.6.6 0 0 0-.239.028c-.166.04-.33.074-.502.086-.158.009-.32.044-.48.075a.374.374 0 0 0-.143.061.535.535 0 0 1-.445.066c-.097-.029-.193-.002-.282.035a.733.733 0 0 1-.321.067.33.33 0 0 0-.165.052c-.059.037-.099.097-.074.18.023.071.012.14.005.211-.013.14-.029.284-.001.424.008.04.006.08.006.12l-.008.64c0 .118.002.236-.06.345a.337.337 0 0 0-.03.157c-.001.102 0 .206.007.308a.943.943 0 0 1-.057.418c-.032.073-.029.169-.026.255.011.276.035.554.043.83.005.189.003.38-.011.568a.301.301 0 0 1-.088.183c-.1.083-.122.191-.137.31a.592.592 0 0 0-.002.046c-.004.262-.004.523-.007.784-.001.15 0 .3-.012.45-.008.11-.002.21.067.291.07.081.07.17.061.267-.022.284-.048.567-.069.849-.007.112.003.222 0 .333-.012.38-.037.759-.038 1.137a64.48 64.48 0 0 0 .049 1.771c.008.104.021.205.016.308-.013.356-.03.71-.045 1.067-.003.078 0 .158.01.238.029.23-.01.458-.036.684-.017.141-.1.26-.17.38a2.372 2.372 0 0 0-.158.285c-.1.22-.08.45-.013.672.057.18.108.36.142.547.02.113.083.218.135.323.016.032.05.06.082.076.13.062.26.118.404.115.103-.004.206.001.309-.004.198-.009.395-.023.593-.033.193-.01.385-.021.575-.033.294-.02.587-.035.883-.056.068-.005.131 0 .182.054.049.054.104.06.161.023.06-.04.108-.017.164.012.092.041.513.05.869.017.007.11.01.22.022.329.035.305.136.583.277.85.111.205.211.417.322.623.122.23.302.41.487.58a.448.448 0 0 0 .225.097c.097.016.182.059.273.093.172.069.345.149.524.186.179.037.366.049.55.02.153-.021.305-.049.459-.077.102-.017.203-.052.305-.05.213.002.407-.084.592-.172.24-.113.48-.247.625-.502a.628.628 0 0 1 .101-.126c.192-.187.295-.43.382-.684.025-.073.045-.15.068-.225a.331.331 0 0 0 .027-.207.24.24 0 0 1 0-.118c.042-.199.044-.4.04-.602.397.098 1.184.156 1.296.109l.223-.1.082-.026c.107-.029.216-.034.323.042.08.056.174.046.257.016.252-.092.506-.075.764-.036.27.04 1.055.113 1.311.104.252-.01 1.389-.088 1.542-.097.236-.016.471-.023.707-.03.2-.005.398-.005.597-.006.118 0 .238-.01.354.005.205.029.41.032.617.016.352-.028 1.324-.065 1.842-.165.258-.052.518-.11.779-.152.083-.014.4.053.715.113-.032.221.043.42.127.613.046.11.1.213.157.316a.884.884 0 0 1 .104.358c.009.137.054.268.138.38l.14.154.065.08c.063.065.127.133.189.2.037.038.086.068.108.115.088.184.253.247.413.292.215.057.438.082.654.13.306.071.616.035.925.06a.468.468 0 0 0 .23-.068.87.87 0 0 1 .294-.094c.186-.023.36-.08.488-.243.03-.04.08-.07.127-.088.245-.085.4-.284.541-.498.141-.205.246-.43.346-.66.083-.195.12-.406.137-.616.034.272.813-.62 1.048-.726.095-.043.189-.09.28-.132.132-.06.274-.06.414-.054.117.003.234.01.354.014.035.002.074 0 .109-.01.277-.08.556-.154.828-.247.23-.081.459-.174.674-.292.149-.082.3-.13.459-.155.196-.024.344-.134.477-.269a.503.503 0 0 0 .124-.437c-.015-.095-.037-.186-.05-.28Z\"\n fill={ICON_COLOURS[accentColour]}\n />\n <path\n d=\"M4.287 4.765c1.871-1.015 4.62-2.28 8.135-1.547.063.123.804.105 1.003.14.377.067.736.177 1.102.308.28.1.487.319.763.416.233.082.5.193.708.324.445.279.784.686 1.194 1.007.436.341.94.668 1.33 1.059.325.326.508.835.779 1.207.42.576.817 1.35 1.094 2.003.253.597.605 1.26.605 1.918 0 2.214-.263 4.684-1.53 6.583-1.239 1.86-3.004 3.404-5.34 3.814-1.36.238-2.864.072-4.244.072-.93 0-1.84-.121-2.76-.144-.522-.014-1.68-.936-2.186-1.076-.794-.765-1.909-1.526-2.38-2.296-1.159-1.89-1.523-2.668-1.907-4.846-.108-.613-.017-1.307-.017-1.93 0-.638.198-1.167.299-1.796.085-.532.32-1.096.522-1.598.174-.436.26-.898.522-1.295.327-.498.651-1.045 1.081-1.46.39-.375.746-.602 1.227-.863Z\"\n fill=\"#fff\"\n />\n <path\n d=\"M5.742 6.387c1.504-.846 3.712-1.9 6.538-1.289.05.103.646.088.806.117.303.055.591.147.885.256.225.083.392.266.613.347.188.068.402.16.57.27.357.232.63.571.959.839.35.284.755.556 1.069.882.26.271.408.696.626 1.006.337.48.656 1.124.879 1.668.203.498.486 1.051.486 1.599 0 1.845-.211 3.902-1.229 5.485-.996 1.55-2.414 2.835-4.292 3.177-1.092.198-2.301.06-3.41.06-.748 0-1.479-.1-2.218-.12-.42-.011-1.35-.78-1.757-.896-.638-.638-1.534-1.272-1.913-1.913-.93-1.576-1.223-2.223-1.532-4.038-.087-.51-.014-1.089-.014-1.609 0-.53.16-.971.24-1.495.068-.444.258-.913.42-1.332.14-.363.21-.748.42-1.079.262-.415.523-.87.869-1.216.313-.313.599-.502.985-.719Z\"\n stroke={ICON_COLOURS[accentColour]}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n <path\n d=\"M7.233 10.08c.793.528 1.424 1.18 2.096 1.852.323.323.639.639.942.98.308.346.642.662.938 1.021.24.292.446.626.71.89.417.418.747.974 1.264 1.278.37.217.603.634.972.818\"\n stroke={ICON_COLOURS[accentColour]}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n <path\n d=\"M7.031 16.717c.242-.385.6-.763.913-1.093.215-.227.348-.568.625-.737.36-.22.632-.664.931-.963.322-.322.612-.662.972-.94.39-.3.737-.654 1.133-.953.38-.287.762-.59 1.133-.89.337-.273.788-.506 1.053-.85.149-.194.477-.43.688-.536\"\n stroke={ICON_COLOURS[accentColour]}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n </svg>\n )\n}\n\nexport default StopVan\n","// @noflow\nimport React from 'react'\n\ntype Props = {\n size: number\n width?: number | string\n}\n\nconst Close = ({ size, width }: Props): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={width || '100%'}\n height={size}\n viewBox=\"0 0 25 25\"\n fill=\"none\"\n >\n <path\n d=\"M13.4679 12.4002L19.3773 6.49077C19.6725 6.19553 19.6725 5.71686 19.3773 5.42162C19.082 5.12639 18.6034 5.12639 18.3081 5.42162L12.3987 11.331L6.4893 5.42162C6.19407 5.12639 5.7154 5.12639 5.42016 5.42162C5.12492 5.71686 5.12492 6.19553 5.42016 6.49077L11.3296 12.4002L5.42013 18.3096C5.12489 18.6049 5.12489 19.0835 5.42013 19.3788C5.71536 19.674 6.19403 19.674 6.48927 19.3788L12.3987 13.4693L18.3082 19.3788C18.6034 19.674 19.0821 19.674 19.3773 19.3788C19.6725 19.0835 19.6725 18.6049 19.3773 18.3096L13.4679 12.4002Z\"\n fill=\"white\"\n />\n </svg>\n)\n\nexport default Close\n","// @noflow\nimport React from 'react'\n\nimport {\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\ntype Props = {\n size: number\n accentColour: IconColours\n backgroundColour?: IconColours\n width?: number | string\n}\n\nconst Van = ({\n size,\n accentColour,\n backgroundColour,\n width\n}: Props): JSX.Element => {\n return (\n <svg\n fill=\"none\"\n height={size}\n viewBox=\"0 0 40 25\"\n width={width || '100%'}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"m2.5 1c7.9257.37737 11.6555.61521 19.7258.54359 3.8405-.03409 13.9258 7.58562 14.9212 8.74691 3.0872 3.6017 0 8.2095 0 8.2095l-3.147 1.5s-1 3.5-4 3-2-3.5-2-3.5c-1.511.3777-9.4473-.3785-14 .5-3.185.6146-2 3-4.5 3s-2.4427-2.6037-4-3.5c-1.58339-.9113-3.76161-.1166-4.36981-.2524z\"\n fill={backgroundColour ? ICON_COLOURS[backgroundColour] : '#fff'}\n />\n <path\n clipRule=\"evenodd\"\n d=\"m37.1077 17.6231c-.0606.1439-.1729.2774-.3634.3635-.7978.3605-1.5748.5504-2.3888.6602-.2969.0148-.5008.0549-.6662.1024-.0192-.0535-.0444-.1039-.0606-.1573-.1019-.322-.2526-.6128-.4535-.8739-.0857-.1098-.1611-.227-.2527-.3308-.1964-.2226-.4357-.3828-.678-.5416-.4078-.2685-.848-.4005-1.3089-.4569l-.2615-.0193-.2629.0045c-.1743.0074-.3501.0252-.5245.0415-.0458.0044-.093.0148-.1344.0356-.2674.1261-.5407.2389-.7933.3932-.1595.0949-.3073.2299-.4255.3902-.1684.2284-.3323.4688-.5303.6661-.1492.1528-.2482.3279-.3531.5089-.0856.1454-.1566.2938-.1654.4763 0 .0192-.0104.037-.0118.0593-.6131.138-1.4153.3309-1.6118.3501-.9986.1009-1.9322.0104-2.8688-.1142-.0429.0015-.0709.0089-.1138.0089-1.7254.0015-5.1513.5104-7.1692-.3457-.6486.0045-2.6385-.0682-3.3933-.1068-.0119-.0371-.0266-.0757-.0385-.1143-.0147-.0563-.0487-.1097-.0709-.1646-.0443-.1009-.0856-.2033-.1196-.3071-.0931-.2834-.2379-.5282-.4654-.7107-.0487-.0356-.0945-.0712-.13-.1217-.0916-.1409-.2216-.221-.3752-.2492-.2186-.0371-.4151-.1395-.6086-.2478-.3324-.184-.68106-.2314-1.04595-.1884-.03693.0044-.07534.0104-.1433.0208-.20682-.0327-.44023.0207-.67512.0489-.40773.0534-.8125.1632-1.16557.4214-.20091.1483-.38557.316-.5658.4985-.15807.1572-.325.3026-.46387.4807-.02363.0267-.03988.0578-.05909.0875-1.17887-.0668-2.86001-.0415-3.11558-.4822-.33978.095-.76376-.0015-.7608-.4065.01034-1.9109-.08569-3.9272.195-5.8144l.00148-.0059c-.00444-.0416-.02069-.0638-.02069-.1187 0-.1929.00887-.3917.03546-.5816.04136-.3397.05466-.6795.0517-1.01776-.00147-.48961.00591-.97475.00591-1.46732 0-.25964-.02659-.51928-.00738-.77892.06056-.85457.13738-1.70915.20534-2.56521.06795-.83825.1625-1.67651.09898-2.52812-.02216-.30563.06352-.40948.28659-.43619.08273-.0089.18318.0178.24375-.03561.20682-.18397.42546-.14688.62932-.05786.20978.0905.40182.06676.60569.01484.20238-.05341.40773-.10683.61159-.11128.4683-.01187.94398-.02522 1.41524.01781.5658.05638 1.13159.0994 1.69887 0 .06943-.01336.14477-.00297.21864-.00297.50523.0089 1.01046.04303 1.52009-.01038.229-.02078.4609.00593.6855.0267l.8317.0905.5244.03264.5259.02968c.2896.01632.5777.06231.8702.04599.5274-.02967 1.0518-.1632 1.5866-.1365.1078.00297 1.3118-.25518 1.8805-.1721.2364.03561.2541.05638.2467.39465-.0103.40652.2143.49702.198.90354-.0369.9243.1876.34717.1507 1.26851-.003.08902.0281.75665-.0163 1.06822-.0443.31305.1699.81007.1699.89908 0 .09496.0946.67803.1212.82046.0842.42432.0827.65428.0871.93617.0842.10534.0946.66467.1921.75666.161.1543.3456-.08605.5436.03412.1359.0816.4727.17507.4727.17507.1891.0816.65.02671.8716.08754.2423.06676.6013-.00297.8849.03857.2851.04451 1.1361-.09495 1.467-.0727.2747.01781 1.3546.03264 1.5482.03413.2511.00148.7726.09198 1.0237.08753.2009-.00297.8421-.02819 1.043-.0356.7445-.02523 1.2571-.11573 2.0386-.19436.1404-.01484.8657-.08902.9942-.09941.0222-.01187.0251-1.67206.0488-1.68096-.0606.02226-.0842-.72253-.0754-1.04448.0133-.47625.7638-.12611 1.2188.2626.8007.68544 1.7225 1.01333 2.2883 2.1765.3324.67951.5303 1.54452.7844 2.26252.1153.3279.591 1.7196.6914 2.0608 1.4729 1.4362 3.6533-.1751 3.7848 2.1261.0458.7833-.2172 2.0088-.8834 2.6379zm-4.9282 2.7314c-.031.1676-.0517.3367-.1522.4792-.0295.0356-.0443.0831-.062.1276-.065.1394-.1433.273-.2379.3931-.0384.0475-.0797.0787-.1418.0905-.0857.0164-.1728.0445-.2526.0831-.2127.1009-.4328.1513-.6604.1795-.0709.0104-.1373.0015-.2023-.0371-.0606-.0356-.1286-.0623-.195-.083-.2142-.0624-.3989-.181-.585-.3012-.0828-.0534-.1581-.1172-.2083-.2062-.1212-.2196-.2216-.4496-.2778-.6974-.0103-.0593-.0088-.1231-.0059-.1824.003-.0757.0192-.1499.0266-.2241.0177-.1928.068-.3738.1551-.543l.1359-.2937.0517-.0965.0621-.092c.0739-.1009.4801-.3916.5924-.4347.0133-.0044.0221-.0089.0354-.0104.1123-.0163.1817-.0875.2201-.2032.1965-.0608.3694-.0475.5304.0578.2186.144.4358.2849.6529.4303.0606.0386.102.0979.1374.1662.0547.1142.1094.2344.1877.3308.0871.1068.124.2226.1359.3546.0221.2033.0413.4065.062.6113.0015.0326.0015.0682-.0044.1009zm-21.425.4747c-.0059.138-.0222.2641-.1226.3709-.0429.046-.0636.1232-.0902.1855-.031.0653-.0517.135-.0856.1943-.1906.3146-.4122.5905-.78448.6617-.01329.003-.02659.0075-.03841.0134-.21864.089-.44318.0608-.66625.0356-.24671-.0282-.455-.1587-.65296-.3056-.27034-.1988-.45943-.4718-.5525-.816-.03546-.1291-.06353-.2611-.10046-.3917-.02954-.1053-.02954-.2092-.00591-.316.02216-.095.04728-.1944.05466-.2923.00887-.1365.05171-.2641.07387-.3961.03545-.1781.12557-.316.2467-.4258.14034-.1291.29103-.2508.45353-.3428.26295-.1513.5525-.2299.89375-.2744.19944-.003.43137.0415.64556.1765.0724.043.1285.0979.1788.1662.1891.2522.3397.5282.4786.8115.0517.095.0739.1944.0872.3057.0236.2151-.0059.4258-.0133.6394zm8.9124-18.22056c.0015-.12314.0044-.24183.0133-.36349.0074-.11721.0207-.23738.127-.3353.2423.01187.4964.02077.749.02967.0311.00148.0606-.00148.0872-.0089.226-.05341.0753-.04006.2999.0089.0738.01632.1477.02077.223.03561.3531.07863.715.00148 1.0726.08456.2481.06083.5008.08457.7534.12315.1492.02225.6012.06231.9114.13946.6648.16468.848.51631 1.1538.69731.0488.02819.096.06231.1433.09495.1241.09199.2467.19139.3723.27744.257.17211.5525.26706.7962.46735.0828.06825.1817.11127.2704.16913.1344.08606.6367.38427 1.0149.62758.3456.22107.6322.52818.8139.89761.0665.13501.1138.2626.1049.33827-.0517.47624-.0133 1.06673.0562 1.54298.0147.11127.0147.22551.0147.3353 0 .29525-1.4728.08309-1.4772.13947-.0384.01928-.5762.06231-.8199.0994-.1005.01484-.1817-.03561-.2453-.14243.034-.04451.0621-.10089.1049-.13501.2068-.1632.2955-.43174.4092-.64687.0591-.11869.1064-.24777.1507-.37239.0177-.04303.0429-.0816.0562-.12611.0251-.0994 0-.19139-.0739-.26409-.0975-.09643-.2482-.10979-.3708-.05044-.0946.04747-.1921.10089-.2866.15281-.0399.02226-.0975.06973-.127.10682-.1788.21662-.3915.40355-.5525.64094-.034.05341-.099.13798-.1433.18694-.167.17952-.331.35459-.5245.55784-.0473.00149-.1211.01484-.1965.00891-.2142-.02077-.8686-.11276-.9897-.11721-.2172-.00445-.4329-.01187-.65-.01781-.0857-.00148-.1729.00742-.2556.00149-.4181-.03709-.8421-.03264-1.2572-.13946-.0532-.01187-.1063-.01632-.1595-.01632-.2172.00296-.4033-.07715-.5717-.21216-.2098-.16914-.424-.33827-.6338-.51186-.0517-.04006-.1063-.09792-.1256-.16023l-.0768-.25371c-.0354-.12611-.0591-.25667-.0354-.39761.0384-.20326.0133-.40503-.0148-.60533-.0192-.11869-.0384-.24331-.0281-.362.0133-.17507.0045-.34421-.031-.51483-.0354-.19139-.0473-.37981-.0325-.57565.0104-.16023-.0118-.32343-.0177-.48515-.003-.10237-.0118-.20177-.0118-.30266 0-.21513.0103-.43174.0103-.64687zm14.6399 6.9464c.158.06973.3279.08605.4949.11721.3338.06231.6706.12759.9986.22403.2334.06825.4712.16172.6323.38422.1108.1558.2363.2894.3826.4051.0591.0475.1004.1187.1521.1795.167.1869.2615.4228.3768.6409.0812.1543.1757.316.1669.5223-.0384.0059-.0709.0178-.1093.0178-.1404 0-.2807-.003-.4211-.0074-.0664 0-.1359 0-.1994-.0075-.1802-.0133-.3575-.0326-.5362-.0474-.1005-.0104-.2069-.0149-.3088-.0223-.164-.0133-.2895-.0935-.3693-.2478-.0827-.1587-.164-.3189-.2393-.4851-.0813-.184-.167-.362-.2911-.5193l-.616-.78928-.0827-.10979c-.0517-.07567-.0975-.15727-.1315-.25519.0502 0 .0768-.0089.1005 0zm5.6195 8.03986-.0384-.3605-.031-.2107-.0355-.2077c-.0723-.3976-.1492-.7997-.2201-1.1958-.0413-.2582-.1196-.4926-.3043-.6736-.1034-.1024-.1536-.224-.1492-.3783 0-.0579-.0192-1.6053-.0399-1.6602-.0871-.2508-.0975-.5163-.1196-.7789-.0709-.73-.297-1.3917-.6811-2.0104-.3161-.5059-.7356-.83526-1.2291-1.09193-.1521-.08012-.3058-.16914-.4387-.27893-.2925-.23441-.6101-.40651-.941-.55785-.0089-.00445-.0222-.00296-.0281-.0089-.421-.30118-.9012-.46734-1.3532-.70473-.195-.10088-.4033-.17358-.6027-.26408-.1492-.0638-1.4684-1.14982-1.8038-1.38276-.2319-.15726-.4698-.31156-.6884-.48811-.424-.34273-.8376-.6988-1.2069-1.11273-.263-.2908-.5407-.56082-.8539-.79524-.2585-.19584-.52-.36942-.7977-.5252-.1005-.05787-.1832-.14392-.2763-.21068-.0798-.05638-.1536-.13353-.2408-.1543-.2748-.06528-.4993-.23886-.7416-.37981-.1743-.10089-.3457-.20919-.517-.31305-.2837-.16913-.557-.34717-.8229-.54746-.1241-.09347-.2629-.15875-.3959-.2359-.3161-.185455-.6308-.369427-.9469-.550431-.0443-.022254-.0887-.035607-.1345-.056378-.1802-.086051-.3604-.176553-.5451-.265571-.1477-.020771-.3058-.043026-.4638-.062313-.0636-.007418-.133-.005935-.1995-.005935-.2068-.004451-.4121-.013353-.6219-.010385-.1197.001483-1.3665-.133528-1.4847-.11424069-.1034.01335279-1.0932.14688069-1.4418.13501169-.0842-.004451-1.105-.023739-1.1892-.020771-.653.010385-1.3059-.005935-1.9545-.0801166-.1595-.0178037-.3205-.04005865-.483-.03412409-.1581.00593456-.3132.04896029-.4728.06528039-.2334.0296728-.4668.0593453-.7031.0771493-.3679.028189-.7343.051927-1.1036.071215-.2821.014836-.5673.026706-.8494.022255-.2644-.001484-.5289-.023739-.7918-.041543-.359-.020771-.7165-.04896-1.077-.063796-.5082-.01632-1.02077-.020771-1.52896-.0356076-.16102-.0044509-.32057-.0222547-.48011-.0370911-.41512-.037091-.83024-.0089017-1.24387.0370911-.24376.0281896-.49194.0148366-.73569.0163206-.38705.002967-.77557.01632-1.16262.002967-.45796-.0192875-.92182.038575-1.38274-.0504439-.10045-.01632-.20682.0103858-.30579.0356079-.21273.050444-.42398.094953-.6441.109789-.20239.011869-.41068.056378-.61602.096437-.06353.011869-.12557.040058-.18171.078632-.18023.108306-.3708.145397-.57171.084567-.12409-.037091-.2467-.002967-.36045.04451-.13148.057862-.26739.090502-.41217.086051-.0709-.001483-.1492.029673-.21125.066764-.075338.047477-.127043.124625-.094542.231447.029542.090502.014772.178042.005909.270022-.01625.17952-.036932.36349-.001478.54301.010341.05045.007387.10237.007387.1543-.002955.27151-.007387.54598-.010341.82045 0 .15134.002954.30267-.076819.44213-.031023.05489-.036932.13353-.036932.20177-.002954.13056 0 .26409.007387.39465.007386.18397.001477.35904-.072387.5356-.041364.09347-.036932.21661-.033978.3264.014773.35459.045796.71066.056137 1.06377.005909.24331.002955.48811-.014773.72846-.005909.08309-.054659.18546-.112273.2359-.128524.10534-.156592.2448-.175797.39762-.001477.01928-.002954.03857-.002954.05786-.004432.33679-.004432.6706-.008864 1.00591-.001477.19287 0 .38426-.014773.57713-.010341.13946-.002954.26854.085683.3724.088636.10385.088636.21809.078295.34272-.028068.36349-.062045.72701-.088636 1.08751-.008864.1439.002954.2849-.001478.4273-.014772.4866-.045795.9733-.047273 1.4584-.001477.2641.042841 2.0103.062046 2.27.010341.1335.028069.2626.020682.3946-.01625.457-.038409.911-.057614 1.3679-.002954.1009 0 .2033.013296.3057.036932.2952-.013296.5875-.045796.8768-.022159.181-.128524.3338-.218638.4881-.073864.1187-.14625.2389-.2023872.365-.1285234.2804-.1019324.5771-.0162501.8605.0723873.23.1373873.4614.1817053.7018.025114.1454.106365.2789.172842.4139.020682.0415.063523.0771.104887.0979.166933.0787.333866.1513.518527.1469.13148-.0045.26443.0015.39591-.0045.25409-.0118.50671-.0296.7608-.043.24671-.0133.49341-.0267.73716-.0415.37671-.0252.75194-.046 1.1316-.0727.08716-.006.16841 0 .23341.0697.06205.0697.13296.0772.20682.0297.07534-.0505.13739-.0223.20977.0148.11819.0534.65739.0653 1.11387.0223.00887.1409.0133.2819.02807.4213.0458.3917.17432.7478.35603 1.089.14182.2641.27034.5356.41216.7997.15659.2952.38705.5252.62489.7433.07534.0683.18614.1083.28807.1246.12409.0208.23341.0757.35011.1187.22012.089.44171.1914.67217.2389.22898.0475.4683.0623.70466.0267.19648-.0282.39148-.0638.58796-.0994.13148-.0223.26003-.0668.39143-.0653.2733.003.5215-.1068.7594-.2196.3072-.1454.6145-.316.8007-.6439.0339-.0578.0812-.1142.13-.1617.2452-.2389.3781-.5519.4889-.8768.0325-.0935.0577-.1929.0872-.2878.0355-.0876.0576-.1721.0355-.2656-.0133-.046-.0119-.1024 0-.1513.0531-.2552.0561-.5134.0517-.7715.5081.1246 1.5171.2003 1.6604.1394l.2866-.1291.1049-.0326c.1374-.0371.2763-.043.4136.0534.102.0727.2231.0594.3295.0208.3235-.1172.6485-.0964.9794-.046.3457.0504 1.3532.1454 1.6812.1335.3235-.0118 1.7801-.1127 1.9766-.1246.3028-.0208.6042-.0297.907-.0386.2556-.0059.5097-.0059.7652-.0074.1507 0 .3044-.0133.4536.0059.2629.0371.5259.0416.7918.0208.4506-.0356 1.6974-.0831 2.3607-.2107.3309-.0667.6648-.1424.9986-.1958.1064-.0178.5126.0682.9174.1454-.0413.2834.0547.5386.1625.7863.0591.1395.1285.273.2009.4051.0724.1439.1226.2848.133.4584.0118.1751.0694.3442.1773.4866l.1787.1974.0842.1023c.0813.0846.1625.1721.2423.2582.0473.0475.1108.086.1388.1469.1123.2359.3236.316.5289.3738.2763.0727.5614.1054.8391.1677.3915.0905.7889.0445 1.1863.0757.0975.0074.2024-.0401.2939-.0861.1227-.0638.2468-.1053.3768-.1217.2393-.0296.4609-.1023.6263-.3115.0384-.0505.1034-.089.1625-.1128.3147-.1083.5126-.3635.6943-.6379.1803-.2626.3147-.5505.4432-.8457.1064-.2508.1537-.5208.1758-.7908.0429.3487 1.0415-.7937 1.3429-.9302.1226-.0549.2422-.1143.359-.1692.1698-.0771.3515-.0771.5318-.0697.1492.0044.2999.0133.4535.0178.0443.003.0945 0 .1389-.0119.356-.1038.7135-.1973 1.0621-.3175.294-.1038.588-.2225.8642-.3738.1906-.1054.3856-.1662.588-.1989.2511-.0311.4417-.1721.6116-.3442.1448-.1468.1891-.3486.1595-.5608-.0192-.1216-.0472-.2388-.065-.359z\"\n fill={ICON_COLOURS[accentColour]}\n fillRule=\"evenodd\"\n />\n </svg>\n )\n}\n\nexport default Van\n","// @noflow\nimport React from 'react'\n\nimport {\n ICON_COLOURS,\n IconColours\n} from '@/components/elements/atoms/Icon/Icon'\n\ntype Props = {\n size: number\n accentColour: IconColours\n width?: number | string\n}\n\nconst VanFilled = ({ size, accentColour, width }: Props): JSX.Element => {\n return (\n <svg\n fill=\"none\"\n width={width || '100%'}\n viewBox=\"0 0 24 15\"\n height={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.771 10.16a.963.963 0 0 1 .597.107c.11.06.222.119.347.14a.32.32 0 0 1 .215.14c.02.029.046.049.073.07a.813.813 0 0 1 .266.402c.02.06.044.117.069.175.012.03.031.06.04.092.046.16.114.312.142.476.022.118.046.24.044.358-.006.245.025.493-.027.738a.186.186 0 0 0 0 .084.244.244 0 0 1-.019.151c-.018.054-.032.11-.05.164-.064.183-.14.36-.28.496a.46.46 0 0 0-.074.092c-.106.185-.282.282-.456.364-.136.064-.278.126-.434.125-.075-.001-.148.023-.224.036-.112.02-.223.04-.335.057-.135.02-.272.011-.403-.015-.13-.028-.257-.085-.383-.136-.066-.024-.129-.055-.2-.067a.328.328 0 0 1-.164-.07 1.615 1.615 0 0 1-.356-.421c-.082-.15-.155-.304-.236-.453a1.71 1.71 0 0 1-.203-.617c-.01-.102-.013-.204-.02-.307-.005-.063-.01-.127-.02-.19-.011-.075.055-.125.059-.193.008-.13.061-.242.103-.359a.878.878 0 0 0 .043-.166c.024-.13.074-.251.12-.372.009-.026.029-.047.046-.069.08-.1.175-.183.265-.273.103-.102.208-.197.323-.282.2-.146.432-.208.666-.237.133-.017.267-.047.385-.029l.081-.011Zm12.255-.139c.264.032.515.107.748.259.138.09.275.18.387.307.052.059.095.124.144.187.114.148.2.313.258.495.023.07.047.143.082.207.05.093.07.193.075.296l.013.27c-.008.172-.01.357-.026.54-.013.154-.04.306-.1.449-.073.167-.151.33-.253.478-.104.156-.217.3-.396.362a.222.222 0 0 0-.093.063c-.095.119-.221.16-.358.177a.63.63 0 0 0-.215.069.339.339 0 0 1-.168.048c-.226-.018-.453.008-.677-.042-.158-.036-.321-.054-.478-.095-.118-.033-.239-.078-.302-.212-.016-.034-.052-.057-.08-.084l-.137-.146c-.034-.036-.064-.078-.1-.112l-.05-.057a.506.506 0 0 1-.102-.276.618.618 0 0 0-.077-.26 2.768 2.768 0 0 1-.114-.228c-.065-.151-.131-.304-.093-.478.004-.022-.002-.046 0-.068.014-.177.01-.357.093-.519a.516.516 0 0 0 .05-.216.571.571 0 0 1 .094-.27c.06-.102.117-.202.202-.288.113-.112.206-.248.303-.377a.834.834 0 0 1 .243-.222c.144-.087.3-.15.452-.222a.22.22 0 0 1 .077-.02c.2-.019.399-.04.598-.015Zm-12.255.903c-.276.037-.512.1-.726.222a2.07 2.07 0 0 0-.368.276.61.61 0 0 0-.2.343c-.02.107-.053.21-.06.32-.007.079-.027.159-.046.235a.505.505 0 0 0 .006.255c.03.105.053.212.082.316.075.277.229.497.448.658.16.118.33.224.531.246.18.02.364.044.54-.03a.133.133 0 0 1 .032-.01c.303-.056.482-.279.637-.533.028-.048.045-.104.07-.156.022-.05.039-.113.074-.15.08-.085.094-.188.1-.3.005-.171.029-.342.01-.514a.687.687 0 0 0-.07-.246 4.209 4.209 0 0 0-.39-.655.523.523 0 0 0-.145-.135.966.966 0 0 0-.525-.142Zm12.385-.234a.508.508 0 0 0-.45-.05c-.031.098-.09.158-.186.172l-.03.009c-.096.036-.44.28-.503.366-.037.049-.069.103-.096.158l-.116.247a1.218 1.218 0 0 0-.13.457c-.007.062-.02.124-.023.188a.555.555 0 0 0 .006.154c.047.208.13.401.235.586.042.075.106.129.177.174.157.1.314.2.494.254a.703.703 0 0 1 .166.07c.055.032.11.04.17.03.194-.024.382-.066.561-.15a.928.928 0 0 1 .214-.07.2.2 0 0 0 .122-.077c.079-.1.145-.214.2-.331.016-.037.029-.077.052-.107.086-.12.103-.263.13-.403a.29.29 0 0 0 .003-.084c-.016-.173-.034-.344-.051-.515a.534.534 0 0 0-.115-.298c-.066-.081-.113-.182-.16-.279a.34.34 0 0 0-.116-.14l-.554-.36Zm-12.745.847c.033-.003.034-.002.034.002h.123a.59.59 0 0 1 .56.313c.05.097.083.208.104.317.041.217.038.433-.093.625-.046.067-.091.136-.144.198-.126.146-.27.247-.47.2a1.107 1.107 0 0 1-.384-.164c-.157-.115-.31-.235-.329-.466-.01-.105-.036-.205.013-.308.021-.048.019-.108.033-.162.008-.033.008-.07.027-.097.074-.1.134-.196.208-.293a.373.373 0 0 1 .318-.165Zm11.86.022c.214-.246.456-.356.764-.236.052.02.105.032.16.049.09.025.16.087.227.156.338.34.259.899.037 1.18-.214.269-.45.311-.721.194-.37-.161-.62-.455-.61-.878a.556.556 0 0 1 .143-.465ZM12.341.742c.068-.01.778.066.847.064.12 0 .237.004.355.006.038 0 .077 0 .114.004.09.01.18.023.265.035l.31.15c.026.012.052.02.077.032l.54.312c.076.044.157.081.227.134.151.113.307.214.469.31.098.058.196.12.295.177.138.08.267.178.424.215.05.012.092.056.137.087.053.038.1.087.158.12.158.087.308.186.456.297.178.133.337.286.487.45.21.235.446.437.688.63.125.1.261.188.393.277.191.132.945.747 1.03.783.113.05.232.092.344.15.258.134.531.228.772.398.004.004.01.003.015.005.19.086.371.184.538.317.076.062.164.112.25.157.282.146.521.332.702.619.22.35.347.724.388 1.138.013.149.02.3.069.441.012.031.022.908.022.94a.27.27 0 0 0 .086.215c.105.102.15.235.174.38.04.225.084.452.125.678.014.078.027.158.038.236l.022.205c.01.068.026.134.037.204a.364.364 0 0 1-.091.317.601.601 0 0 1-.35.196.988.988 0 0 0-.335.111 3.358 3.358 0 0 1-.493.212c-.2.068-.404.121-.607.18a.256.256 0 0 1-.079.007c-.087-.002-.173-.008-.258-.01a.667.667 0 0 0-.304.04c-.067.03-.135.064-.205.095-.172.077-.264.017-.288-.18a.986.986 0 0 0-.132-.438 1.376 1.376 0 0 1-.078-.144l-.135-.302c-.121-.25-.249-.497-.461-.678-.06-.05-.108-.113-.163-.168-.047-.048-.095-.097-.145-.138a5.31 5.31 0 0 0-.54-.381c-.24-.148-.269-.162-.518-.147a2.005 2.005 0 0 1-.402-.013c-.198-.025-.39-.007-.556.125-.066.05-.133.097-.197.149-.04.03-.074.068-.114.095a.956.956 0 0 0-.121.095l-.222.215c-.027.025-.05.06-.072.091l-.166.234c-.022.03-.042.064-.063.097-.04.062-.072.13-.12.182a1.46 1.46 0 0 0-.204.327c-.112.23-.164.473-.161.73 0 .051.003.105-.01.153-.03.118-.086.206-.213.227-.192.03-.382.074-.572.112-.377.072-1.09.099-1.347.119a2.08 2.08 0 0 1-.452-.012c-.085-.01-.172-.003-.258-.003-.145 0-.29 0-.437.004-.172.005-.344.01-.517.021-.112.007-.944.065-1.128.071a8.97 8.97 0 0 1-.96-.075c-.189-.028-.374-.04-.56.026-.06.022-.128.029-.187-.012-.098-.068-.197-.046-.295-.012l-.164.073c-.106.045-.207.004-.272-.104-.02-.032-.046-.075-.075-.082-.1-.024-.12-.104-.14-.192-.029-.14-.05-.283-.094-.418a4.39 4.39 0 0 0-.298-.761 2.052 2.052 0 0 0-.275-.424c-.115-.129-.225-.26-.355-.376a2.223 2.223 0 0 0-.454-.294c-.057-.03-.122-.042-.184-.06l-.233-.07a1.574 1.574 0 0 0-.396-.075 3.515 3.515 0 0 0-.579.038.285.285 0 0 0-.134.058c-.111.084-.243.142-.333.26a.148.148 0 0 1-.05.044c-.08.03-.127.099-.18.165-.03.037-.072.067-.11.096-.025.021-.057.034-.081.057-.215.18-.422.37-.622.569a.59.59 0 0 0-.143.226c-.037.108-.076.215-.1.327-.053.257-.114.513-.126.778-.007.138-.093.19-.212.136-.042-.021-.077-.037-.12-.008-.043.027-.083.022-.119-.017-.036-.04-.082-.043-.133-.04-.216.015-.43.027-.646.041l-.42.024-.434.024c-.076.004-.151 0-.227.003a.66.66 0 0 1-.295-.084.136.136 0 0 1-.06-.055c-.038-.076-.084-.152-.1-.234a3.222 3.222 0 0 0-.103-.398c-.049-.16-.064-.328.01-.487a1.78 1.78 0 0 1 .115-.207c.052-.087.112-.174.125-.276.019-.163.047-.33.026-.496-.007-.058-.01-.117-.007-.173.01-.259.024-.517.033-.775.004-.074-.006-.149-.012-.224a42.215 42.215 0 0 1-.035-1.284c.001-.276.017-.55.026-.827.002-.08-.004-.16 0-.241.016-.205.035-.41.052-.617.006-.07.006-.135-.045-.194-.05-.059-.054-.132-.049-.21.009-.11.008-.218.009-.327l.004-.57.003-.033c.01-.087.026-.165.099-.225a.216.216 0 0 0 .065-.133c.01-.137.012-.276.008-.413-.006-.2-.023-.401-.032-.602a.433.433 0 0 1 .02-.185.668.668 0 0 0 .04-.303C.864 2.776.862 2.7.864 2.627c0-.039.002-.083.021-.114.045-.079.044-.165.044-.25.001-.156.003-.311.006-.465 0-.03 0-.059-.005-.087-.02-.102-.008-.206.001-.308.005-.052.013-.101-.003-.153-.02-.06.01-.104.054-.13a.237.237 0 0 1 .12-.038.54.54 0 0 0 .235-.05.303.303 0 0 1 .206-.024.397.397 0 0 0 .327-.049.29.29 0 0 1 .103-.044c.117-.023.235-.047.352-.054a2.28 2.28 0 0 0 .367-.063.445.445 0 0 1 .175-.02c.263.05.528.018.79.028.22.009.441 0 .663 0 .14-.002.28.005.419-.01.236-.026.473-.043.71-.021.091.008.182.018.274.02.29.01.582.011.873.02.205.009.41.026.615.037.15.01.3.023.452.024.16.002.323-.005.485-.013.21-.01.419-.025.629-.04.134-.01.268-.027.401-.044.091-.01.18-.034.27-.037.093-.004.185.01.276.02.37.04.743.05 1.115.044.048 0 .63.01.679.012.2.007.763-.068.822-.076Zm-2.145.973c-.325-.047-1.013.1-1.074.098-.305-.015-.604.06-.906.077-.166.01-.33-.017-.497-.027-.2-.01-.398-.02-.6-.035l-.473-.051c-.128-.012-.261-.027-.391-.015-.291.03-.58.011-.868.005-.042 0-.085-.005-.125.002-.323.057-.647.032-.97 0a6.799 6.799 0 0 0-.807-.01 1.494 1.494 0 0 0-.349.063.508.508 0 0 1-.346-.008c-.116-.05-.241-.071-.359.032-.035.03-.092.016-.139.021-.128.015-.176.074-.164.247.036.482-.017.957-.056 1.432-.04.484-.083.968-.118 1.452-.01.147.005.294.005.44 0 .28-.005.555-.003.832a4.34 4.34 0 0 1-.03.576c-.016.107-.02.22-.02.33 0 .158.031.213.15.252.052.017.11.023.164.017.15-.015.3-.043.453-.056a.603.603 0 0 1 .225.005c.26.08.52.064.783.06.15-.003.302.004.453.02.255.022.509.067.762.08.145.008.292-.015.432-.05.248-.063.49-.089.74-.02.175.052.354.055.534.006.239-.062.482-.032.72.015.07.014.139.03.205.027.292-.019.579.019.868.047.15.017.304.002.452-.023l-.058.008c.036.01.31.007.487.002l.057-.003.07.004c.04 0 .082-.002.123-.006l.123-.018c.13-.024.261-.032.391-.045.04-.006.085-.002.124-.01.074-.013.109-.06.12-.16.005-.054.002-.109 0-.164 0-.047-.016-.094-.008-.137.037-.22-.008-.435-.02-.654a6.031 6.031 0 0 1-.014-.33c0-.137.006-.276.006-.414-.003-.377-.01-.753-.013-1.132 0-.1.01-.202.015-.303.021-.522.045-1.042.066-1.566.01-.23.014-.46.02-.69.005-.191-.006-.203-.14-.223ZM8.985 7.533l.068.002-.06.003a1.56 1.56 0 0 0-.146.018l-.058.008a.588.588 0 0 1 .196-.031Zm.151 0c.096 0 .192.01.289.023.017.002-.018.005-.08.007h-.012L9.28 7.56c-.065-.008-.13-.018-.196-.023l-.03-.002.083-.002ZM19.95 6.151c-.013-.005-.028 0-.057 0a.686.686 0 0 0 .122.207l.352.447c.07.09.12.19.166.294.043.094.09.185.137.275a.245.245 0 0 0 .21.14c.06.005.12.007.177.013.102.008.203.019.306.027.037.004.076.004.113.004.08.002.16.004.241.004.021 0 .04-.007.063-.01.004-.117-.05-.208-.096-.295-.066-.124-.12-.258-.215-.364-.03-.034-.053-.074-.087-.101a1.154 1.154 0 0 1-.219-.23c-.092-.125-.226-.178-.36-.217a5.686 5.686 0 0 0-.57-.127c-.095-.018-.192-.027-.283-.067Zm-7.626-4.312c-.128-.028-.043-.035-.171-.005a.17.17 0 0 1-.05.005l-.427-.016c-.062.055-.069.123-.073.189-.005.07-.006.136-.007.206 0 .122-.006.244-.006.367 0 .056.004.113.007.17.003.092.015.185.01.276-.009.11-.002.217.018.325.02.097.025.193.018.292a.851.851 0 0 0 .015.205c.017.114.03.228.01.343a.492.492 0 0 0 .02.225l.043.143a.2.2 0 0 0 .072.09c.12.1.241.195.361.291a.506.506 0 0 0 .326.12c.031 0 .062.003.092.01.236.06.478.057.717.079.048.003.098-.003.146-.002.124.004.247.009.37.01.07.003.444.055.566.067.043.003.085-.004.112-.005l.3-.316c.025-.027.062-.076.082-.106.092-.134.212-.24.315-.362a.298.298 0 0 1 .072-.062l.164-.085a.186.186 0 0 1 .211.028.148.148 0 0 1 .043.15c-.008.025-.023.046-.032.07-.026.071-.052.144-.086.211-.065.123-.116.274-.234.367-.025.02-.04.051-.06.077.036.06.083.088.14.08.14-.021.446-.045.469-.057.002-.031.841.089.841-.078 0-.063.002-.127-.008-.19a3.739 3.739 0 0 1-.032-.874.428.428 0 0 0-.059-.191 1.279 1.279 0 0 0-.465-.508c-.216-.138-.503-.307-.58-.356-.05-.033-.106-.057-.153-.096-.14-.113-.308-.167-.454-.265-.072-.048-.142-.104-.213-.156-.027-.019-.054-.038-.082-.054-.175-.103-.279-.301-.658-.396-.178-.043-.435-.065-.52-.078-.144-.021-.29-.036-.431-.07-.203-.047-.41-.003-.612-.048-.042-.008-.085-.01-.127-.02Z\"\n fill={ICON_COLOURS[accentColour]}\n />\n </svg>\n )\n}\n\nexport default VanFilled\n","// @noflow\nimport React from 'react'\n\ntype Props = {\n size: number\n width?: number | string\n}\n\nconst WhatsApp = ({ size, width }: Props): JSX.Element => {\n return (\n <svg\n width={width || '100%'}\n height={size}\n viewBox=\"0 0 49 49\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle cx=\"24.5\" cy=\"24.5\" r=\"24.5\" fill=\"#25D366\" />\n <path\n d=\"M24.765 38.3698C22.7373 38.3766 20.7318 37.9484 18.8837 37.1141C18.5652 36.9584 18.2181 36.8699 17.864 36.854C17.5099 36.8381 17.1563 36.895 16.8251 37.0214C14.9457 37.7316 13.0209 38.3492 11.1003 38.9668C10.8078 39.0352 10.5006 38.9972 10.2336 38.8597C9.82191 38.6539 10.0566 38.2998 10.1698 37.991C10.9006 35.9839 11.6108 33.9686 12.3622 31.9677C12.4936 31.6383 12.555 31.2852 12.5426 30.9308C12.5302 30.5764 12.4442 30.2285 12.2901 29.9091C10.5815 25.9155 10.2316 21.8375 12.0843 17.813C13.764 14.1632 16.6131 11.695 20.5429 10.7521C22.7167 10.2293 24.9894 9.7064 27.2517 10.1943C34.1191 11.6723 38.3206 16.6108 39.0926 22.4859C40.1815 30.8478 33.2545 38.4789 24.765 38.3698ZM13.305 35.4878C14.1058 35.811 14.7316 35.4734 15.3018 35.212C16.4216 34.7014 17.453 34.8373 18.5214 35.3314C19.2501 35.669 20.0056 36.1054 20.7734 36.1692C22.3316 36.2824 23.8958 36.2865 25.4546 36.1815C29.0983 35.9757 32.2067 34.58 34.6667 31.8194C39.0308 26.9221 38.6809 19.8489 33.8 15.4745C31.7847 13.6691 29.3391 12.5925 26.8133 11.732C26.2263 11.5388 25.5993 11.5012 24.9935 11.6229C21.7657 12.3146 18.7272 13.3912 16.1087 15.5609C13.1362 18.0312 12.1048 21.1623 12.6092 24.8245C12.8295 26.4487 13.445 28.0276 13.939 29.6086C14.5648 31.6342 14.6636 33.5836 13.2988 35.4857L13.305 35.4878Z\"\n fill=\"white\"\n />\n <path\n d=\"M28.2402 30.9879C27.808 30.8396 27.3242 30.6585 26.8322 30.5103C22.7892 29.2937 20.3436 26.2449 18.2212 22.8936C17.2558 21.362 17.7045 19.3282 19.0447 18.1589C19.9937 17.317 20.9756 17.4878 21.5561 18.6118C21.797 19.075 22.0028 19.5546 22.2272 20.0281C22.6657 20.9524 22.6389 21.8129 21.904 22.5931C21.4408 23.0809 21.6343 23.6223 21.9822 24.0135C22.9231 25.0784 23.9282 26.0849 24.9918 27.0272C26.1467 28.0132 27.0072 27.8341 27.9438 26.6278C28.3041 26.1626 29.2942 26.0103 29.8933 26.3232C30.2926 26.529 30.6941 26.7349 31.1037 26.9181C32.1021 27.3648 32.3759 28.0441 31.9271 29.0487C31.5278 29.9483 30.7682 30.4115 29.8686 30.6605C29.3663 30.7902 28.8475 30.8643 28.2402 30.9879Z\"\n fill=\"white\"\n />\n </svg>\n )\n}\n\nexport default WhatsApp\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\nmodule.exports = freeGlobal;","import { __assign } from \"tslib\";\nimport { compact } from \"./compact.js\";\nexport function mergeOptions(defaults, options) {\n return compact(defaults, options, options.variables && {\n variables: __assign(__assign({}, defaults && defaults.variables), options.variables)\n });\n}","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n/** Used as references for various `Number` constants. */\n\n\nvar INFINITY = 1 / 0;\n/** Used to convert symbols to primitives and strings. */\n\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\n\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n\n var result = value + '';\n return result == '0' && 1 / value == -INFINITY ? '-0' : result;\n}\n\nmodule.exports = baseToString;","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n/** Used to compose unicode capture groups. */\n\nvar rsZWJ = '\\\\u200d';\n/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\n\nvar reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n/**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\n\nfunction hasUnicode(string) {\n return reHasUnicode.test(string);\n}\n\nmodule.exports = hasUnicode;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n/**\n * Return true if `value` is object-like. A value is object-like if it's not\n * `null` and has a `typeof` result of \"object\".\n */\n\n\nexport default function isObjectLike(value) {\n return _typeof(value) == 'object' && value !== null;\n}","/**\n * Represents a location in a Source.\n */\n\n/**\n * Takes a Source and a UTF-8 character offset, and returns the corresponding\n * line and column as a SourceLocation.\n */\nexport function getLocation(source, position) {\n var lineRegexp = /\\r\\n|[\\n\\r]/g;\n var line = 1;\n var column = position + 1;\n var match;\n\n while ((match = lineRegexp.exec(source.body)) && match.index < position) {\n line += 1;\n column = position + 1 - (match.index + match[0].length);\n }\n\n return {\n line: line,\n column: column\n };\n}","import { getLocation } from \"./location.mjs\";\n/**\n * Render a helpful description of the location in the GraphQL Source document.\n */\n\nexport function printLocation(location) {\n return printSourceLocation(location.source, getLocation(location.source, location.start));\n}\n/**\n * Render a helpful description of the location in the GraphQL Source document.\n */\n\nexport function printSourceLocation(source, sourceLocation) {\n var firstLineColumnOffset = source.locationOffset.column - 1;\n var body = whitespace(firstLineColumnOffset) + source.body;\n var lineIndex = sourceLocation.line - 1;\n var lineOffset = source.locationOffset.line - 1;\n var lineNum = sourceLocation.line + lineOffset;\n var columnOffset = sourceLocation.line === 1 ? firstLineColumnOffset : 0;\n var columnNum = sourceLocation.column + columnOffset;\n var locationStr = \"\".concat(source.name, \":\").concat(lineNum, \":\").concat(columnNum, \"\\n\");\n var lines = body.split(/\\r\\n|[\\n\\r]/g);\n var locationLine = lines[lineIndex]; // Special case for minified documents\n\n if (locationLine.length > 120) {\n var subLineIndex = Math.floor(columnNum / 80);\n var subLineColumnNum = columnNum % 80;\n var subLines = [];\n\n for (var i = 0; i < locationLine.length; i += 80) {\n subLines.push(locationLine.slice(i, i + 80));\n }\n\n return locationStr + printPrefixedLines([[\"\".concat(lineNum), subLines[0]]].concat(subLines.slice(1, subLineIndex + 1).map(function (subLine) {\n return ['', subLine];\n }), [[' ', whitespace(subLineColumnNum - 1) + '^'], ['', subLines[subLineIndex + 1]]]));\n }\n\n return locationStr + printPrefixedLines([// Lines specified like this: [\"prefix\", \"string\"],\n [\"\".concat(lineNum - 1), lines[lineIndex - 1]], [\"\".concat(lineNum), locationLine], ['', whitespace(columnNum - 1) + '^'], [\"\".concat(lineNum + 1), lines[lineIndex + 1]]]);\n}\n\nfunction printPrefixedLines(lines) {\n var existingLines = lines.filter(function (_ref) {\n var _ = _ref[0],\n line = _ref[1];\n return line !== undefined;\n });\n var padLen = Math.max.apply(Math, existingLines.map(function (_ref2) {\n var prefix = _ref2[0];\n return prefix.length;\n }));\n return existingLines.map(function (_ref3) {\n var prefix = _ref3[0],\n line = _ref3[1];\n return leftPad(padLen, prefix) + (line ? ' | ' + line : ' |');\n }).join('\\n');\n}\n\nfunction whitespace(len) {\n return Array(len + 1).join(' ');\n}\n\nfunction leftPad(len, str) {\n return whitespace(len - str.length) + str;\n}","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\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\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !_isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return _construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}\n\nfunction _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nfunction _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}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nimport isObjectLike from \"../jsutils/isObjectLike.mjs\";\nimport { SYMBOL_TO_STRING_TAG } from \"../polyfills/symbols.mjs\";\nimport { getLocation } from \"../language/location.mjs\";\nimport { printLocation, printSourceLocation } from \"../language/printLocation.mjs\";\n/**\n * A GraphQLError describes an Error found during the parse, validate, or\n * execute phases of performing a GraphQL operation. In addition to a message\n * and stack trace, it also includes information about the locations in a\n * GraphQL document and/or execution result that correspond to the Error.\n */\n\nexport var GraphQLError = /*#__PURE__*/function (_Error) {\n _inherits(GraphQLError, _Error);\n\n var _super = _createSuper(GraphQLError);\n /**\n * An array of { line, column } locations within the source GraphQL document\n * which correspond to this error.\n *\n * Errors during validation often contain multiple locations, for example to\n * point out two things with the same name. Errors during execution include a\n * single location, the field which produced the error.\n *\n * Enumerable, and appears in the result of JSON.stringify().\n */\n\n /**\n * An array describing the JSON-path into the execution response which\n * corresponds to this error. Only included for errors during execution.\n *\n * Enumerable, and appears in the result of JSON.stringify().\n */\n\n /**\n * An array of GraphQL AST Nodes corresponding to this error.\n */\n\n /**\n * The source GraphQL document for the first location of this error.\n *\n * Note that if this Error represents more than one node, the source may not\n * represent nodes after the first node.\n */\n\n /**\n * An array of character offsets within the source GraphQL document\n * which correspond to this error.\n */\n\n /**\n * The original error thrown from a field resolver during execution.\n */\n\n /**\n * Extension fields to add to the formatted error.\n */\n\n\n function GraphQLError(message, nodes, source, positions, path, originalError, extensions) {\n var _nodeLocations, _nodeLocations2, _nodeLocations3;\n\n var _this;\n\n _classCallCheck(this, GraphQLError);\n\n _this = _super.call(this, message);\n _this.name = 'GraphQLError';\n _this.originalError = originalError !== null && originalError !== void 0 ? originalError : undefined; // Compute list of blame nodes.\n\n _this.nodes = undefinedIfEmpty(Array.isArray(nodes) ? nodes : nodes ? [nodes] : undefined);\n var nodeLocations = [];\n\n for (var _i2 = 0, _ref3 = (_this$nodes = _this.nodes) !== null && _this$nodes !== void 0 ? _this$nodes : []; _i2 < _ref3.length; _i2++) {\n var _this$nodes;\n\n var _ref4 = _ref3[_i2];\n var loc = _ref4.loc;\n\n if (loc != null) {\n nodeLocations.push(loc);\n }\n }\n\n nodeLocations = undefinedIfEmpty(nodeLocations); // Compute locations in the source for the given nodes/positions.\n\n _this.source = source !== null && source !== void 0 ? source : (_nodeLocations = nodeLocations) === null || _nodeLocations === void 0 ? void 0 : _nodeLocations[0].source;\n _this.positions = positions !== null && positions !== void 0 ? positions : (_nodeLocations2 = nodeLocations) === null || _nodeLocations2 === void 0 ? void 0 : _nodeLocations2.map(function (loc) {\n return loc.start;\n });\n _this.locations = positions && source ? positions.map(function (pos) {\n return getLocation(source, pos);\n }) : (_nodeLocations3 = nodeLocations) === null || _nodeLocations3 === void 0 ? void 0 : _nodeLocations3.map(function (loc) {\n return getLocation(loc.source, loc.start);\n });\n _this.path = path !== null && path !== void 0 ? path : undefined;\n var originalExtensions = originalError === null || originalError === void 0 ? void 0 : originalError.extensions;\n\n if (extensions == null && isObjectLike(originalExtensions)) {\n _this.extensions = _objectSpread({}, originalExtensions);\n } else {\n _this.extensions = extensions !== null && extensions !== void 0 ? extensions : {};\n } // By being enumerable, JSON.stringify will include bellow properties in the resulting output.\n // This ensures that the simplest possible GraphQL service adheres to the spec.\n\n\n Object.defineProperties(_assertThisInitialized(_this), {\n message: {\n enumerable: true\n },\n locations: {\n enumerable: _this.locations != null\n },\n path: {\n enumerable: _this.path != null\n },\n extensions: {\n enumerable: _this.extensions != null && Object.keys(_this.extensions).length > 0\n },\n name: {\n enumerable: false\n },\n nodes: {\n enumerable: false\n },\n source: {\n enumerable: false\n },\n positions: {\n enumerable: false\n },\n originalError: {\n enumerable: false\n }\n }); // Include (non-enumerable) stack trace.\n\n if (originalError !== null && originalError !== void 0 && originalError.stack) {\n Object.defineProperty(_assertThisInitialized(_this), 'stack', {\n value: originalError.stack,\n writable: true,\n configurable: true\n });\n return _possibleConstructorReturn(_this);\n } // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(_assertThisInitialized(_this), GraphQLError);\n } else {\n Object.defineProperty(_assertThisInitialized(_this), 'stack', {\n value: Error().stack,\n writable: true,\n configurable: true\n });\n }\n\n return _this;\n }\n\n _createClass(GraphQLError, [{\n key: \"toString\",\n value: function toString() {\n return printError(this);\n } // FIXME: workaround to not break chai comparisons, should be remove in v16\n // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet\n\n }, {\n key: SYMBOL_TO_STRING_TAG,\n get: function get() {\n return 'Object';\n }\n }]);\n\n return GraphQLError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nfunction undefinedIfEmpty(array) {\n return array === undefined || array.length === 0 ? undefined : array;\n}\n/**\n * Prints a GraphQLError to a string, representing useful location information\n * about the error's position in the source.\n */\n\n\nexport function printError(error) {\n var output = error.message;\n\n if (error.nodes) {\n for (var _i4 = 0, _error$nodes2 = error.nodes; _i4 < _error$nodes2.length; _i4++) {\n var node = _error$nodes2[_i4];\n\n if (node.loc) {\n output += '\\n\\n' + printLocation(node.loc);\n }\n }\n } else if (error.source && error.locations) {\n for (var _i6 = 0, _error$locations2 = error.locations; _i6 < _error$locations2.length; _i6++) {\n var location = _error$locations2[_i6];\n output += '\\n\\n' + printSourceLocation(error.source, location);\n }\n }\n\n return output;\n}","import { GraphQLError } from \"./GraphQLError.mjs\";\n/**\n * Produces a GraphQLError representing a syntax error, containing useful\n * descriptive information about the syntax error's position in the source.\n */\n\nexport function syntaxError(source, position, description) {\n return new GraphQLError(\"Syntax Error: \".concat(description), undefined, source, [position]);\n}","/**\n * An exported enum describing the different kinds of tokens that the\n * lexer emits.\n */\nexport var TokenKind = Object.freeze({\n SOF: '<SOF>',\n EOF: '<EOF>',\n BANG: '!',\n DOLLAR: '$',\n AMP: '&',\n PAREN_L: '(',\n PAREN_R: ')',\n SPREAD: '...',\n COLON: ':',\n EQUALS: '=',\n AT: '@',\n BRACKET_L: '[',\n BRACKET_R: ']',\n BRACE_L: '{',\n PIPE: '|',\n BRACE_R: '}',\n NAME: 'Name',\n INT: 'Int',\n FLOAT: 'Float',\n STRING: 'String',\n BLOCK_STRING: 'BlockString',\n COMMENT: 'Comment'\n});\n/**\n * The enum type representing the token kinds values.\n */","/**\n * The set of allowed directive location values.\n */\nexport var DirectiveLocation = Object.freeze({\n // Request Definitions\n QUERY: 'QUERY',\n MUTATION: 'MUTATION',\n SUBSCRIPTION: 'SUBSCRIPTION',\n FIELD: 'FIELD',\n FRAGMENT_DEFINITION: 'FRAGMENT_DEFINITION',\n FRAGMENT_SPREAD: 'FRAGMENT_SPREAD',\n INLINE_FRAGMENT: 'INLINE_FRAGMENT',\n VARIABLE_DEFINITION: 'VARIABLE_DEFINITION',\n // Type System Definitions\n SCHEMA: 'SCHEMA',\n SCALAR: 'SCALAR',\n OBJECT: 'OBJECT',\n FIELD_DEFINITION: 'FIELD_DEFINITION',\n ARGUMENT_DEFINITION: 'ARGUMENT_DEFINITION',\n INTERFACE: 'INTERFACE',\n UNION: 'UNION',\n ENUM: 'ENUM',\n ENUM_VALUE: 'ENUM_VALUE',\n INPUT_OBJECT: 'INPUT_OBJECT',\n INPUT_FIELD_DEFINITION: 'INPUT_FIELD_DEFINITION'\n});\n/**\n * The enum type representing the directive location values.\n */","import { syntaxError } from \"../error/syntaxError.mjs\";\nimport { Token } from \"./ast.mjs\";\nimport { TokenKind } from \"./tokenKind.mjs\";\nimport { dedentBlockStringValue } from \"./blockString.mjs\";\n/**\n * Given a Source object, creates a Lexer for that source.\n * A Lexer is a stateful stream generator in that every time\n * it is advanced, it returns the next token in the Source. Assuming the\n * source lexes, the final Token emitted by the lexer will be of kind\n * EOF, after which the lexer will repeatedly return the same EOF token\n * whenever called.\n */\n\nexport var Lexer = /*#__PURE__*/function () {\n /**\n * The previously focused non-ignored token.\n */\n\n /**\n * The currently focused non-ignored token.\n */\n\n /**\n * The (1-indexed) line containing the current token.\n */\n\n /**\n * The character offset at which the current line begins.\n */\n function Lexer(source) {\n var startOfFileToken = new Token(TokenKind.SOF, 0, 0, 0, 0, null);\n this.source = source;\n this.lastToken = startOfFileToken;\n this.token = startOfFileToken;\n this.line = 1;\n this.lineStart = 0;\n }\n /**\n * Advances the token stream to the next non-ignored token.\n */\n\n\n var _proto = Lexer.prototype;\n\n _proto.advance = function advance() {\n this.lastToken = this.token;\n var token = this.token = this.lookahead();\n return token;\n }\n /**\n * Looks ahead and returns the next non-ignored token, but does not change\n * the state of Lexer.\n */\n ;\n\n _proto.lookahead = function lookahead() {\n var token = this.token;\n\n if (token.kind !== TokenKind.EOF) {\n do {\n var _token$next; // Note: next is only mutable during parsing, so we cast to allow this.\n\n\n token = (_token$next = token.next) !== null && _token$next !== void 0 ? _token$next : token.next = readToken(this, token);\n } while (token.kind === TokenKind.COMMENT);\n }\n\n return token;\n };\n\n return Lexer;\n}();\n/**\n * @internal\n */\n\nexport function isPunctuatorTokenKind(kind) {\n return kind === TokenKind.BANG || kind === TokenKind.DOLLAR || kind === TokenKind.AMP || kind === TokenKind.PAREN_L || kind === TokenKind.PAREN_R || kind === TokenKind.SPREAD || kind === TokenKind.COLON || kind === TokenKind.EQUALS || kind === TokenKind.AT || kind === TokenKind.BRACKET_L || kind === TokenKind.BRACKET_R || kind === TokenKind.BRACE_L || kind === TokenKind.PIPE || kind === TokenKind.BRACE_R;\n}\n\nfunction printCharCode(code) {\n return (// NaN/undefined represents access beyond the end of the file.\n isNaN(code) ? TokenKind.EOF : // Trust JSON for ASCII.\n code < 0x007f ? JSON.stringify(String.fromCharCode(code)) : // Otherwise print the escaped form.\n \"\\\"\\\\u\".concat(('00' + code.toString(16).toUpperCase()).slice(-4), \"\\\"\")\n );\n}\n/**\n * Gets the next token from the source starting at the given position.\n *\n * This skips over whitespace until it finds the next lexable token, then lexes\n * punctuators immediately or calls the appropriate helper function for more\n * complicated tokens.\n */\n\n\nfunction readToken(lexer, prev) {\n var source = lexer.source;\n var body = source.body;\n var bodyLength = body.length;\n var pos = prev.end;\n\n while (pos < bodyLength) {\n var code = body.charCodeAt(pos);\n var _line = lexer.line;\n\n var _col = 1 + pos - lexer.lineStart; // SourceCharacter\n\n\n switch (code) {\n case 0xfeff: // <BOM>\n\n case 9: // \\t\n\n case 32: // <space>\n\n case 44:\n // ,\n ++pos;\n continue;\n\n case 10:\n // \\n\n ++pos;\n ++lexer.line;\n lexer.lineStart = pos;\n continue;\n\n case 13:\n // \\r\n if (body.charCodeAt(pos + 1) === 10) {\n pos += 2;\n } else {\n ++pos;\n }\n\n ++lexer.line;\n lexer.lineStart = pos;\n continue;\n\n case 33:\n // !\n return new Token(TokenKind.BANG, pos, pos + 1, _line, _col, prev);\n\n case 35:\n // #\n return readComment(source, pos, _line, _col, prev);\n\n case 36:\n // $\n return new Token(TokenKind.DOLLAR, pos, pos + 1, _line, _col, prev);\n\n case 38:\n // &\n return new Token(TokenKind.AMP, pos, pos + 1, _line, _col, prev);\n\n case 40:\n // (\n return new Token(TokenKind.PAREN_L, pos, pos + 1, _line, _col, prev);\n\n case 41:\n // )\n return new Token(TokenKind.PAREN_R, pos, pos + 1, _line, _col, prev);\n\n case 46:\n // .\n if (body.charCodeAt(pos + 1) === 46 && body.charCodeAt(pos + 2) === 46) {\n return new Token(TokenKind.SPREAD, pos, pos + 3, _line, _col, prev);\n }\n\n break;\n\n case 58:\n // :\n return new Token(TokenKind.COLON, pos, pos + 1, _line, _col, prev);\n\n case 61:\n // =\n return new Token(TokenKind.EQUALS, pos, pos + 1, _line, _col, prev);\n\n case 64:\n // @\n return new Token(TokenKind.AT, pos, pos + 1, _line, _col, prev);\n\n case 91:\n // [\n return new Token(TokenKind.BRACKET_L, pos, pos + 1, _line, _col, prev);\n\n case 93:\n // ]\n return new Token(TokenKind.BRACKET_R, pos, pos + 1, _line, _col, prev);\n\n case 123:\n // {\n return new Token(TokenKind.BRACE_L, pos, pos + 1, _line, _col, prev);\n\n case 124:\n // |\n return new Token(TokenKind.PIPE, pos, pos + 1, _line, _col, prev);\n\n case 125:\n // }\n return new Token(TokenKind.BRACE_R, pos, pos + 1, _line, _col, prev);\n\n case 34:\n // \"\n if (body.charCodeAt(pos + 1) === 34 && body.charCodeAt(pos + 2) === 34) {\n return readBlockString(source, pos, _line, _col, prev, lexer);\n }\n\n return readString(source, pos, _line, _col, prev);\n\n case 45: // -\n\n case 48: // 0\n\n case 49: // 1\n\n case 50: // 2\n\n case 51: // 3\n\n case 52: // 4\n\n case 53: // 5\n\n case 54: // 6\n\n case 55: // 7\n\n case 56: // 8\n\n case 57:\n // 9\n return readNumber(source, pos, code, _line, _col, prev);\n\n case 65: // A\n\n case 66: // B\n\n case 67: // C\n\n case 68: // D\n\n case 69: // E\n\n case 70: // F\n\n case 71: // G\n\n case 72: // H\n\n case 73: // I\n\n case 74: // J\n\n case 75: // K\n\n case 76: // L\n\n case 77: // M\n\n case 78: // N\n\n case 79: // O\n\n case 80: // P\n\n case 81: // Q\n\n case 82: // R\n\n case 83: // S\n\n case 84: // T\n\n case 85: // U\n\n case 86: // V\n\n case 87: // W\n\n case 88: // X\n\n case 89: // Y\n\n case 90: // Z\n\n case 95: // _\n\n case 97: // a\n\n case 98: // b\n\n case 99: // c\n\n case 100: // d\n\n case 101: // e\n\n case 102: // f\n\n case 103: // g\n\n case 104: // h\n\n case 105: // i\n\n case 106: // j\n\n case 107: // k\n\n case 108: // l\n\n case 109: // m\n\n case 110: // n\n\n case 111: // o\n\n case 112: // p\n\n case 113: // q\n\n case 114: // r\n\n case 115: // s\n\n case 116: // t\n\n case 117: // u\n\n case 118: // v\n\n case 119: // w\n\n case 120: // x\n\n case 121: // y\n\n case 122:\n // z\n return readName(source, pos, _line, _col, prev);\n }\n\n throw syntaxError(source, pos, unexpectedCharacterMessage(code));\n }\n\n var line = lexer.line;\n var col = 1 + pos - lexer.lineStart;\n return new Token(TokenKind.EOF, bodyLength, bodyLength, line, col, prev);\n}\n/**\n * Report a message that an unexpected character was encountered.\n */\n\n\nfunction unexpectedCharacterMessage(code) {\n if (code < 0x0020 && code !== 0x0009 && code !== 0x000a && code !== 0x000d) {\n return \"Cannot contain the invalid character \".concat(printCharCode(code), \".\");\n }\n\n if (code === 39) {\n // '\n return 'Unexpected single quote character (\\'), did you mean to use a double quote (\")?';\n }\n\n return \"Cannot parse the unexpected character \".concat(printCharCode(code), \".\");\n}\n/**\n * Reads a comment token from the source file.\n *\n * #[\\u0009\\u0020-\\uFFFF]*\n */\n\n\nfunction readComment(source, start, line, col, prev) {\n var body = source.body;\n var code;\n var position = start;\n\n do {\n code = body.charCodeAt(++position);\n } while (!isNaN(code) && ( // SourceCharacter but not LineTerminator\n code > 0x001f || code === 0x0009));\n\n return new Token(TokenKind.COMMENT, start, position, line, col, prev, body.slice(start + 1, position));\n}\n/**\n * Reads a number token from the source file, either a float\n * or an int depending on whether a decimal point appears.\n *\n * Int: -?(0|[1-9][0-9]*)\n * Float: -?(0|[1-9][0-9]*)(\\.[0-9]+)?((E|e)(+|-)?[0-9]+)?\n */\n\n\nfunction readNumber(source, start, firstCode, line, col, prev) {\n var body = source.body;\n var code = firstCode;\n var position = start;\n var isFloat = false;\n\n if (code === 45) {\n // -\n code = body.charCodeAt(++position);\n }\n\n if (code === 48) {\n // 0\n code = body.charCodeAt(++position);\n\n if (code >= 48 && code <= 57) {\n throw syntaxError(source, position, \"Invalid number, unexpected digit after 0: \".concat(printCharCode(code), \".\"));\n }\n } else {\n position = readDigits(source, position, code);\n code = body.charCodeAt(position);\n }\n\n if (code === 46) {\n // .\n isFloat = true;\n code = body.charCodeAt(++position);\n position = readDigits(source, position, code);\n code = body.charCodeAt(position);\n }\n\n if (code === 69 || code === 101) {\n // E e\n isFloat = true;\n code = body.charCodeAt(++position);\n\n if (code === 43 || code === 45) {\n // + -\n code = body.charCodeAt(++position);\n }\n\n position = readDigits(source, position, code);\n code = body.charCodeAt(position);\n } // Numbers cannot be followed by . or NameStart\n\n\n if (code === 46 || isNameStart(code)) {\n throw syntaxError(source, position, \"Invalid number, expected digit but got: \".concat(printCharCode(code), \".\"));\n }\n\n return new Token(isFloat ? TokenKind.FLOAT : TokenKind.INT, start, position, line, col, prev, body.slice(start, position));\n}\n/**\n * Returns the new position in the source after reading digits.\n */\n\n\nfunction readDigits(source, start, firstCode) {\n var body = source.body;\n var position = start;\n var code = firstCode;\n\n if (code >= 48 && code <= 57) {\n // 0 - 9\n do {\n code = body.charCodeAt(++position);\n } while (code >= 48 && code <= 57); // 0 - 9\n\n\n return position;\n }\n\n throw syntaxError(source, position, \"Invalid number, expected digit but got: \".concat(printCharCode(code), \".\"));\n}\n/**\n * Reads a string token from the source file.\n *\n * \"([^\"\\\\\\u000A\\u000D]|(\\\\(u[0-9a-fA-F]{4}|[\"\\\\/bfnrt])))*\"\n */\n\n\nfunction readString(source, start, line, col, prev) {\n var body = source.body;\n var position = start + 1;\n var chunkStart = position;\n var code = 0;\n var value = '';\n\n while (position < body.length && !isNaN(code = body.charCodeAt(position)) && // not LineTerminator\n code !== 0x000a && code !== 0x000d) {\n // Closing Quote (\")\n if (code === 34) {\n value += body.slice(chunkStart, position);\n return new Token(TokenKind.STRING, start, position + 1, line, col, prev, value);\n } // SourceCharacter\n\n\n if (code < 0x0020 && code !== 0x0009) {\n throw syntaxError(source, position, \"Invalid character within String: \".concat(printCharCode(code), \".\"));\n }\n\n ++position;\n\n if (code === 92) {\n // \\\n value += body.slice(chunkStart, position - 1);\n code = body.charCodeAt(position);\n\n switch (code) {\n case 34:\n value += '\"';\n break;\n\n case 47:\n value += '/';\n break;\n\n case 92:\n value += '\\\\';\n break;\n\n case 98:\n value += '\\b';\n break;\n\n case 102:\n value += '\\f';\n break;\n\n case 110:\n value += '\\n';\n break;\n\n case 114:\n value += '\\r';\n break;\n\n case 116:\n value += '\\t';\n break;\n\n case 117:\n {\n // uXXXX\n var charCode = uniCharCode(body.charCodeAt(position + 1), body.charCodeAt(position + 2), body.charCodeAt(position + 3), body.charCodeAt(position + 4));\n\n if (charCode < 0) {\n var invalidSequence = body.slice(position + 1, position + 5);\n throw syntaxError(source, position, \"Invalid character escape sequence: \\\\u\".concat(invalidSequence, \".\"));\n }\n\n value += String.fromCharCode(charCode);\n position += 4;\n break;\n }\n\n default:\n throw syntaxError(source, position, \"Invalid character escape sequence: \\\\\".concat(String.fromCharCode(code), \".\"));\n }\n\n ++position;\n chunkStart = position;\n }\n }\n\n throw syntaxError(source, position, 'Unterminated string.');\n}\n/**\n * Reads a block string token from the source file.\n *\n * \"\"\"(\"?\"?(\\\\\"\"\"|\\\\(?!=\"\"\")|[^\"\\\\]))*\"\"\"\n */\n\n\nfunction readBlockString(source, start, line, col, prev, lexer) {\n var body = source.body;\n var position = start + 3;\n var chunkStart = position;\n var code = 0;\n var rawValue = '';\n\n while (position < body.length && !isNaN(code = body.charCodeAt(position))) {\n // Closing Triple-Quote (\"\"\")\n if (code === 34 && body.charCodeAt(position + 1) === 34 && body.charCodeAt(position + 2) === 34) {\n rawValue += body.slice(chunkStart, position);\n return new Token(TokenKind.BLOCK_STRING, start, position + 3, line, col, prev, dedentBlockStringValue(rawValue));\n } // SourceCharacter\n\n\n if (code < 0x0020 && code !== 0x0009 && code !== 0x000a && code !== 0x000d) {\n throw syntaxError(source, position, \"Invalid character within String: \".concat(printCharCode(code), \".\"));\n }\n\n if (code === 10) {\n // new line\n ++position;\n ++lexer.line;\n lexer.lineStart = position;\n } else if (code === 13) {\n // carriage return\n if (body.charCodeAt(position + 1) === 10) {\n position += 2;\n } else {\n ++position;\n }\n\n ++lexer.line;\n lexer.lineStart = position;\n } else if ( // Escape Triple-Quote (\\\"\"\")\n code === 92 && body.charCodeAt(position + 1) === 34 && body.charCodeAt(position + 2) === 34 && body.charCodeAt(position + 3) === 34) {\n rawValue += body.slice(chunkStart, position) + '\"\"\"';\n position += 4;\n chunkStart = position;\n } else {\n ++position;\n }\n }\n\n throw syntaxError(source, position, 'Unterminated string.');\n}\n/**\n * Converts four hexadecimal chars to the integer that the\n * string represents. For example, uniCharCode('0','0','0','f')\n * will return 15, and uniCharCode('0','0','f','f') returns 255.\n *\n * Returns a negative number on error, if a char was invalid.\n *\n * This is implemented by noting that char2hex() returns -1 on error,\n * which means the result of ORing the char2hex() will also be negative.\n */\n\n\nfunction uniCharCode(a, b, c, d) {\n return char2hex(a) << 12 | char2hex(b) << 8 | char2hex(c) << 4 | char2hex(d);\n}\n/**\n * Converts a hex character to its integer value.\n * '0' becomes 0, '9' becomes 9\n * 'A' becomes 10, 'F' becomes 15\n * 'a' becomes 10, 'f' becomes 15\n *\n * Returns -1 on error.\n */\n\n\nfunction char2hex(a) {\n return a >= 48 && a <= 57 ? a - 48 // 0-9\n : a >= 65 && a <= 70 ? a - 55 // A-F\n : a >= 97 && a <= 102 ? a - 87 // a-f\n : -1;\n}\n/**\n * Reads an alphanumeric + underscore name from the source.\n *\n * [_A-Za-z][_0-9A-Za-z]*\n */\n\n\nfunction readName(source, start, line, col, prev) {\n var body = source.body;\n var bodyLength = body.length;\n var position = start + 1;\n var code = 0;\n\n while (position !== bodyLength && !isNaN(code = body.charCodeAt(position)) && (code === 95 || // _\n code >= 48 && code <= 57 || // 0-9\n code >= 65 && code <= 90 || // A-Z\n code >= 97 && code <= 122) // a-z\n ) {\n ++position;\n }\n\n return new Token(TokenKind.NAME, start, position, line, col, prev, body.slice(start, position));\n} // _ A-Z a-z\n\n\nfunction isNameStart(code) {\n return code === 95 || code >= 65 && code <= 90 || code >= 97 && code <= 122;\n}","import { syntaxError } from \"../error/syntaxError.mjs\";\nimport { Kind } from \"./kinds.mjs\";\nimport { Location } from \"./ast.mjs\";\nimport { TokenKind } from \"./tokenKind.mjs\";\nimport { Source, isSource } from \"./source.mjs\";\nimport { DirectiveLocation } from \"./directiveLocation.mjs\";\nimport { Lexer, isPunctuatorTokenKind } from \"./lexer.mjs\";\n/**\n * Configuration options to control parser behavior\n */\n\n/**\n * Given a GraphQL source, parses it into a Document.\n * Throws GraphQLError if a syntax error is encountered.\n */\n\nexport function parse(source, options) {\n var parser = new Parser(source, options);\n return parser.parseDocument();\n}\n/**\n * Given a string containing a GraphQL value (ex. `[42]`), parse the AST for\n * that value.\n * Throws GraphQLError if a syntax error is encountered.\n *\n * This is useful within tools that operate upon GraphQL Values directly and\n * in isolation of complete GraphQL documents.\n *\n * Consider providing the results to the utility function: valueFromAST().\n */\n\nexport function parseValue(source, options) {\n var parser = new Parser(source, options);\n parser.expectToken(TokenKind.SOF);\n var value = parser.parseValueLiteral(false);\n parser.expectToken(TokenKind.EOF);\n return value;\n}\n/**\n * Given a string containing a GraphQL Type (ex. `[Int!]`), parse the AST for\n * that type.\n * Throws GraphQLError if a syntax error is encountered.\n *\n * This is useful within tools that operate upon GraphQL Types directly and\n * in isolation of complete GraphQL documents.\n *\n * Consider providing the results to the utility function: typeFromAST().\n */\n\nexport function parseType(source, options) {\n var parser = new Parser(source, options);\n parser.expectToken(TokenKind.SOF);\n var type = parser.parseTypeReference();\n parser.expectToken(TokenKind.EOF);\n return type;\n}\n/**\n * This class is exported only to assist people in implementing their own parsers\n * without duplicating too much code and should be used only as last resort for cases\n * such as experimental syntax or if certain features could not be contributed upstream.\n *\n * It is still part of the internal API and is versioned, so any changes to it are never\n * considered breaking changes. If you still need to support multiple versions of the\n * library, please use the `versionInfo` variable for version detection.\n *\n * @internal\n */\n\nexport var Parser = /*#__PURE__*/function () {\n function Parser(source, options) {\n var sourceObj = isSource(source) ? source : new Source(source);\n this._lexer = new Lexer(sourceObj);\n this._options = options;\n }\n /**\n * Converts a name lex token into a name parse node.\n */\n\n\n var _proto = Parser.prototype;\n\n _proto.parseName = function parseName() {\n var token = this.expectToken(TokenKind.NAME);\n return {\n kind: Kind.NAME,\n value: token.value,\n loc: this.loc(token)\n };\n } // Implements the parsing rules in the Document section.\n\n /**\n * Document : Definition+\n */\n ;\n\n _proto.parseDocument = function parseDocument() {\n var start = this._lexer.token;\n return {\n kind: Kind.DOCUMENT,\n definitions: this.many(TokenKind.SOF, this.parseDefinition, TokenKind.EOF),\n loc: this.loc(start)\n };\n }\n /**\n * Definition :\n * - ExecutableDefinition\n * - TypeSystemDefinition\n * - TypeSystemExtension\n *\n * ExecutableDefinition :\n * - OperationDefinition\n * - FragmentDefinition\n */\n ;\n\n _proto.parseDefinition = function parseDefinition() {\n if (this.peek(TokenKind.NAME)) {\n switch (this._lexer.token.value) {\n case 'query':\n case 'mutation':\n case 'subscription':\n return this.parseOperationDefinition();\n\n case 'fragment':\n return this.parseFragmentDefinition();\n\n case 'schema':\n case 'scalar':\n case 'type':\n case 'interface':\n case 'union':\n case 'enum':\n case 'input':\n case 'directive':\n return this.parseTypeSystemDefinition();\n\n case 'extend':\n return this.parseTypeSystemExtension();\n }\n } else if (this.peek(TokenKind.BRACE_L)) {\n return this.parseOperationDefinition();\n } else if (this.peekDescription()) {\n return this.parseTypeSystemDefinition();\n }\n\n throw this.unexpected();\n } // Implements the parsing rules in the Operations section.\n\n /**\n * OperationDefinition :\n * - SelectionSet\n * - OperationType Name? VariableDefinitions? Directives? SelectionSet\n */\n ;\n\n _proto.parseOperationDefinition = function parseOperationDefinition() {\n var start = this._lexer.token;\n\n if (this.peek(TokenKind.BRACE_L)) {\n return {\n kind: Kind.OPERATION_DEFINITION,\n operation: 'query',\n name: undefined,\n variableDefinitions: [],\n directives: [],\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n\n var operation = this.parseOperationType();\n var name;\n\n if (this.peek(TokenKind.NAME)) {\n name = this.parseName();\n }\n\n return {\n kind: Kind.OPERATION_DEFINITION,\n operation: operation,\n name: name,\n variableDefinitions: this.parseVariableDefinitions(),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n /**\n * OperationType : one of query mutation subscription\n */\n ;\n\n _proto.parseOperationType = function parseOperationType() {\n var operationToken = this.expectToken(TokenKind.NAME);\n\n switch (operationToken.value) {\n case 'query':\n return 'query';\n\n case 'mutation':\n return 'mutation';\n\n case 'subscription':\n return 'subscription';\n }\n\n throw this.unexpected(operationToken);\n }\n /**\n * VariableDefinitions : ( VariableDefinition+ )\n */\n ;\n\n _proto.parseVariableDefinitions = function parseVariableDefinitions() {\n return this.optionalMany(TokenKind.PAREN_L, this.parseVariableDefinition, TokenKind.PAREN_R);\n }\n /**\n * VariableDefinition : Variable : Type DefaultValue? Directives[Const]?\n */\n ;\n\n _proto.parseVariableDefinition = function parseVariableDefinition() {\n var start = this._lexer.token;\n return {\n kind: Kind.VARIABLE_DEFINITION,\n variable: this.parseVariable(),\n type: (this.expectToken(TokenKind.COLON), this.parseTypeReference()),\n defaultValue: this.expectOptionalToken(TokenKind.EQUALS) ? this.parseValueLiteral(true) : undefined,\n directives: this.parseDirectives(true),\n loc: this.loc(start)\n };\n }\n /**\n * Variable : $ Name\n */\n ;\n\n _proto.parseVariable = function parseVariable() {\n var start = this._lexer.token;\n this.expectToken(TokenKind.DOLLAR);\n return {\n kind: Kind.VARIABLE,\n name: this.parseName(),\n loc: this.loc(start)\n };\n }\n /**\n * SelectionSet : { Selection+ }\n */\n ;\n\n _proto.parseSelectionSet = function parseSelectionSet() {\n var start = this._lexer.token;\n return {\n kind: Kind.SELECTION_SET,\n selections: this.many(TokenKind.BRACE_L, this.parseSelection, TokenKind.BRACE_R),\n loc: this.loc(start)\n };\n }\n /**\n * Selection :\n * - Field\n * - FragmentSpread\n * - InlineFragment\n */\n ;\n\n _proto.parseSelection = function parseSelection() {\n return this.peek(TokenKind.SPREAD) ? this.parseFragment() : this.parseField();\n }\n /**\n * Field : Alias? Name Arguments? Directives? SelectionSet?\n *\n * Alias : Name :\n */\n ;\n\n _proto.parseField = function parseField() {\n var start = this._lexer.token;\n var nameOrAlias = this.parseName();\n var alias;\n var name;\n\n if (this.expectOptionalToken(TokenKind.COLON)) {\n alias = nameOrAlias;\n name = this.parseName();\n } else {\n name = nameOrAlias;\n }\n\n return {\n kind: Kind.FIELD,\n alias: alias,\n name: name,\n arguments: this.parseArguments(false),\n directives: this.parseDirectives(false),\n selectionSet: this.peek(TokenKind.BRACE_L) ? this.parseSelectionSet() : undefined,\n loc: this.loc(start)\n };\n }\n /**\n * Arguments[Const] : ( Argument[?Const]+ )\n */\n ;\n\n _proto.parseArguments = function parseArguments(isConst) {\n var item = isConst ? this.parseConstArgument : this.parseArgument;\n return this.optionalMany(TokenKind.PAREN_L, item, TokenKind.PAREN_R);\n }\n /**\n * Argument[Const] : Name : Value[?Const]\n */\n ;\n\n _proto.parseArgument = function parseArgument() {\n var start = this._lexer.token;\n var name = this.parseName();\n this.expectToken(TokenKind.COLON);\n return {\n kind: Kind.ARGUMENT,\n name: name,\n value: this.parseValueLiteral(false),\n loc: this.loc(start)\n };\n };\n\n _proto.parseConstArgument = function parseConstArgument() {\n var start = this._lexer.token;\n return {\n kind: Kind.ARGUMENT,\n name: this.parseName(),\n value: (this.expectToken(TokenKind.COLON), this.parseValueLiteral(true)),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Fragments section.\n\n /**\n * Corresponds to both FragmentSpread and InlineFragment in the spec.\n *\n * FragmentSpread : ... FragmentName Directives?\n *\n * InlineFragment : ... TypeCondition? Directives? SelectionSet\n */\n ;\n\n _proto.parseFragment = function parseFragment() {\n var start = this._lexer.token;\n this.expectToken(TokenKind.SPREAD);\n var hasTypeCondition = this.expectOptionalKeyword('on');\n\n if (!hasTypeCondition && this.peek(TokenKind.NAME)) {\n return {\n kind: Kind.FRAGMENT_SPREAD,\n name: this.parseFragmentName(),\n directives: this.parseDirectives(false),\n loc: this.loc(start)\n };\n }\n\n return {\n kind: Kind.INLINE_FRAGMENT,\n typeCondition: hasTypeCondition ? this.parseNamedType() : undefined,\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n /**\n * FragmentDefinition :\n * - fragment FragmentName on TypeCondition Directives? SelectionSet\n *\n * TypeCondition : NamedType\n */\n ;\n\n _proto.parseFragmentDefinition = function parseFragmentDefinition() {\n var _this$_options;\n\n var start = this._lexer.token;\n this.expectKeyword('fragment'); // Experimental support for defining variables within fragments changes\n // the grammar of FragmentDefinition:\n // - fragment FragmentName VariableDefinitions? on TypeCondition Directives? SelectionSet\n\n if (((_this$_options = this._options) === null || _this$_options === void 0 ? void 0 : _this$_options.experimentalFragmentVariables) === true) {\n return {\n kind: Kind.FRAGMENT_DEFINITION,\n name: this.parseFragmentName(),\n variableDefinitions: this.parseVariableDefinitions(),\n typeCondition: (this.expectKeyword('on'), this.parseNamedType()),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n\n return {\n kind: Kind.FRAGMENT_DEFINITION,\n name: this.parseFragmentName(),\n typeCondition: (this.expectKeyword('on'), this.parseNamedType()),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n /**\n * FragmentName : Name but not `on`\n */\n ;\n\n _proto.parseFragmentName = function parseFragmentName() {\n if (this._lexer.token.value === 'on') {\n throw this.unexpected();\n }\n\n return this.parseName();\n } // Implements the parsing rules in the Values section.\n\n /**\n * Value[Const] :\n * - [~Const] Variable\n * - IntValue\n * - FloatValue\n * - StringValue\n * - BooleanValue\n * - NullValue\n * - EnumValue\n * - ListValue[?Const]\n * - ObjectValue[?Const]\n *\n * BooleanValue : one of `true` `false`\n *\n * NullValue : `null`\n *\n * EnumValue : Name but not `true`, `false` or `null`\n */\n ;\n\n _proto.parseValueLiteral = function parseValueLiteral(isConst) {\n var token = this._lexer.token;\n\n switch (token.kind) {\n case TokenKind.BRACKET_L:\n return this.parseList(isConst);\n\n case TokenKind.BRACE_L:\n return this.parseObject(isConst);\n\n case TokenKind.INT:\n this._lexer.advance();\n\n return {\n kind: Kind.INT,\n value: token.value,\n loc: this.loc(token)\n };\n\n case TokenKind.FLOAT:\n this._lexer.advance();\n\n return {\n kind: Kind.FLOAT,\n value: token.value,\n loc: this.loc(token)\n };\n\n case TokenKind.STRING:\n case TokenKind.BLOCK_STRING:\n return this.parseStringLiteral();\n\n case TokenKind.NAME:\n this._lexer.advance();\n\n switch (token.value) {\n case 'true':\n return {\n kind: Kind.BOOLEAN,\n value: true,\n loc: this.loc(token)\n };\n\n case 'false':\n return {\n kind: Kind.BOOLEAN,\n value: false,\n loc: this.loc(token)\n };\n\n case 'null':\n return {\n kind: Kind.NULL,\n loc: this.loc(token)\n };\n\n default:\n return {\n kind: Kind.ENUM,\n value: token.value,\n loc: this.loc(token)\n };\n }\n\n case TokenKind.DOLLAR:\n if (!isConst) {\n return this.parseVariable();\n }\n\n break;\n }\n\n throw this.unexpected();\n };\n\n _proto.parseStringLiteral = function parseStringLiteral() {\n var token = this._lexer.token;\n\n this._lexer.advance();\n\n return {\n kind: Kind.STRING,\n value: token.value,\n block: token.kind === TokenKind.BLOCK_STRING,\n loc: this.loc(token)\n };\n }\n /**\n * ListValue[Const] :\n * - [ ]\n * - [ Value[?Const]+ ]\n */\n ;\n\n _proto.parseList = function parseList(isConst) {\n var _this = this;\n\n var start = this._lexer.token;\n\n var item = function item() {\n return _this.parseValueLiteral(isConst);\n };\n\n return {\n kind: Kind.LIST,\n values: this.any(TokenKind.BRACKET_L, item, TokenKind.BRACKET_R),\n loc: this.loc(start)\n };\n }\n /**\n * ObjectValue[Const] :\n * - { }\n * - { ObjectField[?Const]+ }\n */\n ;\n\n _proto.parseObject = function parseObject(isConst) {\n var _this2 = this;\n\n var start = this._lexer.token;\n\n var item = function item() {\n return _this2.parseObjectField(isConst);\n };\n\n return {\n kind: Kind.OBJECT,\n fields: this.any(TokenKind.BRACE_L, item, TokenKind.BRACE_R),\n loc: this.loc(start)\n };\n }\n /**\n * ObjectField[Const] : Name : Value[?Const]\n */\n ;\n\n _proto.parseObjectField = function parseObjectField(isConst) {\n var start = this._lexer.token;\n var name = this.parseName();\n this.expectToken(TokenKind.COLON);\n return {\n kind: Kind.OBJECT_FIELD,\n name: name,\n value: this.parseValueLiteral(isConst),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Directives section.\n\n /**\n * Directives[Const] : Directive[?Const]+\n */\n ;\n\n _proto.parseDirectives = function parseDirectives(isConst) {\n var directives = [];\n\n while (this.peek(TokenKind.AT)) {\n directives.push(this.parseDirective(isConst));\n }\n\n return directives;\n }\n /**\n * Directive[Const] : @ Name Arguments[?Const]?\n */\n ;\n\n _proto.parseDirective = function parseDirective(isConst) {\n var start = this._lexer.token;\n this.expectToken(TokenKind.AT);\n return {\n kind: Kind.DIRECTIVE,\n name: this.parseName(),\n arguments: this.parseArguments(isConst),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Types section.\n\n /**\n * Type :\n * - NamedType\n * - ListType\n * - NonNullType\n */\n ;\n\n _proto.parseTypeReference = function parseTypeReference() {\n var start = this._lexer.token;\n var type;\n\n if (this.expectOptionalToken(TokenKind.BRACKET_L)) {\n type = this.parseTypeReference();\n this.expectToken(TokenKind.BRACKET_R);\n type = {\n kind: Kind.LIST_TYPE,\n type: type,\n loc: this.loc(start)\n };\n } else {\n type = this.parseNamedType();\n }\n\n if (this.expectOptionalToken(TokenKind.BANG)) {\n return {\n kind: Kind.NON_NULL_TYPE,\n type: type,\n loc: this.loc(start)\n };\n }\n\n return type;\n }\n /**\n * NamedType : Name\n */\n ;\n\n _proto.parseNamedType = function parseNamedType() {\n var start = this._lexer.token;\n return {\n kind: Kind.NAMED_TYPE,\n name: this.parseName(),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Type Definition section.\n\n /**\n * TypeSystemDefinition :\n * - SchemaDefinition\n * - TypeDefinition\n * - DirectiveDefinition\n *\n * TypeDefinition :\n * - ScalarTypeDefinition\n * - ObjectTypeDefinition\n * - InterfaceTypeDefinition\n * - UnionTypeDefinition\n * - EnumTypeDefinition\n * - InputObjectTypeDefinition\n */\n ;\n\n _proto.parseTypeSystemDefinition = function parseTypeSystemDefinition() {\n // Many definitions begin with a description and require a lookahead.\n var keywordToken = this.peekDescription() ? this._lexer.lookahead() : this._lexer.token;\n\n if (keywordToken.kind === TokenKind.NAME) {\n switch (keywordToken.value) {\n case 'schema':\n return this.parseSchemaDefinition();\n\n case 'scalar':\n return this.parseScalarTypeDefinition();\n\n case 'type':\n return this.parseObjectTypeDefinition();\n\n case 'interface':\n return this.parseInterfaceTypeDefinition();\n\n case 'union':\n return this.parseUnionTypeDefinition();\n\n case 'enum':\n return this.parseEnumTypeDefinition();\n\n case 'input':\n return this.parseInputObjectTypeDefinition();\n\n case 'directive':\n return this.parseDirectiveDefinition();\n }\n }\n\n throw this.unexpected(keywordToken);\n };\n\n _proto.peekDescription = function peekDescription() {\n return this.peek(TokenKind.STRING) || this.peek(TokenKind.BLOCK_STRING);\n }\n /**\n * Description : StringValue\n */\n ;\n\n _proto.parseDescription = function parseDescription() {\n if (this.peekDescription()) {\n return this.parseStringLiteral();\n }\n }\n /**\n * SchemaDefinition : Description? schema Directives[Const]? { OperationTypeDefinition+ }\n */\n ;\n\n _proto.parseSchemaDefinition = function parseSchemaDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('schema');\n var directives = this.parseDirectives(true);\n var operationTypes = this.many(TokenKind.BRACE_L, this.parseOperationTypeDefinition, TokenKind.BRACE_R);\n return {\n kind: Kind.SCHEMA_DEFINITION,\n description: description,\n directives: directives,\n operationTypes: operationTypes,\n loc: this.loc(start)\n };\n }\n /**\n * OperationTypeDefinition : OperationType : NamedType\n */\n ;\n\n _proto.parseOperationTypeDefinition = function parseOperationTypeDefinition() {\n var start = this._lexer.token;\n var operation = this.parseOperationType();\n this.expectToken(TokenKind.COLON);\n var type = this.parseNamedType();\n return {\n kind: Kind.OPERATION_TYPE_DEFINITION,\n operation: operation,\n type: type,\n loc: this.loc(start)\n };\n }\n /**\n * ScalarTypeDefinition : Description? scalar Name Directives[Const]?\n */\n ;\n\n _proto.parseScalarTypeDefinition = function parseScalarTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('scalar');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n return {\n kind: Kind.SCALAR_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * ObjectTypeDefinition :\n * Description?\n * type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition?\n */\n ;\n\n _proto.parseObjectTypeDefinition = function parseObjectTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('type');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n return {\n kind: Kind.OBJECT_TYPE_DEFINITION,\n description: description,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * ImplementsInterfaces :\n * - implements `&`? NamedType\n * - ImplementsInterfaces & NamedType\n */\n ;\n\n _proto.parseImplementsInterfaces = function parseImplementsInterfaces() {\n var _this$_options2;\n\n if (!this.expectOptionalKeyword('implements')) {\n return [];\n }\n\n if (((_this$_options2 = this._options) === null || _this$_options2 === void 0 ? void 0 : _this$_options2.allowLegacySDLImplementsInterfaces) === true) {\n var types = []; // Optional leading ampersand\n\n this.expectOptionalToken(TokenKind.AMP);\n\n do {\n types.push(this.parseNamedType());\n } while (this.expectOptionalToken(TokenKind.AMP) || this.peek(TokenKind.NAME));\n\n return types;\n }\n\n return this.delimitedMany(TokenKind.AMP, this.parseNamedType);\n }\n /**\n * FieldsDefinition : { FieldDefinition+ }\n */\n ;\n\n _proto.parseFieldsDefinition = function parseFieldsDefinition() {\n var _this$_options3; // Legacy support for the SDL?\n\n\n if (((_this$_options3 = this._options) === null || _this$_options3 === void 0 ? void 0 : _this$_options3.allowLegacySDLEmptyFields) === true && this.peek(TokenKind.BRACE_L) && this._lexer.lookahead().kind === TokenKind.BRACE_R) {\n this._lexer.advance();\n\n this._lexer.advance();\n\n return [];\n }\n\n return this.optionalMany(TokenKind.BRACE_L, this.parseFieldDefinition, TokenKind.BRACE_R);\n }\n /**\n * FieldDefinition :\n * - Description? Name ArgumentsDefinition? : Type Directives[Const]?\n */\n ;\n\n _proto.parseFieldDefinition = function parseFieldDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n var name = this.parseName();\n var args = this.parseArgumentDefs();\n this.expectToken(TokenKind.COLON);\n var type = this.parseTypeReference();\n var directives = this.parseDirectives(true);\n return {\n kind: Kind.FIELD_DEFINITION,\n description: description,\n name: name,\n arguments: args,\n type: type,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * ArgumentsDefinition : ( InputValueDefinition+ )\n */\n ;\n\n _proto.parseArgumentDefs = function parseArgumentDefs() {\n return this.optionalMany(TokenKind.PAREN_L, this.parseInputValueDef, TokenKind.PAREN_R);\n }\n /**\n * InputValueDefinition :\n * - Description? Name : Type DefaultValue? Directives[Const]?\n */\n ;\n\n _proto.parseInputValueDef = function parseInputValueDef() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n var name = this.parseName();\n this.expectToken(TokenKind.COLON);\n var type = this.parseTypeReference();\n var defaultValue;\n\n if (this.expectOptionalToken(TokenKind.EQUALS)) {\n defaultValue = this.parseValueLiteral(true);\n }\n\n var directives = this.parseDirectives(true);\n return {\n kind: Kind.INPUT_VALUE_DEFINITION,\n description: description,\n name: name,\n type: type,\n defaultValue: defaultValue,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * InterfaceTypeDefinition :\n * - Description? interface Name Directives[Const]? FieldsDefinition?\n */\n ;\n\n _proto.parseInterfaceTypeDefinition = function parseInterfaceTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('interface');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n return {\n kind: Kind.INTERFACE_TYPE_DEFINITION,\n description: description,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * UnionTypeDefinition :\n * - Description? union Name Directives[Const]? UnionMemberTypes?\n */\n ;\n\n _proto.parseUnionTypeDefinition = function parseUnionTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('union');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var types = this.parseUnionMemberTypes();\n return {\n kind: Kind.UNION_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n types: types,\n loc: this.loc(start)\n };\n }\n /**\n * UnionMemberTypes :\n * - = `|`? NamedType\n * - UnionMemberTypes | NamedType\n */\n ;\n\n _proto.parseUnionMemberTypes = function parseUnionMemberTypes() {\n return this.expectOptionalToken(TokenKind.EQUALS) ? this.delimitedMany(TokenKind.PIPE, this.parseNamedType) : [];\n }\n /**\n * EnumTypeDefinition :\n * - Description? enum Name Directives[Const]? EnumValuesDefinition?\n */\n ;\n\n _proto.parseEnumTypeDefinition = function parseEnumTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('enum');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var values = this.parseEnumValuesDefinition();\n return {\n kind: Kind.ENUM_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n values: values,\n loc: this.loc(start)\n };\n }\n /**\n * EnumValuesDefinition : { EnumValueDefinition+ }\n */\n ;\n\n _proto.parseEnumValuesDefinition = function parseEnumValuesDefinition() {\n return this.optionalMany(TokenKind.BRACE_L, this.parseEnumValueDefinition, TokenKind.BRACE_R);\n }\n /**\n * EnumValueDefinition : Description? EnumValue Directives[Const]?\n *\n * EnumValue : Name\n */\n ;\n\n _proto.parseEnumValueDefinition = function parseEnumValueDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n return {\n kind: Kind.ENUM_VALUE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * InputObjectTypeDefinition :\n * - Description? input Name Directives[Const]? InputFieldsDefinition?\n */\n ;\n\n _proto.parseInputObjectTypeDefinition = function parseInputObjectTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('input');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var fields = this.parseInputFieldsDefinition();\n return {\n kind: Kind.INPUT_OBJECT_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * InputFieldsDefinition : { InputValueDefinition+ }\n */\n ;\n\n _proto.parseInputFieldsDefinition = function parseInputFieldsDefinition() {\n return this.optionalMany(TokenKind.BRACE_L, this.parseInputValueDef, TokenKind.BRACE_R);\n }\n /**\n * TypeSystemExtension :\n * - SchemaExtension\n * - TypeExtension\n *\n * TypeExtension :\n * - ScalarTypeExtension\n * - ObjectTypeExtension\n * - InterfaceTypeExtension\n * - UnionTypeExtension\n * - EnumTypeExtension\n * - InputObjectTypeDefinition\n */\n ;\n\n _proto.parseTypeSystemExtension = function parseTypeSystemExtension() {\n var keywordToken = this._lexer.lookahead();\n\n if (keywordToken.kind === TokenKind.NAME) {\n switch (keywordToken.value) {\n case 'schema':\n return this.parseSchemaExtension();\n\n case 'scalar':\n return this.parseScalarTypeExtension();\n\n case 'type':\n return this.parseObjectTypeExtension();\n\n case 'interface':\n return this.parseInterfaceTypeExtension();\n\n case 'union':\n return this.parseUnionTypeExtension();\n\n case 'enum':\n return this.parseEnumTypeExtension();\n\n case 'input':\n return this.parseInputObjectTypeExtension();\n }\n }\n\n throw this.unexpected(keywordToken);\n }\n /**\n * SchemaExtension :\n * - extend schema Directives[Const]? { OperationTypeDefinition+ }\n * - extend schema Directives[Const]\n */\n ;\n\n _proto.parseSchemaExtension = function parseSchemaExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('schema');\n var directives = this.parseDirectives(true);\n var operationTypes = this.optionalMany(TokenKind.BRACE_L, this.parseOperationTypeDefinition, TokenKind.BRACE_R);\n\n if (directives.length === 0 && operationTypes.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.SCHEMA_EXTENSION,\n directives: directives,\n operationTypes: operationTypes,\n loc: this.loc(start)\n };\n }\n /**\n * ScalarTypeExtension :\n * - extend scalar Name Directives[Const]\n */\n ;\n\n _proto.parseScalarTypeExtension = function parseScalarTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('scalar');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n\n if (directives.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.SCALAR_TYPE_EXTENSION,\n name: name,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * ObjectTypeExtension :\n * - extend type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition\n * - extend type Name ImplementsInterfaces? Directives[Const]\n * - extend type Name ImplementsInterfaces\n */\n ;\n\n _proto.parseObjectTypeExtension = function parseObjectTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('type');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n\n if (interfaces.length === 0 && directives.length === 0 && fields.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.OBJECT_TYPE_EXTENSION,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * InterfaceTypeExtension :\n * - extend interface Name ImplementsInterfaces? Directives[Const]? FieldsDefinition\n * - extend interface Name ImplementsInterfaces? Directives[Const]\n * - extend interface Name ImplementsInterfaces\n */\n ;\n\n _proto.parseInterfaceTypeExtension = function parseInterfaceTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('interface');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n\n if (interfaces.length === 0 && directives.length === 0 && fields.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.INTERFACE_TYPE_EXTENSION,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * UnionTypeExtension :\n * - extend union Name Directives[Const]? UnionMemberTypes\n * - extend union Name Directives[Const]\n */\n ;\n\n _proto.parseUnionTypeExtension = function parseUnionTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('union');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var types = this.parseUnionMemberTypes();\n\n if (directives.length === 0 && types.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.UNION_TYPE_EXTENSION,\n name: name,\n directives: directives,\n types: types,\n loc: this.loc(start)\n };\n }\n /**\n * EnumTypeExtension :\n * - extend enum Name Directives[Const]? EnumValuesDefinition\n * - extend enum Name Directives[Const]\n */\n ;\n\n _proto.parseEnumTypeExtension = function parseEnumTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('enum');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var values = this.parseEnumValuesDefinition();\n\n if (directives.length === 0 && values.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.ENUM_TYPE_EXTENSION,\n name: name,\n directives: directives,\n values: values,\n loc: this.loc(start)\n };\n }\n /**\n * InputObjectTypeExtension :\n * - extend input Name Directives[Const]? InputFieldsDefinition\n * - extend input Name Directives[Const]\n */\n ;\n\n _proto.parseInputObjectTypeExtension = function parseInputObjectTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('input');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var fields = this.parseInputFieldsDefinition();\n\n if (directives.length === 0 && fields.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.INPUT_OBJECT_TYPE_EXTENSION,\n name: name,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * DirectiveDefinition :\n * - Description? directive @ Name ArgumentsDefinition? `repeatable`? on DirectiveLocations\n */\n ;\n\n _proto.parseDirectiveDefinition = function parseDirectiveDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('directive');\n this.expectToken(TokenKind.AT);\n var name = this.parseName();\n var args = this.parseArgumentDefs();\n var repeatable = this.expectOptionalKeyword('repeatable');\n this.expectKeyword('on');\n var locations = this.parseDirectiveLocations();\n return {\n kind: Kind.DIRECTIVE_DEFINITION,\n description: description,\n name: name,\n arguments: args,\n repeatable: repeatable,\n locations: locations,\n loc: this.loc(start)\n };\n }\n /**\n * DirectiveLocations :\n * - `|`? DirectiveLocation\n * - DirectiveLocations | DirectiveLocation\n */\n ;\n\n _proto.parseDirectiveLocations = function parseDirectiveLocations() {\n return this.delimitedMany(TokenKind.PIPE, this.parseDirectiveLocation);\n }\n /*\n * DirectiveLocation :\n * - ExecutableDirectiveLocation\n * - TypeSystemDirectiveLocation\n *\n * ExecutableDirectiveLocation : one of\n * `QUERY`\n * `MUTATION`\n * `SUBSCRIPTION`\n * `FIELD`\n * `FRAGMENT_DEFINITION`\n * `FRAGMENT_SPREAD`\n * `INLINE_FRAGMENT`\n *\n * TypeSystemDirectiveLocation : one of\n * `SCHEMA`\n * `SCALAR`\n * `OBJECT`\n * `FIELD_DEFINITION`\n * `ARGUMENT_DEFINITION`\n * `INTERFACE`\n * `UNION`\n * `ENUM`\n * `ENUM_VALUE`\n * `INPUT_OBJECT`\n * `INPUT_FIELD_DEFINITION`\n */\n ;\n\n _proto.parseDirectiveLocation = function parseDirectiveLocation() {\n var start = this._lexer.token;\n var name = this.parseName();\n\n if (DirectiveLocation[name.value] !== undefined) {\n return name;\n }\n\n throw this.unexpected(start);\n } // Core parsing utility functions\n\n /**\n * Returns a location object, used to identify the place in the source that created a given parsed object.\n */\n ;\n\n _proto.loc = function loc(startToken) {\n var _this$_options4;\n\n if (((_this$_options4 = this._options) === null || _this$_options4 === void 0 ? void 0 : _this$_options4.noLocation) !== true) {\n return new Location(startToken, this._lexer.lastToken, this._lexer.source);\n }\n }\n /**\n * Determines if the next token is of a given kind\n */\n ;\n\n _proto.peek = function peek(kind) {\n return this._lexer.token.kind === kind;\n }\n /**\n * If the next token is of the given kind, return that token after advancing the lexer.\n * Otherwise, do not change the parser state and throw an error.\n */\n ;\n\n _proto.expectToken = function expectToken(kind) {\n var token = this._lexer.token;\n\n if (token.kind === kind) {\n this._lexer.advance();\n\n return token;\n }\n\n throw syntaxError(this._lexer.source, token.start, \"Expected \".concat(getTokenKindDesc(kind), \", found \").concat(getTokenDesc(token), \".\"));\n }\n /**\n * If the next token is of the given kind, return that token after advancing the lexer.\n * Otherwise, do not change the parser state and return undefined.\n */\n ;\n\n _proto.expectOptionalToken = function expectOptionalToken(kind) {\n var token = this._lexer.token;\n\n if (token.kind === kind) {\n this._lexer.advance();\n\n return token;\n }\n\n return undefined;\n }\n /**\n * If the next token is a given keyword, advance the lexer.\n * Otherwise, do not change the parser state and throw an error.\n */\n ;\n\n _proto.expectKeyword = function expectKeyword(value) {\n var token = this._lexer.token;\n\n if (token.kind === TokenKind.NAME && token.value === value) {\n this._lexer.advance();\n } else {\n throw syntaxError(this._lexer.source, token.start, \"Expected \\\"\".concat(value, \"\\\", found \").concat(getTokenDesc(token), \".\"));\n }\n }\n /**\n * If the next token is a given keyword, return \"true\" after advancing the lexer.\n * Otherwise, do not change the parser state and return \"false\".\n */\n ;\n\n _proto.expectOptionalKeyword = function expectOptionalKeyword(value) {\n var token = this._lexer.token;\n\n if (token.kind === TokenKind.NAME && token.value === value) {\n this._lexer.advance();\n\n return true;\n }\n\n return false;\n }\n /**\n * Helper function for creating an error when an unexpected lexed token is encountered.\n */\n ;\n\n _proto.unexpected = function unexpected(atToken) {\n var token = atToken !== null && atToken !== void 0 ? atToken : this._lexer.token;\n return syntaxError(this._lexer.source, token.start, \"Unexpected \".concat(getTokenDesc(token), \".\"));\n }\n /**\n * Returns a possibly empty list of parse nodes, determined by the parseFn.\n * This list begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n ;\n\n _proto.any = function any(openKind, parseFn, closeKind) {\n this.expectToken(openKind);\n var nodes = [];\n\n while (!this.expectOptionalToken(closeKind)) {\n nodes.push(parseFn.call(this));\n }\n\n return nodes;\n }\n /**\n * Returns a list of parse nodes, determined by the parseFn.\n * It can be empty only if open token is missing otherwise it will always return non-empty list\n * that begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n ;\n\n _proto.optionalMany = function optionalMany(openKind, parseFn, closeKind) {\n if (this.expectOptionalToken(openKind)) {\n var nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (!this.expectOptionalToken(closeKind));\n\n return nodes;\n }\n\n return [];\n }\n /**\n * Returns a non-empty list of parse nodes, determined by the parseFn.\n * This list begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n ;\n\n _proto.many = function many(openKind, parseFn, closeKind) {\n this.expectToken(openKind);\n var nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (!this.expectOptionalToken(closeKind));\n\n return nodes;\n }\n /**\n * Returns a non-empty list of parse nodes, determined by the parseFn.\n * This list may begin with a lex token of delimiterKind followed by items separated by lex tokens of tokenKind.\n * Advances the parser to the next lex token after last item in the list.\n */\n ;\n\n _proto.delimitedMany = function delimitedMany(delimiterKind, parseFn) {\n this.expectOptionalToken(delimiterKind);\n var nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (this.expectOptionalToken(delimiterKind));\n\n return nodes;\n };\n\n return Parser;\n}();\n/**\n * A helper function to describe a token as a string for debugging.\n */\n\nfunction getTokenDesc(token) {\n var value = token.value;\n return getTokenKindDesc(token.kind) + (value != null ? \" \\\"\".concat(value, \"\\\"\") : '');\n}\n/**\n * A helper function to describe a token kind as a string for debugging.\n */\n\n\nfunction getTokenKindDesc(kind) {\n return isPunctuatorTokenKind(kind) ? \"\\\"\".concat(kind, \"\\\"\") : kind;\n}","import { __assign } from \"tslib\";\nimport { parse } from 'graphql';\nvar docCache = new Map();\nvar fragmentSourceMap = new Map();\nvar printFragmentWarnings = true;\nvar experimentalFragmentVariables = false;\n\nfunction normalize(string) {\n return string.replace(/[\\s,]+/g, ' ').trim();\n}\n\nfunction cacheKeyFromLoc(loc) {\n return normalize(loc.source.body.substring(loc.start, loc.end));\n}\n\nfunction processFragments(ast) {\n var seenKeys = new Set();\n var definitions = [];\n ast.definitions.forEach(function (fragmentDefinition) {\n if (fragmentDefinition.kind === 'FragmentDefinition') {\n var fragmentName = fragmentDefinition.name.value;\n var sourceKey = cacheKeyFromLoc(fragmentDefinition.loc);\n var sourceKeySet = fragmentSourceMap.get(fragmentName);\n\n if (sourceKeySet && !sourceKeySet.has(sourceKey)) {\n if (printFragmentWarnings) {\n console.warn(\"Warning: fragment with name \" + fragmentName + \" already exists.\\n\" + \"graphql-tag enforces all fragment names across your application to be unique; read more about\\n\" + \"this in the docs: http://dev.apollodata.com/core/fragments.html#unique-names\");\n }\n } else if (!sourceKeySet) {\n fragmentSourceMap.set(fragmentName, sourceKeySet = new Set());\n }\n\n sourceKeySet.add(sourceKey);\n\n if (!seenKeys.has(sourceKey)) {\n seenKeys.add(sourceKey);\n definitions.push(fragmentDefinition);\n }\n } else {\n definitions.push(fragmentDefinition);\n }\n });\n return __assign(__assign({}, ast), {\n definitions: definitions\n });\n}\n\nfunction stripLoc(doc) {\n var workSet = new Set(doc.definitions);\n workSet.forEach(function (node) {\n if (node.loc) delete node.loc;\n Object.keys(node).forEach(function (key) {\n var value = node[key];\n\n if (value && typeof value === 'object') {\n workSet.add(value);\n }\n });\n });\n var loc = doc.loc;\n\n if (loc) {\n delete loc.startToken;\n delete loc.endToken;\n }\n\n return doc;\n}\n\nfunction parseDocument(source) {\n var cacheKey = normalize(source);\n\n if (!docCache.has(cacheKey)) {\n var parsed = parse(source, {\n experimentalFragmentVariables: experimentalFragmentVariables,\n allowLegacyFragmentVariables: experimentalFragmentVariables\n });\n\n if (!parsed || parsed.kind !== 'Document') {\n throw new Error('Not a valid GraphQL document.');\n }\n\n docCache.set(cacheKey, stripLoc(processFragments(parsed)));\n }\n\n return docCache.get(cacheKey);\n}\n\nexport function gql(literals) {\n var args = [];\n\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n\n if (typeof literals === 'string') {\n literals = [literals];\n }\n\n var result = literals[0];\n args.forEach(function (arg, i) {\n if (arg && arg.kind === 'Document') {\n result += arg.loc.source.body;\n } else {\n result += arg;\n }\n\n result += literals[i + 1];\n });\n return parseDocument(result);\n}\nexport function resetCaches() {\n docCache.clear();\n fragmentSourceMap.clear();\n}\nexport function disableFragmentWarnings() {\n printFragmentWarnings = false;\n}\nexport function enableExperimentalFragmentVariables() {\n experimentalFragmentVariables = true;\n}\nexport function disableExperimentalFragmentVariables() {\n experimentalFragmentVariables = false;\n}\nvar extras = {\n gql: gql,\n resetCaches: resetCaches,\n disableFragmentWarnings: disableFragmentWarnings,\n enableExperimentalFragmentVariables: enableExperimentalFragmentVariables,\n disableExperimentalFragmentVariables: disableExperimentalFragmentVariables\n};\n\n(function (gql_1) {\n gql_1.gql = extras.gql, gql_1.resetCaches = extras.resetCaches, gql_1.disableFragmentWarnings = extras.disableFragmentWarnings, gql_1.enableExperimentalFragmentVariables = extras.enableExperimentalFragmentVariables, gql_1.disableExperimentalFragmentVariables = extras.disableExperimentalFragmentVariables;\n})(gql || (gql = {}));\n\ngql[\"default\"] = gql;\nexport default gql;","/* eslint-disable quotes */\n/* eslint-disable prettier/prettier */\nexport const typesWithId = [\"ActionCard\",\"Address\",\"AdminUser\",\"Allergen\",\"Appointment\",\"AppointmentProduct\",\"AppointmentReason\",\"AuthenticationSetup\",\"Banner\",\"Basket\",\"BasketProduct\",\"BillingAgreement\",\"BoostedBox\",\"Box\",\"Breed\",\"CardAuthenticationSetup\",\"CarrierService\",\"Consignment\",\"ContactInformation\",\"CreditCardPaymentMethod\",\"CustomerIssueCategory\",\"CustomerIssueEntryField\",\"CustomerIssueEntryFieldAssociation\",\"CustomerIssueEntryFieldBoolean\",\"CustomerIssueEntryFieldInteger\",\"CustomerIssueEntryFieldMultifield\",\"CustomerIssueEntryFieldString\",\"CustomerIssueManagementCategory\",\"CustomerIssueManagementCategoryReason\",\"CustomerIssueManagementInputFieldAssociation\",\"CustomerIssueManagementInputFieldBoolean\",\"CustomerIssueManagementInputFieldInteger\",\"CustomerIssueManagementInputFieldMultifield\",\"CustomerIssueManagementInputFieldString\",\"CustomerIssueManagementReason\",\"CustomerIssueManagementResolutionOffering\",\"CustomerIssueReason\",\"CustomerReview\",\"DeliveryArea\",\"DirectSalesEvent\",\"DirectSalesRepresentative\",\"DirectSalesTeam\",\"DiscountCode\",\"Dog\",\"DogProfile\",\"Field\",\"FoodBrand\",\"FoodBrandRange\",\"FoodBrandRangeVariety\",\"FoodCategory\",\"GocardlessUserParam\",\"Guest\",\"HealthIssue\",\"Invoice\",\"MarketingMethod\",\"MarketingPurpose\",\"Membership\",\"MerchantInitiatedPayment\",\"NewFlavour\",\"NewInvoice\",\"NonCoreInvoice\",\"NonCoreOrder\",\"NonCoreOrderProduct\",\"Notification\",\"OrderProduct\",\"Pause\",\"PendingSubscription\",\"PendingSubscriptionFlavour\",\"PendingSubscriptionOrderPricingExtras\",\"PetCareProfessional\",\"Plan\",\"PricingCurve\",\"Product\",\"ProductBenefit\",\"ProductCollection\",\"ProductGroup\",\"ProductLabel\",\"ProductSticker\",\"ProductVariant\",\"RecurringOrderProduct\",\"Reportable\",\"SelectedMarketingMethodPurpose\",\"SepaDirectDebit\",\"ShippingCountry\",\"Subscription\",\"SupportedMarketingMethodPurpose\",\"User\"];\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;","import { dep } from \"optimism\";\nimport { Slot } from \"@wry/context\";\nexport var cacheSlot = new Slot();\nvar cacheInfoMap = new WeakMap();\n\nfunction getCacheInfo(cache) {\n var info = cacheInfoMap.get(cache);\n\n if (!info) {\n cacheInfoMap.set(cache, info = {\n vars: new Set(),\n dep: dep()\n });\n }\n\n return info;\n}\n\nexport function forgetCache(cache) {\n getCacheInfo(cache).vars.forEach(function (rv) {\n return rv.forgetCache(cache);\n });\n}\nexport function recallCache(cache) {\n getCacheInfo(cache).vars.forEach(function (rv) {\n return rv.attachCache(cache);\n });\n}\nexport function makeVar(value) {\n var caches = new Set();\n var listeners = new Set();\n\n var rv = function rv(newValue) {\n if (arguments.length > 0) {\n if (value !== newValue) {\n value = newValue;\n caches.forEach(function (cache) {\n getCacheInfo(cache).dep.dirty(rv);\n broadcast(cache);\n });\n var oldListeners = Array.from(listeners);\n listeners.clear();\n oldListeners.forEach(function (listener) {\n return listener(value);\n });\n }\n } else {\n var cache = cacheSlot.getValue();\n\n if (cache) {\n attach(cache);\n getCacheInfo(cache).dep(rv);\n }\n }\n\n return value;\n };\n\n rv.onNextChange = function (listener) {\n listeners.add(listener);\n return function () {\n listeners.delete(listener);\n };\n };\n\n var attach = rv.attachCache = function (cache) {\n caches.add(cache);\n getCacheInfo(cache).vars.add(rv);\n return rv;\n };\n\n rv.forgetCache = function (cache) {\n return caches.delete(cache);\n };\n\n return rv;\n}\n\nfunction broadcast(cache) {\n if (cache.broadcastWatches) {\n cache.broadcastWatches();\n }\n}","// @flow\n\nimport { useState } from 'react'\n\ntype LocalStorage<Value, HandleSetValue> = [Value, HandleSetValue]\n\nconst useLocalStorage = <Key, Value>(\n key: Key,\n initialValue: Value\n): LocalStorage<Value, (Value) => void> => {\n // State to store our value\n // Pass initial state function to useState so logic is only executed once\n const [storedValue, setStoredValue] = useState((): Value => {\n try {\n // Get from local storage by key\n const item = window.localStorage.getItem(key)\n\n // Parse stored json or if none return initialValue\n return item ? JSON.parse(item) : initialValue\n } catch (error) {\n // If error also return initialValue\n console.error(error)\n return initialValue\n }\n })\n\n // Return a wrapped version of useState's setter function that\n // persists the new value to localStorage.\n const handleSetStoredValue = (value: Value): void => {\n try {\n // Save state\n setStoredValue(value)\n\n // Save to local storage\n window.localStorage.setItem(key, JSON.stringify(value))\n } catch (error) {\n throw new Error(`Set value to local storage failed: ${error}`)\n }\n }\n\n return [ storedValue, handleSetStoredValue ]\n}\n\nexport default useLocalStorage\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 */\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is'); // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n\n\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","var baseSlice = require('./_baseSlice');\n/**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\n\n\nfunction castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return !start && end >= length ? array : baseSlice(array, start, end);\n}\n\nmodule.exports = castSlice;","var asciiToArray = require('./_asciiToArray'),\n hasUnicode = require('./_hasUnicode'),\n unicodeToArray = require('./_unicodeToArray');\n/**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n\n\nfunction stringToArray(string) {\n return hasUnicode(string) ? unicodeToArray(string) : asciiToArray(string);\n}\n\nmodule.exports = stringToArray;","import { formatMuiErrorMessage as _formatMuiErrorMessage } from \"@material-ui/utils\"; // It should to be noted that this function isn't equivalent to `text-transform: capitalize`.\n//\n// A strict capitalization should uppercase the first letter of each word a the sentence.\n// We only handle the first word.\n\nexport default function capitalize(string) {\n if (typeof string !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? \"Material-UI: capitalize(string) expects a string argument.\" : _formatMuiErrorMessage(7));\n }\n\n return string.charAt(0).toUpperCase() + string.slice(1);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport withStyles from '../styles/withStyles';\nimport capitalize from '../utils/capitalize';\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: _defineProperty({\n width: '100%',\n marginLeft: 'auto',\n boxSizing: 'border-box',\n marginRight: 'auto',\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n display: 'block'\n }, theme.breakpoints.up('sm'), {\n paddingLeft: theme.spacing(3),\n paddingRight: theme.spacing(3)\n }),\n\n /* Styles applied to the root element if `disableGutters={true}`. */\n disableGutters: {\n paddingLeft: 0,\n paddingRight: 0\n },\n\n /* Styles applied to the root element if `fixed={true}`. */\n fixed: Object.keys(theme.breakpoints.values).reduce(function (acc, breakpoint) {\n var value = theme.breakpoints.values[breakpoint];\n\n if (value !== 0) {\n acc[theme.breakpoints.up(breakpoint)] = {\n maxWidth: value\n };\n }\n\n return acc;\n }, {}),\n\n /* Styles applied to the root element if `maxWidth=\"xs\"`. */\n maxWidthXs: _defineProperty({}, theme.breakpoints.up('xs'), {\n maxWidth: Math.max(theme.breakpoints.values.xs, 444)\n }),\n\n /* Styles applied to the root element if `maxWidth=\"sm\"`. */\n maxWidthSm: _defineProperty({}, theme.breakpoints.up('sm'), {\n maxWidth: theme.breakpoints.values.sm\n }),\n\n /* Styles applied to the root element if `maxWidth=\"md\"`. */\n maxWidthMd: _defineProperty({}, theme.breakpoints.up('md'), {\n maxWidth: theme.breakpoints.values.md\n }),\n\n /* Styles applied to the root element if `maxWidth=\"lg\"`. */\n maxWidthLg: _defineProperty({}, theme.breakpoints.up('lg'), {\n maxWidth: theme.breakpoints.values.lg\n }),\n\n /* Styles applied to the root element if `maxWidth=\"xl\"`. */\n maxWidthXl: _defineProperty({}, theme.breakpoints.up('xl'), {\n maxWidth: theme.breakpoints.values.xl\n })\n };\n};\nvar Container = /*#__PURE__*/React.forwardRef(function Container(props, ref) {\n var classes = props.classes,\n className = props.className,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'div' : _props$component,\n _props$disableGutters = props.disableGutters,\n disableGutters = _props$disableGutters === void 0 ? false : _props$disableGutters,\n _props$fixed = props.fixed,\n fixed = _props$fixed === void 0 ? false : _props$fixed,\n _props$maxWidth = props.maxWidth,\n maxWidth = _props$maxWidth === void 0 ? 'lg' : _props$maxWidth,\n other = _objectWithoutProperties(props, [\"classes\", \"className\", \"component\", \"disableGutters\", \"fixed\", \"maxWidth\"]);\n\n return /*#__PURE__*/React.createElement(Component, _extends({\n className: clsx(classes.root, className, fixed && classes.fixed, disableGutters && classes.disableGutters, maxWidth !== false && classes[\"maxWidth\".concat(capitalize(String(maxWidth)))]),\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Container.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * @ignore\n */\n children: PropTypes\n /* @typescript-to-proptypes-ignore */\n .node.isRequired,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes\n /* @typescript-to-proptypes-ignore */\n .elementType,\n\n /**\n * If `true`, the left and right padding is removed.\n */\n disableGutters: PropTypes.bool,\n\n /**\n * Set the max-width to match the min-width of the current breakpoint.\n * This is useful if you'd prefer to design for a fixed set of sizes\n * instead of trying to accommodate a fully fluid viewport.\n * It's fluid by default.\n */\n fixed: PropTypes.bool,\n\n /**\n * Determine the max-width of the container.\n * The container width grows with the size of the screen.\n * Set to `false` to disable `maxWidth`.\n */\n maxWidth: PropTypes.oneOf(['lg', 'md', 'sm', 'xl', 'xs', false])\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiContainer'\n})(Container);","var Symbol = require('./_Symbol');\n/** Used for built-in method references. */\n\n\nvar objectProto = Object.prototype;\n/** Used to check objects for own properties. */\n\nvar hasOwnProperty = objectProto.hasOwnProperty;\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\n\nvar nativeObjectToString = objectProto.toString;\n/** Built-in value references. */\n\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\n\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n\n return result;\n}\n\nmodule.exports = getRawTag;","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\n\nvar nativeObjectToString = objectProto.toString;\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\n\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;","'use strict';\n\nexports.__esModule = true; // istanbul ignore next\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n} // istanbul ignore next\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)) newObj[key] = obj[key];\n }\n }\n\n newObj['default'] = obj;\n return newObj;\n }\n}\n\nvar _handlebarsBase = require('./handlebars/base');\n\nvar base = _interopRequireWildcard(_handlebarsBase); // Each of these augment the Handlebars object. No need to setup here.\n// (This is done to easily share code between commonjs and browse envs)\n\n\nvar _handlebarsSafeString = require('./handlebars/safe-string');\n\nvar _handlebarsSafeString2 = _interopRequireDefault(_handlebarsSafeString);\n\nvar _handlebarsException = require('./handlebars/exception');\n\nvar _handlebarsException2 = _interopRequireDefault(_handlebarsException);\n\nvar _handlebarsUtils = require('./handlebars/utils');\n\nvar Utils = _interopRequireWildcard(_handlebarsUtils);\n\nvar _handlebarsRuntime = require('./handlebars/runtime');\n\nvar runtime = _interopRequireWildcard(_handlebarsRuntime);\n\nvar _handlebarsNoConflict = require('./handlebars/no-conflict');\n\nvar _handlebarsNoConflict2 = _interopRequireDefault(_handlebarsNoConflict); // For compatibility and usage outside of module systems, make the Handlebars object a namespace\n\n\nfunction create() {\n var hb = new base.HandlebarsEnvironment();\n Utils.extend(hb, base);\n hb.SafeString = _handlebarsSafeString2['default'];\n hb.Exception = _handlebarsException2['default'];\n hb.Utils = Utils;\n hb.escapeExpression = Utils.escapeExpression;\n hb.VM = runtime;\n\n hb.template = function (spec) {\n return runtime.template(spec, hb);\n };\n\n return hb;\n}\n\nvar inst = create();\ninst.create = create;\n\n_handlebarsNoConflict2['default'](inst);\n\ninst['default'] = inst;\nexports['default'] = inst;\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\n\nvar _utils = require('../utils');\n\nexports['default'] = function (instance) {\n instance.registerHelper('blockHelperMissing', function (context, options) {\n var inverse = options.inverse,\n fn = options.fn;\n\n if (context === true) {\n return fn(this);\n } else if (context === false || context == null) {\n return inverse(this);\n } else if (_utils.isArray(context)) {\n if (context.length > 0) {\n if (options.ids) {\n options.ids = [options.name];\n }\n\n return instance.helpers.each(context, options);\n } else {\n return inverse(this);\n }\n } else {\n if (options.data && options.ids) {\n var data = _utils.createFrame(options.data);\n\n data.contextPath = _utils.appendContextPath(options.data.contextPath, options.name);\n options = {\n data: data\n };\n }\n\n return fn(context, options);\n }\n });\n};\n\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true; // istanbul ignore next\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _utils = require('../utils');\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nexports['default'] = function (instance) {\n instance.registerHelper('each', function (context, options) {\n if (!options) {\n throw new _exception2['default']('Must pass iterator to #each');\n }\n\n var fn = options.fn,\n inverse = options.inverse,\n i = 0,\n ret = '',\n data = undefined,\n contextPath = undefined;\n\n if (options.data && options.ids) {\n contextPath = _utils.appendContextPath(options.data.contextPath, options.ids[0]) + '.';\n }\n\n if (_utils.isFunction(context)) {\n context = context.call(this);\n }\n\n if (options.data) {\n data = _utils.createFrame(options.data);\n }\n\n function execIteration(field, index, last) {\n if (data) {\n data.key = field;\n data.index = index;\n data.first = index === 0;\n data.last = !!last;\n\n if (contextPath) {\n data.contextPath = contextPath + field;\n }\n }\n\n ret = ret + fn(context[field], {\n data: data,\n blockParams: _utils.blockParams([context[field], field], [contextPath + field, null])\n });\n }\n\n if (context && typeof context === 'object') {\n if (_utils.isArray(context)) {\n for (var j = context.length; i < j; i++) {\n if (i in context) {\n execIteration(i, i, i === context.length - 1);\n }\n }\n } else if (global.Symbol && context[global.Symbol.iterator]) {\n var newContext = [];\n var iterator = context[global.Symbol.iterator]();\n\n for (var it = iterator.next(); !it.done; it = iterator.next()) {\n newContext.push(it.value);\n }\n\n context = newContext;\n\n for (var j = context.length; i < j; i++) {\n execIteration(i, i, i === context.length - 1);\n }\n } else {\n (function () {\n var priorKey = undefined;\n Object.keys(context).forEach(function (key) {\n // We're running the iterations one step out of sync so we can detect\n // the last iteration without have to scan the object twice and create\n // an itermediate keys array.\n if (priorKey !== undefined) {\n execIteration(priorKey, i - 1);\n }\n\n priorKey = key;\n i++;\n });\n\n if (priorKey !== undefined) {\n execIteration(priorKey, i - 1, true);\n }\n })();\n }\n }\n\n if (i === 0) {\n ret = inverse(this);\n }\n\n return ret;\n });\n};\n\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true; // istanbul ignore next\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nexports['default'] = function (instance) {\n instance.registerHelper('helperMissing', function ()\n /* [args, ]options */\n {\n if (arguments.length === 1) {\n // A missing field in a {{foo}} construct.\n return undefined;\n } else {\n // Someone is actually trying to call something, blow up.\n throw new _exception2['default']('Missing helper: \"' + arguments[arguments.length - 1].name + '\"');\n }\n });\n};\n\nmodule.exports = exports['default'];","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","'use strict';\n\nexports.__esModule = true; // istanbul ignore next\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _utils = require('../utils');\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nexports['default'] = function (instance) {\n instance.registerHelper('if', function (conditional, options) {\n if (arguments.length != 2) {\n throw new _exception2['default']('#if requires exactly one argument');\n }\n\n if (_utils.isFunction(conditional)) {\n conditional = conditional.call(this);\n } // Default behavior is to render the positive path if the value is truthy and not empty.\n // The `includeZero` option may be set to treat the condtional as purely not empty based on the\n // behavior of isEmpty. Effectively this determines if 0 is handled by the positive path or negative.\n\n\n if (!options.hash.includeZero && !conditional || _utils.isEmpty(conditional)) {\n return options.inverse(this);\n } else {\n return options.fn(this);\n }\n });\n instance.registerHelper('unless', function (conditional, options) {\n if (arguments.length != 2) {\n throw new _exception2['default']('#unless requires exactly one argument');\n }\n\n return instance.helpers['if'].call(this, conditional, {\n fn: options.inverse,\n inverse: options.fn,\n hash: options.hash\n });\n });\n};\n\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\n\nexports['default'] = function (instance) {\n instance.registerHelper('log', function ()\n /* message, options */\n {\n var args = [undefined],\n options = arguments[arguments.length - 1];\n\n for (var i = 0; i < arguments.length - 1; i++) {\n args.push(arguments[i]);\n }\n\n var level = 1;\n\n if (options.hash.level != null) {\n level = options.hash.level;\n } else if (options.data && options.data.level != null) {\n level = options.data.level;\n }\n\n args[0] = level;\n instance.log.apply(instance, args);\n });\n};\n\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\n\nexports['default'] = function (instance) {\n instance.registerHelper('lookup', function (obj, field, options) {\n if (!obj) {\n // Note for 5.0: Change to \"obj == null\" in 5.0\n return obj;\n }\n\n return options.lookupProperty(obj, field);\n });\n};\n\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true; // istanbul ignore next\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _utils = require('../utils');\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nexports['default'] = function (instance) {\n instance.registerHelper('with', function (context, options) {\n if (arguments.length != 2) {\n throw new _exception2['default']('#with requires exactly one argument');\n }\n\n if (_utils.isFunction(context)) {\n context = context.call(this);\n }\n\n var fn = options.fn;\n\n if (!_utils.isEmpty(context)) {\n var data = options.data;\n\n if (options.data && options.ids) {\n data = _utils.createFrame(options.data);\n data.contextPath = _utils.appendContextPath(options.data.contextPath, options.ids[0]);\n }\n\n return fn(context, {\n data: data,\n blockParams: _utils.blockParams([context], [data && data.contextPath])\n });\n } else {\n return options.inverse(this);\n }\n });\n};\n\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\nexports.registerDefaultDecorators = registerDefaultDecorators; // istanbul ignore next\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _decoratorsInline = require('./decorators/inline');\n\nvar _decoratorsInline2 = _interopRequireDefault(_decoratorsInline);\n\nfunction registerDefaultDecorators(instance) {\n _decoratorsInline2['default'](instance);\n}","'use strict';\n\nexports.__esModule = true;\n\nvar _utils = require('../utils');\n\nexports['default'] = function (instance) {\n instance.registerDecorator('inline', function (fn, props, container, options) {\n var ret = fn;\n\n if (!props.partials) {\n props.partials = {};\n\n ret = function ret(context, options) {\n // Create a new partials stack frame prior to exec.\n var original = container.partials;\n container.partials = _utils.extend({}, original, props.partials);\n var ret = fn(context, options);\n container.partials = original;\n return ret;\n };\n }\n\n props.partials[options.args[0]] = options.fn;\n return ret;\n });\n};\n\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\nexports.createNewLookupObject = createNewLookupObject;\n\nvar _utils = require('../utils');\n/**\n * Create a new object with \"null\"-prototype to avoid truthy results on prototype properties.\n * The resulting object can be used with \"object[property]\" to check if a property exists\n * @param {...object} sources a varargs parameter of source objects that will be merged\n * @returns {object}\n */\n\n\nfunction createNewLookupObject() {\n for (var _len = arguments.length, sources = Array(_len), _key = 0; _key < _len; _key++) {\n sources[_key] = arguments[_key];\n }\n\n return _utils.extend.apply(undefined, [Object.create(null)].concat(sources));\n}","// Build out our basic SafeString type\n'use strict';\n\nexports.__esModule = true;\n\nfunction SafeString(string) {\n this.string = string;\n}\n\nSafeString.prototype.toString = SafeString.prototype.toHTML = function () {\n return '' + this.string;\n};\n\nexports['default'] = SafeString;\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\nexports.checkRevision = checkRevision;\nexports.template = template;\nexports.wrapProgram = wrapProgram;\nexports.resolvePartial = resolvePartial;\nexports.invokePartial = invokePartial;\nexports.noop = noop; // istanbul ignore next\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n} // istanbul ignore next\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)) newObj[key] = obj[key];\n }\n }\n\n newObj['default'] = obj;\n return newObj;\n }\n}\n\nvar _utils = require('./utils');\n\nvar Utils = _interopRequireWildcard(_utils);\n\nvar _exception = require('./exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nvar _base = require('./base');\n\nvar _helpers = require('./helpers');\n\nvar _internalWrapHelper = require('./internal/wrapHelper');\n\nvar _internalProtoAccess = require('./internal/proto-access');\n\nfunction checkRevision(compilerInfo) {\n var compilerRevision = compilerInfo && compilerInfo[0] || 1,\n currentRevision = _base.COMPILER_REVISION;\n\n if (compilerRevision >= _base.LAST_COMPATIBLE_COMPILER_REVISION && compilerRevision <= _base.COMPILER_REVISION) {\n return;\n }\n\n if (compilerRevision < _base.LAST_COMPATIBLE_COMPILER_REVISION) {\n var runtimeVersions = _base.REVISION_CHANGES[currentRevision],\n compilerVersions = _base.REVISION_CHANGES[compilerRevision];\n throw new _exception2['default']('Template was precompiled with an older version of Handlebars than the current runtime. ' + 'Please update your precompiler to a newer version (' + runtimeVersions + ') or downgrade your runtime to an older version (' + compilerVersions + ').');\n } else {\n // Use the embedded version info since the runtime doesn't know about this revision yet\n throw new _exception2['default']('Template was precompiled with a newer version of Handlebars than the current runtime. ' + 'Please update your runtime to a newer version (' + compilerInfo[1] + ').');\n }\n}\n\nfunction template(templateSpec, env) {\n /* istanbul ignore next */\n if (!env) {\n throw new _exception2['default']('No environment passed to template');\n }\n\n if (!templateSpec || !templateSpec.main) {\n throw new _exception2['default']('Unknown template object: ' + typeof templateSpec);\n }\n\n templateSpec.main.decorator = templateSpec.main_d; // Note: Using env.VM references rather than local var references throughout this section to allow\n // for external users to override these as pseudo-supported APIs.\n\n env.VM.checkRevision(templateSpec.compiler); // backwards compatibility for precompiled templates with compiler-version 7 (<4.3.0)\n\n var templateWasPrecompiledWithCompilerV7 = templateSpec.compiler && templateSpec.compiler[0] === 7;\n\n function invokePartialWrapper(partial, context, options) {\n if (options.hash) {\n context = Utils.extend({}, context, options.hash);\n\n if (options.ids) {\n options.ids[0] = true;\n }\n }\n\n partial = env.VM.resolvePartial.call(this, partial, context, options);\n var extendedOptions = Utils.extend({}, options, {\n hooks: this.hooks,\n protoAccessControl: this.protoAccessControl\n });\n var result = env.VM.invokePartial.call(this, partial, context, extendedOptions);\n\n if (result == null && env.compile) {\n options.partials[options.name] = env.compile(partial, templateSpec.compilerOptions, env);\n result = options.partials[options.name](context, extendedOptions);\n }\n\n if (result != null) {\n if (options.indent) {\n var lines = result.split('\\n');\n\n for (var i = 0, l = lines.length; i < l; i++) {\n if (!lines[i] && i + 1 === l) {\n break;\n }\n\n lines[i] = options.indent + lines[i];\n }\n\n result = lines.join('\\n');\n }\n\n return result;\n } else {\n throw new _exception2['default']('The partial ' + options.name + ' could not be compiled when running in runtime-only mode');\n }\n } // Just add water\n\n\n var container = {\n strict: function strict(obj, name, loc) {\n if (!obj || !(name in obj)) {\n throw new _exception2['default']('\"' + name + '\" not defined in ' + obj, {\n loc: loc\n });\n }\n\n return container.lookupProperty(obj, name);\n },\n lookupProperty: function lookupProperty(parent, propertyName) {\n var result = parent[propertyName];\n\n if (result == null) {\n return result;\n }\n\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return result;\n }\n\n if (_internalProtoAccess.resultIsAllowed(result, container.protoAccessControl, propertyName)) {\n return result;\n }\n\n return undefined;\n },\n lookup: function lookup(depths, name) {\n var len = depths.length;\n\n for (var i = 0; i < len; i++) {\n var result = depths[i] && container.lookupProperty(depths[i], name);\n\n if (result != null) {\n return depths[i][name];\n }\n }\n },\n lambda: function lambda(current, context) {\n return typeof current === 'function' ? current.call(context) : current;\n },\n escapeExpression: Utils.escapeExpression,\n invokePartial: invokePartialWrapper,\n fn: function fn(i) {\n var ret = templateSpec[i];\n ret.decorator = templateSpec[i + '_d'];\n return ret;\n },\n programs: [],\n program: function program(i, data, declaredBlockParams, blockParams, depths) {\n var programWrapper = this.programs[i],\n fn = this.fn(i);\n\n if (data || depths || blockParams || declaredBlockParams) {\n programWrapper = wrapProgram(this, i, fn, data, declaredBlockParams, blockParams, depths);\n } else if (!programWrapper) {\n programWrapper = this.programs[i] = wrapProgram(this, i, fn);\n }\n\n return programWrapper;\n },\n data: function data(value, depth) {\n while (value && depth--) {\n value = value._parent;\n }\n\n return value;\n },\n mergeIfNeeded: function mergeIfNeeded(param, common) {\n var obj = param || common;\n\n if (param && common && param !== common) {\n obj = Utils.extend({}, common, param);\n }\n\n return obj;\n },\n // An empty object to use as replacement for null-contexts\n nullContext: Object.seal({}),\n noop: env.VM.noop,\n compilerInfo: templateSpec.compiler\n };\n\n function ret(context) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var data = options.data;\n\n ret._setup(options);\n\n if (!options.partial && templateSpec.useData) {\n data = initData(context, data);\n }\n\n var depths = undefined,\n blockParams = templateSpec.useBlockParams ? [] : undefined;\n\n if (templateSpec.useDepths) {\n if (options.depths) {\n depths = context != options.depths[0] ? [context].concat(options.depths) : options.depths;\n } else {\n depths = [context];\n }\n }\n\n function main(context\n /*, options*/\n ) {\n return '' + templateSpec.main(container, context, container.helpers, container.partials, data, blockParams, depths);\n }\n\n main = executeDecorators(templateSpec.main, main, container, options.depths || [], data, blockParams);\n return main(context, options);\n }\n\n ret.isTop = true;\n\n ret._setup = function (options) {\n if (!options.partial) {\n var mergedHelpers = Utils.extend({}, env.helpers, options.helpers);\n wrapHelpersToPassLookupProperty(mergedHelpers, container);\n container.helpers = mergedHelpers;\n\n if (templateSpec.usePartial) {\n // Use mergeIfNeeded here to prevent compiling global partials multiple times\n container.partials = container.mergeIfNeeded(options.partials, env.partials);\n }\n\n if (templateSpec.usePartial || templateSpec.useDecorators) {\n container.decorators = Utils.extend({}, env.decorators, options.decorators);\n }\n\n container.hooks = {};\n container.protoAccessControl = _internalProtoAccess.createProtoAccessControl(options);\n var keepHelperInHelpers = options.allowCallsToHelperMissing || templateWasPrecompiledWithCompilerV7;\n\n _helpers.moveHelperToHooks(container, 'helperMissing', keepHelperInHelpers);\n\n _helpers.moveHelperToHooks(container, 'blockHelperMissing', keepHelperInHelpers);\n } else {\n container.protoAccessControl = options.protoAccessControl; // internal option\n\n container.helpers = options.helpers;\n container.partials = options.partials;\n container.decorators = options.decorators;\n container.hooks = options.hooks;\n }\n };\n\n ret._child = function (i, data, blockParams, depths) {\n if (templateSpec.useBlockParams && !blockParams) {\n throw new _exception2['default']('must pass block params');\n }\n\n if (templateSpec.useDepths && !depths) {\n throw new _exception2['default']('must pass parent depths');\n }\n\n return wrapProgram(container, i, templateSpec[i], data, 0, blockParams, depths);\n };\n\n return ret;\n}\n\nfunction wrapProgram(container, i, fn, data, declaredBlockParams, blockParams, depths) {\n function prog(context) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var currentDepths = depths;\n\n if (depths && context != depths[0] && !(context === container.nullContext && depths[0] === null)) {\n currentDepths = [context].concat(depths);\n }\n\n return fn(container, context, container.helpers, container.partials, options.data || data, blockParams && [options.blockParams].concat(blockParams), currentDepths);\n }\n\n prog = executeDecorators(fn, prog, container, depths, data, blockParams);\n prog.program = i;\n prog.depth = depths ? depths.length : 0;\n prog.blockParams = declaredBlockParams || 0;\n return prog;\n}\n/**\n * This is currently part of the official API, therefore implementation details should not be changed.\n */\n\n\nfunction resolvePartial(partial, context, options) {\n if (!partial) {\n if (options.name === '@partial-block') {\n partial = options.data['partial-block'];\n } else {\n partial = options.partials[options.name];\n }\n } else if (!partial.call && !options.name) {\n // This is a dynamic partial that returned a string\n options.name = partial;\n partial = options.partials[partial];\n }\n\n return partial;\n}\n\nfunction invokePartial(partial, context, options) {\n // Use the current closure context to save the partial-block if this partial\n var currentPartialBlock = options.data && options.data['partial-block'];\n options.partial = true;\n\n if (options.ids) {\n options.data.contextPath = options.ids[0] || options.data.contextPath;\n }\n\n var partialBlock = undefined;\n\n if (options.fn && options.fn !== noop) {\n (function () {\n options.data = _base.createFrame(options.data); // Wrapper function to get access to currentPartialBlock from the closure\n\n var fn = options.fn;\n\n partialBlock = options.data['partial-block'] = function partialBlockWrapper(context) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; // Restore the partial-block from the closure for the execution of the block\n // i.e. the part inside the block of the partial call.\n\n options.data = _base.createFrame(options.data);\n options.data['partial-block'] = currentPartialBlock;\n return fn(context, options);\n };\n\n if (fn.partials) {\n options.partials = Utils.extend({}, options.partials, fn.partials);\n }\n })();\n }\n\n if (partial === undefined && partialBlock) {\n partial = partialBlock;\n }\n\n if (partial === undefined) {\n throw new _exception2['default']('The partial ' + options.name + ' could not be found');\n } else if (partial instanceof Function) {\n return partial(context, options);\n }\n}\n\nfunction noop() {\n return '';\n}\n\nfunction initData(context, data) {\n if (!data || !('root' in data)) {\n data = data ? _base.createFrame(data) : {};\n data.root = context;\n }\n\n return data;\n}\n\nfunction executeDecorators(fn, prog, container, depths, data, blockParams) {\n if (fn.decorator) {\n var props = {};\n prog = fn.decorator(prog, props, container, depths && depths[0], data, blockParams, depths);\n Utils.extend(prog, props);\n }\n\n return prog;\n}\n\nfunction wrapHelpersToPassLookupProperty(mergedHelpers, container) {\n Object.keys(mergedHelpers).forEach(function (helperName) {\n var helper = mergedHelpers[helperName];\n mergedHelpers[helperName] = passLookupPropertyOption(helper, container);\n });\n}\n\nfunction passLookupPropertyOption(helper, container) {\n var lookupProperty = container.lookupProperty;\n return _internalWrapHelper.wrapHelper(helper, function (options) {\n return Utils.extend({\n lookupProperty: lookupProperty\n }, options);\n });\n}","'use strict';\n\nexports.__esModule = true;\nexports.wrapHelper = wrapHelper;\n\nfunction wrapHelper(helper, transformOptionsFn) {\n if (typeof helper !== 'function') {\n // This should not happen, but apparently it does in https://github.com/wycats/handlebars.js/issues/1639\n // We try to make the wrapper least-invasive by not wrapping it, if the helper is not a function.\n return helper;\n }\n\n var wrapper = function wrapper()\n /* dynamic arguments */\n {\n var options = arguments[arguments.length - 1];\n arguments[arguments.length - 1] = transformOptionsFn(options);\n return helper.apply(this, arguments);\n };\n\n return wrapper;\n}","'use strict';\n\nexports.__esModule = true;\nexports.parseWithoutProcessing = parseWithoutProcessing;\nexports.parse = parse; // istanbul ignore next\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)) newObj[key] = obj[key];\n }\n }\n\n newObj['default'] = obj;\n return newObj;\n }\n} // istanbul ignore next\n\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _parser = require('./parser');\n\nvar _parser2 = _interopRequireDefault(_parser);\n\nvar _whitespaceControl = require('./whitespace-control');\n\nvar _whitespaceControl2 = _interopRequireDefault(_whitespaceControl);\n\nvar _helpers = require('./helpers');\n\nvar Helpers = _interopRequireWildcard(_helpers);\n\nvar _utils = require('../utils');\n\nexports.parser = _parser2['default'];\nvar yy = {};\n\n_utils.extend(yy, Helpers);\n\nfunction parseWithoutProcessing(input, options) {\n // Just return if an already-compiled AST was passed in.\n if (input.type === 'Program') {\n return input;\n }\n\n _parser2['default'].yy = yy; // Altering the shared object here, but this is ok as parser is a sync operation\n\n yy.locInfo = function (locInfo) {\n return new yy.SourceLocation(options && options.srcName, locInfo);\n };\n\n var ast = _parser2['default'].parse(input);\n\n return ast;\n}\n\nfunction parse(input, options) {\n var ast = parseWithoutProcessing(input, options);\n var strip = new _whitespaceControl2['default'](options);\n return strip.accept(ast);\n}","// File ignored in coverage tests via setting in .istanbul.yml\n\n/* Jison generated parser */\n\"use strict\";\n\nexports.__esModule = true;\n\nvar handlebars = function () {\n var parser = {\n trace: function trace() {},\n yy: {},\n symbols_: {\n \"error\": 2,\n \"root\": 3,\n \"program\": 4,\n \"EOF\": 5,\n \"program_repetition0\": 6,\n \"statement\": 7,\n \"mustache\": 8,\n \"block\": 9,\n \"rawBlock\": 10,\n \"partial\": 11,\n \"partialBlock\": 12,\n \"content\": 13,\n \"COMMENT\": 14,\n \"CONTENT\": 15,\n \"openRawBlock\": 16,\n \"rawBlock_repetition0\": 17,\n \"END_RAW_BLOCK\": 18,\n \"OPEN_RAW_BLOCK\": 19,\n \"helperName\": 20,\n \"openRawBlock_repetition0\": 21,\n \"openRawBlock_option0\": 22,\n \"CLOSE_RAW_BLOCK\": 23,\n \"openBlock\": 24,\n \"block_option0\": 25,\n \"closeBlock\": 26,\n \"openInverse\": 27,\n \"block_option1\": 28,\n \"OPEN_BLOCK\": 29,\n \"openBlock_repetition0\": 30,\n \"openBlock_option0\": 31,\n \"openBlock_option1\": 32,\n \"CLOSE\": 33,\n \"OPEN_INVERSE\": 34,\n \"openInverse_repetition0\": 35,\n \"openInverse_option0\": 36,\n \"openInverse_option1\": 37,\n \"openInverseChain\": 38,\n \"OPEN_INVERSE_CHAIN\": 39,\n \"openInverseChain_repetition0\": 40,\n \"openInverseChain_option0\": 41,\n \"openInverseChain_option1\": 42,\n \"inverseAndProgram\": 43,\n \"INVERSE\": 44,\n \"inverseChain\": 45,\n \"inverseChain_option0\": 46,\n \"OPEN_ENDBLOCK\": 47,\n \"OPEN\": 48,\n \"mustache_repetition0\": 49,\n \"mustache_option0\": 50,\n \"OPEN_UNESCAPED\": 51,\n \"mustache_repetition1\": 52,\n \"mustache_option1\": 53,\n \"CLOSE_UNESCAPED\": 54,\n \"OPEN_PARTIAL\": 55,\n \"partialName\": 56,\n \"partial_repetition0\": 57,\n \"partial_option0\": 58,\n \"openPartialBlock\": 59,\n \"OPEN_PARTIAL_BLOCK\": 60,\n \"openPartialBlock_repetition0\": 61,\n \"openPartialBlock_option0\": 62,\n \"param\": 63,\n \"sexpr\": 64,\n \"OPEN_SEXPR\": 65,\n \"sexpr_repetition0\": 66,\n \"sexpr_option0\": 67,\n \"CLOSE_SEXPR\": 68,\n \"hash\": 69,\n \"hash_repetition_plus0\": 70,\n \"hashSegment\": 71,\n \"ID\": 72,\n \"EQUALS\": 73,\n \"blockParams\": 74,\n \"OPEN_BLOCK_PARAMS\": 75,\n \"blockParams_repetition_plus0\": 76,\n \"CLOSE_BLOCK_PARAMS\": 77,\n \"path\": 78,\n \"dataName\": 79,\n \"STRING\": 80,\n \"NUMBER\": 81,\n \"BOOLEAN\": 82,\n \"UNDEFINED\": 83,\n \"NULL\": 84,\n \"DATA\": 85,\n \"pathSegments\": 86,\n \"SEP\": 87,\n \"$accept\": 0,\n \"$end\": 1\n },\n terminals_: {\n 2: \"error\",\n 5: \"EOF\",\n 14: \"COMMENT\",\n 15: \"CONTENT\",\n 18: \"END_RAW_BLOCK\",\n 19: \"OPEN_RAW_BLOCK\",\n 23: \"CLOSE_RAW_BLOCK\",\n 29: \"OPEN_BLOCK\",\n 33: \"CLOSE\",\n 34: \"OPEN_INVERSE\",\n 39: \"OPEN_INVERSE_CHAIN\",\n 44: \"INVERSE\",\n 47: \"OPEN_ENDBLOCK\",\n 48: \"OPEN\",\n 51: \"OPEN_UNESCAPED\",\n 54: \"CLOSE_UNESCAPED\",\n 55: \"OPEN_PARTIAL\",\n 60: \"OPEN_PARTIAL_BLOCK\",\n 65: \"OPEN_SEXPR\",\n 68: \"CLOSE_SEXPR\",\n 72: \"ID\",\n 73: \"EQUALS\",\n 75: \"OPEN_BLOCK_PARAMS\",\n 77: \"CLOSE_BLOCK_PARAMS\",\n 80: \"STRING\",\n 81: \"NUMBER\",\n 82: \"BOOLEAN\",\n 83: \"UNDEFINED\",\n 84: \"NULL\",\n 85: \"DATA\",\n 87: \"SEP\"\n },\n productions_: [0, [3, 2], [4, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [13, 1], [10, 3], [16, 5], [9, 4], [9, 4], [24, 6], [27, 6], [38, 6], [43, 2], [45, 3], [45, 1], [26, 3], [8, 5], [8, 5], [11, 5], [12, 3], [59, 5], [63, 1], [63, 1], [64, 5], [69, 1], [71, 3], [74, 3], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [56, 1], [56, 1], [79, 2], [78, 1], [86, 3], [86, 1], [6, 0], [6, 2], [17, 0], [17, 2], [21, 0], [21, 2], [22, 0], [22, 1], [25, 0], [25, 1], [28, 0], [28, 1], [30, 0], [30, 2], [31, 0], [31, 1], [32, 0], [32, 1], [35, 0], [35, 2], [36, 0], [36, 1], [37, 0], [37, 1], [40, 0], [40, 2], [41, 0], [41, 1], [42, 0], [42, 1], [46, 0], [46, 1], [49, 0], [49, 2], [50, 0], [50, 1], [52, 0], [52, 2], [53, 0], [53, 1], [57, 0], [57, 2], [58, 0], [58, 1], [61, 0], [61, 2], [62, 0], [62, 1], [66, 0], [66, 2], [67, 0], [67, 1], [70, 1], [70, 2], [76, 1], [76, 2]],\n performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n\n switch (yystate) {\n case 1:\n return $$[$0 - 1];\n break;\n\n case 2:\n this.$ = yy.prepareProgram($$[$0]);\n break;\n\n case 3:\n this.$ = $$[$0];\n break;\n\n case 4:\n this.$ = $$[$0];\n break;\n\n case 5:\n this.$ = $$[$0];\n break;\n\n case 6:\n this.$ = $$[$0];\n break;\n\n case 7:\n this.$ = $$[$0];\n break;\n\n case 8:\n this.$ = $$[$0];\n break;\n\n case 9:\n this.$ = {\n type: 'CommentStatement',\n value: yy.stripComment($$[$0]),\n strip: yy.stripFlags($$[$0], $$[$0]),\n loc: yy.locInfo(this._$)\n };\n break;\n\n case 10:\n this.$ = {\n type: 'ContentStatement',\n original: $$[$0],\n value: $$[$0],\n loc: yy.locInfo(this._$)\n };\n break;\n\n case 11:\n this.$ = yy.prepareRawBlock($$[$0 - 2], $$[$0 - 1], $$[$0], this._$);\n break;\n\n case 12:\n this.$ = {\n path: $$[$0 - 3],\n params: $$[$0 - 2],\n hash: $$[$0 - 1]\n };\n break;\n\n case 13:\n this.$ = yy.prepareBlock($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0], false, this._$);\n break;\n\n case 14:\n this.$ = yy.prepareBlock($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0], true, this._$);\n break;\n\n case 15:\n this.$ = {\n open: $$[$0 - 5],\n path: $$[$0 - 4],\n params: $$[$0 - 3],\n hash: $$[$0 - 2],\n blockParams: $$[$0 - 1],\n strip: yy.stripFlags($$[$0 - 5], $$[$0])\n };\n break;\n\n case 16:\n this.$ = {\n path: $$[$0 - 4],\n params: $$[$0 - 3],\n hash: $$[$0 - 2],\n blockParams: $$[$0 - 1],\n strip: yy.stripFlags($$[$0 - 5], $$[$0])\n };\n break;\n\n case 17:\n this.$ = {\n path: $$[$0 - 4],\n params: $$[$0 - 3],\n hash: $$[$0 - 2],\n blockParams: $$[$0 - 1],\n strip: yy.stripFlags($$[$0 - 5], $$[$0])\n };\n break;\n\n case 18:\n this.$ = {\n strip: yy.stripFlags($$[$0 - 1], $$[$0 - 1]),\n program: $$[$0]\n };\n break;\n\n case 19:\n var inverse = yy.prepareBlock($$[$0 - 2], $$[$0 - 1], $$[$0], $$[$0], false, this._$),\n program = yy.prepareProgram([inverse], $$[$0 - 1].loc);\n program.chained = true;\n this.$ = {\n strip: $$[$0 - 2].strip,\n program: program,\n chain: true\n };\n break;\n\n case 20:\n this.$ = $$[$0];\n break;\n\n case 21:\n this.$ = {\n path: $$[$0 - 1],\n strip: yy.stripFlags($$[$0 - 2], $$[$0])\n };\n break;\n\n case 22:\n this.$ = yy.prepareMustache($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0 - 4], yy.stripFlags($$[$0 - 4], $$[$0]), this._$);\n break;\n\n case 23:\n this.$ = yy.prepareMustache($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0 - 4], yy.stripFlags($$[$0 - 4], $$[$0]), this._$);\n break;\n\n case 24:\n this.$ = {\n type: 'PartialStatement',\n name: $$[$0 - 3],\n params: $$[$0 - 2],\n hash: $$[$0 - 1],\n indent: '',\n strip: yy.stripFlags($$[$0 - 4], $$[$0]),\n loc: yy.locInfo(this._$)\n };\n break;\n\n case 25:\n this.$ = yy.preparePartialBlock($$[$0 - 2], $$[$0 - 1], $$[$0], this._$);\n break;\n\n case 26:\n this.$ = {\n path: $$[$0 - 3],\n params: $$[$0 - 2],\n hash: $$[$0 - 1],\n strip: yy.stripFlags($$[$0 - 4], $$[$0])\n };\n break;\n\n case 27:\n this.$ = $$[$0];\n break;\n\n case 28:\n this.$ = $$[$0];\n break;\n\n case 29:\n this.$ = {\n type: 'SubExpression',\n path: $$[$0 - 3],\n params: $$[$0 - 2],\n hash: $$[$0 - 1],\n loc: yy.locInfo(this._$)\n };\n break;\n\n case 30:\n this.$ = {\n type: 'Hash',\n pairs: $$[$0],\n loc: yy.locInfo(this._$)\n };\n break;\n\n case 31:\n this.$ = {\n type: 'HashPair',\n key: yy.id($$[$0 - 2]),\n value: $$[$0],\n loc: yy.locInfo(this._$)\n };\n break;\n\n case 32:\n this.$ = yy.id($$[$0 - 1]);\n break;\n\n case 33:\n this.$ = $$[$0];\n break;\n\n case 34:\n this.$ = $$[$0];\n break;\n\n case 35:\n this.$ = {\n type: 'StringLiteral',\n value: $$[$0],\n original: $$[$0],\n loc: yy.locInfo(this._$)\n };\n break;\n\n case 36:\n this.$ = {\n type: 'NumberLiteral',\n value: Number($$[$0]),\n original: Number($$[$0]),\n loc: yy.locInfo(this._$)\n };\n break;\n\n case 37:\n this.$ = {\n type: 'BooleanLiteral',\n value: $$[$0] === 'true',\n original: $$[$0] === 'true',\n loc: yy.locInfo(this._$)\n };\n break;\n\n case 38:\n this.$ = {\n type: 'UndefinedLiteral',\n original: undefined,\n value: undefined,\n loc: yy.locInfo(this._$)\n };\n break;\n\n case 39:\n this.$ = {\n type: 'NullLiteral',\n original: null,\n value: null,\n loc: yy.locInfo(this._$)\n };\n break;\n\n case 40:\n this.$ = $$[$0];\n break;\n\n case 41:\n this.$ = $$[$0];\n break;\n\n case 42:\n this.$ = yy.preparePath(true, $$[$0], this._$);\n break;\n\n case 43:\n this.$ = yy.preparePath(false, $$[$0], this._$);\n break;\n\n case 44:\n $$[$0 - 2].push({\n part: yy.id($$[$0]),\n original: $$[$0],\n separator: $$[$0 - 1]\n });\n this.$ = $$[$0 - 2];\n break;\n\n case 45:\n this.$ = [{\n part: yy.id($$[$0]),\n original: $$[$0]\n }];\n break;\n\n case 46:\n this.$ = [];\n break;\n\n case 47:\n $$[$0 - 1].push($$[$0]);\n break;\n\n case 48:\n this.$ = [];\n break;\n\n case 49:\n $$[$0 - 1].push($$[$0]);\n break;\n\n case 50:\n this.$ = [];\n break;\n\n case 51:\n $$[$0 - 1].push($$[$0]);\n break;\n\n case 58:\n this.$ = [];\n break;\n\n case 59:\n $$[$0 - 1].push($$[$0]);\n break;\n\n case 64:\n this.$ = [];\n break;\n\n case 65:\n $$[$0 - 1].push($$[$0]);\n break;\n\n case 70:\n this.$ = [];\n break;\n\n case 71:\n $$[$0 - 1].push($$[$0]);\n break;\n\n case 78:\n this.$ = [];\n break;\n\n case 79:\n $$[$0 - 1].push($$[$0]);\n break;\n\n case 82:\n this.$ = [];\n break;\n\n case 83:\n $$[$0 - 1].push($$[$0]);\n break;\n\n case 86:\n this.$ = [];\n break;\n\n case 87:\n $$[$0 - 1].push($$[$0]);\n break;\n\n case 90:\n this.$ = [];\n break;\n\n case 91:\n $$[$0 - 1].push($$[$0]);\n break;\n\n case 94:\n this.$ = [];\n break;\n\n case 95:\n $$[$0 - 1].push($$[$0]);\n break;\n\n case 98:\n this.$ = [$$[$0]];\n break;\n\n case 99:\n $$[$0 - 1].push($$[$0]);\n break;\n\n case 100:\n this.$ = [$$[$0]];\n break;\n\n case 101:\n $$[$0 - 1].push($$[$0]);\n break;\n }\n },\n table: [{\n 3: 1,\n 4: 2,\n 5: [2, 46],\n 6: 3,\n 14: [2, 46],\n 15: [2, 46],\n 19: [2, 46],\n 29: [2, 46],\n 34: [2, 46],\n 48: [2, 46],\n 51: [2, 46],\n 55: [2, 46],\n 60: [2, 46]\n }, {\n 1: [3]\n }, {\n 5: [1, 4]\n }, {\n 5: [2, 2],\n 7: 5,\n 8: 6,\n 9: 7,\n 10: 8,\n 11: 9,\n 12: 10,\n 13: 11,\n 14: [1, 12],\n 15: [1, 20],\n 16: 17,\n 19: [1, 23],\n 24: 15,\n 27: 16,\n 29: [1, 21],\n 34: [1, 22],\n 39: [2, 2],\n 44: [2, 2],\n 47: [2, 2],\n 48: [1, 13],\n 51: [1, 14],\n 55: [1, 18],\n 59: 19,\n 60: [1, 24]\n }, {\n 1: [2, 1]\n }, {\n 5: [2, 47],\n 14: [2, 47],\n 15: [2, 47],\n 19: [2, 47],\n 29: [2, 47],\n 34: [2, 47],\n 39: [2, 47],\n 44: [2, 47],\n 47: [2, 47],\n 48: [2, 47],\n 51: [2, 47],\n 55: [2, 47],\n 60: [2, 47]\n }, {\n 5: [2, 3],\n 14: [2, 3],\n 15: [2, 3],\n 19: [2, 3],\n 29: [2, 3],\n 34: [2, 3],\n 39: [2, 3],\n 44: [2, 3],\n 47: [2, 3],\n 48: [2, 3],\n 51: [2, 3],\n 55: [2, 3],\n 60: [2, 3]\n }, {\n 5: [2, 4],\n 14: [2, 4],\n 15: [2, 4],\n 19: [2, 4],\n 29: [2, 4],\n 34: [2, 4],\n 39: [2, 4],\n 44: [2, 4],\n 47: [2, 4],\n 48: [2, 4],\n 51: [2, 4],\n 55: [2, 4],\n 60: [2, 4]\n }, {\n 5: [2, 5],\n 14: [2, 5],\n 15: [2, 5],\n 19: [2, 5],\n 29: [2, 5],\n 34: [2, 5],\n 39: [2, 5],\n 44: [2, 5],\n 47: [2, 5],\n 48: [2, 5],\n 51: [2, 5],\n 55: [2, 5],\n 60: [2, 5]\n }, {\n 5: [2, 6],\n 14: [2, 6],\n 15: [2, 6],\n 19: [2, 6],\n 29: [2, 6],\n 34: [2, 6],\n 39: [2, 6],\n 44: [2, 6],\n 47: [2, 6],\n 48: [2, 6],\n 51: [2, 6],\n 55: [2, 6],\n 60: [2, 6]\n }, {\n 5: [2, 7],\n 14: [2, 7],\n 15: [2, 7],\n 19: [2, 7],\n 29: [2, 7],\n 34: [2, 7],\n 39: [2, 7],\n 44: [2, 7],\n 47: [2, 7],\n 48: [2, 7],\n 51: [2, 7],\n 55: [2, 7],\n 60: [2, 7]\n }, {\n 5: [2, 8],\n 14: [2, 8],\n 15: [2, 8],\n 19: [2, 8],\n 29: [2, 8],\n 34: [2, 8],\n 39: [2, 8],\n 44: [2, 8],\n 47: [2, 8],\n 48: [2, 8],\n 51: [2, 8],\n 55: [2, 8],\n 60: [2, 8]\n }, {\n 5: [2, 9],\n 14: [2, 9],\n 15: [2, 9],\n 19: [2, 9],\n 29: [2, 9],\n 34: [2, 9],\n 39: [2, 9],\n 44: [2, 9],\n 47: [2, 9],\n 48: [2, 9],\n 51: [2, 9],\n 55: [2, 9],\n 60: [2, 9]\n }, {\n 20: 25,\n 72: [1, 35],\n 78: 26,\n 79: 27,\n 80: [1, 28],\n 81: [1, 29],\n 82: [1, 30],\n 83: [1, 31],\n 84: [1, 32],\n 85: [1, 34],\n 86: 33\n }, {\n 20: 36,\n 72: [1, 35],\n 78: 26,\n 79: 27,\n 80: [1, 28],\n 81: [1, 29],\n 82: [1, 30],\n 83: [1, 31],\n 84: [1, 32],\n 85: [1, 34],\n 86: 33\n }, {\n 4: 37,\n 6: 3,\n 14: [2, 46],\n 15: [2, 46],\n 19: [2, 46],\n 29: [2, 46],\n 34: [2, 46],\n 39: [2, 46],\n 44: [2, 46],\n 47: [2, 46],\n 48: [2, 46],\n 51: [2, 46],\n 55: [2, 46],\n 60: [2, 46]\n }, {\n 4: 38,\n 6: 3,\n 14: [2, 46],\n 15: [2, 46],\n 19: [2, 46],\n 29: [2, 46],\n 34: [2, 46],\n 44: [2, 46],\n 47: [2, 46],\n 48: [2, 46],\n 51: [2, 46],\n 55: [2, 46],\n 60: [2, 46]\n }, {\n 15: [2, 48],\n 17: 39,\n 18: [2, 48]\n }, {\n 20: 41,\n 56: 40,\n 64: 42,\n 65: [1, 43],\n 72: [1, 35],\n 78: 26,\n 79: 27,\n 80: [1, 28],\n 81: [1, 29],\n 82: [1, 30],\n 83: [1, 31],\n 84: [1, 32],\n 85: [1, 34],\n 86: 33\n }, {\n 4: 44,\n 6: 3,\n 14: [2, 46],\n 15: [2, 46],\n 19: [2, 46],\n 29: [2, 46],\n 34: [2, 46],\n 47: [2, 46],\n 48: [2, 46],\n 51: [2, 46],\n 55: [2, 46],\n 60: [2, 46]\n }, {\n 5: [2, 10],\n 14: [2, 10],\n 15: [2, 10],\n 18: [2, 10],\n 19: [2, 10],\n 29: [2, 10],\n 34: [2, 10],\n 39: [2, 10],\n 44: [2, 10],\n 47: [2, 10],\n 48: [2, 10],\n 51: [2, 10],\n 55: [2, 10],\n 60: [2, 10]\n }, {\n 20: 45,\n 72: [1, 35],\n 78: 26,\n 79: 27,\n 80: [1, 28],\n 81: [1, 29],\n 82: [1, 30],\n 83: [1, 31],\n 84: [1, 32],\n 85: [1, 34],\n 86: 33\n }, {\n 20: 46,\n 72: [1, 35],\n 78: 26,\n 79: 27,\n 80: [1, 28],\n 81: [1, 29],\n 82: [1, 30],\n 83: [1, 31],\n 84: [1, 32],\n 85: [1, 34],\n 86: 33\n }, {\n 20: 47,\n 72: [1, 35],\n 78: 26,\n 79: 27,\n 80: [1, 28],\n 81: [1, 29],\n 82: [1, 30],\n 83: [1, 31],\n 84: [1, 32],\n 85: [1, 34],\n 86: 33\n }, {\n 20: 41,\n 56: 48,\n 64: 42,\n 65: [1, 43],\n 72: [1, 35],\n 78: 26,\n 79: 27,\n 80: [1, 28],\n 81: [1, 29],\n 82: [1, 30],\n 83: [1, 31],\n 84: [1, 32],\n 85: [1, 34],\n 86: 33\n }, {\n 33: [2, 78],\n 49: 49,\n 65: [2, 78],\n 72: [2, 78],\n 80: [2, 78],\n 81: [2, 78],\n 82: [2, 78],\n 83: [2, 78],\n 84: [2, 78],\n 85: [2, 78]\n }, {\n 23: [2, 33],\n 33: [2, 33],\n 54: [2, 33],\n 65: [2, 33],\n 68: [2, 33],\n 72: [2, 33],\n 75: [2, 33],\n 80: [2, 33],\n 81: [2, 33],\n 82: [2, 33],\n 83: [2, 33],\n 84: [2, 33],\n 85: [2, 33]\n }, {\n 23: [2, 34],\n 33: [2, 34],\n 54: [2, 34],\n 65: [2, 34],\n 68: [2, 34],\n 72: [2, 34],\n 75: [2, 34],\n 80: [2, 34],\n 81: [2, 34],\n 82: [2, 34],\n 83: [2, 34],\n 84: [2, 34],\n 85: [2, 34]\n }, {\n 23: [2, 35],\n 33: [2, 35],\n 54: [2, 35],\n 65: [2, 35],\n 68: [2, 35],\n 72: [2, 35],\n 75: [2, 35],\n 80: [2, 35],\n 81: [2, 35],\n 82: [2, 35],\n 83: [2, 35],\n 84: [2, 35],\n 85: [2, 35]\n }, {\n 23: [2, 36],\n 33: [2, 36],\n 54: [2, 36],\n 65: [2, 36],\n 68: [2, 36],\n 72: [2, 36],\n 75: [2, 36],\n 80: [2, 36],\n 81: [2, 36],\n 82: [2, 36],\n 83: [2, 36],\n 84: [2, 36],\n 85: [2, 36]\n }, {\n 23: [2, 37],\n 33: [2, 37],\n 54: [2, 37],\n 65: [2, 37],\n 68: [2, 37],\n 72: [2, 37],\n 75: [2, 37],\n 80: [2, 37],\n 81: [2, 37],\n 82: [2, 37],\n 83: [2, 37],\n 84: [2, 37],\n 85: [2, 37]\n }, {\n 23: [2, 38],\n 33: [2, 38],\n 54: [2, 38],\n 65: [2, 38],\n 68: [2, 38],\n 72: [2, 38],\n 75: [2, 38],\n 80: [2, 38],\n 81: [2, 38],\n 82: [2, 38],\n 83: [2, 38],\n 84: [2, 38],\n 85: [2, 38]\n }, {\n 23: [2, 39],\n 33: [2, 39],\n 54: [2, 39],\n 65: [2, 39],\n 68: [2, 39],\n 72: [2, 39],\n 75: [2, 39],\n 80: [2, 39],\n 81: [2, 39],\n 82: [2, 39],\n 83: [2, 39],\n 84: [2, 39],\n 85: [2, 39]\n }, {\n 23: [2, 43],\n 33: [2, 43],\n 54: [2, 43],\n 65: [2, 43],\n 68: [2, 43],\n 72: [2, 43],\n 75: [2, 43],\n 80: [2, 43],\n 81: [2, 43],\n 82: [2, 43],\n 83: [2, 43],\n 84: [2, 43],\n 85: [2, 43],\n 87: [1, 50]\n }, {\n 72: [1, 35],\n 86: 51\n }, {\n 23: [2, 45],\n 33: [2, 45],\n 54: [2, 45],\n 65: [2, 45],\n 68: [2, 45],\n 72: [2, 45],\n 75: [2, 45],\n 80: [2, 45],\n 81: [2, 45],\n 82: [2, 45],\n 83: [2, 45],\n 84: [2, 45],\n 85: [2, 45],\n 87: [2, 45]\n }, {\n 52: 52,\n 54: [2, 82],\n 65: [2, 82],\n 72: [2, 82],\n 80: [2, 82],\n 81: [2, 82],\n 82: [2, 82],\n 83: [2, 82],\n 84: [2, 82],\n 85: [2, 82]\n }, {\n 25: 53,\n 38: 55,\n 39: [1, 57],\n 43: 56,\n 44: [1, 58],\n 45: 54,\n 47: [2, 54]\n }, {\n 28: 59,\n 43: 60,\n 44: [1, 58],\n 47: [2, 56]\n }, {\n 13: 62,\n 15: [1, 20],\n 18: [1, 61]\n }, {\n 33: [2, 86],\n 57: 63,\n 65: [2, 86],\n 72: [2, 86],\n 80: [2, 86],\n 81: [2, 86],\n 82: [2, 86],\n 83: [2, 86],\n 84: [2, 86],\n 85: [2, 86]\n }, {\n 33: [2, 40],\n 65: [2, 40],\n 72: [2, 40],\n 80: [2, 40],\n 81: [2, 40],\n 82: [2, 40],\n 83: [2, 40],\n 84: [2, 40],\n 85: [2, 40]\n }, {\n 33: [2, 41],\n 65: [2, 41],\n 72: [2, 41],\n 80: [2, 41],\n 81: [2, 41],\n 82: [2, 41],\n 83: [2, 41],\n 84: [2, 41],\n 85: [2, 41]\n }, {\n 20: 64,\n 72: [1, 35],\n 78: 26,\n 79: 27,\n 80: [1, 28],\n 81: [1, 29],\n 82: [1, 30],\n 83: [1, 31],\n 84: [1, 32],\n 85: [1, 34],\n 86: 33\n }, {\n 26: 65,\n 47: [1, 66]\n }, {\n 30: 67,\n 33: [2, 58],\n 65: [2, 58],\n 72: [2, 58],\n 75: [2, 58],\n 80: [2, 58],\n 81: [2, 58],\n 82: [2, 58],\n 83: [2, 58],\n 84: [2, 58],\n 85: [2, 58]\n }, {\n 33: [2, 64],\n 35: 68,\n 65: [2, 64],\n 72: [2, 64],\n 75: [2, 64],\n 80: [2, 64],\n 81: [2, 64],\n 82: [2, 64],\n 83: [2, 64],\n 84: [2, 64],\n 85: [2, 64]\n }, {\n 21: 69,\n 23: [2, 50],\n 65: [2, 50],\n 72: [2, 50],\n 80: [2, 50],\n 81: [2, 50],\n 82: [2, 50],\n 83: [2, 50],\n 84: [2, 50],\n 85: [2, 50]\n }, {\n 33: [2, 90],\n 61: 70,\n 65: [2, 90],\n 72: [2, 90],\n 80: [2, 90],\n 81: [2, 90],\n 82: [2, 90],\n 83: [2, 90],\n 84: [2, 90],\n 85: [2, 90]\n }, {\n 20: 74,\n 33: [2, 80],\n 50: 71,\n 63: 72,\n 64: 75,\n 65: [1, 43],\n 69: 73,\n 70: 76,\n 71: 77,\n 72: [1, 78],\n 78: 26,\n 79: 27,\n 80: [1, 28],\n 81: [1, 29],\n 82: [1, 30],\n 83: [1, 31],\n 84: [1, 32],\n 85: [1, 34],\n 86: 33\n }, {\n 72: [1, 79]\n }, {\n 23: [2, 42],\n 33: [2, 42],\n 54: [2, 42],\n 65: [2, 42],\n 68: [2, 42],\n 72: [2, 42],\n 75: [2, 42],\n 80: [2, 42],\n 81: [2, 42],\n 82: [2, 42],\n 83: [2, 42],\n 84: [2, 42],\n 85: [2, 42],\n 87: [1, 50]\n }, {\n 20: 74,\n 53: 80,\n 54: [2, 84],\n 63: 81,\n 64: 75,\n 65: [1, 43],\n 69: 82,\n 70: 76,\n 71: 77,\n 72: [1, 78],\n 78: 26,\n 79: 27,\n 80: [1, 28],\n 81: [1, 29],\n 82: [1, 30],\n 83: [1, 31],\n 84: [1, 32],\n 85: [1, 34],\n 86: 33\n }, {\n 26: 83,\n 47: [1, 66]\n }, {\n 47: [2, 55]\n }, {\n 4: 84,\n 6: 3,\n 14: [2, 46],\n 15: [2, 46],\n 19: [2, 46],\n 29: [2, 46],\n 34: [2, 46],\n 39: [2, 46],\n 44: [2, 46],\n 47: [2, 46],\n 48: [2, 46],\n 51: [2, 46],\n 55: [2, 46],\n 60: [2, 46]\n }, {\n 47: [2, 20]\n }, {\n 20: 85,\n 72: [1, 35],\n 78: 26,\n 79: 27,\n 80: [1, 28],\n 81: [1, 29],\n 82: [1, 30],\n 83: [1, 31],\n 84: [1, 32],\n 85: [1, 34],\n 86: 33\n }, {\n 4: 86,\n 6: 3,\n 14: [2, 46],\n 15: [2, 46],\n 19: [2, 46],\n 29: [2, 46],\n 34: [2, 46],\n 47: [2, 46],\n 48: [2, 46],\n 51: [2, 46],\n 55: [2, 46],\n 60: [2, 46]\n }, {\n 26: 87,\n 47: [1, 66]\n }, {\n 47: [2, 57]\n }, {\n 5: [2, 11],\n 14: [2, 11],\n 15: [2, 11],\n 19: [2, 11],\n 29: [2, 11],\n 34: [2, 11],\n 39: [2, 11],\n 44: [2, 11],\n 47: [2, 11],\n 48: [2, 11],\n 51: [2, 11],\n 55: [2, 11],\n 60: [2, 11]\n }, {\n 15: [2, 49],\n 18: [2, 49]\n }, {\n 20: 74,\n 33: [2, 88],\n 58: 88,\n 63: 89,\n 64: 75,\n 65: [1, 43],\n 69: 90,\n 70: 76,\n 71: 77,\n 72: [1, 78],\n 78: 26,\n 79: 27,\n 80: [1, 28],\n 81: [1, 29],\n 82: [1, 30],\n 83: [1, 31],\n 84: [1, 32],\n 85: [1, 34],\n 86: 33\n }, {\n 65: [2, 94],\n 66: 91,\n 68: [2, 94],\n 72: [2, 94],\n 80: [2, 94],\n 81: [2, 94],\n 82: [2, 94],\n 83: [2, 94],\n 84: [2, 94],\n 85: [2, 94]\n }, {\n 5: [2, 25],\n 14: [2, 25],\n 15: [2, 25],\n 19: [2, 25],\n 29: [2, 25],\n 34: [2, 25],\n 39: [2, 25],\n 44: [2, 25],\n 47: [2, 25],\n 48: [2, 25],\n 51: [2, 25],\n 55: [2, 25],\n 60: [2, 25]\n }, {\n 20: 92,\n 72: [1, 35],\n 78: 26,\n 79: 27,\n 80: [1, 28],\n 81: [1, 29],\n 82: [1, 30],\n 83: [1, 31],\n 84: [1, 32],\n 85: [1, 34],\n 86: 33\n }, {\n 20: 74,\n 31: 93,\n 33: [2, 60],\n 63: 94,\n 64: 75,\n 65: [1, 43],\n 69: 95,\n 70: 76,\n 71: 77,\n 72: [1, 78],\n 75: [2, 60],\n 78: 26,\n 79: 27,\n 80: [1, 28],\n 81: [1, 29],\n 82: [1, 30],\n 83: [1, 31],\n 84: [1, 32],\n 85: [1, 34],\n 86: 33\n }, {\n 20: 74,\n 33: [2, 66],\n 36: 96,\n 63: 97,\n 64: 75,\n 65: [1, 43],\n 69: 98,\n 70: 76,\n 71: 77,\n 72: [1, 78],\n 75: [2, 66],\n 78: 26,\n 79: 27,\n 80: [1, 28],\n 81: [1, 29],\n 82: [1, 30],\n 83: [1, 31],\n 84: [1, 32],\n 85: [1, 34],\n 86: 33\n }, {\n 20: 74,\n 22: 99,\n 23: [2, 52],\n 63: 100,\n 64: 75,\n 65: [1, 43],\n 69: 101,\n 70: 76,\n 71: 77,\n 72: [1, 78],\n 78: 26,\n 79: 27,\n 80: [1, 28],\n 81: [1, 29],\n 82: [1, 30],\n 83: [1, 31],\n 84: [1, 32],\n 85: [1, 34],\n 86: 33\n }, {\n 20: 74,\n 33: [2, 92],\n 62: 102,\n 63: 103,\n 64: 75,\n 65: [1, 43],\n 69: 104,\n 70: 76,\n 71: 77,\n 72: [1, 78],\n 78: 26,\n 79: 27,\n 80: [1, 28],\n 81: [1, 29],\n 82: [1, 30],\n 83: [1, 31],\n 84: [1, 32],\n 85: [1, 34],\n 86: 33\n }, {\n 33: [1, 105]\n }, {\n 33: [2, 79],\n 65: [2, 79],\n 72: [2, 79],\n 80: [2, 79],\n 81: [2, 79],\n 82: [2, 79],\n 83: [2, 79],\n 84: [2, 79],\n 85: [2, 79]\n }, {\n 33: [2, 81]\n }, {\n 23: [2, 27],\n 33: [2, 27],\n 54: [2, 27],\n 65: [2, 27],\n 68: [2, 27],\n 72: [2, 27],\n 75: [2, 27],\n 80: [2, 27],\n 81: [2, 27],\n 82: [2, 27],\n 83: [2, 27],\n 84: [2, 27],\n 85: [2, 27]\n }, {\n 23: [2, 28],\n 33: [2, 28],\n 54: [2, 28],\n 65: [2, 28],\n 68: [2, 28],\n 72: [2, 28],\n 75: [2, 28],\n 80: [2, 28],\n 81: [2, 28],\n 82: [2, 28],\n 83: [2, 28],\n 84: [2, 28],\n 85: [2, 28]\n }, {\n 23: [2, 30],\n 33: [2, 30],\n 54: [2, 30],\n 68: [2, 30],\n 71: 106,\n 72: [1, 107],\n 75: [2, 30]\n }, {\n 23: [2, 98],\n 33: [2, 98],\n 54: [2, 98],\n 68: [2, 98],\n 72: [2, 98],\n 75: [2, 98]\n }, {\n 23: [2, 45],\n 33: [2, 45],\n 54: [2, 45],\n 65: [2, 45],\n 68: [2, 45],\n 72: [2, 45],\n 73: [1, 108],\n 75: [2, 45],\n 80: [2, 45],\n 81: [2, 45],\n 82: [2, 45],\n 83: [2, 45],\n 84: [2, 45],\n 85: [2, 45],\n 87: [2, 45]\n }, {\n 23: [2, 44],\n 33: [2, 44],\n 54: [2, 44],\n 65: [2, 44],\n 68: [2, 44],\n 72: [2, 44],\n 75: [2, 44],\n 80: [2, 44],\n 81: [2, 44],\n 82: [2, 44],\n 83: [2, 44],\n 84: [2, 44],\n 85: [2, 44],\n 87: [2, 44]\n }, {\n 54: [1, 109]\n }, {\n 54: [2, 83],\n 65: [2, 83],\n 72: [2, 83],\n 80: [2, 83],\n 81: [2, 83],\n 82: [2, 83],\n 83: [2, 83],\n 84: [2, 83],\n 85: [2, 83]\n }, {\n 54: [2, 85]\n }, {\n 5: [2, 13],\n 14: [2, 13],\n 15: [2, 13],\n 19: [2, 13],\n 29: [2, 13],\n 34: [2, 13],\n 39: [2, 13],\n 44: [2, 13],\n 47: [2, 13],\n 48: [2, 13],\n 51: [2, 13],\n 55: [2, 13],\n 60: [2, 13]\n }, {\n 38: 55,\n 39: [1, 57],\n 43: 56,\n 44: [1, 58],\n 45: 111,\n 46: 110,\n 47: [2, 76]\n }, {\n 33: [2, 70],\n 40: 112,\n 65: [2, 70],\n 72: [2, 70],\n 75: [2, 70],\n 80: [2, 70],\n 81: [2, 70],\n 82: [2, 70],\n 83: [2, 70],\n 84: [2, 70],\n 85: [2, 70]\n }, {\n 47: [2, 18]\n }, {\n 5: [2, 14],\n 14: [2, 14],\n 15: [2, 14],\n 19: [2, 14],\n 29: [2, 14],\n 34: [2, 14],\n 39: [2, 14],\n 44: [2, 14],\n 47: [2, 14],\n 48: [2, 14],\n 51: [2, 14],\n 55: [2, 14],\n 60: [2, 14]\n }, {\n 33: [1, 113]\n }, {\n 33: [2, 87],\n 65: [2, 87],\n 72: [2, 87],\n 80: [2, 87],\n 81: [2, 87],\n 82: [2, 87],\n 83: [2, 87],\n 84: [2, 87],\n 85: [2, 87]\n }, {\n 33: [2, 89]\n }, {\n 20: 74,\n 63: 115,\n 64: 75,\n 65: [1, 43],\n 67: 114,\n 68: [2, 96],\n 69: 116,\n 70: 76,\n 71: 77,\n 72: [1, 78],\n 78: 26,\n 79: 27,\n 80: [1, 28],\n 81: [1, 29],\n 82: [1, 30],\n 83: [1, 31],\n 84: [1, 32],\n 85: [1, 34],\n 86: 33\n }, {\n 33: [1, 117]\n }, {\n 32: 118,\n 33: [2, 62],\n 74: 119,\n 75: [1, 120]\n }, {\n 33: [2, 59],\n 65: [2, 59],\n 72: [2, 59],\n 75: [2, 59],\n 80: [2, 59],\n 81: [2, 59],\n 82: [2, 59],\n 83: [2, 59],\n 84: [2, 59],\n 85: [2, 59]\n }, {\n 33: [2, 61],\n 75: [2, 61]\n }, {\n 33: [2, 68],\n 37: 121,\n 74: 122,\n 75: [1, 120]\n }, {\n 33: [2, 65],\n 65: [2, 65],\n 72: [2, 65],\n 75: [2, 65],\n 80: [2, 65],\n 81: [2, 65],\n 82: [2, 65],\n 83: [2, 65],\n 84: [2, 65],\n 85: [2, 65]\n }, {\n 33: [2, 67],\n 75: [2, 67]\n }, {\n 23: [1, 123]\n }, {\n 23: [2, 51],\n 65: [2, 51],\n 72: [2, 51],\n 80: [2, 51],\n 81: [2, 51],\n 82: [2, 51],\n 83: [2, 51],\n 84: [2, 51],\n 85: [2, 51]\n }, {\n 23: [2, 53]\n }, {\n 33: [1, 124]\n }, {\n 33: [2, 91],\n 65: [2, 91],\n 72: [2, 91],\n 80: [2, 91],\n 81: [2, 91],\n 82: [2, 91],\n 83: [2, 91],\n 84: [2, 91],\n 85: [2, 91]\n }, {\n 33: [2, 93]\n }, {\n 5: [2, 22],\n 14: [2, 22],\n 15: [2, 22],\n 19: [2, 22],\n 29: [2, 22],\n 34: [2, 22],\n 39: [2, 22],\n 44: [2, 22],\n 47: [2, 22],\n 48: [2, 22],\n 51: [2, 22],\n 55: [2, 22],\n 60: [2, 22]\n }, {\n 23: [2, 99],\n 33: [2, 99],\n 54: [2, 99],\n 68: [2, 99],\n 72: [2, 99],\n 75: [2, 99]\n }, {\n 73: [1, 108]\n }, {\n 20: 74,\n 63: 125,\n 64: 75,\n 65: [1, 43],\n 72: [1, 35],\n 78: 26,\n 79: 27,\n 80: [1, 28],\n 81: [1, 29],\n 82: [1, 30],\n 83: [1, 31],\n 84: [1, 32],\n 85: [1, 34],\n 86: 33\n }, {\n 5: [2, 23],\n 14: [2, 23],\n 15: [2, 23],\n 19: [2, 23],\n 29: [2, 23],\n 34: [2, 23],\n 39: [2, 23],\n 44: [2, 23],\n 47: [2, 23],\n 48: [2, 23],\n 51: [2, 23],\n 55: [2, 23],\n 60: [2, 23]\n }, {\n 47: [2, 19]\n }, {\n 47: [2, 77]\n }, {\n 20: 74,\n 33: [2, 72],\n 41: 126,\n 63: 127,\n 64: 75,\n 65: [1, 43],\n 69: 128,\n 70: 76,\n 71: 77,\n 72: [1, 78],\n 75: [2, 72],\n 78: 26,\n 79: 27,\n 80: [1, 28],\n 81: [1, 29],\n 82: [1, 30],\n 83: [1, 31],\n 84: [1, 32],\n 85: [1, 34],\n 86: 33\n }, {\n 5: [2, 24],\n 14: [2, 24],\n 15: [2, 24],\n 19: [2, 24],\n 29: [2, 24],\n 34: [2, 24],\n 39: [2, 24],\n 44: [2, 24],\n 47: [2, 24],\n 48: [2, 24],\n 51: [2, 24],\n 55: [2, 24],\n 60: [2, 24]\n }, {\n 68: [1, 129]\n }, {\n 65: [2, 95],\n 68: [2, 95],\n 72: [2, 95],\n 80: [2, 95],\n 81: [2, 95],\n 82: [2, 95],\n 83: [2, 95],\n 84: [2, 95],\n 85: [2, 95]\n }, {\n 68: [2, 97]\n }, {\n 5: [2, 21],\n 14: [2, 21],\n 15: [2, 21],\n 19: [2, 21],\n 29: [2, 21],\n 34: [2, 21],\n 39: [2, 21],\n 44: [2, 21],\n 47: [2, 21],\n 48: [2, 21],\n 51: [2, 21],\n 55: [2, 21],\n 60: [2, 21]\n }, {\n 33: [1, 130]\n }, {\n 33: [2, 63]\n }, {\n 72: [1, 132],\n 76: 131\n }, {\n 33: [1, 133]\n }, {\n 33: [2, 69]\n }, {\n 15: [2, 12],\n 18: [2, 12]\n }, {\n 14: [2, 26],\n 15: [2, 26],\n 19: [2, 26],\n 29: [2, 26],\n 34: [2, 26],\n 47: [2, 26],\n 48: [2, 26],\n 51: [2, 26],\n 55: [2, 26],\n 60: [2, 26]\n }, {\n 23: [2, 31],\n 33: [2, 31],\n 54: [2, 31],\n 68: [2, 31],\n 72: [2, 31],\n 75: [2, 31]\n }, {\n 33: [2, 74],\n 42: 134,\n 74: 135,\n 75: [1, 120]\n }, {\n 33: [2, 71],\n 65: [2, 71],\n 72: [2, 71],\n 75: [2, 71],\n 80: [2, 71],\n 81: [2, 71],\n 82: [2, 71],\n 83: [2, 71],\n 84: [2, 71],\n 85: [2, 71]\n }, {\n 33: [2, 73],\n 75: [2, 73]\n }, {\n 23: [2, 29],\n 33: [2, 29],\n 54: [2, 29],\n 65: [2, 29],\n 68: [2, 29],\n 72: [2, 29],\n 75: [2, 29],\n 80: [2, 29],\n 81: [2, 29],\n 82: [2, 29],\n 83: [2, 29],\n 84: [2, 29],\n 85: [2, 29]\n }, {\n 14: [2, 15],\n 15: [2, 15],\n 19: [2, 15],\n 29: [2, 15],\n 34: [2, 15],\n 39: [2, 15],\n 44: [2, 15],\n 47: [2, 15],\n 48: [2, 15],\n 51: [2, 15],\n 55: [2, 15],\n 60: [2, 15]\n }, {\n 72: [1, 137],\n 77: [1, 136]\n }, {\n 72: [2, 100],\n 77: [2, 100]\n }, {\n 14: [2, 16],\n 15: [2, 16],\n 19: [2, 16],\n 29: [2, 16],\n 34: [2, 16],\n 44: [2, 16],\n 47: [2, 16],\n 48: [2, 16],\n 51: [2, 16],\n 55: [2, 16],\n 60: [2, 16]\n }, {\n 33: [1, 138]\n }, {\n 33: [2, 75]\n }, {\n 33: [2, 32]\n }, {\n 72: [2, 101],\n 77: [2, 101]\n }, {\n 14: [2, 17],\n 15: [2, 17],\n 19: [2, 17],\n 29: [2, 17],\n 34: [2, 17],\n 39: [2, 17],\n 44: [2, 17],\n 47: [2, 17],\n 48: [2, 17],\n 51: [2, 17],\n 55: [2, 17],\n 60: [2, 17]\n }],\n defaultActions: {\n 4: [2, 1],\n 54: [2, 55],\n 56: [2, 20],\n 60: [2, 57],\n 73: [2, 81],\n 82: [2, 85],\n 86: [2, 18],\n 90: [2, 89],\n 101: [2, 53],\n 104: [2, 93],\n 110: [2, 19],\n 111: [2, 77],\n 116: [2, 97],\n 119: [2, 63],\n 122: [2, 69],\n 135: [2, 75],\n 136: [2, 32]\n },\n parseError: function parseError(str, hash) {\n throw new Error(str);\n },\n parse: function parse(input) {\n var self = this,\n stack = [0],\n vstack = [null],\n lstack = [],\n table = this.table,\n yytext = \"\",\n yylineno = 0,\n yyleng = 0,\n recovering = 0,\n TERROR = 2,\n EOF = 1;\n this.lexer.setInput(input);\n this.lexer.yy = this.yy;\n this.yy.lexer = this.lexer;\n this.yy.parser = this;\n if (typeof this.lexer.yylloc == \"undefined\") this.lexer.yylloc = {};\n var yyloc = this.lexer.yylloc;\n lstack.push(yyloc);\n var ranges = this.lexer.options && this.lexer.options.ranges;\n if (typeof this.yy.parseError === \"function\") this.parseError = this.yy.parseError;\n\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n\n function lex() {\n var token;\n token = self.lexer.lex() || 1;\n\n if (typeof token !== \"number\") {\n token = self.symbols_[token] || token;\n }\n\n return token;\n }\n\n var symbol,\n preErrorSymbol,\n state,\n action,\n a,\n r,\n yyval = {},\n p,\n len,\n newState,\n expected;\n\n while (true) {\n state = stack[stack.length - 1];\n\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n\n action = table[state] && table[state][symbol];\n }\n\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n\n if (!recovering) {\n expected = [];\n\n for (p in table[state]) {\n if (this.terminals_[p] && p > 2) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n\n if (this.lexer.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + this.lexer.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == 1 ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n\n this.parseError(errStr, {\n text: this.lexer.match,\n token: this.terminals_[symbol] || symbol,\n line: this.lexer.yylineno,\n loc: yyloc,\n expected: expected\n });\n }\n }\n\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(this.lexer.yytext);\n lstack.push(this.lexer.yylloc);\n stack.push(action[1]);\n symbol = null;\n\n if (!preErrorSymbol) {\n yyleng = this.lexer.yyleng;\n yytext = this.lexer.yytext;\n yylineno = this.lexer.yylineno;\n yyloc = this.lexer.yylloc;\n if (recovering > 0) recovering--;\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n\n break;\n\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n\n if (ranges) {\n yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]];\n }\n\n r = this.performAction.call(yyval, yytext, yyleng, yylineno, this.yy, action[1], vstack, lstack);\n\n if (typeof r !== \"undefined\") {\n return r;\n }\n\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n\n case 3:\n return true;\n }\n }\n\n return true;\n }\n };\n /* Jison generated lexer */\n\n var lexer = function () {\n var lexer = {\n EOF: 1,\n parseError: function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n },\n setInput: function setInput(input) {\n this._input = input;\n this._more = this._less = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = '';\n this.conditionStack = ['INITIAL'];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) this.yylloc.range = [0, 0];\n this.offset = 0;\n return this;\n },\n input: function input() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n\n if (this.options.ranges) this.yylloc.range[1]++;\n this._input = this._input.slice(1);\n return ch;\n },\n unput: function unput(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len - 1); //this.yyleng -= len;\n\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) this.yylineno -= lines.length - 1;\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n\n return this;\n },\n more: function more() {\n this._more = true;\n return this;\n },\n less: function less(n) {\n this.unput(this.match.slice(n));\n },\n pastInput: function pastInput() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? '...' : '') + past.substr(-20).replace(/\\n/g, \"\");\n },\n upcomingInput: function upcomingInput() {\n var next = this.match;\n\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n\n return (next.substr(0, 20) + (next.length > 20 ? '...' : '')).replace(/\\n/g, \"\");\n },\n showPosition: function showPosition() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n },\n next: function next() {\n if (this.done) {\n return this.EOF;\n }\n\n if (!this._input) this.done = true;\n var token, match, tempMatch, index, col, lines;\n\n if (!this._more) {\n this.yytext = '';\n this.match = '';\n }\n\n var rules = this._currentRules();\n\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (!this.options.flex) break;\n }\n }\n\n if (match) {\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) this.yylineno += lines.length;\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n\n this._more = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, rules[index], this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) this.done = false;\n if (token) return token;else return;\n }\n\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\\n' + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n },\n lex: function lex() {\n var r = this.next();\n\n if (typeof r !== 'undefined') {\n return r;\n } else {\n return this.lex();\n }\n },\n begin: function begin(condition) {\n this.conditionStack.push(condition);\n },\n popState: function popState() {\n return this.conditionStack.pop();\n },\n _currentRules: function _currentRules() {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n },\n topState: function topState() {\n return this.conditionStack[this.conditionStack.length - 2];\n },\n pushState: function begin(condition) {\n this.begin(condition);\n }\n };\n lexer.options = {};\n\n lexer.performAction = function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n function strip(start, end) {\n return yy_.yytext = yy_.yytext.substring(start, yy_.yyleng - end + start);\n }\n\n var YYSTATE = YY_START;\n\n switch ($avoiding_name_collisions) {\n case 0:\n if (yy_.yytext.slice(-2) === \"\\\\\\\\\") {\n strip(0, 1);\n this.begin(\"mu\");\n } else if (yy_.yytext.slice(-1) === \"\\\\\") {\n strip(0, 1);\n this.begin(\"emu\");\n } else {\n this.begin(\"mu\");\n }\n\n if (yy_.yytext) return 15;\n break;\n\n case 1:\n return 15;\n break;\n\n case 2:\n this.popState();\n return 15;\n break;\n\n case 3:\n this.begin('raw');\n return 15;\n break;\n\n case 4:\n this.popState(); // Should be using `this.topState()` below, but it currently\n // returns the second top instead of the first top. Opened an\n // issue about it at https://github.com/zaach/jison/issues/291\n\n if (this.conditionStack[this.conditionStack.length - 1] === 'raw') {\n return 15;\n } else {\n strip(5, 9);\n return 'END_RAW_BLOCK';\n }\n\n break;\n\n case 5:\n return 15;\n break;\n\n case 6:\n this.popState();\n return 14;\n break;\n\n case 7:\n return 65;\n break;\n\n case 8:\n return 68;\n break;\n\n case 9:\n return 19;\n break;\n\n case 10:\n this.popState();\n this.begin('raw');\n return 23;\n break;\n\n case 11:\n return 55;\n break;\n\n case 12:\n return 60;\n break;\n\n case 13:\n return 29;\n break;\n\n case 14:\n return 47;\n break;\n\n case 15:\n this.popState();\n return 44;\n break;\n\n case 16:\n this.popState();\n return 44;\n break;\n\n case 17:\n return 34;\n break;\n\n case 18:\n return 39;\n break;\n\n case 19:\n return 51;\n break;\n\n case 20:\n return 48;\n break;\n\n case 21:\n this.unput(yy_.yytext);\n this.popState();\n this.begin('com');\n break;\n\n case 22:\n this.popState();\n return 14;\n break;\n\n case 23:\n return 48;\n break;\n\n case 24:\n return 73;\n break;\n\n case 25:\n return 72;\n break;\n\n case 26:\n return 72;\n break;\n\n case 27:\n return 87;\n break;\n\n case 28:\n // ignore whitespace\n break;\n\n case 29:\n this.popState();\n return 54;\n break;\n\n case 30:\n this.popState();\n return 33;\n break;\n\n case 31:\n yy_.yytext = strip(1, 2).replace(/\\\\\"/g, '\"');\n return 80;\n break;\n\n case 32:\n yy_.yytext = strip(1, 2).replace(/\\\\'/g, \"'\");\n return 80;\n break;\n\n case 33:\n return 85;\n break;\n\n case 34:\n return 82;\n break;\n\n case 35:\n return 82;\n break;\n\n case 36:\n return 83;\n break;\n\n case 37:\n return 84;\n break;\n\n case 38:\n return 81;\n break;\n\n case 39:\n return 75;\n break;\n\n case 40:\n return 77;\n break;\n\n case 41:\n return 72;\n break;\n\n case 42:\n yy_.yytext = yy_.yytext.replace(/\\\\([\\\\\\]])/g, '$1');\n return 72;\n break;\n\n case 43:\n return 'INVALID';\n break;\n\n case 44:\n return 5;\n break;\n }\n };\n\n lexer.rules = [/^(?:[^\\x00]*?(?=(\\{\\{)))/, /^(?:[^\\x00]+)/, /^(?:[^\\x00]{2,}?(?=(\\{\\{|\\\\\\{\\{|\\\\\\\\\\{\\{|$)))/, /^(?:\\{\\{\\{\\{(?=[^\\/]))/, /^(?:\\{\\{\\{\\{\\/[^\\s!\"#%-,\\.\\/;->@\\[-\\^`\\{-~]+(?=[=}\\s\\/.])\\}\\}\\}\\})/, /^(?:[^\\x00]+?(?=(\\{\\{\\{\\{)))/, /^(?:[\\s\\S]*?--(~)?\\}\\})/, /^(?:\\()/, /^(?:\\))/, /^(?:\\{\\{\\{\\{)/, /^(?:\\}\\}\\}\\})/, /^(?:\\{\\{(~)?>)/, /^(?:\\{\\{(~)?#>)/, /^(?:\\{\\{(~)?#\\*?)/, /^(?:\\{\\{(~)?\\/)/, /^(?:\\{\\{(~)?\\^\\s*(~)?\\}\\})/, /^(?:\\{\\{(~)?\\s*else\\s*(~)?\\}\\})/, /^(?:\\{\\{(~)?\\^)/, /^(?:\\{\\{(~)?\\s*else\\b)/, /^(?:\\{\\{(~)?\\{)/, /^(?:\\{\\{(~)?&)/, /^(?:\\{\\{(~)?!--)/, /^(?:\\{\\{(~)?![\\s\\S]*?\\}\\})/, /^(?:\\{\\{(~)?\\*?)/, /^(?:=)/, /^(?:\\.\\.)/, /^(?:\\.(?=([=~}\\s\\/.)|])))/, /^(?:[\\/.])/, /^(?:\\s+)/, /^(?:\\}(~)?\\}\\})/, /^(?:(~)?\\}\\})/, /^(?:\"(\\\\[\"]|[^\"])*\")/, /^(?:'(\\\\[']|[^'])*')/, /^(?:@)/, /^(?:true(?=([~}\\s)])))/, /^(?:false(?=([~}\\s)])))/, /^(?:undefined(?=([~}\\s)])))/, /^(?:null(?=([~}\\s)])))/, /^(?:-?[0-9]+(?:\\.[0-9]+)?(?=([~}\\s)])))/, /^(?:as\\s+\\|)/, /^(?:\\|)/, /^(?:([^\\s!\"#%-,\\.\\/;->@\\[-\\^`\\{-~]+(?=([=~}\\s\\/.)|]))))/, /^(?:\\[(\\\\\\]|[^\\]])*\\])/, /^(?:.)/, /^(?:$)/];\n lexer.conditions = {\n \"mu\": {\n \"rules\": [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44],\n \"inclusive\": false\n },\n \"emu\": {\n \"rules\": [2],\n \"inclusive\": false\n },\n \"com\": {\n \"rules\": [6],\n \"inclusive\": false\n },\n \"raw\": {\n \"rules\": [3, 4, 5],\n \"inclusive\": false\n },\n \"INITIAL\": {\n \"rules\": [0, 1, 44],\n \"inclusive\": true\n }\n };\n return lexer;\n }();\n\n parser.lexer = lexer;\n\n function Parser() {\n this.yy = {};\n }\n\n Parser.prototype = parser;\n parser.Parser = Parser;\n return new Parser();\n}();\n\nexports[\"default\"] = handlebars;\nmodule.exports = exports[\"default\"];","'use strict';\n\nexports.__esModule = true; // istanbul ignore next\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _visitor = require('./visitor');\n\nvar _visitor2 = _interopRequireDefault(_visitor);\n\nfunction WhitespaceControl() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n this.options = options;\n}\n\nWhitespaceControl.prototype = new _visitor2['default']();\n\nWhitespaceControl.prototype.Program = function (program) {\n var doStandalone = !this.options.ignoreStandalone;\n var isRoot = !this.isRootSeen;\n this.isRootSeen = true;\n var body = program.body;\n\n for (var i = 0, l = body.length; i < l; i++) {\n var current = body[i],\n strip = this.accept(current);\n\n if (!strip) {\n continue;\n }\n\n var _isPrevWhitespace = isPrevWhitespace(body, i, isRoot),\n _isNextWhitespace = isNextWhitespace(body, i, isRoot),\n openStandalone = strip.openStandalone && _isPrevWhitespace,\n closeStandalone = strip.closeStandalone && _isNextWhitespace,\n inlineStandalone = strip.inlineStandalone && _isPrevWhitespace && _isNextWhitespace;\n\n if (strip.close) {\n omitRight(body, i, true);\n }\n\n if (strip.open) {\n omitLeft(body, i, true);\n }\n\n if (doStandalone && inlineStandalone) {\n omitRight(body, i);\n\n if (omitLeft(body, i)) {\n // If we are on a standalone node, save the indent info for partials\n if (current.type === 'PartialStatement') {\n // Pull out the whitespace from the final line\n current.indent = /([ \\t]+$)/.exec(body[i - 1].original)[1];\n }\n }\n }\n\n if (doStandalone && openStandalone) {\n omitRight((current.program || current.inverse).body); // Strip out the previous content node if it's whitespace only\n\n omitLeft(body, i);\n }\n\n if (doStandalone && closeStandalone) {\n // Always strip the next node\n omitRight(body, i);\n omitLeft((current.inverse || current.program).body);\n }\n }\n\n return program;\n};\n\nWhitespaceControl.prototype.BlockStatement = WhitespaceControl.prototype.DecoratorBlock = WhitespaceControl.prototype.PartialBlockStatement = function (block) {\n this.accept(block.program);\n this.accept(block.inverse); // Find the inverse program that is involed with whitespace stripping.\n\n var program = block.program || block.inverse,\n inverse = block.program && block.inverse,\n firstInverse = inverse,\n lastInverse = inverse;\n\n if (inverse && inverse.chained) {\n firstInverse = inverse.body[0].program; // Walk the inverse chain to find the last inverse that is actually in the chain.\n\n while (lastInverse.chained) {\n lastInverse = lastInverse.body[lastInverse.body.length - 1].program;\n }\n }\n\n var strip = {\n open: block.openStrip.open,\n close: block.closeStrip.close,\n // Determine the standalone candiacy. Basically flag our content as being possibly standalone\n // so our parent can determine if we actually are standalone\n openStandalone: isNextWhitespace(program.body),\n closeStandalone: isPrevWhitespace((firstInverse || program).body)\n };\n\n if (block.openStrip.close) {\n omitRight(program.body, null, true);\n }\n\n if (inverse) {\n var inverseStrip = block.inverseStrip;\n\n if (inverseStrip.open) {\n omitLeft(program.body, null, true);\n }\n\n if (inverseStrip.close) {\n omitRight(firstInverse.body, null, true);\n }\n\n if (block.closeStrip.open) {\n omitLeft(lastInverse.body, null, true);\n } // Find standalone else statments\n\n\n if (!this.options.ignoreStandalone && isPrevWhitespace(program.body) && isNextWhitespace(firstInverse.body)) {\n omitLeft(program.body);\n omitRight(firstInverse.body);\n }\n } else if (block.closeStrip.open) {\n omitLeft(program.body, null, true);\n }\n\n return strip;\n};\n\nWhitespaceControl.prototype.Decorator = WhitespaceControl.prototype.MustacheStatement = function (mustache) {\n return mustache.strip;\n};\n\nWhitespaceControl.prototype.PartialStatement = WhitespaceControl.prototype.CommentStatement = function (node) {\n /* istanbul ignore next */\n var strip = node.strip || {};\n return {\n inlineStandalone: true,\n open: strip.open,\n close: strip.close\n };\n};\n\nfunction isPrevWhitespace(body, i, isRoot) {\n if (i === undefined) {\n i = body.length;\n } // Nodes that end with newlines are considered whitespace (but are special\n // cased for strip operations)\n\n\n var prev = body[i - 1],\n sibling = body[i - 2];\n\n if (!prev) {\n return isRoot;\n }\n\n if (prev.type === 'ContentStatement') {\n return (sibling || !isRoot ? /\\r?\\n\\s*?$/ : /(^|\\r?\\n)\\s*?$/).test(prev.original);\n }\n}\n\nfunction isNextWhitespace(body, i, isRoot) {\n if (i === undefined) {\n i = -1;\n }\n\n var next = body[i + 1],\n sibling = body[i + 2];\n\n if (!next) {\n return isRoot;\n }\n\n if (next.type === 'ContentStatement') {\n return (sibling || !isRoot ? /^\\s*?\\r?\\n/ : /^\\s*?(\\r?\\n|$)/).test(next.original);\n }\n} // Marks the node to the right of the position as omitted.\n// I.e. {{foo}}' ' will mark the ' ' node as omitted.\n//\n// If i is undefined, then the first child will be marked as such.\n//\n// If mulitple is truthy then all whitespace will be stripped out until non-whitespace\n// content is met.\n\n\nfunction omitRight(body, i, multiple) {\n var current = body[i == null ? 0 : i + 1];\n\n if (!current || current.type !== 'ContentStatement' || !multiple && current.rightStripped) {\n return;\n }\n\n var original = current.value;\n current.value = current.value.replace(multiple ? /^\\s+/ : /^[ \\t]*\\r?\\n?/, '');\n current.rightStripped = current.value !== original;\n} // Marks the node to the left of the position as omitted.\n// I.e. ' '{{foo}} will mark the ' ' node as omitted.\n//\n// If i is undefined then the last child will be marked as such.\n//\n// If mulitple is truthy then all whitespace will be stripped out until non-whitespace\n// content is met.\n\n\nfunction omitLeft(body, i, multiple) {\n var current = body[i == null ? body.length - 1 : i - 1];\n\n if (!current || current.type !== 'ContentStatement' || !multiple && current.leftStripped) {\n return;\n } // We omit the last node if it's whitespace only and not preceded by a non-content node.\n\n\n var original = current.value;\n current.value = current.value.replace(multiple ? /\\s+$/ : /[ \\t]+$/, '');\n current.leftStripped = current.value !== original;\n return current.leftStripped;\n}\n\nexports['default'] = WhitespaceControl;\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\nexports.SourceLocation = SourceLocation;\nexports.id = id;\nexports.stripFlags = stripFlags;\nexports.stripComment = stripComment;\nexports.preparePath = preparePath;\nexports.prepareMustache = prepareMustache;\nexports.prepareRawBlock = prepareRawBlock;\nexports.prepareBlock = prepareBlock;\nexports.prepareProgram = prepareProgram;\nexports.preparePartialBlock = preparePartialBlock; // istanbul ignore next\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nfunction validateClose(open, close) {\n close = close.path ? close.path.original : close;\n\n if (open.path.original !== close) {\n var errorNode = {\n loc: open.path.loc\n };\n throw new _exception2['default'](open.path.original + \" doesn't match \" + close, errorNode);\n }\n}\n\nfunction SourceLocation(source, locInfo) {\n this.source = source;\n this.start = {\n line: locInfo.first_line,\n column: locInfo.first_column\n };\n this.end = {\n line: locInfo.last_line,\n column: locInfo.last_column\n };\n}\n\nfunction id(token) {\n if (/^\\[.*\\]$/.test(token)) {\n return token.substring(1, token.length - 1);\n } else {\n return token;\n }\n}\n\nfunction stripFlags(open, close) {\n return {\n open: open.charAt(2) === '~',\n close: close.charAt(close.length - 3) === '~'\n };\n}\n\nfunction stripComment(comment) {\n return comment.replace(/^\\{\\{~?!-?-?/, '').replace(/-?-?~?\\}\\}$/, '');\n}\n\nfunction preparePath(data, parts, loc) {\n loc = this.locInfo(loc);\n var original = data ? '@' : '',\n dig = [],\n depth = 0;\n\n for (var i = 0, l = parts.length; i < l; i++) {\n var part = parts[i].part,\n // If we have [] syntax then we do not treat path references as operators,\n // i.e. foo.[this] resolves to approximately context.foo['this']\n isLiteral = parts[i].original !== part;\n original += (parts[i].separator || '') + part;\n\n if (!isLiteral && (part === '..' || part === '.' || part === 'this')) {\n if (dig.length > 0) {\n throw new _exception2['default']('Invalid path: ' + original, {\n loc: loc\n });\n } else if (part === '..') {\n depth++;\n }\n } else {\n dig.push(part);\n }\n }\n\n return {\n type: 'PathExpression',\n data: data,\n depth: depth,\n parts: dig,\n original: original,\n loc: loc\n };\n}\n\nfunction prepareMustache(path, params, hash, open, strip, locInfo) {\n // Must use charAt to support IE pre-10\n var escapeFlag = open.charAt(3) || open.charAt(2),\n escaped = escapeFlag !== '{' && escapeFlag !== '&';\n var decorator = /\\*/.test(open);\n return {\n type: decorator ? 'Decorator' : 'MustacheStatement',\n path: path,\n params: params,\n hash: hash,\n escaped: escaped,\n strip: strip,\n loc: this.locInfo(locInfo)\n };\n}\n\nfunction prepareRawBlock(openRawBlock, contents, close, locInfo) {\n validateClose(openRawBlock, close);\n locInfo = this.locInfo(locInfo);\n var program = {\n type: 'Program',\n body: contents,\n strip: {},\n loc: locInfo\n };\n return {\n type: 'BlockStatement',\n path: openRawBlock.path,\n params: openRawBlock.params,\n hash: openRawBlock.hash,\n program: program,\n openStrip: {},\n inverseStrip: {},\n closeStrip: {},\n loc: locInfo\n };\n}\n\nfunction prepareBlock(openBlock, program, inverseAndProgram, close, inverted, locInfo) {\n if (close && close.path) {\n validateClose(openBlock, close);\n }\n\n var decorator = /\\*/.test(openBlock.open);\n program.blockParams = openBlock.blockParams;\n var inverse = undefined,\n inverseStrip = undefined;\n\n if (inverseAndProgram) {\n if (decorator) {\n throw new _exception2['default']('Unexpected inverse block on decorator', inverseAndProgram);\n }\n\n if (inverseAndProgram.chain) {\n inverseAndProgram.program.body[0].closeStrip = close.strip;\n }\n\n inverseStrip = inverseAndProgram.strip;\n inverse = inverseAndProgram.program;\n }\n\n if (inverted) {\n inverted = inverse;\n inverse = program;\n program = inverted;\n }\n\n return {\n type: decorator ? 'DecoratorBlock' : 'BlockStatement',\n path: openBlock.path,\n params: openBlock.params,\n hash: openBlock.hash,\n program: program,\n inverse: inverse,\n openStrip: openBlock.strip,\n inverseStrip: inverseStrip,\n closeStrip: close && close.strip,\n loc: this.locInfo(locInfo)\n };\n}\n\nfunction prepareProgram(statements, loc) {\n if (!loc && statements.length) {\n var firstLoc = statements[0].loc,\n lastLoc = statements[statements.length - 1].loc;\n /* istanbul ignore else */\n\n if (firstLoc && lastLoc) {\n loc = {\n source: firstLoc.source,\n start: {\n line: firstLoc.start.line,\n column: firstLoc.start.column\n },\n end: {\n line: lastLoc.end.line,\n column: lastLoc.end.column\n }\n };\n }\n }\n\n return {\n type: 'Program',\n body: statements,\n strip: {},\n loc: loc\n };\n}\n\nfunction preparePartialBlock(open, program, close, locInfo) {\n validateClose(open, close);\n return {\n type: 'PartialBlockStatement',\n name: open.path,\n params: open.params,\n hash: open.hash,\n program: program,\n openStrip: open.strip,\n closeStrip: close && close.strip,\n loc: this.locInfo(locInfo)\n };\n}","/* eslint-disable new-cap */\n'use strict';\n\nexports.__esModule = true;\nexports.Compiler = Compiler;\nexports.precompile = precompile;\nexports.compile = compile; // istanbul ignore next\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nvar _utils = require('../utils');\n\nvar _ast = require('./ast');\n\nvar _ast2 = _interopRequireDefault(_ast);\n\nvar slice = [].slice;\n\nfunction Compiler() {} // the foundHelper register will disambiguate helper lookup from finding a\n// function in a context. This is necessary for mustache compatibility, which\n// requires that context functions in blocks are evaluated by blockHelperMissing,\n// and then proceed as if the resulting value was provided to blockHelperMissing.\n\n\nCompiler.prototype = {\n compiler: Compiler,\n equals: function equals(other) {\n var len = this.opcodes.length;\n\n if (other.opcodes.length !== len) {\n return false;\n }\n\n for (var i = 0; i < len; i++) {\n var opcode = this.opcodes[i],\n otherOpcode = other.opcodes[i];\n\n if (opcode.opcode !== otherOpcode.opcode || !argEquals(opcode.args, otherOpcode.args)) {\n return false;\n }\n } // We know that length is the same between the two arrays because they are directly tied\n // to the opcode behavior above.\n\n\n len = this.children.length;\n\n for (var i = 0; i < len; i++) {\n if (!this.children[i].equals(other.children[i])) {\n return false;\n }\n }\n\n return true;\n },\n guid: 0,\n compile: function compile(program, options) {\n this.sourceNode = [];\n this.opcodes = [];\n this.children = [];\n this.options = options;\n this.stringParams = options.stringParams;\n this.trackIds = options.trackIds;\n options.blockParams = options.blockParams || [];\n options.knownHelpers = _utils.extend(Object.create(null), {\n helperMissing: true,\n blockHelperMissing: true,\n each: true,\n 'if': true,\n unless: true,\n 'with': true,\n log: true,\n lookup: true\n }, options.knownHelpers);\n return this.accept(program);\n },\n compileProgram: function compileProgram(program) {\n var childCompiler = new this.compiler(),\n // eslint-disable-line new-cap\n result = childCompiler.compile(program, this.options),\n guid = this.guid++;\n this.usePartial = this.usePartial || result.usePartial;\n this.children[guid] = result;\n this.useDepths = this.useDepths || result.useDepths;\n return guid;\n },\n accept: function accept(node) {\n /* istanbul ignore next: Sanity code */\n if (!this[node.type]) {\n throw new _exception2['default']('Unknown type: ' + node.type, node);\n }\n\n this.sourceNode.unshift(node);\n var ret = this[node.type](node);\n this.sourceNode.shift();\n return ret;\n },\n Program: function Program(program) {\n this.options.blockParams.unshift(program.blockParams);\n var body = program.body,\n bodyLength = body.length;\n\n for (var i = 0; i < bodyLength; i++) {\n this.accept(body[i]);\n }\n\n this.options.blockParams.shift();\n this.isSimple = bodyLength === 1;\n this.blockParams = program.blockParams ? program.blockParams.length : 0;\n return this;\n },\n BlockStatement: function BlockStatement(block) {\n transformLiteralToPath(block);\n var program = block.program,\n inverse = block.inverse;\n program = program && this.compileProgram(program);\n inverse = inverse && this.compileProgram(inverse);\n var type = this.classifySexpr(block);\n\n if (type === 'helper') {\n this.helperSexpr(block, program, inverse);\n } else if (type === 'simple') {\n this.simpleSexpr(block); // now that the simple mustache is resolved, we need to\n // evaluate it by executing `blockHelperMissing`\n\n this.opcode('pushProgram', program);\n this.opcode('pushProgram', inverse);\n this.opcode('emptyHash');\n this.opcode('blockValue', block.path.original);\n } else {\n this.ambiguousSexpr(block, program, inverse); // now that the simple mustache is resolved, we need to\n // evaluate it by executing `blockHelperMissing`\n\n this.opcode('pushProgram', program);\n this.opcode('pushProgram', inverse);\n this.opcode('emptyHash');\n this.opcode('ambiguousBlockValue');\n }\n\n this.opcode('append');\n },\n DecoratorBlock: function DecoratorBlock(decorator) {\n var program = decorator.program && this.compileProgram(decorator.program);\n var params = this.setupFullMustacheParams(decorator, program, undefined),\n path = decorator.path;\n this.useDecorators = true;\n this.opcode('registerDecorator', params.length, path.original);\n },\n PartialStatement: function PartialStatement(partial) {\n this.usePartial = true;\n var program = partial.program;\n\n if (program) {\n program = this.compileProgram(partial.program);\n }\n\n var params = partial.params;\n\n if (params.length > 1) {\n throw new _exception2['default']('Unsupported number of partial arguments: ' + params.length, partial);\n } else if (!params.length) {\n if (this.options.explicitPartialContext) {\n this.opcode('pushLiteral', 'undefined');\n } else {\n params.push({\n type: 'PathExpression',\n parts: [],\n depth: 0\n });\n }\n }\n\n var partialName = partial.name.original,\n isDynamic = partial.name.type === 'SubExpression';\n\n if (isDynamic) {\n this.accept(partial.name);\n }\n\n this.setupFullMustacheParams(partial, program, undefined, true);\n var indent = partial.indent || '';\n\n if (this.options.preventIndent && indent) {\n this.opcode('appendContent', indent);\n indent = '';\n }\n\n this.opcode('invokePartial', isDynamic, partialName, indent);\n this.opcode('append');\n },\n PartialBlockStatement: function PartialBlockStatement(partialBlock) {\n this.PartialStatement(partialBlock);\n },\n MustacheStatement: function MustacheStatement(mustache) {\n this.SubExpression(mustache);\n\n if (mustache.escaped && !this.options.noEscape) {\n this.opcode('appendEscaped');\n } else {\n this.opcode('append');\n }\n },\n Decorator: function Decorator(decorator) {\n this.DecoratorBlock(decorator);\n },\n ContentStatement: function ContentStatement(content) {\n if (content.value) {\n this.opcode('appendContent', content.value);\n }\n },\n CommentStatement: function CommentStatement() {},\n SubExpression: function SubExpression(sexpr) {\n transformLiteralToPath(sexpr);\n var type = this.classifySexpr(sexpr);\n\n if (type === 'simple') {\n this.simpleSexpr(sexpr);\n } else if (type === 'helper') {\n this.helperSexpr(sexpr);\n } else {\n this.ambiguousSexpr(sexpr);\n }\n },\n ambiguousSexpr: function ambiguousSexpr(sexpr, program, inverse) {\n var path = sexpr.path,\n name = path.parts[0],\n isBlock = program != null || inverse != null;\n this.opcode('getContext', path.depth);\n this.opcode('pushProgram', program);\n this.opcode('pushProgram', inverse);\n path.strict = true;\n this.accept(path);\n this.opcode('invokeAmbiguous', name, isBlock);\n },\n simpleSexpr: function simpleSexpr(sexpr) {\n var path = sexpr.path;\n path.strict = true;\n this.accept(path);\n this.opcode('resolvePossibleLambda');\n },\n helperSexpr: function helperSexpr(sexpr, program, inverse) {\n var params = this.setupFullMustacheParams(sexpr, program, inverse),\n path = sexpr.path,\n name = path.parts[0];\n\n if (this.options.knownHelpers[name]) {\n this.opcode('invokeKnownHelper', params.length, name);\n } else if (this.options.knownHelpersOnly) {\n throw new _exception2['default']('You specified knownHelpersOnly, but used the unknown helper ' + name, sexpr);\n } else {\n path.strict = true;\n path.falsy = true;\n this.accept(path);\n this.opcode('invokeHelper', params.length, path.original, _ast2['default'].helpers.simpleId(path));\n }\n },\n PathExpression: function PathExpression(path) {\n this.addDepth(path.depth);\n this.opcode('getContext', path.depth);\n\n var name = path.parts[0],\n scoped = _ast2['default'].helpers.scopedId(path),\n blockParamId = !path.depth && !scoped && this.blockParamIndex(name);\n\n if (blockParamId) {\n this.opcode('lookupBlockParam', blockParamId, path.parts);\n } else if (!name) {\n // Context reference, i.e. `{{foo .}}` or `{{foo ..}}`\n this.opcode('pushContext');\n } else if (path.data) {\n this.options.data = true;\n this.opcode('lookupData', path.depth, path.parts, path.strict);\n } else {\n this.opcode('lookupOnContext', path.parts, path.falsy, path.strict, scoped);\n }\n },\n StringLiteral: function StringLiteral(string) {\n this.opcode('pushString', string.value);\n },\n NumberLiteral: function NumberLiteral(number) {\n this.opcode('pushLiteral', number.value);\n },\n BooleanLiteral: function BooleanLiteral(bool) {\n this.opcode('pushLiteral', bool.value);\n },\n UndefinedLiteral: function UndefinedLiteral() {\n this.opcode('pushLiteral', 'undefined');\n },\n NullLiteral: function NullLiteral() {\n this.opcode('pushLiteral', 'null');\n },\n Hash: function Hash(hash) {\n var pairs = hash.pairs,\n i = 0,\n l = pairs.length;\n this.opcode('pushHash');\n\n for (; i < l; i++) {\n this.pushParam(pairs[i].value);\n }\n\n while (i--) {\n this.opcode('assignToHash', pairs[i].key);\n }\n\n this.opcode('popHash');\n },\n // HELPERS\n opcode: function opcode(name) {\n this.opcodes.push({\n opcode: name,\n args: slice.call(arguments, 1),\n loc: this.sourceNode[0].loc\n });\n },\n addDepth: function addDepth(depth) {\n if (!depth) {\n return;\n }\n\n this.useDepths = true;\n },\n classifySexpr: function classifySexpr(sexpr) {\n var isSimple = _ast2['default'].helpers.simpleId(sexpr.path);\n\n var isBlockParam = isSimple && !!this.blockParamIndex(sexpr.path.parts[0]); // a mustache is an eligible helper if:\n // * its id is simple (a single part, not `this` or `..`)\n\n var isHelper = !isBlockParam && _ast2['default'].helpers.helperExpression(sexpr); // if a mustache is an eligible helper but not a definite\n // helper, it is ambiguous, and will be resolved in a later\n // pass or at runtime.\n\n\n var isEligible = !isBlockParam && (isHelper || isSimple); // if ambiguous, we can possibly resolve the ambiguity now\n // An eligible helper is one that does not have a complex path, i.e. `this.foo`, `../foo` etc.\n\n if (isEligible && !isHelper) {\n var _name = sexpr.path.parts[0],\n options = this.options;\n\n if (options.knownHelpers[_name]) {\n isHelper = true;\n } else if (options.knownHelpersOnly) {\n isEligible = false;\n }\n }\n\n if (isHelper) {\n return 'helper';\n } else if (isEligible) {\n return 'ambiguous';\n } else {\n return 'simple';\n }\n },\n pushParams: function pushParams(params) {\n for (var i = 0, l = params.length; i < l; i++) {\n this.pushParam(params[i]);\n }\n },\n pushParam: function pushParam(val) {\n var value = val.value != null ? val.value : val.original || '';\n\n if (this.stringParams) {\n if (value.replace) {\n value = value.replace(/^(\\.?\\.\\/)*/g, '').replace(/\\//g, '.');\n }\n\n if (val.depth) {\n this.addDepth(val.depth);\n }\n\n this.opcode('getContext', val.depth || 0);\n this.opcode('pushStringParam', value, val.type);\n\n if (val.type === 'SubExpression') {\n // SubExpressions get evaluated and passed in\n // in string params mode.\n this.accept(val);\n }\n } else {\n if (this.trackIds) {\n var blockParamIndex = undefined;\n\n if (val.parts && !_ast2['default'].helpers.scopedId(val) && !val.depth) {\n blockParamIndex = this.blockParamIndex(val.parts[0]);\n }\n\n if (blockParamIndex) {\n var blockParamChild = val.parts.slice(1).join('.');\n this.opcode('pushId', 'BlockParam', blockParamIndex, blockParamChild);\n } else {\n value = val.original || value;\n\n if (value.replace) {\n value = value.replace(/^this(?:\\.|$)/, '').replace(/^\\.\\//, '').replace(/^\\.$/, '');\n }\n\n this.opcode('pushId', val.type, value);\n }\n }\n\n this.accept(val);\n }\n },\n setupFullMustacheParams: function setupFullMustacheParams(sexpr, program, inverse, omitEmpty) {\n var params = sexpr.params;\n this.pushParams(params);\n this.opcode('pushProgram', program);\n this.opcode('pushProgram', inverse);\n\n if (sexpr.hash) {\n this.accept(sexpr.hash);\n } else {\n this.opcode('emptyHash', omitEmpty);\n }\n\n return params;\n },\n blockParamIndex: function blockParamIndex(name) {\n for (var depth = 0, len = this.options.blockParams.length; depth < len; depth++) {\n var blockParams = this.options.blockParams[depth],\n param = blockParams && _utils.indexOf(blockParams, name);\n\n if (blockParams && param >= 0) {\n return [depth, param];\n }\n }\n }\n};\n\nfunction precompile(input, options, env) {\n if (input == null || typeof input !== 'string' && input.type !== 'Program') {\n throw new _exception2['default']('You must pass a string or Handlebars AST to Handlebars.precompile. You passed ' + input);\n }\n\n options = options || {};\n\n if (!('data' in options)) {\n options.data = true;\n }\n\n if (options.compat) {\n options.useDepths = true;\n }\n\n var ast = env.parse(input, options),\n environment = new env.Compiler().compile(ast, options);\n return new env.JavaScriptCompiler().compile(environment, options);\n}\n\nfunction compile(input, options, env) {\n if (options === undefined) options = {};\n\n if (input == null || typeof input !== 'string' && input.type !== 'Program') {\n throw new _exception2['default']('You must pass a string or Handlebars AST to Handlebars.compile. You passed ' + input);\n }\n\n options = _utils.extend({}, options);\n\n if (!('data' in options)) {\n options.data = true;\n }\n\n if (options.compat) {\n options.useDepths = true;\n }\n\n var compiled = undefined;\n\n function compileInput() {\n var ast = env.parse(input, options),\n environment = new env.Compiler().compile(ast, options),\n templateSpec = new env.JavaScriptCompiler().compile(environment, options, undefined, true);\n return env.template(templateSpec);\n } // Template is only compiled on first use and cached after that point.\n\n\n function ret(context, execOptions) {\n if (!compiled) {\n compiled = compileInput();\n }\n\n return compiled.call(this, context, execOptions);\n }\n\n ret._setup = function (setupOptions) {\n if (!compiled) {\n compiled = compileInput();\n }\n\n return compiled._setup(setupOptions);\n };\n\n ret._child = function (i, data, blockParams, depths) {\n if (!compiled) {\n compiled = compileInput();\n }\n\n return compiled._child(i, data, blockParams, depths);\n };\n\n return ret;\n}\n\nfunction argEquals(a, b) {\n if (a === b) {\n return true;\n }\n\n if (_utils.isArray(a) && _utils.isArray(b) && a.length === b.length) {\n for (var i = 0; i < a.length; i++) {\n if (!argEquals(a[i], b[i])) {\n return false;\n }\n }\n\n return true;\n }\n}\n\nfunction transformLiteralToPath(sexpr) {\n if (!sexpr.path.parts) {\n var literal = sexpr.path; // Casting to string here to make false and 0 literal values play nicely with the rest\n // of the system.\n\n sexpr.path = {\n type: 'PathExpression',\n data: false,\n depth: 0,\n parts: [literal.original + ''],\n original: literal.original + '',\n loc: literal.loc\n };\n }\n}","'use strict';\n\nexports.__esModule = true; // istanbul ignore next\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _base = require('../base');\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nvar _utils = require('../utils');\n\nvar _codeGen = require('./code-gen');\n\nvar _codeGen2 = _interopRequireDefault(_codeGen);\n\nfunction Literal(value) {\n this.value = value;\n}\n\nfunction JavaScriptCompiler() {}\n\nJavaScriptCompiler.prototype = {\n // PUBLIC API: You can override these methods in a subclass to provide\n // alternative compiled forms for name lookup and buffering semantics\n nameLookup: function nameLookup(parent, name\n /*, type */\n ) {\n return this.internalNameLookup(parent, name);\n },\n depthedLookup: function depthedLookup(name) {\n return [this.aliasable('container.lookup'), '(depths, ', JSON.stringify(name), ')'];\n },\n compilerInfo: function compilerInfo() {\n var revision = _base.COMPILER_REVISION,\n versions = _base.REVISION_CHANGES[revision];\n return [revision, versions];\n },\n appendToBuffer: function appendToBuffer(source, location, explicit) {\n // Force a source as this simplifies the merge logic.\n if (!_utils.isArray(source)) {\n source = [source];\n }\n\n source = this.source.wrap(source, location);\n\n if (this.environment.isSimple) {\n return ['return ', source, ';'];\n } else if (explicit) {\n // This is a case where the buffer operation occurs as a child of another\n // construct, generally braces. We have to explicitly output these buffer\n // operations to ensure that the emitted code goes in the correct location.\n return ['buffer += ', source, ';'];\n } else {\n source.appendToBuffer = true;\n return source;\n }\n },\n initializeBuffer: function initializeBuffer() {\n return this.quotedString('');\n },\n // END PUBLIC API\n internalNameLookup: function internalNameLookup(parent, name) {\n this.lookupPropertyFunctionIsUsed = true;\n return ['lookupProperty(', parent, ',', JSON.stringify(name), ')'];\n },\n lookupPropertyFunctionIsUsed: false,\n compile: function compile(environment, options, context, asObject) {\n this.environment = environment;\n this.options = options;\n this.stringParams = this.options.stringParams;\n this.trackIds = this.options.trackIds;\n this.precompile = !asObject;\n this.name = this.environment.name;\n this.isChild = !!context;\n this.context = context || {\n decorators: [],\n programs: [],\n environments: []\n };\n this.preamble();\n this.stackSlot = 0;\n this.stackVars = [];\n this.aliases = {};\n this.registers = {\n list: []\n };\n this.hashes = [];\n this.compileStack = [];\n this.inlineStack = [];\n this.blockParams = [];\n this.compileChildren(environment, options);\n this.useDepths = this.useDepths || environment.useDepths || environment.useDecorators || this.options.compat;\n this.useBlockParams = this.useBlockParams || environment.useBlockParams;\n var opcodes = environment.opcodes,\n opcode = undefined,\n firstLoc = undefined,\n i = undefined,\n l = undefined;\n\n for (i = 0, l = opcodes.length; i < l; i++) {\n opcode = opcodes[i];\n this.source.currentLocation = opcode.loc;\n firstLoc = firstLoc || opcode.loc;\n this[opcode.opcode].apply(this, opcode.args);\n } // Flush any trailing content that might be pending.\n\n\n this.source.currentLocation = firstLoc;\n this.pushSource('');\n /* istanbul ignore next */\n\n if (this.stackSlot || this.inlineStack.length || this.compileStack.length) {\n throw new _exception2['default']('Compile completed with content left on stack');\n }\n\n if (!this.decorators.isEmpty()) {\n this.useDecorators = true;\n this.decorators.prepend(['var decorators = container.decorators, ', this.lookupPropertyFunctionVarDeclaration(), ';\\n']);\n this.decorators.push('return fn;');\n\n if (asObject) {\n this.decorators = Function.apply(this, ['fn', 'props', 'container', 'depth0', 'data', 'blockParams', 'depths', this.decorators.merge()]);\n } else {\n this.decorators.prepend('function(fn, props, container, depth0, data, blockParams, depths) {\\n');\n this.decorators.push('}\\n');\n this.decorators = this.decorators.merge();\n }\n } else {\n this.decorators = undefined;\n }\n\n var fn = this.createFunctionContext(asObject);\n\n if (!this.isChild) {\n var ret = {\n compiler: this.compilerInfo(),\n main: fn\n };\n\n if (this.decorators) {\n ret.main_d = this.decorators; // eslint-disable-line camelcase\n\n ret.useDecorators = true;\n }\n\n var _context = this.context;\n var programs = _context.programs;\n var decorators = _context.decorators;\n\n for (i = 0, l = programs.length; i < l; i++) {\n if (programs[i]) {\n ret[i] = programs[i];\n\n if (decorators[i]) {\n ret[i + '_d'] = decorators[i];\n ret.useDecorators = true;\n }\n }\n }\n\n if (this.environment.usePartial) {\n ret.usePartial = true;\n }\n\n if (this.options.data) {\n ret.useData = true;\n }\n\n if (this.useDepths) {\n ret.useDepths = true;\n }\n\n if (this.useBlockParams) {\n ret.useBlockParams = true;\n }\n\n if (this.options.compat) {\n ret.compat = true;\n }\n\n if (!asObject) {\n ret.compiler = JSON.stringify(ret.compiler);\n this.source.currentLocation = {\n start: {\n line: 1,\n column: 0\n }\n };\n ret = this.objectLiteral(ret);\n\n if (options.srcName) {\n ret = ret.toStringWithSourceMap({\n file: options.destName\n });\n ret.map = ret.map && ret.map.toString();\n } else {\n ret = ret.toString();\n }\n } else {\n ret.compilerOptions = this.options;\n }\n\n return ret;\n } else {\n return fn;\n }\n },\n preamble: function preamble() {\n // track the last context pushed into place to allow skipping the\n // getContext opcode when it would be a noop\n this.lastContext = 0;\n this.source = new _codeGen2['default'](this.options.srcName);\n this.decorators = new _codeGen2['default'](this.options.srcName);\n },\n createFunctionContext: function createFunctionContext(asObject) {\n // istanbul ignore next\n var _this = this;\n\n var varDeclarations = '';\n var locals = this.stackVars.concat(this.registers.list);\n\n if (locals.length > 0) {\n varDeclarations += ', ' + locals.join(', ');\n } // Generate minimizer alias mappings\n //\n // When using true SourceNodes, this will update all references to the given alias\n // as the source nodes are reused in situ. For the non-source node compilation mode,\n // aliases will not be used, but this case is already being run on the client and\n // we aren't concern about minimizing the template size.\n\n\n var aliasCount = 0;\n Object.keys(this.aliases).forEach(function (alias) {\n var node = _this.aliases[alias];\n\n if (node.children && node.referenceCount > 1) {\n varDeclarations += ', alias' + ++aliasCount + '=' + alias;\n node.children[0] = 'alias' + aliasCount;\n }\n });\n\n if (this.lookupPropertyFunctionIsUsed) {\n varDeclarations += ', ' + this.lookupPropertyFunctionVarDeclaration();\n }\n\n var params = ['container', 'depth0', 'helpers', 'partials', 'data'];\n\n if (this.useBlockParams || this.useDepths) {\n params.push('blockParams');\n }\n\n if (this.useDepths) {\n params.push('depths');\n } // Perform a second pass over the output to merge content when possible\n\n\n var source = this.mergeSource(varDeclarations);\n\n if (asObject) {\n params.push(source);\n return Function.apply(this, params);\n } else {\n return this.source.wrap(['function(', params.join(','), ') {\\n ', source, '}']);\n }\n },\n mergeSource: function mergeSource(varDeclarations) {\n var isSimple = this.environment.isSimple,\n appendOnly = !this.forceBuffer,\n appendFirst = undefined,\n sourceSeen = undefined,\n bufferStart = undefined,\n bufferEnd = undefined;\n this.source.each(function (line) {\n if (line.appendToBuffer) {\n if (bufferStart) {\n line.prepend(' + ');\n } else {\n bufferStart = line;\n }\n\n bufferEnd = line;\n } else {\n if (bufferStart) {\n if (!sourceSeen) {\n appendFirst = true;\n } else {\n bufferStart.prepend('buffer += ');\n }\n\n bufferEnd.add(';');\n bufferStart = bufferEnd = undefined;\n }\n\n sourceSeen = true;\n\n if (!isSimple) {\n appendOnly = false;\n }\n }\n });\n\n if (appendOnly) {\n if (bufferStart) {\n bufferStart.prepend('return ');\n bufferEnd.add(';');\n } else if (!sourceSeen) {\n this.source.push('return \"\";');\n }\n } else {\n varDeclarations += ', buffer = ' + (appendFirst ? '' : this.initializeBuffer());\n\n if (bufferStart) {\n bufferStart.prepend('return buffer + ');\n bufferEnd.add(';');\n } else {\n this.source.push('return buffer;');\n }\n }\n\n if (varDeclarations) {\n this.source.prepend('var ' + varDeclarations.substring(2) + (appendFirst ? '' : ';\\n'));\n }\n\n return this.source.merge();\n },\n lookupPropertyFunctionVarDeclaration: function lookupPropertyFunctionVarDeclaration() {\n return '\\n lookupProperty = container.lookupProperty || function(parent, propertyName) {\\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\\n return parent[propertyName];\\n }\\n return undefined\\n }\\n '.trim();\n },\n // [blockValue]\n //\n // On stack, before: hash, inverse, program, value\n // On stack, after: return value of blockHelperMissing\n //\n // The purpose of this opcode is to take a block of the form\n // `{{#this.foo}}...{{/this.foo}}`, resolve the value of `foo`, and\n // replace it on the stack with the result of properly\n // invoking blockHelperMissing.\n blockValue: function blockValue(name) {\n var blockHelperMissing = this.aliasable('container.hooks.blockHelperMissing'),\n params = [this.contextName(0)];\n this.setupHelperArgs(name, 0, params);\n var blockName = this.popStack();\n params.splice(1, 0, blockName);\n this.push(this.source.functionCall(blockHelperMissing, 'call', params));\n },\n // [ambiguousBlockValue]\n //\n // On stack, before: hash, inverse, program, value\n // Compiler value, before: lastHelper=value of last found helper, if any\n // On stack, after, if no lastHelper: same as [blockValue]\n // On stack, after, if lastHelper: value\n ambiguousBlockValue: function ambiguousBlockValue() {\n // We're being a bit cheeky and reusing the options value from the prior exec\n var blockHelperMissing = this.aliasable('container.hooks.blockHelperMissing'),\n params = [this.contextName(0)];\n this.setupHelperArgs('', 0, params, true);\n this.flushInline();\n var current = this.topStack();\n params.splice(1, 0, current);\n this.pushSource(['if (!', this.lastHelper, ') { ', current, ' = ', this.source.functionCall(blockHelperMissing, 'call', params), '}']);\n },\n // [appendContent]\n //\n // On stack, before: ...\n // On stack, after: ...\n //\n // Appends the string value of `content` to the current buffer\n appendContent: function appendContent(content) {\n if (this.pendingContent) {\n content = this.pendingContent + content;\n } else {\n this.pendingLocation = this.source.currentLocation;\n }\n\n this.pendingContent = content;\n },\n // [append]\n //\n // On stack, before: value, ...\n // On stack, after: ...\n //\n // Coerces `value` to a String and appends it to the current buffer.\n //\n // If `value` is truthy, or 0, it is coerced into a string and appended\n // Otherwise, the empty string is appended\n append: function append() {\n if (this.isInline()) {\n this.replaceStack(function (current) {\n return [' != null ? ', current, ' : \"\"'];\n });\n this.pushSource(this.appendToBuffer(this.popStack()));\n } else {\n var local = this.popStack();\n this.pushSource(['if (', local, ' != null) { ', this.appendToBuffer(local, undefined, true), ' }']);\n\n if (this.environment.isSimple) {\n this.pushSource(['else { ', this.appendToBuffer(\"''\", undefined, true), ' }']);\n }\n }\n },\n // [appendEscaped]\n //\n // On stack, before: value, ...\n // On stack, after: ...\n //\n // Escape `value` and append it to the buffer\n appendEscaped: function appendEscaped() {\n this.pushSource(this.appendToBuffer([this.aliasable('container.escapeExpression'), '(', this.popStack(), ')']));\n },\n // [getContext]\n //\n // On stack, before: ...\n // On stack, after: ...\n // Compiler value, after: lastContext=depth\n //\n // Set the value of the `lastContext` compiler value to the depth\n getContext: function getContext(depth) {\n this.lastContext = depth;\n },\n // [pushContext]\n //\n // On stack, before: ...\n // On stack, after: currentContext, ...\n //\n // Pushes the value of the current context onto the stack.\n pushContext: function pushContext() {\n this.pushStackLiteral(this.contextName(this.lastContext));\n },\n // [lookupOnContext]\n //\n // On stack, before: ...\n // On stack, after: currentContext[name], ...\n //\n // Looks up the value of `name` on the current context and pushes\n // it onto the stack.\n lookupOnContext: function lookupOnContext(parts, falsy, strict, scoped) {\n var i = 0;\n\n if (!scoped && this.options.compat && !this.lastContext) {\n // The depthed query is expected to handle the undefined logic for the root level that\n // is implemented below, so we evaluate that directly in compat mode\n this.push(this.depthedLookup(parts[i++]));\n } else {\n this.pushContext();\n }\n\n this.resolvePath('context', parts, i, falsy, strict);\n },\n // [lookupBlockParam]\n //\n // On stack, before: ...\n // On stack, after: blockParam[name], ...\n //\n // Looks up the value of `parts` on the given block param and pushes\n // it onto the stack.\n lookupBlockParam: function lookupBlockParam(blockParamId, parts) {\n this.useBlockParams = true;\n this.push(['blockParams[', blockParamId[0], '][', blockParamId[1], ']']);\n this.resolvePath('context', parts, 1);\n },\n // [lookupData]\n //\n // On stack, before: ...\n // On stack, after: data, ...\n //\n // Push the data lookup operator\n lookupData: function lookupData(depth, parts, strict) {\n if (!depth) {\n this.pushStackLiteral('data');\n } else {\n this.pushStackLiteral('container.data(data, ' + depth + ')');\n }\n\n this.resolvePath('data', parts, 0, true, strict);\n },\n resolvePath: function resolvePath(type, parts, i, falsy, strict) {\n // istanbul ignore next\n var _this2 = this;\n\n if (this.options.strict || this.options.assumeObjects) {\n this.push(strictLookup(this.options.strict && strict, this, parts, type));\n return;\n }\n\n var len = parts.length;\n\n for (; i < len; i++) {\n /* eslint-disable no-loop-func */\n this.replaceStack(function (current) {\n var lookup = _this2.nameLookup(current, parts[i], type); // We want to ensure that zero and false are handled properly if the context (falsy flag)\n // needs to have the special handling for these values.\n\n\n if (!falsy) {\n return [' != null ? ', lookup, ' : ', current];\n } else {\n // Otherwise we can use generic falsy handling\n return [' && ', lookup];\n }\n });\n /* eslint-enable no-loop-func */\n }\n },\n // [resolvePossibleLambda]\n //\n // On stack, before: value, ...\n // On stack, after: resolved value, ...\n //\n // If the `value` is a lambda, replace it on the stack by\n // the return value of the lambda\n resolvePossibleLambda: function resolvePossibleLambda() {\n this.push([this.aliasable('container.lambda'), '(', this.popStack(), ', ', this.contextName(0), ')']);\n },\n // [pushStringParam]\n //\n // On stack, before: ...\n // On stack, after: string, currentContext, ...\n //\n // This opcode is designed for use in string mode, which\n // provides the string value of a parameter along with its\n // depth rather than resolving it immediately.\n pushStringParam: function pushStringParam(string, type) {\n this.pushContext();\n this.pushString(type); // If it's a subexpression, the string result\n // will be pushed after this opcode.\n\n if (type !== 'SubExpression') {\n if (typeof string === 'string') {\n this.pushString(string);\n } else {\n this.pushStackLiteral(string);\n }\n }\n },\n emptyHash: function emptyHash(omitEmpty) {\n if (this.trackIds) {\n this.push('{}'); // hashIds\n }\n\n if (this.stringParams) {\n this.push('{}'); // hashContexts\n\n this.push('{}'); // hashTypes\n }\n\n this.pushStackLiteral(omitEmpty ? 'undefined' : '{}');\n },\n pushHash: function pushHash() {\n if (this.hash) {\n this.hashes.push(this.hash);\n }\n\n this.hash = {\n values: {},\n types: [],\n contexts: [],\n ids: []\n };\n },\n popHash: function popHash() {\n var hash = this.hash;\n this.hash = this.hashes.pop();\n\n if (this.trackIds) {\n this.push(this.objectLiteral(hash.ids));\n }\n\n if (this.stringParams) {\n this.push(this.objectLiteral(hash.contexts));\n this.push(this.objectLiteral(hash.types));\n }\n\n this.push(this.objectLiteral(hash.values));\n },\n // [pushString]\n //\n // On stack, before: ...\n // On stack, after: quotedString(string), ...\n //\n // Push a quoted version of `string` onto the stack\n pushString: function pushString(string) {\n this.pushStackLiteral(this.quotedString(string));\n },\n // [pushLiteral]\n //\n // On stack, before: ...\n // On stack, after: value, ...\n //\n // Pushes a value onto the stack. This operation prevents\n // the compiler from creating a temporary variable to hold\n // it.\n pushLiteral: function pushLiteral(value) {\n this.pushStackLiteral(value);\n },\n // [pushProgram]\n //\n // On stack, before: ...\n // On stack, after: program(guid), ...\n //\n // Push a program expression onto the stack. This takes\n // a compile-time guid and converts it into a runtime-accessible\n // expression.\n pushProgram: function pushProgram(guid) {\n if (guid != null) {\n this.pushStackLiteral(this.programExpression(guid));\n } else {\n this.pushStackLiteral(null);\n }\n },\n // [registerDecorator]\n //\n // On stack, before: hash, program, params..., ...\n // On stack, after: ...\n //\n // Pops off the decorator's parameters, invokes the decorator,\n // and inserts the decorator into the decorators list.\n registerDecorator: function registerDecorator(paramSize, name) {\n var foundDecorator = this.nameLookup('decorators', name, 'decorator'),\n options = this.setupHelperArgs(name, paramSize);\n this.decorators.push(['fn = ', this.decorators.functionCall(foundDecorator, '', ['fn', 'props', 'container', options]), ' || fn;']);\n },\n // [invokeHelper]\n //\n // On stack, before: hash, inverse, program, params..., ...\n // On stack, after: result of helper invocation\n //\n // Pops off the helper's parameters, invokes the helper,\n // and pushes the helper's return value onto the stack.\n //\n // If the helper is not found, `helperMissing` is called.\n invokeHelper: function invokeHelper(paramSize, name, isSimple) {\n var nonHelper = this.popStack(),\n helper = this.setupHelper(paramSize, name);\n var possibleFunctionCalls = [];\n\n if (isSimple) {\n // direct call to helper\n possibleFunctionCalls.push(helper.name);\n } // call a function from the input object\n\n\n possibleFunctionCalls.push(nonHelper);\n\n if (!this.options.strict) {\n possibleFunctionCalls.push(this.aliasable('container.hooks.helperMissing'));\n }\n\n var functionLookupCode = ['(', this.itemsSeparatedBy(possibleFunctionCalls, '||'), ')'];\n var functionCall = this.source.functionCall(functionLookupCode, 'call', helper.callParams);\n this.push(functionCall);\n },\n itemsSeparatedBy: function itemsSeparatedBy(items, separator) {\n var result = [];\n result.push(items[0]);\n\n for (var i = 1; i < items.length; i++) {\n result.push(separator, items[i]);\n }\n\n return result;\n },\n // [invokeKnownHelper]\n //\n // On stack, before: hash, inverse, program, params..., ...\n // On stack, after: result of helper invocation\n //\n // This operation is used when the helper is known to exist,\n // so a `helperMissing` fallback is not required.\n invokeKnownHelper: function invokeKnownHelper(paramSize, name) {\n var helper = this.setupHelper(paramSize, name);\n this.push(this.source.functionCall(helper.name, 'call', helper.callParams));\n },\n // [invokeAmbiguous]\n //\n // On stack, before: hash, inverse, program, params..., ...\n // On stack, after: result of disambiguation\n //\n // This operation is used when an expression like `{{foo}}`\n // is provided, but we don't know at compile-time whether it\n // is a helper or a path.\n //\n // This operation emits more code than the other options,\n // and can be avoided by passing the `knownHelpers` and\n // `knownHelpersOnly` flags at compile-time.\n invokeAmbiguous: function invokeAmbiguous(name, helperCall) {\n this.useRegister('helper');\n var nonHelper = this.popStack();\n this.emptyHash();\n var helper = this.setupHelper(0, name, helperCall);\n var helperName = this.lastHelper = this.nameLookup('helpers', name, 'helper');\n var lookup = ['(', '(helper = ', helperName, ' || ', nonHelper, ')'];\n\n if (!this.options.strict) {\n lookup[0] = '(helper = ';\n lookup.push(' != null ? helper : ', this.aliasable('container.hooks.helperMissing'));\n }\n\n this.push(['(', lookup, helper.paramsInit ? ['),(', helper.paramsInit] : [], '),', '(typeof helper === ', this.aliasable('\"function\"'), ' ? ', this.source.functionCall('helper', 'call', helper.callParams), ' : helper))']);\n },\n // [invokePartial]\n //\n // On stack, before: context, ...\n // On stack after: result of partial invocation\n //\n // This operation pops off a context, invokes a partial with that context,\n // and pushes the result of the invocation back.\n invokePartial: function invokePartial(isDynamic, name, indent) {\n var params = [],\n options = this.setupParams(name, 1, params);\n\n if (isDynamic) {\n name = this.popStack();\n delete options.name;\n }\n\n if (indent) {\n options.indent = JSON.stringify(indent);\n }\n\n options.helpers = 'helpers';\n options.partials = 'partials';\n options.decorators = 'container.decorators';\n\n if (!isDynamic) {\n params.unshift(this.nameLookup('partials', name, 'partial'));\n } else {\n params.unshift(name);\n }\n\n if (this.options.compat) {\n options.depths = 'depths';\n }\n\n options = this.objectLiteral(options);\n params.push(options);\n this.push(this.source.functionCall('container.invokePartial', '', params));\n },\n // [assignToHash]\n //\n // On stack, before: value, ..., hash, ...\n // On stack, after: ..., hash, ...\n //\n // Pops a value off the stack and assigns it to the current hash\n assignToHash: function assignToHash(key) {\n var value = this.popStack(),\n context = undefined,\n type = undefined,\n id = undefined;\n\n if (this.trackIds) {\n id = this.popStack();\n }\n\n if (this.stringParams) {\n type = this.popStack();\n context = this.popStack();\n }\n\n var hash = this.hash;\n\n if (context) {\n hash.contexts[key] = context;\n }\n\n if (type) {\n hash.types[key] = type;\n }\n\n if (id) {\n hash.ids[key] = id;\n }\n\n hash.values[key] = value;\n },\n pushId: function pushId(type, name, child) {\n if (type === 'BlockParam') {\n this.pushStackLiteral('blockParams[' + name[0] + '].path[' + name[1] + ']' + (child ? ' + ' + JSON.stringify('.' + child) : ''));\n } else if (type === 'PathExpression') {\n this.pushString(name);\n } else if (type === 'SubExpression') {\n this.pushStackLiteral('true');\n } else {\n this.pushStackLiteral('null');\n }\n },\n // HELPERS\n compiler: JavaScriptCompiler,\n compileChildren: function compileChildren(environment, options) {\n var children = environment.children,\n child = undefined,\n compiler = undefined;\n\n for (var i = 0, l = children.length; i < l; i++) {\n child = children[i];\n compiler = new this.compiler(); // eslint-disable-line new-cap\n\n var existing = this.matchExistingProgram(child);\n\n if (existing == null) {\n this.context.programs.push(''); // Placeholder to prevent name conflicts for nested children\n\n var index = this.context.programs.length;\n child.index = index;\n child.name = 'program' + index;\n this.context.programs[index] = compiler.compile(child, options, this.context, !this.precompile);\n this.context.decorators[index] = compiler.decorators;\n this.context.environments[index] = child;\n this.useDepths = this.useDepths || compiler.useDepths;\n this.useBlockParams = this.useBlockParams || compiler.useBlockParams;\n child.useDepths = this.useDepths;\n child.useBlockParams = this.useBlockParams;\n } else {\n child.index = existing.index;\n child.name = 'program' + existing.index;\n this.useDepths = this.useDepths || existing.useDepths;\n this.useBlockParams = this.useBlockParams || existing.useBlockParams;\n }\n }\n },\n matchExistingProgram: function matchExistingProgram(child) {\n for (var i = 0, len = this.context.environments.length; i < len; i++) {\n var environment = this.context.environments[i];\n\n if (environment && environment.equals(child)) {\n return environment;\n }\n }\n },\n programExpression: function programExpression(guid) {\n var child = this.environment.children[guid],\n programParams = [child.index, 'data', child.blockParams];\n\n if (this.useBlockParams || this.useDepths) {\n programParams.push('blockParams');\n }\n\n if (this.useDepths) {\n programParams.push('depths');\n }\n\n return 'container.program(' + programParams.join(', ') + ')';\n },\n useRegister: function useRegister(name) {\n if (!this.registers[name]) {\n this.registers[name] = true;\n this.registers.list.push(name);\n }\n },\n push: function push(expr) {\n if (!(expr instanceof Literal)) {\n expr = this.source.wrap(expr);\n }\n\n this.inlineStack.push(expr);\n return expr;\n },\n pushStackLiteral: function pushStackLiteral(item) {\n this.push(new Literal(item));\n },\n pushSource: function pushSource(source) {\n if (this.pendingContent) {\n this.source.push(this.appendToBuffer(this.source.quotedString(this.pendingContent), this.pendingLocation));\n this.pendingContent = undefined;\n }\n\n if (source) {\n this.source.push(source);\n }\n },\n replaceStack: function replaceStack(callback) {\n var prefix = ['('],\n stack = undefined,\n createdStack = undefined,\n usedLiteral = undefined;\n /* istanbul ignore next */\n\n if (!this.isInline()) {\n throw new _exception2['default']('replaceStack on non-inline');\n } // We want to merge the inline statement into the replacement statement via ','\n\n\n var top = this.popStack(true);\n\n if (top instanceof Literal) {\n // Literals do not need to be inlined\n stack = [top.value];\n prefix = ['(', stack];\n usedLiteral = true;\n } else {\n // Get or create the current stack name for use by the inline\n createdStack = true;\n\n var _name = this.incrStack();\n\n prefix = ['((', this.push(_name), ' = ', top, ')'];\n stack = this.topStack();\n }\n\n var item = callback.call(this, stack);\n\n if (!usedLiteral) {\n this.popStack();\n }\n\n if (createdStack) {\n this.stackSlot--;\n }\n\n this.push(prefix.concat(item, ')'));\n },\n incrStack: function incrStack() {\n this.stackSlot++;\n\n if (this.stackSlot > this.stackVars.length) {\n this.stackVars.push('stack' + this.stackSlot);\n }\n\n return this.topStackName();\n },\n topStackName: function topStackName() {\n return 'stack' + this.stackSlot;\n },\n flushInline: function flushInline() {\n var inlineStack = this.inlineStack;\n this.inlineStack = [];\n\n for (var i = 0, len = inlineStack.length; i < len; i++) {\n var entry = inlineStack[i];\n /* istanbul ignore if */\n\n if (entry instanceof Literal) {\n this.compileStack.push(entry);\n } else {\n var stack = this.incrStack();\n this.pushSource([stack, ' = ', entry, ';']);\n this.compileStack.push(stack);\n }\n }\n },\n isInline: function isInline() {\n return this.inlineStack.length;\n },\n popStack: function popStack(wrapped) {\n var inline = this.isInline(),\n item = (inline ? this.inlineStack : this.compileStack).pop();\n\n if (!wrapped && item instanceof Literal) {\n return item.value;\n } else {\n if (!inline) {\n /* istanbul ignore next */\n if (!this.stackSlot) {\n throw new _exception2['default']('Invalid stack pop');\n }\n\n this.stackSlot--;\n }\n\n return item;\n }\n },\n topStack: function topStack() {\n var stack = this.isInline() ? this.inlineStack : this.compileStack,\n item = stack[stack.length - 1];\n /* istanbul ignore if */\n\n if (item instanceof Literal) {\n return item.value;\n } else {\n return item;\n }\n },\n contextName: function contextName(context) {\n if (this.useDepths && context) {\n return 'depths[' + context + ']';\n } else {\n return 'depth' + context;\n }\n },\n quotedString: function quotedString(str) {\n return this.source.quotedString(str);\n },\n objectLiteral: function objectLiteral(obj) {\n return this.source.objectLiteral(obj);\n },\n aliasable: function aliasable(name) {\n var ret = this.aliases[name];\n\n if (ret) {\n ret.referenceCount++;\n return ret;\n }\n\n ret = this.aliases[name] = this.source.wrap(name);\n ret.aliasable = true;\n ret.referenceCount = 1;\n return ret;\n },\n setupHelper: function setupHelper(paramSize, name, blockHelper) {\n var params = [],\n paramsInit = this.setupHelperArgs(name, paramSize, params, blockHelper);\n var foundHelper = this.nameLookup('helpers', name, 'helper'),\n callContext = this.aliasable(this.contextName(0) + ' != null ? ' + this.contextName(0) + ' : (container.nullContext || {})');\n return {\n params: params,\n paramsInit: paramsInit,\n name: foundHelper,\n callParams: [callContext].concat(params)\n };\n },\n setupParams: function setupParams(helper, paramSize, params) {\n var options = {},\n contexts = [],\n types = [],\n ids = [],\n objectArgs = !params,\n param = undefined;\n\n if (objectArgs) {\n params = [];\n }\n\n options.name = this.quotedString(helper);\n options.hash = this.popStack();\n\n if (this.trackIds) {\n options.hashIds = this.popStack();\n }\n\n if (this.stringParams) {\n options.hashTypes = this.popStack();\n options.hashContexts = this.popStack();\n }\n\n var inverse = this.popStack(),\n program = this.popStack(); // Avoid setting fn and inverse if neither are set. This allows\n // helpers to do a check for `if (options.fn)`\n\n if (program || inverse) {\n options.fn = program || 'container.noop';\n options.inverse = inverse || 'container.noop';\n } // The parameters go on to the stack in order (making sure that they are evaluated in order)\n // so we need to pop them off the stack in reverse order\n\n\n var i = paramSize;\n\n while (i--) {\n param = this.popStack();\n params[i] = param;\n\n if (this.trackIds) {\n ids[i] = this.popStack();\n }\n\n if (this.stringParams) {\n types[i] = this.popStack();\n contexts[i] = this.popStack();\n }\n }\n\n if (objectArgs) {\n options.args = this.source.generateArray(params);\n }\n\n if (this.trackIds) {\n options.ids = this.source.generateArray(ids);\n }\n\n if (this.stringParams) {\n options.types = this.source.generateArray(types);\n options.contexts = this.source.generateArray(contexts);\n }\n\n if (this.options.data) {\n options.data = 'data';\n }\n\n if (this.useBlockParams) {\n options.blockParams = 'blockParams';\n }\n\n return options;\n },\n setupHelperArgs: function setupHelperArgs(helper, paramSize, params, useRegister) {\n var options = this.setupParams(helper, paramSize, params);\n options.loc = JSON.stringify(this.source.currentLocation);\n options = this.objectLiteral(options);\n\n if (useRegister) {\n this.useRegister('options');\n params.push('options');\n return ['options=', options];\n } else if (params) {\n params.push(options);\n return '';\n } else {\n return options;\n }\n }\n};\n\n(function () {\n var reservedWords = ('break else new var' + ' case finally return void' + ' catch for switch while' + ' continue function this with' + ' default if throw' + ' delete in try' + ' do instanceof typeof' + ' abstract enum int short' + ' boolean export interface static' + ' byte extends long super' + ' char final native synchronized' + ' class float package throws' + ' const goto private transient' + ' debugger implements protected volatile' + ' double import public let yield await' + ' null true false').split(' ');\n var compilerWords = JavaScriptCompiler.RESERVED_WORDS = {};\n\n for (var i = 0, l = reservedWords.length; i < l; i++) {\n compilerWords[reservedWords[i]] = true;\n }\n})();\n/**\n * @deprecated May be removed in the next major version\n */\n\n\nJavaScriptCompiler.isValidJavaScriptVariableName = function (name) {\n return !JavaScriptCompiler.RESERVED_WORDS[name] && /^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(name);\n};\n\nfunction strictLookup(requireTerminal, compiler, parts, type) {\n var stack = compiler.popStack(),\n i = 0,\n len = parts.length;\n\n if (requireTerminal) {\n len--;\n }\n\n for (; i < len; i++) {\n stack = compiler.nameLookup(stack, parts[i], type);\n }\n\n if (requireTerminal) {\n return [compiler.aliasable('container.strict'), '(', stack, ', ', compiler.quotedString(parts[i]), ', ', JSON.stringify(compiler.source.currentLocation), ' )'];\n } else {\n return stack;\n }\n}\n\nexports['default'] = JavaScriptCompiler;\nmodule.exports = exports['default'];","/* global define */\n'use strict';\n\nexports.__esModule = true;\n\nvar _utils = require('../utils');\n\nvar SourceNode = undefined;\n\ntry {\n /* istanbul ignore next */\n if (typeof define !== 'function' || !define.amd) {\n // We don't support this in AMD environments. For these environments, we asusme that\n // they are running on the browser and thus have no need for the source-map library.\n var SourceMap = require('source-map');\n\n SourceNode = SourceMap.SourceNode;\n }\n} catch (err) {}\n/* NOP */\n\n/* istanbul ignore if: tested but not covered in istanbul due to dist build */\n\n\nif (!SourceNode) {\n SourceNode = function SourceNode(line, column, srcFile, chunks) {\n this.src = '';\n\n if (chunks) {\n this.add(chunks);\n }\n };\n /* istanbul ignore next */\n\n\n SourceNode.prototype = {\n add: function add(chunks) {\n if (_utils.isArray(chunks)) {\n chunks = chunks.join('');\n }\n\n this.src += chunks;\n },\n prepend: function prepend(chunks) {\n if (_utils.isArray(chunks)) {\n chunks = chunks.join('');\n }\n\n this.src = chunks + this.src;\n },\n toStringWithSourceMap: function toStringWithSourceMap() {\n return {\n code: this.toString()\n };\n },\n toString: function toString() {\n return this.src;\n }\n };\n}\n\nfunction castChunk(chunk, codeGen, loc) {\n if (_utils.isArray(chunk)) {\n var ret = [];\n\n for (var i = 0, len = chunk.length; i < len; i++) {\n ret.push(codeGen.wrap(chunk[i], loc));\n }\n\n return ret;\n } else if (typeof chunk === 'boolean' || typeof chunk === 'number') {\n // Handle primitives that the SourceNode will throw up on\n return chunk + '';\n }\n\n return chunk;\n}\n\nfunction CodeGen(srcFile) {\n this.srcFile = srcFile;\n this.source = [];\n}\n\nCodeGen.prototype = {\n isEmpty: function isEmpty() {\n return !this.source.length;\n },\n prepend: function prepend(source, loc) {\n this.source.unshift(this.wrap(source, loc));\n },\n push: function push(source, loc) {\n this.source.push(this.wrap(source, loc));\n },\n merge: function merge() {\n var source = this.empty();\n this.each(function (line) {\n source.add([' ', line, '\\n']);\n });\n return source;\n },\n each: function each(iter) {\n for (var i = 0, len = this.source.length; i < len; i++) {\n iter(this.source[i]);\n }\n },\n empty: function empty() {\n var loc = this.currentLocation || {\n start: {}\n };\n return new SourceNode(loc.start.line, loc.start.column, this.srcFile);\n },\n wrap: function wrap(chunk) {\n var loc = arguments.length <= 1 || arguments[1] === undefined ? this.currentLocation || {\n start: {}\n } : arguments[1];\n\n if (chunk instanceof SourceNode) {\n return chunk;\n }\n\n chunk = castChunk(chunk, this, loc);\n return new SourceNode(loc.start.line, loc.start.column, this.srcFile, chunk);\n },\n functionCall: function functionCall(fn, type, params) {\n params = this.generateList(params);\n return this.wrap([fn, type ? '.' + type + '(' : '(', params, ')']);\n },\n quotedString: function quotedString(str) {\n return '\"' + (str + '').replace(/\\\\/g, '\\\\\\\\').replace(/\"/g, '\\\\\"').replace(/\\n/g, '\\\\n').replace(/\\r/g, '\\\\r').replace(/\\u2028/g, '\\\\u2028') // Per Ecma-262 7.3 + 7.8.4\n .replace(/\\u2029/g, '\\\\u2029') + '\"';\n },\n objectLiteral: function objectLiteral(obj) {\n // istanbul ignore next\n var _this = this;\n\n var pairs = [];\n Object.keys(obj).forEach(function (key) {\n var value = castChunk(obj[key], _this);\n\n if (value !== 'undefined') {\n pairs.push([_this.quotedString(key), ':', value]);\n }\n });\n var ret = this.generateList(pairs);\n ret.prepend('{');\n ret.add('}');\n return ret;\n },\n generateList: function generateList(entries) {\n var ret = this.empty();\n\n for (var i = 0, len = entries.length; i < len; i++) {\n if (i) {\n ret.add(',');\n }\n\n ret.add(castChunk(entries[i], this));\n }\n\n return ret;\n },\n generateArray: function generateArray(entries) {\n var ret = this.generateList(entries);\n ret.prepend('[');\n ret.add(']');\n return ret;\n }\n};\nexports['default'] = CodeGen;\nmodule.exports = exports['default'];","import React from 'react';\nvar ThemeContext = React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'ThemeContext';\n}\n\nexport default ThemeContext;","/**\n * Checks if `value` is `null`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `null`, else `false`.\n * @example\n *\n * _.isNull(null);\n * // => true\n *\n * _.isNull(void 0);\n * // => false\n */\nfunction isNull(value) {\n return value === null;\n}\n\nmodule.exports = isNull;","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : length + start;\n }\n\n end = end > length ? length : end;\n\n if (end < 0) {\n end += length;\n }\n\n length = start > end ? 0 : end - start >>> 0;\n start >>>= 0;\n var result = Array(length);\n\n while (++index < length) {\n result[index] = array[index + start];\n }\n\n return result;\n}\n\nmodule.exports = baseSlice;","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n\n/* global define */\n(function () {\n 'use strict';\n\n var hasOwn = {}.hasOwnProperty;\n\n function classNames() {\n var classes = '';\n\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i];\n\n if (arg) {\n classes = appendClass(classes, parseValue(arg));\n }\n }\n\n return classes;\n }\n\n function parseValue(arg) {\n if (typeof arg === 'string' || typeof arg === 'number') {\n return arg;\n }\n\n if (typeof arg !== 'object') {\n return '';\n }\n\n if (Array.isArray(arg)) {\n return classNames.apply(null, arg);\n }\n\n if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n return arg.toString();\n }\n\n var classes = '';\n\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes = appendClass(classes, key);\n }\n }\n\n return classes;\n }\n\n function appendClass(value, newClass) {\n if (!newClass) {\n return value;\n }\n\n if (value) {\n return value + ' ' + newClass;\n }\n\n return value + newClass;\n }\n\n if (typeof module !== 'undefined' && module.exports) {\n classNames.default = classNames;\n module.exports = classNames;\n } else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n // register as 'classnames', consistent with npm package name\n define('classnames', [], function () {\n return classNames;\n });\n } else {\n window.classNames = classNames;\n }\n})();","/**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction asciiToArray(string) {\n return string.split('');\n}\n\nmodule.exports = asciiToArray;","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n/** Used to compose unicode capture groups. */\n\nvar rsAstral = '[' + rsAstralRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsZWJ = '\\\\u200d';\n/** Used to compose unicode regexes. */\n\nvar reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\n\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n/**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n\nfunction unicodeToArray(string) {\n return string.match(reUnicode) || [];\n}\n\nmodule.exports = unicodeToArray;","var createCompounder = require('./_createCompounder'),\n upperFirst = require('./upperFirst');\n/**\n * Converts `string` to\n * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage).\n *\n * @static\n * @memberOf _\n * @since 3.1.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the start cased string.\n * @example\n *\n * _.startCase('--foo-bar--');\n * // => 'Foo Bar'\n *\n * _.startCase('fooBar');\n * // => 'Foo Bar'\n *\n * _.startCase('__FOO_BAR__');\n * // => 'FOO BAR'\n */\n\n\nvar startCase = createCompounder(function (result, word, index) {\n return result + (index ? ' ' : '') + upperFirst(word);\n});\nmodule.exports = startCase;","var hasSymbol = typeof Symbol === 'function' && Symbol.for;\nexport default hasSymbol ? Symbol.for('mui.nested') : '__THEME_NESTED__';","// @flow\n\n/**\n * Brand Colours\n * Here is where we define our core brand colours in JavaScript variables so we\n * can pass them as parameters into our asset functions that are stored inside\n * 'javascript/assets/...'. These colours should ALWAYS be in-line with the\n * variables stored in our `_colours.scss` CSS sheet.\n */\n\ntype BrandColours = {|\n // Blue\n brandBlue100: '#ecf4f9',\n brandBlue200: '#c9dbe8',\n brandBlue300: '#94b8d1',\n brandBlue400: '#3f769e',\n brandBlue500: '#174f78',\n brandBlue600: '#0f3f61',\n brandBlue700: '#092d46',\n\n // Yellow\n brandYellow100: '#fbf8e9',\n brandYellow200: '#fbedb6',\n brandYellow300: '#ffe180',\n brandYellow400: '#ffd54b',\n brandYellow500: '#efbf0b',\n brandYellow600: '#d9b226',\n brandYellow700: '#8c741f',\n\n // Pink\n brandPink100: '#f9ecec',\n brandPink200: '#f2c4c4',\n brandPink300: '#e89797',\n brandPink400: '#df6d6d',\n brandPink500: '#bf4040',\n brandPink600: '#933',\n brandPink700: '#7a1f1f',\n\n // Red\n brandRed100: '#f9eeec',\n brandRed200: '#f5c5bc',\n brandRed300: '#ef9f90',\n brandRed400: '#e66c55',\n brandRed500: '#cc4b33',\n brandRed600: '#a83924',\n brandRed700: '#7e2b1b',\n\n // Black\n brandBlack: '#000',\n\n // White\n brandWhite: '#fff',\n\n // Brown\n cardboardBrown: '#85614d'\n|}\n\nconst BRAND_COLOURS: BrandColours = {\n // Blue\n brandBlue100: '#ecf4f9',\n brandBlue200: '#c9dbe8',\n brandBlue300: '#94b8d1',\n brandBlue400: '#3f769e',\n brandBlue500: '#174f78',\n brandBlue600: '#0f3f61',\n brandBlue700: '#092d46',\n\n // Yellow\n brandYellow100: '#fbf8e9',\n brandYellow200: '#fbedb6',\n brandYellow300: '#ffe180',\n brandYellow400: '#ffd54b',\n brandYellow500: '#efbf0b',\n brandYellow600: '#d9b226',\n brandYellow700: '#8c741f',\n\n // Pink\n brandPink100: '#f9ecec',\n brandPink200: '#f2c4c4',\n brandPink300: '#e89797',\n brandPink400: '#df6d6d',\n brandPink500: '#bf4040',\n brandPink600: '#933',\n brandPink700: '#7a1f1f',\n\n // Red\n brandRed100: '#f9eeec',\n brandRed200: '#f5c5bc',\n brandRed300: '#ef9f90',\n brandRed400: '#e66c55',\n brandRed500: '#cc4b33',\n brandRed600: '#a83924',\n brandRed700: '#7e2b1b',\n\n // Black\n brandBlack: '#000',\n\n // White\n brandWhite: '#fff',\n\n // Brown\n cardboardBrown: '#85614d'\n}\n\nexport default BRAND_COLOURS\n\nexport type { BrandColours }\n","// A [trie](https://en.wikipedia.org/wiki/Trie) data structure that holds\n// object keys weakly, yet can also hold non-object keys, unlike the\n// native `WeakMap`.\n// If no makeData function is supplied, the looked-up data will be an empty,\n// null-prototype Object.\nvar defaultMakeData = function defaultMakeData() {\n return Object.create(null);\n}; // Useful for processing arguments objects as well as arrays.\n\n\nvar _a = Array.prototype,\n forEach = _a.forEach,\n slice = _a.slice;\n\nvar Trie =\n/** @class */\nfunction () {\n function Trie(weakness, makeData) {\n if (weakness === void 0) {\n weakness = true;\n }\n\n if (makeData === void 0) {\n makeData = defaultMakeData;\n }\n\n this.weakness = weakness;\n this.makeData = makeData;\n }\n\n Trie.prototype.lookup = function () {\n var array = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n array[_i] = arguments[_i];\n }\n\n return this.lookupArray(array);\n };\n\n Trie.prototype.lookupArray = function (array) {\n var node = this;\n forEach.call(array, function (key) {\n return node = node.getChildTrie(key);\n });\n return node.data || (node.data = this.makeData(slice.call(array)));\n };\n\n Trie.prototype.getChildTrie = function (key) {\n var map = this.weakness && isObjRef(key) ? this.weak || (this.weak = new WeakMap()) : this.strong || (this.strong = new Map());\n var child = map.get(key);\n if (!child) map.set(key, child = new Trie(this.weakness, this.makeData));\n return child;\n };\n\n return Trie;\n}();\n\nfunction isObjRef(value) {\n switch (typeof value) {\n case \"object\":\n if (value === null) break;\n // Fall through to return true...\n\n case \"function\":\n return true;\n }\n\n return false;\n}\n\nexport { Trie };","'use strict';\n\nexports.__esModule = true;\nexports.extend = extend;\nexports.indexOf = indexOf;\nexports.escapeExpression = escapeExpression;\nexports.isEmpty = isEmpty;\nexports.createFrame = createFrame;\nexports.blockParams = blockParams;\nexports.appendContextPath = appendContextPath;\nvar escape = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '`': '`',\n '=': '='\n};\nvar badChars = /[&<>\"'`=]/g,\n possible = /[&<>\"'`=]/;\n\nfunction escapeChar(chr) {\n return escape[chr];\n}\n\nfunction extend(obj\n/* , ...source */\n) {\n for (var i = 1; i < arguments.length; i++) {\n for (var key in arguments[i]) {\n if (Object.prototype.hasOwnProperty.call(arguments[i], key)) {\n obj[key] = arguments[i][key];\n }\n }\n }\n\n return obj;\n}\n\nvar toString = Object.prototype.toString;\nexports.toString = toString; // Sourced from lodash\n// https://github.com/bestiejs/lodash/blob/master/LICENSE.txt\n\n/* eslint-disable func-style */\n\nvar isFunction = function isFunction(value) {\n return typeof value === 'function';\n}; // fallback for older versions of Chrome and Safari\n\n/* istanbul ignore next */\n\n\nif (isFunction(/x/)) {\n exports.isFunction = isFunction = function isFunction(value) {\n return typeof value === 'function' && toString.call(value) === '[object Function]';\n };\n}\n\nexports.isFunction = isFunction;\n/* eslint-enable func-style */\n\n/* istanbul ignore next */\n\nvar isArray = Array.isArray || function (value) {\n return value && typeof value === 'object' ? toString.call(value) === '[object Array]' : false;\n};\n\nexports.isArray = isArray; // Older IE versions do not directly support indexOf so we must implement our own, sadly.\n\nfunction indexOf(array, value) {\n for (var i = 0, len = array.length; i < len; i++) {\n if (array[i] === value) {\n return i;\n }\n }\n\n return -1;\n}\n\nfunction escapeExpression(string) {\n if (typeof string !== 'string') {\n // don't escape SafeStrings, since they're already safe\n if (string && string.toHTML) {\n return string.toHTML();\n } else if (string == null) {\n return '';\n } else if (!string) {\n return string + '';\n } // Force a string conversion as this will be done by the append regardless and\n // the regex test will do this transparently behind the scenes, causing issues if\n // an object's to string has escaped characters in it.\n\n\n string = '' + string;\n }\n\n if (!possible.test(string)) {\n return string;\n }\n\n return string.replace(badChars, escapeChar);\n}\n\nfunction isEmpty(value) {\n if (!value && value !== 0) {\n return true;\n } else if (isArray(value) && value.length === 0) {\n return true;\n } else {\n return false;\n }\n}\n\nfunction createFrame(object) {\n var frame = extend({}, object);\n frame._parent = object;\n return frame;\n}\n\nfunction blockParams(params, ids) {\n params.path = ids;\n return params;\n}\n\nfunction appendContextPath(contextPath, id) {\n return (contextPath ? contextPath + '.' : '') + id;\n}","var createCompounder = require('./_createCompounder');\n/**\n * Converts `string` to\n * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the kebab cased string.\n * @example\n *\n * _.kebabCase('Foo Bar');\n * // => 'foo-bar'\n *\n * _.kebabCase('fooBar');\n * // => 'foo-bar'\n *\n * _.kebabCase('__FOO_BAR__');\n * // => 'foo-bar'\n */\n\n\nvar kebabCase = createCompounder(function (result, word, index) {\n return result + (index ? '-' : '') + word.toLowerCase();\n});\nmodule.exports = kebabCase;","// This currentContext variable will only be used if the makeSlotClass\n// function is called, which happens only if this is the first copy of the\n// @wry/context package to be imported.\nvar currentContext = null; // This unique internal object is used to denote the absence of a value\n// for a given Slot, and is never exposed to outside code.\n\nvar MISSING_VALUE = {};\nvar idCounter = 1; // Although we can't do anything about the cost of duplicated code from\n// accidentally bundling multiple copies of the @wry/context package, we can\n// avoid creating the Slot class more than once using makeSlotClass.\n\nvar makeSlotClass = function makeSlotClass() {\n return (\n /** @class */\n function () {\n function Slot() {\n // If you have a Slot object, you can find out its slot.id, but you cannot\n // guess the slot.id of a Slot you don't have access to, thanks to the\n // randomized suffix.\n this.id = [\"slot\", idCounter++, Date.now(), Math.random().toString(36).slice(2)].join(\":\");\n }\n\n Slot.prototype.hasValue = function () {\n for (var context_1 = currentContext; context_1; context_1 = context_1.parent) {\n // We use the Slot object iself as a key to its value, which means the\n // value cannot be obtained without a reference to the Slot object.\n if (this.id in context_1.slots) {\n var value = context_1.slots[this.id];\n if (value === MISSING_VALUE) break;\n\n if (context_1 !== currentContext) {\n // Cache the value in currentContext.slots so the next lookup will\n // be faster. This caching is safe because the tree of contexts and\n // the values of the slots are logically immutable.\n currentContext.slots[this.id] = value;\n }\n\n return true;\n }\n }\n\n if (currentContext) {\n // If a value was not found for this Slot, it's never going to be found\n // no matter how many times we look it up, so we might as well cache\n // the absence of the value, too.\n currentContext.slots[this.id] = MISSING_VALUE;\n }\n\n return false;\n };\n\n Slot.prototype.getValue = function () {\n if (this.hasValue()) {\n return currentContext.slots[this.id];\n }\n };\n\n Slot.prototype.withValue = function (value, callback, // Given the prevalence of arrow functions, specifying arguments is likely\n // to be much more common than specifying `this`, hence this ordering:\n args, thisArg) {\n var _a;\n\n var slots = (_a = {\n __proto__: null\n }, _a[this.id] = value, _a);\n var parent = currentContext;\n currentContext = {\n parent: parent,\n slots: slots\n };\n\n try {\n // Function.prototype.apply allows the arguments array argument to be\n // omitted or undefined, so args! is fine here.\n return callback.apply(thisArg, args);\n } finally {\n currentContext = parent;\n }\n }; // Capture the current context and wrap a callback function so that it\n // reestablishes the captured context when called.\n\n\n Slot.bind = function (callback) {\n var context = currentContext;\n return function () {\n var saved = currentContext;\n\n try {\n currentContext = context;\n return callback.apply(this, arguments);\n } finally {\n currentContext = saved;\n }\n };\n }; // Immediately run a callback function without any captured context.\n\n\n Slot.noContext = function (callback, // Given the prevalence of arrow functions, specifying arguments is likely\n // to be much more common than specifying `this`, hence this ordering:\n args, thisArg) {\n if (currentContext) {\n var saved = currentContext;\n\n try {\n currentContext = null; // Function.prototype.apply allows the arguments array argument to be\n // omitted or undefined, so args! is fine here.\n\n return callback.apply(thisArg, args);\n } finally {\n currentContext = saved;\n }\n } else {\n return callback.apply(thisArg, args);\n }\n };\n\n return Slot;\n }()\n );\n}; // We store a single global implementation of the Slot class as a permanent\n// non-enumerable symbol property of the Array constructor. This obfuscation\n// does nothing to prevent access to the Slot class, but at least it ensures\n// the implementation (i.e. currentContext) cannot be tampered with, and all\n// copies of the @wry/context package (hopefully just one) will share the\n// same Slot implementation. Since the first copy of the @wry/context package\n// to be imported wins, this technique imposes a very high cost for any\n// future breaking changes to the Slot class.\n\n\nvar globalKey = \"@wry/context:Slot\";\nvar host = Array;\n\nvar Slot = host[globalKey] || function () {\n var Slot = makeSlotClass();\n\n try {\n Object.defineProperty(host, globalKey, {\n value: host[globalKey] = Slot,\n enumerable: false,\n writable: false,\n configurable: false\n });\n } finally {\n return Slot;\n }\n}();\n\nvar bind = Slot.bind,\n noContext = Slot.noContext;\n\nfunction setTimeoutWithContext(callback, delay) {\n return setTimeout(bind(callback), delay);\n} // Turn any generator function into an async function (using yield instead\n// of await), with context automatically preserved across yields.\n\n\nfunction asyncFromGen(genFn) {\n return function () {\n var gen = genFn.apply(this, arguments);\n var boundNext = bind(gen.next);\n var boundThrow = bind(gen.throw);\n return new Promise(function (resolve, reject) {\n function invoke(method, argument) {\n try {\n var result = method.call(gen, argument);\n } catch (error) {\n return reject(error);\n }\n\n var next = result.done ? resolve : invokeNext;\n\n if (isPromiseLike(result.value)) {\n result.value.then(next, result.done ? reject : invokeThrow);\n } else {\n next(result.value);\n }\n }\n\n var invokeNext = function invokeNext(value) {\n return invoke(boundNext, value);\n };\n\n var invokeThrow = function invokeThrow(error) {\n return invoke(boundThrow, error);\n };\n\n invokeNext();\n });\n };\n}\n\nfunction isPromiseLike(value) {\n return value && typeof value.then === \"function\";\n} // If you use the fibers npm package to implement coroutines in Node.js,\n// you should call this function at least once to ensure context management\n// remains coherent across any yields.\n\n\nvar wrappedFibers = [];\n\nfunction wrapYieldingFiberMethods(Fiber) {\n // There can be only one implementation of Fiber per process, so this array\n // should never grow longer than one element.\n if (wrappedFibers.indexOf(Fiber) < 0) {\n var wrap = function wrap(obj, method) {\n var fn = obj[method];\n\n obj[method] = function () {\n return noContext(fn, arguments, this);\n };\n }; // These methods can yield, according to\n // https://github.com/laverdet/node-fibers/blob/ddebed9b8ae3883e57f822e2108e6943e5c8d2a8/fibers.js#L97-L100\n\n\n wrap(Fiber, \"yield\");\n wrap(Fiber.prototype, \"run\");\n wrap(Fiber.prototype, \"throwInto\");\n wrappedFibers.push(Fiber);\n }\n\n return Fiber;\n}\n\nexport { Slot, asyncFromGen, bind, noContext, setTimeoutWithContext as setTimeout, wrapYieldingFiberMethods };","import { Trie } from '@wry/trie';\nexport { Trie as KeyTrie } from '@wry/trie';\nimport { Slot } from '@wry/context';\nexport { asyncFromGen, bind as bindContext, noContext, setTimeout } from '@wry/context';\n\nfunction defaultDispose() {}\n\nvar Cache =\n/** @class */\nfunction () {\n function Cache(max, dispose) {\n if (max === void 0) {\n max = Infinity;\n }\n\n if (dispose === void 0) {\n dispose = defaultDispose;\n }\n\n this.max = max;\n this.dispose = dispose;\n this.map = new Map();\n this.newest = null;\n this.oldest = null;\n }\n\n Cache.prototype.has = function (key) {\n return this.map.has(key);\n };\n\n Cache.prototype.get = function (key) {\n var node = this.getNode(key);\n return node && node.value;\n };\n\n Cache.prototype.getNode = function (key) {\n var node = this.map.get(key);\n\n if (node && node !== this.newest) {\n var older = node.older,\n newer = node.newer;\n\n if (newer) {\n newer.older = older;\n }\n\n if (older) {\n older.newer = newer;\n }\n\n node.older = this.newest;\n node.older.newer = node;\n node.newer = null;\n this.newest = node;\n\n if (node === this.oldest) {\n this.oldest = newer;\n }\n }\n\n return node;\n };\n\n Cache.prototype.set = function (key, value) {\n var node = this.getNode(key);\n\n if (node) {\n return node.value = value;\n }\n\n node = {\n key: key,\n value: value,\n newer: null,\n older: this.newest\n };\n\n if (this.newest) {\n this.newest.newer = node;\n }\n\n this.newest = node;\n this.oldest = this.oldest || node;\n this.map.set(key, node);\n return node.value;\n };\n\n Cache.prototype.clean = function () {\n while (this.oldest && this.map.size > this.max) {\n this.delete(this.oldest.key);\n }\n };\n\n Cache.prototype.delete = function (key) {\n var node = this.map.get(key);\n\n if (node) {\n if (node === this.newest) {\n this.newest = node.older;\n }\n\n if (node === this.oldest) {\n this.oldest = node.newer;\n }\n\n if (node.newer) {\n node.newer.older = node.older;\n }\n\n if (node.older) {\n node.older.newer = node.newer;\n }\n\n this.map.delete(key);\n this.dispose(node.value, key);\n return true;\n }\n\n return false;\n };\n\n return Cache;\n}();\n\nvar parentEntrySlot = new Slot();\n\nvar _a;\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar // This Array.from polyfill is restricted to working with Set<any> for now,\n// but we can improve the polyfill and add other input types, as needed. Note\n// that this fallback implementation will only be used if the host environment\n// does not support a native Array.from function. In most modern JS runtimes,\n// the toArray function exported here will be === Array.from.\ntoArray = (_a = Array.from, _a === void 0 ? function (collection) {\n var array = [];\n collection.forEach(function (item) {\n return array.push(item);\n });\n return array;\n} : _a);\n\nfunction maybeUnsubscribe(entryOrDep) {\n var unsubscribe = entryOrDep.unsubscribe;\n\n if (typeof unsubscribe === \"function\") {\n entryOrDep.unsubscribe = void 0;\n unsubscribe();\n }\n}\n\nvar emptySetPool = [];\nvar POOL_TARGET_SIZE = 100; // Since this package might be used browsers, we should avoid using the\n// Node built-in assert module.\n\nfunction assert(condition, optionalMessage) {\n if (!condition) {\n throw new Error(optionalMessage || \"assertion failure\");\n }\n}\n\nfunction valueIs(a, b) {\n var len = a.length;\n return (// Unknown values are not equal to each other.\n len > 0 && // Both values must be ordinary (or both exceptional) to be equal.\n len === b.length && // The underlying value or exception must be the same.\n a[len - 1] === b[len - 1]\n );\n}\n\nfunction valueGet(value) {\n switch (value.length) {\n case 0:\n throw new Error(\"unknown value\");\n\n case 1:\n return value[0];\n\n case 2:\n throw value[1];\n }\n}\n\nfunction valueCopy(value) {\n return value.slice(0);\n}\n\nvar Entry =\n/** @class */\nfunction () {\n function Entry(fn) {\n this.fn = fn;\n this.parents = new Set();\n this.childValues = new Map(); // When this Entry has children that are dirty, this property becomes\n // a Set containing other Entry objects, borrowed from emptySetPool.\n // When the set becomes empty, it gets recycled back to emptySetPool.\n\n this.dirtyChildren = null;\n this.dirty = true;\n this.recomputing = false;\n this.value = [];\n this.deps = null;\n ++Entry.count;\n }\n\n Entry.prototype.peek = function () {\n if (this.value.length === 1 && !mightBeDirty(this)) {\n rememberParent(this);\n return this.value[0];\n }\n }; // This is the most important method of the Entry API, because it\n // determines whether the cached this.value can be returned immediately,\n // or must be recomputed. The overall performance of the caching system\n // depends on the truth of the following observations: (1) this.dirty is\n // usually false, (2) this.dirtyChildren is usually null/empty, and thus\n // (3) valueGet(this.value) is usually returned without recomputation.\n\n\n Entry.prototype.recompute = function (args) {\n assert(!this.recomputing, \"already recomputing\");\n rememberParent(this);\n return mightBeDirty(this) ? reallyRecompute(this, args) : valueGet(this.value);\n };\n\n Entry.prototype.setDirty = function () {\n if (this.dirty) return;\n this.dirty = true;\n this.value.length = 0;\n reportDirty(this); // We can go ahead and unsubscribe here, since any further dirty\n // notifications we receive will be redundant, and unsubscribing may\n // free up some resources, e.g. file watchers.\n\n maybeUnsubscribe(this);\n };\n\n Entry.prototype.dispose = function () {\n var _this = this;\n\n this.setDirty(); // Sever any dependency relationships with our own children, so those\n // children don't retain this parent Entry in their child.parents sets,\n // thereby preventing it from being fully garbage collected.\n\n forgetChildren(this); // Because this entry has been kicked out of the cache (in index.js),\n // we've lost the ability to find out if/when this entry becomes dirty,\n // whether that happens through a subscription, because of a direct call\n // to entry.setDirty(), or because one of its children becomes dirty.\n // Because of this loss of future information, we have to assume the\n // worst (that this entry might have become dirty very soon), so we must\n // immediately mark this entry's parents as dirty. Normally we could\n // just call entry.setDirty() rather than calling parent.setDirty() for\n // each parent, but that would leave this entry in parent.childValues\n // and parent.dirtyChildren, which would prevent the child from being\n // truly forgotten.\n\n eachParent(this, function (parent, child) {\n parent.setDirty();\n forgetChild(parent, _this);\n });\n };\n\n Entry.prototype.forget = function () {\n // The code that creates Entry objects in index.ts will replace this method\n // with one that actually removes the Entry from the cache, which will also\n // trigger the entry.dispose method.\n this.dispose();\n };\n\n Entry.prototype.dependOn = function (dep) {\n dep.add(this);\n\n if (!this.deps) {\n this.deps = emptySetPool.pop() || new Set();\n }\n\n this.deps.add(dep);\n };\n\n Entry.prototype.forgetDeps = function () {\n var _this = this;\n\n if (this.deps) {\n toArray(this.deps).forEach(function (dep) {\n return dep.delete(_this);\n });\n this.deps.clear();\n emptySetPool.push(this.deps);\n this.deps = null;\n }\n };\n\n Entry.count = 0;\n return Entry;\n}();\n\nfunction rememberParent(child) {\n var parent = parentEntrySlot.getValue();\n\n if (parent) {\n child.parents.add(parent);\n\n if (!parent.childValues.has(child)) {\n parent.childValues.set(child, []);\n }\n\n if (mightBeDirty(child)) {\n reportDirtyChild(parent, child);\n } else {\n reportCleanChild(parent, child);\n }\n\n return parent;\n }\n}\n\nfunction reallyRecompute(entry, args) {\n forgetChildren(entry); // Set entry as the parent entry while calling recomputeNewValue(entry).\n\n parentEntrySlot.withValue(entry, recomputeNewValue, [entry, args]);\n\n if (maybeSubscribe(entry, args)) {\n // If we successfully recomputed entry.value and did not fail to\n // (re)subscribe, then this Entry is no longer explicitly dirty.\n setClean(entry);\n }\n\n return valueGet(entry.value);\n}\n\nfunction recomputeNewValue(entry, args) {\n entry.recomputing = true; // Set entry.value as unknown.\n\n entry.value.length = 0;\n\n try {\n // If entry.fn succeeds, entry.value will become a normal Value.\n entry.value[0] = entry.fn.apply(null, args);\n } catch (e) {\n // If entry.fn throws, entry.value will become exceptional.\n entry.value[1] = e;\n } // Either way, this line is always reached.\n\n\n entry.recomputing = false;\n}\n\nfunction mightBeDirty(entry) {\n return entry.dirty || !!(entry.dirtyChildren && entry.dirtyChildren.size);\n}\n\nfunction setClean(entry) {\n entry.dirty = false;\n\n if (mightBeDirty(entry)) {\n // This Entry may still have dirty children, in which case we can't\n // let our parents know we're clean just yet.\n return;\n }\n\n reportClean(entry);\n}\n\nfunction reportDirty(child) {\n eachParent(child, reportDirtyChild);\n}\n\nfunction reportClean(child) {\n eachParent(child, reportCleanChild);\n}\n\nfunction eachParent(child, callback) {\n var parentCount = child.parents.size;\n\n if (parentCount) {\n var parents = toArray(child.parents);\n\n for (var i = 0; i < parentCount; ++i) {\n callback(parents[i], child);\n }\n }\n} // Let a parent Entry know that one of its children may be dirty.\n\n\nfunction reportDirtyChild(parent, child) {\n // Must have called rememberParent(child) before calling\n // reportDirtyChild(parent, child).\n assert(parent.childValues.has(child));\n assert(mightBeDirty(child));\n var parentWasClean = !mightBeDirty(parent);\n\n if (!parent.dirtyChildren) {\n parent.dirtyChildren = emptySetPool.pop() || new Set();\n } else if (parent.dirtyChildren.has(child)) {\n // If we already know this child is dirty, then we must have already\n // informed our own parents that we are dirty, so we can terminate\n // the recursion early.\n return;\n }\n\n parent.dirtyChildren.add(child); // If parent was clean before, it just became (possibly) dirty (according to\n // mightBeDirty), since we just added child to parent.dirtyChildren.\n\n if (parentWasClean) {\n reportDirty(parent);\n }\n} // Let a parent Entry know that one of its children is no longer dirty.\n\n\nfunction reportCleanChild(parent, child) {\n // Must have called rememberChild(child) before calling\n // reportCleanChild(parent, child).\n assert(parent.childValues.has(child));\n assert(!mightBeDirty(child));\n var childValue = parent.childValues.get(child);\n\n if (childValue.length === 0) {\n parent.childValues.set(child, valueCopy(child.value));\n } else if (!valueIs(childValue, child.value)) {\n parent.setDirty();\n }\n\n removeDirtyChild(parent, child);\n\n if (mightBeDirty(parent)) {\n return;\n }\n\n reportClean(parent);\n}\n\nfunction removeDirtyChild(parent, child) {\n var dc = parent.dirtyChildren;\n\n if (dc) {\n dc.delete(child);\n\n if (dc.size === 0) {\n if (emptySetPool.length < POOL_TARGET_SIZE) {\n emptySetPool.push(dc);\n }\n\n parent.dirtyChildren = null;\n }\n }\n} // Removes all children from this entry and returns an array of the\n// removed children.\n\n\nfunction forgetChildren(parent) {\n if (parent.childValues.size > 0) {\n parent.childValues.forEach(function (_value, child) {\n forgetChild(parent, child);\n });\n } // Remove this parent Entry from any sets to which it was added by the\n // addToSet method.\n\n\n parent.forgetDeps(); // After we forget all our children, this.dirtyChildren must be empty\n // and therefore must have been reset to null.\n\n assert(parent.dirtyChildren === null);\n}\n\nfunction forgetChild(parent, child) {\n child.parents.delete(parent);\n parent.childValues.delete(child);\n removeDirtyChild(parent, child);\n}\n\nfunction maybeSubscribe(entry, args) {\n if (typeof entry.subscribe === \"function\") {\n try {\n maybeUnsubscribe(entry); // Prevent double subscriptions.\n\n entry.unsubscribe = entry.subscribe.apply(null, args);\n } catch (e) {\n // If this Entry has a subscribe function and it threw an exception\n // (or an unsubscribe function it previously returned now throws),\n // return false to indicate that we were not able to subscribe (or\n // unsubscribe), and this Entry should remain dirty.\n entry.setDirty();\n return false;\n }\n } // Returning true indicates either that there was no entry.subscribe\n // function or that it succeeded.\n\n\n return true;\n}\n\nvar EntryMethods = {\n setDirty: true,\n dispose: true,\n forget: true\n};\n\nfunction dep(options) {\n var depsByKey = new Map();\n var subscribe = options && options.subscribe;\n\n function depend(key) {\n var parent = parentEntrySlot.getValue();\n\n if (parent) {\n var dep_1 = depsByKey.get(key);\n\n if (!dep_1) {\n depsByKey.set(key, dep_1 = new Set());\n }\n\n parent.dependOn(dep_1);\n\n if (typeof subscribe === \"function\") {\n maybeUnsubscribe(dep_1);\n dep_1.unsubscribe = subscribe(key);\n }\n }\n }\n\n depend.dirty = function dirty(key, entryMethodName) {\n var dep = depsByKey.get(key);\n\n if (dep) {\n var m_1 = entryMethodName && hasOwnProperty.call(EntryMethods, entryMethodName) ? entryMethodName : \"setDirty\"; // We have to use toArray(dep).forEach instead of dep.forEach, because\n // modifying a Set while iterating over it can cause elements in the Set\n // to be removed from the Set before they've been iterated over.\n\n toArray(dep).forEach(function (entry) {\n return entry[m_1]();\n });\n depsByKey.delete(key);\n maybeUnsubscribe(dep);\n }\n };\n\n return depend;\n}\n\nfunction makeDefaultMakeCacheKeyFunction() {\n var keyTrie = new Trie(typeof WeakMap === \"function\");\n return function () {\n return keyTrie.lookupArray(arguments);\n };\n} // The defaultMakeCacheKey function is remarkably powerful, because it gives\n// a unique object for any shallow-identical list of arguments. If you need\n// to implement a custom makeCacheKey function, you may find it helpful to\n// delegate the final work to defaultMakeCacheKey, which is why we export it\n// here. However, you may want to avoid defaultMakeCacheKey if your runtime\n// does not support WeakMap, or you have the ability to return a string key.\n// In those cases, just write your own custom makeCacheKey functions.\n\n\nvar defaultMakeCacheKey = makeDefaultMakeCacheKeyFunction();\nvar caches = new Set();\n\nfunction wrap(originalFunction, options) {\n if (options === void 0) {\n options = Object.create(null);\n }\n\n var cache = new Cache(options.max || Math.pow(2, 16), function (entry) {\n return entry.dispose();\n });\n var keyArgs = options.keyArgs;\n var makeCacheKey = options.makeCacheKey || makeDefaultMakeCacheKeyFunction();\n\n var optimistic = function optimistic() {\n var key = makeCacheKey.apply(null, keyArgs ? keyArgs.apply(null, arguments) : arguments);\n\n if (key === void 0) {\n return originalFunction.apply(null, arguments);\n }\n\n var entry = cache.get(key);\n\n if (!entry) {\n cache.set(key, entry = new Entry(originalFunction));\n entry.subscribe = options.subscribe; // Give the Entry the ability to trigger cache.delete(key), even though\n // the Entry itself does not know about key or cache.\n\n entry.forget = function () {\n return cache.delete(key);\n };\n }\n\n var value = entry.recompute(Array.prototype.slice.call(arguments)); // Move this entry to the front of the least-recently used queue,\n // since we just finished computing its value.\n\n cache.set(key, entry);\n caches.add(cache); // Clean up any excess entries in the cache, but only if there is no\n // active parent entry, meaning we're not in the middle of a larger\n // computation that might be flummoxed by the cleaning.\n\n if (!parentEntrySlot.hasValue()) {\n caches.forEach(function (cache) {\n return cache.clean();\n });\n caches.clear();\n }\n\n return value;\n };\n\n Object.defineProperty(optimistic, \"size\", {\n get: function get() {\n return cache[\"map\"].size;\n },\n configurable: false,\n enumerable: false\n });\n\n function dirtyKey(key) {\n var entry = cache.get(key);\n\n if (entry) {\n entry.setDirty();\n }\n }\n\n optimistic.dirtyKey = dirtyKey;\n\n optimistic.dirty = function dirty() {\n dirtyKey(makeCacheKey.apply(null, arguments));\n };\n\n function peekKey(key) {\n var entry = cache.get(key);\n\n if (entry) {\n return entry.peek();\n }\n }\n\n optimistic.peekKey = peekKey;\n\n optimistic.peek = function peek() {\n return peekKey(makeCacheKey.apply(null, arguments));\n };\n\n function forgetKey(key) {\n return cache.delete(key);\n }\n\n optimistic.forgetKey = forgetKey;\n\n optimistic.forget = function forget() {\n return forgetKey(makeCacheKey.apply(null, arguments));\n };\n\n optimistic.makeCacheKey = makeCacheKey;\n optimistic.getKey = keyArgs ? function getKey() {\n return makeCacheKey.apply(null, keyArgs.apply(null, arguments));\n } : makeCacheKey;\n return Object.freeze(optimistic);\n}\n\nexport { defaultMakeCacheKey, dep, wrap };","// extracted by mini-css-extract-plugin\nmodule.exports = {\"xs\":\"375px\",\"sm\":\"600px\",\"md\":\"834px\",\"lg\":\"1280px\",\"xl\":\"1280px\",\"container\":\"TopBanner-module__container___2Ma7R\",\"link\":\"TopBanner-module__link___1l3hC\",\"info\":\"TopBanner-module__info___oMWr8\",\"copy\":\"TopBanner-module__copy___TXhWY\",\"close\":\"TopBanner-module__close___hL2E1\",\"error\":\"TopBanner-module__error___3tTfl\",\"success\":\"TopBanner-module__success___20lIQ\",\"mourning\":\"TopBanner-module__mourning___39eCE\",\"inner\":\"TopBanner-module__inner___3EBnN\"};","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isAfter\n * @category Common Helpers\n * @summary Is the first date after the second one?\n *\n * @description\n * Is the first date after the second one?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date that should be after the other one to return true\n * @param {Date|Number} dateToCompare - the date to compare with\n * @returns {Boolean} the first date is after the second date\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Is 10 July 1989 after 11 February 1987?\n * var result = isAfter(new Date(1989, 6, 10), new Date(1987, 1, 11))\n * //=> true\n */\n\nexport default function isAfter(dirtyDate, dirtyDateToCompare) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var dateToCompare = toDate(dirtyDateToCompare);\n return date.getTime() > dateToCompare.getTime();\n}","import { __extends } from \"tslib\";\nimport \"../utilities/globals/index.js\";\nimport { isNonEmptyArray } from \"../utilities/index.js\";\nexport function isApolloError(err) {\n return err.hasOwnProperty('graphQLErrors');\n}\n\nvar generateErrorMessage = function generateErrorMessage(err) {\n var message = '';\n\n if (isNonEmptyArray(err.graphQLErrors) || isNonEmptyArray(err.clientErrors)) {\n var errors = (err.graphQLErrors || []).concat(err.clientErrors || []);\n errors.forEach(function (error) {\n var errorMessage = error ? error.message : 'Error message not found.';\n message += \"\".concat(errorMessage, \"\\n\");\n });\n }\n\n if (err.networkError) {\n message += \"\".concat(err.networkError.message, \"\\n\");\n }\n\n message = message.replace(/\\n$/, '');\n return message;\n};\n\nvar ApolloError = function (_super) {\n __extends(ApolloError, _super);\n\n function ApolloError(_a) {\n var graphQLErrors = _a.graphQLErrors,\n clientErrors = _a.clientErrors,\n networkError = _a.networkError,\n errorMessage = _a.errorMessage,\n extraInfo = _a.extraInfo;\n\n var _this = _super.call(this, errorMessage) || this;\n\n _this.graphQLErrors = graphQLErrors || [];\n _this.clientErrors = clientErrors || [];\n _this.networkError = networkError || null;\n _this.message = errorMessage || generateErrorMessage(_this);\n _this.extraInfo = extraInfo;\n _this.__proto__ = ApolloError.prototype;\n return _this;\n }\n\n return ApolloError;\n}(Error);\n\nexport { ApolloError };","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\"; // Sorted ASC by size. That's important.\n// It can't be configured as it's used statically for propTypes.\n\nexport var keys = ['xs', 'sm', 'md', 'lg', 'xl']; // Keep in mind that @media is inclusive by the CSS specification.\n\nexport default function createBreakpoints(breakpoints) {\n var _breakpoints$values = breakpoints.values,\n values = _breakpoints$values === void 0 ? {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920\n } : _breakpoints$values,\n _breakpoints$unit = breakpoints.unit,\n unit = _breakpoints$unit === void 0 ? 'px' : _breakpoints$unit,\n _breakpoints$step = breakpoints.step,\n step = _breakpoints$step === void 0 ? 5 : _breakpoints$step,\n other = _objectWithoutProperties(breakpoints, [\"values\", \"unit\", \"step\"]);\n\n function up(key) {\n var value = typeof values[key] === 'number' ? values[key] : key;\n return \"@media (min-width:\".concat(value).concat(unit, \")\");\n }\n\n function down(key) {\n var endIndex = keys.indexOf(key) + 1;\n var upperbound = values[keys[endIndex]];\n\n if (endIndex === keys.length) {\n // xl down applies to all sizes\n return up('xs');\n }\n\n var value = typeof upperbound === 'number' && endIndex > 0 ? upperbound : key;\n return \"@media (max-width:\".concat(value - step / 100).concat(unit, \")\");\n }\n\n function between(start, end) {\n var endIndex = keys.indexOf(end);\n\n if (endIndex === keys.length - 1) {\n return up(start);\n }\n\n return \"@media (min-width:\".concat(typeof values[start] === 'number' ? values[start] : start).concat(unit, \") and \") + \"(max-width:\".concat((endIndex !== -1 && typeof values[keys[endIndex + 1]] === 'number' ? values[keys[endIndex + 1]] : end) - step / 100).concat(unit, \")\");\n }\n\n function only(key) {\n return between(key, key);\n }\n\n var warnedOnce = false;\n\n function width(key) {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnedOnce) {\n warnedOnce = true;\n console.warn([\"Material-UI: The `theme.breakpoints.width` utility is deprecated because it's redundant.\", 'Use the `theme.breakpoints.values` instead.'].join('\\n'));\n }\n }\n\n return values[key];\n }\n\n return _extends({\n keys: keys,\n values: values,\n up: up,\n down: down,\n between: between,\n only: only,\n width: width\n }, other);\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function createMixins(breakpoints, spacing, mixins) {\n var _toolbar;\n\n return _extends({\n gutters: function gutters() {\n var styles = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n console.warn(['Material-UI: theme.mixins.gutters() is deprecated.', 'You can use the source of the mixin directly:', \"\\n paddingLeft: theme.spacing(2),\\n paddingRight: theme.spacing(2),\\n [theme.breakpoints.up('sm')]: {\\n paddingLeft: theme.spacing(3),\\n paddingRight: theme.spacing(3),\\n },\\n \"].join('\\n'));\n return _extends({\n paddingLeft: spacing(2),\n paddingRight: spacing(2)\n }, styles, _defineProperty({}, breakpoints.up('sm'), _extends({\n paddingLeft: spacing(3),\n paddingRight: spacing(3)\n }, styles[breakpoints.up('sm')])));\n },\n toolbar: (_toolbar = {\n minHeight: 56\n }, _defineProperty(_toolbar, \"\".concat(breakpoints.up('xs'), \" and (orientation: landscape)\"), {\n minHeight: 48\n }), _defineProperty(_toolbar, breakpoints.up('sm'), {\n minHeight: 64\n }), _toolbar)\n }, mixins);\n}","var common = {\n black: '#000',\n white: '#fff'\n};\nexport default common;","var grey = {\n 50: '#fafafa',\n 100: '#f5f5f5',\n 200: '#eeeeee',\n 300: '#e0e0e0',\n 400: '#bdbdbd',\n 500: '#9e9e9e',\n 600: '#757575',\n 700: '#616161',\n 800: '#424242',\n 900: '#212121',\n A100: '#d5d5d5',\n A200: '#aaaaaa',\n A400: '#303030',\n A700: '#616161'\n};\nexport default grey;","var indigo = {\n 50: '#e8eaf6',\n 100: '#c5cae9',\n 200: '#9fa8da',\n 300: '#7986cb',\n 400: '#5c6bc0',\n 500: '#3f51b5',\n 600: '#3949ab',\n 700: '#303f9f',\n 800: '#283593',\n 900: '#1a237e',\n A100: '#8c9eff',\n A200: '#536dfe',\n A400: '#3d5afe',\n A700: '#304ffe'\n};\nexport default indigo;","var pink = {\n 50: '#fce4ec',\n 100: '#f8bbd0',\n 200: '#f48fb1',\n 300: '#f06292',\n 400: '#ec407a',\n 500: '#e91e63',\n 600: '#d81b60',\n 700: '#c2185b',\n 800: '#ad1457',\n 900: '#880e4f',\n A100: '#ff80ab',\n A200: '#ff4081',\n A400: '#f50057',\n A700: '#c51162'\n};\nexport default pink;","var red = {\n 50: '#ffebee',\n 100: '#ffcdd2',\n 200: '#ef9a9a',\n 300: '#e57373',\n 400: '#ef5350',\n 500: '#f44336',\n 600: '#e53935',\n 700: '#d32f2f',\n 800: '#c62828',\n 900: '#b71c1c',\n A100: '#ff8a80',\n A200: '#ff5252',\n A400: '#ff1744',\n A700: '#d50000'\n};\nexport default red;","var orange = {\n 50: '#fff3e0',\n 100: '#ffe0b2',\n 200: '#ffcc80',\n 300: '#ffb74d',\n 400: '#ffa726',\n 500: '#ff9800',\n 600: '#fb8c00',\n 700: '#f57c00',\n 800: '#ef6c00',\n 900: '#e65100',\n A100: '#ffd180',\n A200: '#ffab40',\n A400: '#ff9100',\n A700: '#ff6d00'\n};\nexport default orange;","var blue = {\n 50: '#e3f2fd',\n 100: '#bbdefb',\n 200: '#90caf9',\n 300: '#64b5f6',\n 400: '#42a5f5',\n 500: '#2196f3',\n 600: '#1e88e5',\n 700: '#1976d2',\n 800: '#1565c0',\n 900: '#0d47a1',\n A100: '#82b1ff',\n A200: '#448aff',\n A400: '#2979ff',\n A700: '#2962ff'\n};\nexport default blue;","var green = {\n 50: '#e8f5e9',\n 100: '#c8e6c9',\n 200: '#a5d6a7',\n 300: '#81c784',\n 400: '#66bb6a',\n 500: '#4caf50',\n 600: '#43a047',\n 700: '#388e3c',\n 800: '#2e7d32',\n 900: '#1b5e20',\n A100: '#b9f6ca',\n A200: '#69f0ae',\n A400: '#00e676',\n A700: '#00c853'\n};\nexport default green;","import { formatMuiErrorMessage as _formatMuiErrorMessage } from \"@material-ui/utils\";\n/* eslint-disable no-use-before-define */\n\n/**\n * Returns a number whose value is limited to the given range.\n *\n * @param {number} value The value to be clamped\n * @param {number} min The lower boundary of the output range\n * @param {number} max The upper boundary of the output range\n * @returns {number} A number in the range [min, max]\n */\n\nfunction clamp(value) {\n var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n\n if (process.env.NODE_ENV !== 'production') {\n if (value < min || value > max) {\n console.error(\"Material-UI: The value provided \".concat(value, \" is out of range [\").concat(min, \", \").concat(max, \"].\"));\n }\n }\n\n return Math.min(Math.max(min, value), max);\n}\n/**\n * Converts a color from CSS hex format to CSS rgb format.\n *\n * @param {string} color - Hex color, i.e. #nnn or #nnnnnn\n * @returns {string} A CSS rgb color string\n */\n\n\nexport function hexToRgb(color) {\n color = color.substr(1);\n var re = new RegExp(\".{1,\".concat(color.length >= 6 ? 2 : 1, \"}\"), 'g');\n var colors = color.match(re);\n\n if (colors && colors[0].length === 1) {\n colors = colors.map(function (n) {\n return n + n;\n });\n }\n\n return colors ? \"rgb\".concat(colors.length === 4 ? 'a' : '', \"(\").concat(colors.map(function (n, index) {\n return index < 3 ? parseInt(n, 16) : Math.round(parseInt(n, 16) / 255 * 1000) / 1000;\n }).join(', '), \")\") : '';\n}\n\nfunction intToHex(int) {\n var hex = int.toString(16);\n return hex.length === 1 ? \"0\".concat(hex) : hex;\n}\n/**\n * Converts a color from CSS rgb format to CSS hex format.\n *\n * @param {string} color - RGB color, i.e. rgb(n, n, n)\n * @returns {string} A CSS rgb color string, i.e. #nnnnnn\n */\n\n\nexport function rgbToHex(color) {\n // Idempotent\n if (color.indexOf('#') === 0) {\n return color;\n }\n\n var _decomposeColor = decomposeColor(color),\n values = _decomposeColor.values;\n\n return \"#\".concat(values.map(function (n) {\n return intToHex(n);\n }).join(''));\n}\n/**\n * Converts a color from hsl format to rgb format.\n *\n * @param {string} color - HSL color values\n * @returns {string} rgb color values\n */\n\nexport function hslToRgb(color) {\n color = decomposeColor(color);\n var _color = color,\n values = _color.values;\n var h = values[0];\n var s = values[1] / 100;\n var l = values[2] / 100;\n var a = s * Math.min(l, 1 - l);\n\n var f = function f(n) {\n var k = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : (n + h / 30) % 12;\n return l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n };\n\n var type = 'rgb';\n var rgb = [Math.round(f(0) * 255), Math.round(f(8) * 255), Math.round(f(4) * 255)];\n\n if (color.type === 'hsla') {\n type += 'a';\n rgb.push(values[3]);\n }\n\n return recomposeColor({\n type: type,\n values: rgb\n });\n}\n/**\n * Returns an object with the type and values of a color.\n *\n * Note: Does not support rgb % values.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {object} - A MUI color object: {type: string, values: number[]}\n */\n\nexport function decomposeColor(color) {\n // Idempotent\n if (color.type) {\n return color;\n }\n\n if (color.charAt(0) === '#') {\n return decomposeColor(hexToRgb(color));\n }\n\n var marker = color.indexOf('(');\n var type = color.substring(0, marker);\n\n if (['rgb', 'rgba', 'hsl', 'hsla'].indexOf(type) === -1) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? \"Material-UI: Unsupported `\".concat(color, \"` color.\\nWe support the following formats: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla().\") : _formatMuiErrorMessage(3, color));\n }\n\n var values = color.substring(marker + 1, color.length - 1).split(',');\n values = values.map(function (value) {\n return parseFloat(value);\n });\n return {\n type: type,\n values: values\n };\n}\n/**\n * Converts a color object with type and values to a string.\n *\n * @param {object} color - Decomposed color\n * @param {string} color.type - One of: 'rgb', 'rgba', 'hsl', 'hsla'\n * @param {array} color.values - [n,n,n] or [n,n,n,n]\n * @returns {string} A CSS color string\n */\n\nexport function recomposeColor(color) {\n var type = color.type;\n var values = color.values;\n\n if (type.indexOf('rgb') !== -1) {\n // Only convert the first 3 values to int (i.e. not alpha)\n values = values.map(function (n, i) {\n return i < 3 ? parseInt(n, 10) : n;\n });\n } else if (type.indexOf('hsl') !== -1) {\n values[1] = \"\".concat(values[1], \"%\");\n values[2] = \"\".concat(values[2], \"%\");\n }\n\n return \"\".concat(type, \"(\").concat(values.join(', '), \")\");\n}\n/**\n * Calculates the contrast ratio between two colors.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n *\n * @param {string} foreground - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {string} background - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {number} A contrast ratio value in the range 0 - 21.\n */\n\nexport function getContrastRatio(foreground, background) {\n var lumA = getLuminance(foreground);\n var lumB = getLuminance(background);\n return (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05);\n}\n/**\n * The relative brightness of any point in a color space,\n * normalized to 0 for darkest black and 1 for lightest white.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {number} The relative brightness of the color in the range 0 - 1\n */\n\nexport function getLuminance(color) {\n color = decomposeColor(color);\n var rgb = color.type === 'hsl' ? decomposeColor(hslToRgb(color)).values : color.values;\n rgb = rgb.map(function (val) {\n val /= 255; // normalized\n\n return val <= 0.03928 ? val / 12.92 : Math.pow((val + 0.055) / 1.055, 2.4);\n }); // Truncate at 3 digits\n\n return Number((0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]).toFixed(3));\n}\n/**\n * Darken or lighten a color, depending on its luminance.\n * Light colors are darkened, dark colors are lightened.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {number} coefficient=0.15 - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\n\nexport function emphasize(color) {\n var coefficient = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0.15;\n return getLuminance(color) > 0.5 ? darken(color, coefficient) : lighten(color, coefficient);\n}\nvar warnedOnce = false;\n/**\n * Set the absolute transparency of a color.\n * Any existing alpha values are overwritten.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {number} value - value to set the alpha channel to in the range 0 -1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n *\n * @deprecated\n * Use `import { alpha } from '@material-ui/core/styles'` instead.\n */\n\nexport function fade(color, value) {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnedOnce) {\n warnedOnce = true;\n console.error(['Material-UI: The `fade` color utility was renamed to `alpha` to better describe its functionality.', '', \"You should use `import { alpha } from '@material-ui/core/styles'`\"].join('\\n'));\n }\n }\n\n return alpha(color, value);\n}\n/**\n * Set the absolute transparency of a color.\n * Any existing alpha value is overwritten.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {number} value - value to set the alpha channel to in the range 0-1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\n\nexport function alpha(color, value) {\n color = decomposeColor(color);\n value = clamp(value);\n\n if (color.type === 'rgb' || color.type === 'hsl') {\n color.type += 'a';\n }\n\n color.values[3] = value;\n return recomposeColor(color);\n}\n/**\n * Darkens a color.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\n\nexport function darken(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clamp(coefficient);\n\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] *= 1 - coefficient;\n } else if (color.type.indexOf('rgb') !== -1) {\n for (var i = 0; i < 3; i += 1) {\n color.values[i] *= 1 - coefficient;\n }\n }\n\n return recomposeColor(color);\n}\n/**\n * Lightens a color.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\n\nexport function lighten(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clamp(coefficient);\n\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] += (100 - color.values[2]) * coefficient;\n } else if (color.type.indexOf('rgb') !== -1) {\n for (var i = 0; i < 3; i += 1) {\n color.values[i] += (255 - color.values[i]) * coefficient;\n }\n }\n\n return recomposeColor(color);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport { formatMuiErrorMessage as _formatMuiErrorMessage } from \"@material-ui/utils\";\nimport { deepmerge } from '@material-ui/utils';\nimport common from '../colors/common';\nimport grey from '../colors/grey';\nimport indigo from '../colors/indigo';\nimport pink from '../colors/pink';\nimport red from '../colors/red';\nimport orange from '../colors/orange';\nimport blue from '../colors/blue';\nimport green from '../colors/green';\nimport { darken, getContrastRatio, lighten } from './colorManipulator';\nexport var light = {\n // The colors used to style the text.\n text: {\n // The most important text.\n primary: 'rgba(0, 0, 0, 0.87)',\n // Secondary text.\n secondary: 'rgba(0, 0, 0, 0.54)',\n // Disabled text have even lower visual prominence.\n disabled: 'rgba(0, 0, 0, 0.38)',\n // Text hints.\n hint: 'rgba(0, 0, 0, 0.38)'\n },\n // The color used to divide different elements.\n divider: 'rgba(0, 0, 0, 0.12)',\n // The background colors used to style the surfaces.\n // Consistency between these values is important.\n background: {\n paper: common.white,\n default: grey[50]\n },\n // The colors used to style the action elements.\n action: {\n // The color of an active action like an icon button.\n active: 'rgba(0, 0, 0, 0.54)',\n // The color of an hovered action.\n hover: 'rgba(0, 0, 0, 0.04)',\n hoverOpacity: 0.04,\n // The color of a selected action.\n selected: 'rgba(0, 0, 0, 0.08)',\n selectedOpacity: 0.08,\n // The color of a disabled action.\n disabled: 'rgba(0, 0, 0, 0.26)',\n // The background color of a disabled action.\n disabledBackground: 'rgba(0, 0, 0, 0.12)',\n disabledOpacity: 0.38,\n focus: 'rgba(0, 0, 0, 0.12)',\n focusOpacity: 0.12,\n activatedOpacity: 0.12\n }\n};\nexport var dark = {\n text: {\n primary: common.white,\n secondary: 'rgba(255, 255, 255, 0.7)',\n disabled: 'rgba(255, 255, 255, 0.5)',\n hint: 'rgba(255, 255, 255, 0.5)',\n icon: 'rgba(255, 255, 255, 0.5)'\n },\n divider: 'rgba(255, 255, 255, 0.12)',\n background: {\n paper: grey[800],\n default: '#303030'\n },\n action: {\n active: common.white,\n hover: 'rgba(255, 255, 255, 0.08)',\n hoverOpacity: 0.08,\n selected: 'rgba(255, 255, 255, 0.16)',\n selectedOpacity: 0.16,\n disabled: 'rgba(255, 255, 255, 0.3)',\n disabledBackground: 'rgba(255, 255, 255, 0.12)',\n disabledOpacity: 0.38,\n focus: 'rgba(255, 255, 255, 0.12)',\n focusOpacity: 0.12,\n activatedOpacity: 0.24\n }\n};\n\nfunction addLightOrDark(intent, direction, shade, tonalOffset) {\n var tonalOffsetLight = tonalOffset.light || tonalOffset;\n var tonalOffsetDark = tonalOffset.dark || tonalOffset * 1.5;\n\n if (!intent[direction]) {\n if (intent.hasOwnProperty(shade)) {\n intent[direction] = intent[shade];\n } else if (direction === 'light') {\n intent.light = lighten(intent.main, tonalOffsetLight);\n } else if (direction === 'dark') {\n intent.dark = darken(intent.main, tonalOffsetDark);\n }\n }\n}\n\nexport default function createPalette(palette) {\n var _palette$primary = palette.primary,\n primary = _palette$primary === void 0 ? {\n light: indigo[300],\n main: indigo[500],\n dark: indigo[700]\n } : _palette$primary,\n _palette$secondary = palette.secondary,\n secondary = _palette$secondary === void 0 ? {\n light: pink.A200,\n main: pink.A400,\n dark: pink.A700\n } : _palette$secondary,\n _palette$error = palette.error,\n error = _palette$error === void 0 ? {\n light: red[300],\n main: red[500],\n dark: red[700]\n } : _palette$error,\n _palette$warning = palette.warning,\n warning = _palette$warning === void 0 ? {\n light: orange[300],\n main: orange[500],\n dark: orange[700]\n } : _palette$warning,\n _palette$info = palette.info,\n info = _palette$info === void 0 ? {\n light: blue[300],\n main: blue[500],\n dark: blue[700]\n } : _palette$info,\n _palette$success = palette.success,\n success = _palette$success === void 0 ? {\n light: green[300],\n main: green[500],\n dark: green[700]\n } : _palette$success,\n _palette$type = palette.type,\n type = _palette$type === void 0 ? 'light' : _palette$type,\n _palette$contrastThre = palette.contrastThreshold,\n contrastThreshold = _palette$contrastThre === void 0 ? 3 : _palette$contrastThre,\n _palette$tonalOffset = palette.tonalOffset,\n tonalOffset = _palette$tonalOffset === void 0 ? 0.2 : _palette$tonalOffset,\n other = _objectWithoutProperties(palette, [\"primary\", \"secondary\", \"error\", \"warning\", \"info\", \"success\", \"type\", \"contrastThreshold\", \"tonalOffset\"]); // Use the same logic as\n // Bootstrap: https://github.com/twbs/bootstrap/blob/1d6e3710dd447de1a200f29e8fa521f8a0908f70/scss/_functions.scss#L59\n // and material-components-web https://github.com/material-components/material-components-web/blob/ac46b8863c4dab9fc22c4c662dc6bd1b65dd652f/packages/mdc-theme/_functions.scss#L54\n\n\n function getContrastText(background) {\n var contrastText = getContrastRatio(background, dark.text.primary) >= contrastThreshold ? dark.text.primary : light.text.primary;\n\n if (process.env.NODE_ENV !== 'production') {\n var contrast = getContrastRatio(background, contrastText);\n\n if (contrast < 3) {\n console.error([\"Material-UI: The contrast ratio of \".concat(contrast, \":1 for \").concat(contrastText, \" on \").concat(background), 'falls below the WCAG recommended absolute minimum contrast ratio of 3:1.', 'https://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast'].join('\\n'));\n }\n }\n\n return contrastText;\n }\n\n var augmentColor = function augmentColor(color) {\n var mainShade = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;\n var lightShade = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 300;\n var darkShade = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 700;\n color = _extends({}, color);\n\n if (!color.main && color[mainShade]) {\n color.main = color[mainShade];\n }\n\n if (!color.main) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? \"Material-UI: The color provided to augmentColor(color) is invalid.\\nThe color object needs to have a `main` property or a `\".concat(mainShade, \"` property.\") : _formatMuiErrorMessage(4, mainShade));\n }\n\n if (typeof color.main !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? \"Material-UI: The color provided to augmentColor(color) is invalid.\\n`color.main` should be a string, but `\".concat(JSON.stringify(color.main), \"` was provided instead.\\n\\nDid you intend to use one of the following approaches?\\n\\nimport {\\xA0green } from \\\"@material-ui/core/colors\\\";\\n\\nconst theme1 = createTheme({ palette: {\\n primary: green,\\n} });\\n\\nconst theme2 = createTheme({ palette: {\\n primary: { main: green[500] },\\n} });\") : _formatMuiErrorMessage(5, JSON.stringify(color.main)));\n }\n\n addLightOrDark(color, 'light', lightShade, tonalOffset);\n addLightOrDark(color, 'dark', darkShade, tonalOffset);\n\n if (!color.contrastText) {\n color.contrastText = getContrastText(color.main);\n }\n\n return color;\n };\n\n var types = {\n dark: dark,\n light: light\n };\n\n if (process.env.NODE_ENV !== 'production') {\n if (!types[type]) {\n console.error(\"Material-UI: The palette type `\".concat(type, \"` is not supported.\"));\n }\n }\n\n var paletteOutput = deepmerge(_extends({\n // A collection of common colors.\n common: common,\n // The palette type, can be light or dark.\n type: type,\n // The colors used to represent primary interface elements for a user.\n primary: augmentColor(primary),\n // The colors used to represent secondary interface elements for a user.\n secondary: augmentColor(secondary, 'A400', 'A200', 'A700'),\n // The colors used to represent interface elements that the user should be made aware of.\n error: augmentColor(error),\n // The colors used to represent potentially dangerous actions or important messages.\n warning: augmentColor(warning),\n // The colors used to present information to the user that is neutral and not necessarily important.\n info: augmentColor(info),\n // The colors used to indicate the successful completion of an action that user triggered.\n success: augmentColor(success),\n // The grey colors.\n grey: grey,\n // Used by `getContrastText()` to maximize the contrast between\n // the background and the text.\n contrastThreshold: contrastThreshold,\n // Takes a background color and returns the text color that maximizes the contrast.\n getContrastText: getContrastText,\n // Generate a rich color object.\n augmentColor: augmentColor,\n // Used by the functions below to shift a color's luminance by approximately\n // two indexes within its tonal palette.\n // E.g., shift from Red 500 to Red 300 or Red 700.\n tonalOffset: tonalOffset\n }, types[type]), other);\n return paletteOutput;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport { deepmerge } from '@material-ui/utils';\n\nfunction round(value) {\n return Math.round(value * 1e5) / 1e5;\n}\n\nvar warnedOnce = false;\n\nfunction roundWithDeprecationWarning(value) {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnedOnce) {\n console.warn(['Material-UI: The `theme.typography.round` helper is deprecated.', 'Head to https://mui.com/r/migration-v4/#theme for a migration path.'].join('\\n'));\n warnedOnce = true;\n }\n }\n\n return round(value);\n}\n\nvar caseAllCaps = {\n textTransform: 'uppercase'\n};\nvar defaultFontFamily = '\"Roboto\", \"Helvetica\", \"Arial\", sans-serif';\n/**\n * @see @link{https://material.io/design/typography/the-type-system.html}\n * @see @link{https://material.io/design/typography/understanding-typography.html}\n */\n\nexport default function createTypography(palette, typography) {\n var _ref = typeof typography === 'function' ? typography(palette) : typography,\n _ref$fontFamily = _ref.fontFamily,\n fontFamily = _ref$fontFamily === void 0 ? defaultFontFamily : _ref$fontFamily,\n _ref$fontSize = _ref.fontSize,\n fontSize = _ref$fontSize === void 0 ? 14 : _ref$fontSize,\n _ref$fontWeightLight = _ref.fontWeightLight,\n fontWeightLight = _ref$fontWeightLight === void 0 ? 300 : _ref$fontWeightLight,\n _ref$fontWeightRegula = _ref.fontWeightRegular,\n fontWeightRegular = _ref$fontWeightRegula === void 0 ? 400 : _ref$fontWeightRegula,\n _ref$fontWeightMedium = _ref.fontWeightMedium,\n fontWeightMedium = _ref$fontWeightMedium === void 0 ? 500 : _ref$fontWeightMedium,\n _ref$fontWeightBold = _ref.fontWeightBold,\n fontWeightBold = _ref$fontWeightBold === void 0 ? 700 : _ref$fontWeightBold,\n _ref$htmlFontSize = _ref.htmlFontSize,\n htmlFontSize = _ref$htmlFontSize === void 0 ? 16 : _ref$htmlFontSize,\n allVariants = _ref.allVariants,\n pxToRem2 = _ref.pxToRem,\n other = _objectWithoutProperties(_ref, [\"fontFamily\", \"fontSize\", \"fontWeightLight\", \"fontWeightRegular\", \"fontWeightMedium\", \"fontWeightBold\", \"htmlFontSize\", \"allVariants\", \"pxToRem\"]);\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof fontSize !== 'number') {\n console.error('Material-UI: `fontSize` is required to be a number.');\n }\n\n if (typeof htmlFontSize !== 'number') {\n console.error('Material-UI: `htmlFontSize` is required to be a number.');\n }\n }\n\n var coef = fontSize / 14;\n\n var pxToRem = pxToRem2 || function (size) {\n return \"\".concat(size / htmlFontSize * coef, \"rem\");\n };\n\n var buildVariant = function buildVariant(fontWeight, size, lineHeight, letterSpacing, casing) {\n return _extends({\n fontFamily: fontFamily,\n fontWeight: fontWeight,\n fontSize: pxToRem(size),\n // Unitless following https://meyerweb.com/eric/thoughts/2006/02/08/unitless-line-heights/\n lineHeight: lineHeight\n }, fontFamily === defaultFontFamily ? {\n letterSpacing: \"\".concat(round(letterSpacing / size), \"em\")\n } : {}, casing, allVariants);\n };\n\n var variants = {\n h1: buildVariant(fontWeightLight, 96, 1.167, -1.5),\n h2: buildVariant(fontWeightLight, 60, 1.2, -0.5),\n h3: buildVariant(fontWeightRegular, 48, 1.167, 0),\n h4: buildVariant(fontWeightRegular, 34, 1.235, 0.25),\n h5: buildVariant(fontWeightRegular, 24, 1.334, 0),\n h6: buildVariant(fontWeightMedium, 20, 1.6, 0.15),\n subtitle1: buildVariant(fontWeightRegular, 16, 1.75, 0.15),\n subtitle2: buildVariant(fontWeightMedium, 14, 1.57, 0.1),\n body1: buildVariant(fontWeightRegular, 16, 1.5, 0.15),\n body2: buildVariant(fontWeightRegular, 14, 1.43, 0.15),\n button: buildVariant(fontWeightMedium, 14, 1.75, 0.4, caseAllCaps),\n caption: buildVariant(fontWeightRegular, 12, 1.66, 0.4),\n overline: buildVariant(fontWeightRegular, 12, 2.66, 1, caseAllCaps)\n };\n return deepmerge(_extends({\n htmlFontSize: htmlFontSize,\n pxToRem: pxToRem,\n round: roundWithDeprecationWarning,\n // TODO v5: remove\n fontFamily: fontFamily,\n fontSize: fontSize,\n fontWeightLight: fontWeightLight,\n fontWeightRegular: fontWeightRegular,\n fontWeightMedium: fontWeightMedium,\n fontWeightBold: fontWeightBold\n }, variants), other, {\n clone: false // No need to clone deep\n\n });\n}","var shadowKeyUmbraOpacity = 0.2;\nvar shadowKeyPenumbraOpacity = 0.14;\nvar shadowAmbientShadowOpacity = 0.12;\n\nfunction createShadow() {\n return [\"\".concat(arguments.length <= 0 ? undefined : arguments[0], \"px \").concat(arguments.length <= 1 ? undefined : arguments[1], \"px \").concat(arguments.length <= 2 ? undefined : arguments[2], \"px \").concat(arguments.length <= 3 ? undefined : arguments[3], \"px rgba(0,0,0,\").concat(shadowKeyUmbraOpacity, \")\"), \"\".concat(arguments.length <= 4 ? undefined : arguments[4], \"px \").concat(arguments.length <= 5 ? undefined : arguments[5], \"px \").concat(arguments.length <= 6 ? undefined : arguments[6], \"px \").concat(arguments.length <= 7 ? undefined : arguments[7], \"px rgba(0,0,0,\").concat(shadowKeyPenumbraOpacity, \")\"), \"\".concat(arguments.length <= 8 ? undefined : arguments[8], \"px \").concat(arguments.length <= 9 ? undefined : arguments[9], \"px \").concat(arguments.length <= 10 ? undefined : arguments[10], \"px \").concat(arguments.length <= 11 ? undefined : arguments[11], \"px rgba(0,0,0,\").concat(shadowAmbientShadowOpacity, \")\")].join(',');\n} // Values from https://github.com/material-components/material-components-web/blob/be8747f94574669cb5e7add1a7c54fa41a89cec7/packages/mdc-elevation/_variables.scss\n\n\nvar shadows = ['none', createShadow(0, 2, 1, -1, 0, 1, 1, 0, 0, 1, 3, 0), createShadow(0, 3, 1, -2, 0, 2, 2, 0, 0, 1, 5, 0), createShadow(0, 3, 3, -2, 0, 3, 4, 0, 0, 1, 8, 0), createShadow(0, 2, 4, -1, 0, 4, 5, 0, 0, 1, 10, 0), createShadow(0, 3, 5, -1, 0, 5, 8, 0, 0, 1, 14, 0), createShadow(0, 3, 5, -1, 0, 6, 10, 0, 0, 1, 18, 0), createShadow(0, 4, 5, -2, 0, 7, 10, 1, 0, 2, 16, 1), createShadow(0, 5, 5, -3, 0, 8, 10, 1, 0, 3, 14, 2), createShadow(0, 5, 6, -3, 0, 9, 12, 1, 0, 3, 16, 2), createShadow(0, 6, 6, -3, 0, 10, 14, 1, 0, 4, 18, 3), createShadow(0, 6, 7, -4, 0, 11, 15, 1, 0, 4, 20, 3), createShadow(0, 7, 8, -4, 0, 12, 17, 2, 0, 5, 22, 4), createShadow(0, 7, 8, -4, 0, 13, 19, 2, 0, 5, 24, 4), createShadow(0, 7, 9, -4, 0, 14, 21, 2, 0, 5, 26, 4), createShadow(0, 8, 9, -5, 0, 15, 22, 2, 0, 6, 28, 5), createShadow(0, 8, 10, -5, 0, 16, 24, 2, 0, 6, 30, 5), createShadow(0, 8, 11, -5, 0, 17, 26, 2, 0, 6, 32, 5), createShadow(0, 9, 11, -5, 0, 18, 28, 2, 0, 7, 34, 6), createShadow(0, 9, 12, -6, 0, 19, 29, 2, 0, 7, 36, 6), createShadow(0, 10, 13, -6, 0, 20, 31, 3, 0, 8, 38, 7), createShadow(0, 10, 13, -6, 0, 21, 33, 3, 0, 8, 40, 7), createShadow(0, 10, 14, -6, 0, 22, 35, 3, 0, 8, 42, 7), createShadow(0, 11, 14, -7, 0, 23, 36, 3, 0, 9, 44, 8), createShadow(0, 11, 15, -7, 0, 24, 38, 3, 0, 9, 46, 8)];\nexport default shadows;","var shape = {\n borderRadius: 4\n};\nexport default shape;","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 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}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import { deepmerge } from '@material-ui/utils';\n\nfunction merge(acc, item) {\n if (!item) {\n return acc;\n }\n\n return deepmerge(acc, item, {\n clone: false // No need to clone deep, it's way faster.\n\n });\n}\n\nexport default merge;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport PropTypes from 'prop-types';\nimport merge from './merge'; // The breakpoint **start** at this value.\n// For instance with the first breakpoint xs: [xs, sm[.\n\nvar values = {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920\n};\nvar defaultBreakpoints = {\n // Sorted ASC by size. That's important.\n // It can't be configured as it's used statically for propTypes.\n keys: ['xs', 'sm', 'md', 'lg', 'xl'],\n up: function up(key) {\n return \"@media (min-width:\".concat(values[key], \"px)\");\n }\n};\nexport function handleBreakpoints(props, propValue, styleFromPropValue) {\n if (process.env.NODE_ENV !== 'production') {\n if (!props.theme) {\n console.error('Material-UI: You are calling a style function without a theme value.');\n }\n }\n\n if (Array.isArray(propValue)) {\n var themeBreakpoints = props.theme.breakpoints || defaultBreakpoints;\n return propValue.reduce(function (acc, item, index) {\n acc[themeBreakpoints.up(themeBreakpoints.keys[index])] = styleFromPropValue(propValue[index]);\n return acc;\n }, {});\n }\n\n if (_typeof(propValue) === 'object') {\n var _themeBreakpoints = props.theme.breakpoints || defaultBreakpoints;\n\n return Object.keys(propValue).reduce(function (acc, breakpoint) {\n acc[_themeBreakpoints.up(breakpoint)] = styleFromPropValue(propValue[breakpoint]);\n return acc;\n }, {});\n }\n\n var output = styleFromPropValue(propValue);\n return output;\n}\n\nfunction breakpoints(styleFunction) {\n var newStyleFunction = function newStyleFunction(props) {\n var base = styleFunction(props);\n var themeBreakpoints = props.theme.breakpoints || defaultBreakpoints;\n var extended = themeBreakpoints.keys.reduce(function (acc, key) {\n if (props[key]) {\n acc = acc || {};\n acc[themeBreakpoints.up(key)] = styleFunction(_extends({\n theme: props.theme\n }, props[key]));\n }\n\n return acc;\n }, null);\n return merge(base, extended);\n };\n\n newStyleFunction.propTypes = process.env.NODE_ENV !== 'production' ? _extends({}, styleFunction.propTypes, {\n xs: PropTypes.object,\n sm: PropTypes.object,\n md: PropTypes.object,\n lg: PropTypes.object,\n xl: PropTypes.object\n }) : {};\n newStyleFunction.filterProps = ['xs', 'sm', 'md', 'lg', 'xl'].concat(_toConsumableArray(styleFunction.filterProps));\n return newStyleFunction;\n}\n\nexport default breakpoints;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport responsivePropType from './responsivePropType';\nimport { handleBreakpoints } from './breakpoints';\nimport merge from './merge';\nimport memoize from './memoize';\nvar properties = {\n m: 'margin',\n p: 'padding'\n};\nvar directions = {\n t: 'Top',\n r: 'Right',\n b: 'Bottom',\n l: 'Left',\n x: ['Left', 'Right'],\n y: ['Top', 'Bottom']\n};\nvar aliases = {\n marginX: 'mx',\n marginY: 'my',\n paddingX: 'px',\n paddingY: 'py'\n}; // memoize() impact:\n// From 300,000 ops/sec\n// To 350,000 ops/sec\n\nvar getCssProperties = memoize(function (prop) {\n // It's not a shorthand notation.\n if (prop.length > 2) {\n if (aliases[prop]) {\n prop = aliases[prop];\n } else {\n return [prop];\n }\n }\n\n var _prop$split = prop.split(''),\n _prop$split2 = _slicedToArray(_prop$split, 2),\n a = _prop$split2[0],\n b = _prop$split2[1];\n\n var property = properties[a];\n var direction = directions[b] || '';\n return Array.isArray(direction) ? direction.map(function (dir) {\n return property + dir;\n }) : [property + direction];\n});\nvar spacingKeys = ['m', 'mt', 'mr', 'mb', 'ml', 'mx', 'my', 'p', 'pt', 'pr', 'pb', 'pl', 'px', 'py', 'margin', 'marginTop', 'marginRight', 'marginBottom', 'marginLeft', 'marginX', 'marginY', 'padding', 'paddingTop', 'paddingRight', 'paddingBottom', 'paddingLeft', 'paddingX', 'paddingY'];\nexport function createUnarySpacing(theme) {\n var themeSpacing = theme.spacing || 8;\n\n if (typeof themeSpacing === 'number') {\n return function (abs) {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof abs !== 'number') {\n console.error(\"Material-UI: Expected spacing argument to be a number, got \".concat(abs, \".\"));\n }\n }\n\n return themeSpacing * abs;\n };\n }\n\n if (Array.isArray(themeSpacing)) {\n return function (abs) {\n if (process.env.NODE_ENV !== 'production') {\n if (abs > themeSpacing.length - 1) {\n console.error([\"Material-UI: The value provided (\".concat(abs, \") overflows.\"), \"The supported values are: \".concat(JSON.stringify(themeSpacing), \".\"), \"\".concat(abs, \" > \").concat(themeSpacing.length - 1, \", you need to add the missing values.\")].join('\\n'));\n }\n }\n\n return themeSpacing[abs];\n };\n }\n\n if (typeof themeSpacing === 'function') {\n return themeSpacing;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n console.error([\"Material-UI: The `theme.spacing` value (\".concat(themeSpacing, \") is invalid.\"), 'It should be a number, an array or a function.'].join('\\n'));\n }\n\n return function () {\n return undefined;\n };\n}\n\nfunction getValue(transformer, propValue) {\n if (typeof propValue === 'string' || propValue == null) {\n return propValue;\n }\n\n var abs = Math.abs(propValue);\n var transformed = transformer(abs);\n\n if (propValue >= 0) {\n return transformed;\n }\n\n if (typeof transformed === 'number') {\n return -transformed;\n }\n\n return \"-\".concat(transformed);\n}\n\nfunction getStyleFromPropValue(cssProperties, transformer) {\n return function (propValue) {\n return cssProperties.reduce(function (acc, cssProperty) {\n acc[cssProperty] = getValue(transformer, propValue);\n return acc;\n }, {});\n };\n}\n\nfunction spacing(props) {\n var theme = props.theme;\n var transformer = createUnarySpacing(theme);\n return Object.keys(props).map(function (prop) {\n // Using a hash computation over an array iteration could be faster, but with only 28 items,\n // it's doesn't worth the bundle size.\n if (spacingKeys.indexOf(prop) === -1) {\n return null;\n }\n\n var cssProperties = getCssProperties(prop);\n var styleFromPropValue = getStyleFromPropValue(cssProperties, transformer);\n var propValue = props[prop];\n return handleBreakpoints(props, propValue, styleFromPropValue);\n }).reduce(merge, {});\n}\n\nspacing.propTypes = process.env.NODE_ENV !== 'production' ? spacingKeys.reduce(function (obj, key) {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\nspacing.filterProps = spacingKeys;\nexport default spacing;","export default function memoize(fn) {\n var cache = {};\n return function (arg) {\n if (cache[arg] === undefined) {\n cache[arg] = fn(arg);\n }\n\n return cache[arg];\n };\n}","import { createUnarySpacing } from '@material-ui/system';\nvar warnOnce;\nexport default function createSpacing() {\n var spacingInput = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 8; // Already transformed.\n\n if (spacingInput.mui) {\n return spacingInput;\n } // Material Design layouts are visually balanced. Most measurements align to an 8dp grid applied, which aligns both spacing and the overall layout.\n // Smaller components, such as icons and type, can align to a 4dp grid.\n // https://material.io/design/layout/understanding-layout.html#usage\n\n\n var transform = createUnarySpacing({\n spacing: spacingInput\n });\n\n var spacing = function spacing() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!(args.length <= 4)) {\n console.error(\"Material-UI: Too many arguments provided, expected between 0 and 4, got \".concat(args.length));\n }\n }\n\n if (args.length === 0) {\n return transform(1);\n }\n\n if (args.length === 1) {\n return transform(args[0]);\n }\n\n return args.map(function (argument) {\n if (typeof argument === 'string') {\n return argument;\n }\n\n var output = transform(argument);\n return typeof output === 'number' ? \"\".concat(output, \"px\") : output;\n }).join(' ');\n }; // Backward compatibility, to remove in v5.\n\n\n Object.defineProperty(spacing, 'unit', {\n get: function get() {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnOnce || process.env.NODE_ENV === 'test') {\n console.error(['Material-UI: theme.spacing.unit usage has been deprecated.', 'It will be removed in v5.', 'You can replace `theme.spacing.unit * y` with `theme.spacing(y)`.', '', 'You can use the `https://github.com/mui-org/material-ui/tree/master/packages/material-ui-codemod/README.md#theme-spacing-api` migration helper to make the process smoother.'].join('\\n'));\n }\n\n warnOnce = true;\n }\n\n return spacingInput;\n }\n });\n spacing.mui = true;\n return spacing;\n}","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\"; // Follow https://material.google.com/motion/duration-easing.html#duration-easing-natural-easing-curves\n// to learn the context in which each easing should be used.\n\nexport var easing = {\n // This is the most common easing curve.\n easeInOut: 'cubic-bezier(0.4, 0, 0.2, 1)',\n // Objects enter the screen at full velocity from off-screen and\n // slowly decelerate to a resting point.\n easeOut: 'cubic-bezier(0.0, 0, 0.2, 1)',\n // Objects leave the screen at full velocity. They do not decelerate when off-screen.\n easeIn: 'cubic-bezier(0.4, 0, 1, 1)',\n // The sharp curve is used by objects that may return to the screen at any time.\n sharp: 'cubic-bezier(0.4, 0, 0.6, 1)'\n}; // Follow https://material.io/guidelines/motion/duration-easing.html#duration-easing-common-durations\n// to learn when use what timing\n\nexport var duration = {\n shortest: 150,\n shorter: 200,\n short: 250,\n // most basic recommended timing\n standard: 300,\n // this is to be used in complex animations\n complex: 375,\n // recommended when something is entering screen\n enteringScreen: 225,\n // recommended when something is leaving screen\n leavingScreen: 195\n};\n\nfunction formatMs(milliseconds) {\n return \"\".concat(Math.round(milliseconds), \"ms\");\n}\n/**\n * @param {string|Array} props\n * @param {object} param\n * @param {string} param.prop\n * @param {number} param.duration\n * @param {string} param.easing\n * @param {number} param.delay\n */\n\n\nexport default {\n easing: easing,\n duration: duration,\n create: function create() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['all'];\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var _options$duration = options.duration,\n durationOption = _options$duration === void 0 ? duration.standard : _options$duration,\n _options$easing = options.easing,\n easingOption = _options$easing === void 0 ? easing.easeInOut : _options$easing,\n _options$delay = options.delay,\n delay = _options$delay === void 0 ? 0 : _options$delay,\n other = _objectWithoutProperties(options, [\"duration\", \"easing\", \"delay\"]);\n\n if (process.env.NODE_ENV !== 'production') {\n var isString = function isString(value) {\n return typeof value === 'string';\n };\n\n var isNumber = function isNumber(value) {\n return !isNaN(parseFloat(value));\n };\n\n if (!isString(props) && !Array.isArray(props)) {\n console.error('Material-UI: Argument \"props\" must be a string or Array.');\n }\n\n if (!isNumber(durationOption) && !isString(durationOption)) {\n console.error(\"Material-UI: Argument \\\"duration\\\" must be a number or a string but found \".concat(durationOption, \".\"));\n }\n\n if (!isString(easingOption)) {\n console.error('Material-UI: Argument \"easing\" must be a string.');\n }\n\n if (!isNumber(delay) && !isString(delay)) {\n console.error('Material-UI: Argument \"delay\" must be a number or a string.');\n }\n\n if (Object.keys(other).length !== 0) {\n console.error(\"Material-UI: Unrecognized argument(s) [\".concat(Object.keys(other).join(','), \"].\"));\n }\n }\n\n return (Array.isArray(props) ? props : [props]).map(function (animatedProp) {\n return \"\".concat(animatedProp, \" \").concat(typeof durationOption === 'string' ? durationOption : formatMs(durationOption), \" \").concat(easingOption, \" \").concat(typeof delay === 'string' ? delay : formatMs(delay));\n }).join(',');\n },\n getAutoHeightDuration: function getAutoHeightDuration(height) {\n if (!height) {\n return 0;\n }\n\n var constant = height / 36; // https://www.wolframalpha.com/input/?i=(4+%2B+15+*+(x+%2F+36+)+**+0.25+%2B+(x+%2F+36)+%2F+5)+*+10\n\n return Math.round((4 + 15 * Math.pow(constant, 0.25) + constant / 5) * 10);\n }\n};","// We need to centralize the zIndex definitions as they work\n// like global values in the browser.\nvar zIndex = {\n mobileStepper: 1000,\n speedDial: 1050,\n appBar: 1100,\n drawer: 1200,\n modal: 1300,\n snackbar: 1400,\n tooltip: 1500\n};\nexport default zIndex;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport { deepmerge } from '@material-ui/utils';\nimport createBreakpoints from './createBreakpoints';\nimport createMixins from './createMixins';\nimport createPalette from './createPalette';\nimport createTypography from './createTypography';\nimport shadows from './shadows';\nimport shape from './shape';\nimport createSpacing from './createSpacing';\nimport transitions from './transitions';\nimport zIndex from './zIndex';\n\nfunction createTheme() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _options$breakpoints = options.breakpoints,\n breakpointsInput = _options$breakpoints === void 0 ? {} : _options$breakpoints,\n _options$mixins = options.mixins,\n mixinsInput = _options$mixins === void 0 ? {} : _options$mixins,\n _options$palette = options.palette,\n paletteInput = _options$palette === void 0 ? {} : _options$palette,\n spacingInput = options.spacing,\n _options$typography = options.typography,\n typographyInput = _options$typography === void 0 ? {} : _options$typography,\n other = _objectWithoutProperties(options, [\"breakpoints\", \"mixins\", \"palette\", \"spacing\", \"typography\"]);\n\n var palette = createPalette(paletteInput);\n var breakpoints = createBreakpoints(breakpointsInput);\n var spacing = createSpacing(spacingInput);\n var muiTheme = deepmerge({\n breakpoints: breakpoints,\n direction: 'ltr',\n mixins: createMixins(breakpoints, spacing, mixinsInput),\n overrides: {},\n // Inject custom styles\n palette: palette,\n props: {},\n // Provide default props\n shadows: shadows,\n typography: createTypography(palette, typographyInput),\n spacing: spacing,\n shape: shape,\n transitions: transitions,\n zIndex: zIndex\n }, other);\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 muiTheme = args.reduce(function (acc, argument) {\n return deepmerge(acc, argument);\n }, muiTheme);\n\n if (process.env.NODE_ENV !== 'production') {\n var pseudoClasses = ['checked', 'disabled', 'error', 'focused', 'focusVisible', 'required', 'expanded', 'selected'];\n\n var traverse = function traverse(node, parentKey) {\n var depth = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var key; // eslint-disable-next-line guard-for-in, no-restricted-syntax\n\n for (key in node) {\n var child = node[key];\n\n if (depth === 1) {\n if (key.indexOf('Mui') === 0 && child) {\n traverse(child, key, depth + 1);\n }\n } else if (pseudoClasses.indexOf(key) !== -1 && Object.keys(child).length > 0) {\n if (process.env.NODE_ENV !== 'production') {\n console.error([\"Material-UI: The `\".concat(parentKey, \"` component increases \") + \"the CSS specificity of the `\".concat(key, \"` internal state.\"), 'You can not override it like this: ', JSON.stringify(node, null, 2), '', 'Instead, you need to use the $ruleName syntax:', JSON.stringify({\n root: _defineProperty({}, \"&$\".concat(key), child)\n }, null, 2), '', 'https://mui.com/r/pseudo-classes-guide'].join('\\n'));\n } // Remove the style to prevent global conflicts.\n\n\n node[key] = {};\n }\n }\n };\n\n traverse(muiTheme.overrides);\n }\n\n return muiTheme;\n}\n\nvar warnedOnce = false;\nexport function createMuiTheme() {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnedOnce) {\n warnedOnce = true;\n console.error(['Material-UI: the createMuiTheme function was renamed to createTheme.', '', \"You should use `import { createTheme } from '@material-ui/core/styles'`\"].join('\\n'));\n }\n }\n\n return createTheme.apply(void 0, arguments);\n}\nexport default createTheme;","// src/index.ts\nexport * from \"@react-spring/web\";","import { invariant } from \"../../utilities/globals/index.js\";\nimport * as React from 'react';\nimport { canUseLayoutEffect } from \"../../utilities/index.js\";\nvar didWarnUncachedGetSnapshot = false;\nvar uSESKey = \"useSyncExternalStore\";\nvar realHook = React[uSESKey];\nexport var useSyncExternalStore = realHook || function (subscribe, getSnapshot, getServerSnapshot) {\n var value = getSnapshot();\n\n if (__DEV__ && !didWarnUncachedGetSnapshot && value !== getSnapshot()) {\n didWarnUncachedGetSnapshot = true;\n __DEV__ && invariant.error('The result of getSnapshot should be cached to avoid an infinite loop');\n }\n\n var _a = React.useState({\n inst: {\n value: value,\n getSnapshot: getSnapshot\n }\n }),\n inst = _a[0].inst,\n forceUpdate = _a[1];\n\n if (canUseLayoutEffect) {\n React.useLayoutEffect(function () {\n Object.assign(inst, {\n value: value,\n getSnapshot: getSnapshot\n });\n\n if (checkIfSnapshotChanged(inst)) {\n forceUpdate({\n inst: inst\n });\n }\n }, [subscribe, value, getSnapshot]);\n } else {\n Object.assign(inst, {\n value: value,\n getSnapshot: getSnapshot\n });\n }\n\n React.useEffect(function () {\n if (checkIfSnapshotChanged(inst)) {\n forceUpdate({\n inst: inst\n });\n }\n\n return subscribe(function handleStoreChange() {\n if (checkIfSnapshotChanged(inst)) {\n forceUpdate({\n inst: inst\n });\n }\n });\n }, [subscribe]);\n return value;\n};\n\nfunction checkIfSnapshotChanged(_a) {\n var value = _a.value,\n getSnapshot = _a.getSnapshot;\n\n try {\n return value !== getSnapshot();\n } catch (_b) {\n return true;\n }\n}","import { __assign, __rest } from \"tslib\";\nimport { invariant } from \"../../utilities/globals/index.js\";\nimport { useCallback, useContext, useMemo, useRef, useState } from 'react';\nimport { useSyncExternalStore } from \"./useSyncExternalStore.js\";\nimport { equal } from '@wry/equality';\nimport { mergeOptions } from \"../../core/index.js\";\nimport { getApolloContext } from \"../context/index.js\";\nimport { ApolloError } from \"../../errors/index.js\";\nimport { NetworkStatus } from \"../../core/index.js\";\nimport { DocumentType, verifyDocumentType } from \"../parser/index.js\";\nimport { useApolloClient } from \"./useApolloClient.js\";\nimport { canUseWeakMap, canUseWeakSet, compact, isNonEmptyArray, maybeDeepFreeze } from \"../../utilities/index.js\";\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nexport function useQuery(query, options) {\n if (options === void 0) {\n options = Object.create(null);\n }\n\n return useInternalState(useApolloClient(options.client), query).useQuery(options);\n}\nexport function useInternalState(client, query) {\n var stateRef = useRef();\n\n if (!stateRef.current || client !== stateRef.current.client || query !== stateRef.current.query) {\n stateRef.current = new InternalState(client, query, stateRef.current);\n }\n\n var state = stateRef.current;\n\n var _a = useState(0),\n _tick = _a[0],\n setTick = _a[1];\n\n state.forceUpdate = function () {\n setTick(function (tick) {\n return tick + 1;\n });\n };\n\n return state;\n}\n\nvar InternalState = function () {\n function InternalState(client, query, previous) {\n this.client = client;\n this.query = query;\n this.asyncResolveFns = new Set();\n this.optionsToIgnoreOnce = new (canUseWeakSet ? WeakSet : Set)();\n this.ssrDisabledResult = maybeDeepFreeze({\n loading: true,\n data: void 0,\n error: void 0,\n networkStatus: NetworkStatus.loading\n });\n this.skipStandbyResult = maybeDeepFreeze({\n loading: false,\n data: void 0,\n error: void 0,\n networkStatus: NetworkStatus.ready\n });\n this.toQueryResultCache = new (canUseWeakMap ? WeakMap : Map)();\n verifyDocumentType(query, DocumentType.Query);\n var previousResult = previous && previous.result;\n var previousData = previousResult && previousResult.data;\n\n if (previousData) {\n this.previousData = previousData;\n }\n }\n\n InternalState.prototype.forceUpdate = function () {\n __DEV__ && invariant.warn(\"Calling default no-op implementation of InternalState#forceUpdate\");\n };\n\n InternalState.prototype.asyncUpdate = function () {\n var _this = this;\n\n return new Promise(function (resolve) {\n _this.asyncResolveFns.add(resolve);\n\n _this.optionsToIgnoreOnce.add(_this.watchQueryOptions);\n\n _this.forceUpdate();\n });\n };\n\n InternalState.prototype.useQuery = function (options) {\n var _this = this;\n\n this.renderPromises = useContext(getApolloContext()).renderPromises;\n this.useOptions(options);\n var obsQuery = this.useObservableQuery();\n var result = useSyncExternalStore(useCallback(function () {\n if (_this.renderPromises) {\n return function () {};\n }\n\n var onNext = function onNext() {\n var previousResult = _this.result;\n var result = obsQuery.getCurrentResult();\n\n if (previousResult && previousResult.loading === result.loading && previousResult.networkStatus === result.networkStatus && equal(previousResult.data, result.data)) {\n return;\n }\n\n _this.setResult(result);\n };\n\n var onError = function onError(error) {\n var last = obsQuery[\"last\"];\n subscription.unsubscribe();\n\n try {\n obsQuery.resetLastResults();\n subscription = obsQuery.subscribe(onNext, onError);\n } finally {\n obsQuery[\"last\"] = last;\n }\n\n if (!hasOwnProperty.call(error, 'graphQLErrors')) {\n throw error;\n }\n\n var previousResult = _this.result;\n\n if (!previousResult || previousResult && previousResult.loading || !equal(error, previousResult.error)) {\n _this.setResult({\n data: previousResult && previousResult.data,\n error: error,\n loading: false,\n networkStatus: NetworkStatus.error\n });\n }\n };\n\n var subscription = obsQuery.subscribe(onNext, onError);\n return function () {\n return subscription.unsubscribe();\n };\n }, [obsQuery, this.renderPromises, this.client.disableNetworkFetches]), function () {\n return _this.getCurrentResult();\n }, function () {\n return _this.getCurrentResult();\n });\n this.unsafeHandlePartialRefetch(result);\n var queryResult = this.toQueryResult(result);\n\n if (!queryResult.loading && this.asyncResolveFns.size) {\n this.asyncResolveFns.forEach(function (resolve) {\n return resolve(queryResult);\n });\n this.asyncResolveFns.clear();\n }\n\n return queryResult;\n };\n\n InternalState.prototype.useOptions = function (options) {\n var _a;\n\n var watchQueryOptions = this.createWatchQueryOptions(this.queryHookOptions = options);\n var currentWatchQueryOptions = this.watchQueryOptions;\n\n if (this.optionsToIgnoreOnce.has(currentWatchQueryOptions) || !equal(watchQueryOptions, currentWatchQueryOptions)) {\n this.watchQueryOptions = watchQueryOptions;\n\n if (currentWatchQueryOptions && this.observable) {\n this.optionsToIgnoreOnce.delete(currentWatchQueryOptions);\n this.observable.reobserve(this.getObsQueryOptions());\n this.previousData = ((_a = this.result) === null || _a === void 0 ? void 0 : _a.data) || this.previousData;\n this.result = void 0;\n }\n }\n\n this.onCompleted = options.onCompleted || InternalState.prototype.onCompleted;\n this.onError = options.onError || InternalState.prototype.onError;\n\n if ((this.renderPromises || this.client.disableNetworkFetches) && this.queryHookOptions.ssr === false && !this.queryHookOptions.skip) {\n this.result = this.ssrDisabledResult;\n } else if (this.queryHookOptions.skip || this.watchQueryOptions.fetchPolicy === 'standby') {\n this.result = this.skipStandbyResult;\n } else if (this.result === this.ssrDisabledResult || this.result === this.skipStandbyResult) {\n this.result = void 0;\n }\n };\n\n InternalState.prototype.getObsQueryOptions = function () {\n var toMerge = [];\n var globalDefaults = this.client.defaultOptions.watchQuery;\n if (globalDefaults) toMerge.push(globalDefaults);\n\n if (this.queryHookOptions.defaultOptions) {\n toMerge.push(this.queryHookOptions.defaultOptions);\n }\n\n toMerge.push(compact(this.observable && this.observable.options, this.watchQueryOptions));\n return toMerge.reduce(mergeOptions);\n };\n\n InternalState.prototype.createWatchQueryOptions = function (_a) {\n var _b;\n\n if (_a === void 0) {\n _a = {};\n }\n\n var skip = _a.skip,\n ssr = _a.ssr,\n onCompleted = _a.onCompleted,\n onError = _a.onError,\n defaultOptions = _a.defaultOptions,\n otherOptions = __rest(_a, [\"skip\", \"ssr\", \"onCompleted\", \"onError\", \"defaultOptions\"]);\n\n var watchQueryOptions = Object.assign(otherOptions, {\n query: this.query\n });\n\n if (this.renderPromises && (watchQueryOptions.fetchPolicy === 'network-only' || watchQueryOptions.fetchPolicy === 'cache-and-network')) {\n watchQueryOptions.fetchPolicy = 'cache-first';\n }\n\n if (!watchQueryOptions.variables) {\n watchQueryOptions.variables = {};\n }\n\n if (skip) {\n var _c = watchQueryOptions.fetchPolicy,\n fetchPolicy = _c === void 0 ? this.getDefaultFetchPolicy() : _c,\n _d = watchQueryOptions.initialFetchPolicy,\n initialFetchPolicy = _d === void 0 ? fetchPolicy : _d;\n Object.assign(watchQueryOptions, {\n initialFetchPolicy: initialFetchPolicy,\n fetchPolicy: 'standby'\n });\n } else if (!watchQueryOptions.fetchPolicy) {\n watchQueryOptions.fetchPolicy = ((_b = this.observable) === null || _b === void 0 ? void 0 : _b.options.initialFetchPolicy) || this.getDefaultFetchPolicy();\n }\n\n return watchQueryOptions;\n };\n\n InternalState.prototype.getDefaultFetchPolicy = function () {\n var _a, _b;\n\n return ((_a = this.queryHookOptions.defaultOptions) === null || _a === void 0 ? void 0 : _a.fetchPolicy) || ((_b = this.client.defaultOptions.watchQuery) === null || _b === void 0 ? void 0 : _b.fetchPolicy) || \"cache-first\";\n };\n\n InternalState.prototype.onCompleted = function (data) {};\n\n InternalState.prototype.onError = function (error) {};\n\n InternalState.prototype.useObservableQuery = function () {\n var obsQuery = this.observable = this.renderPromises && this.renderPromises.getSSRObservable(this.watchQueryOptions) || this.observable || this.client.watchQuery(this.getObsQueryOptions());\n this.obsQueryFields = useMemo(function () {\n return {\n refetch: obsQuery.refetch.bind(obsQuery),\n reobserve: obsQuery.reobserve.bind(obsQuery),\n fetchMore: obsQuery.fetchMore.bind(obsQuery),\n updateQuery: obsQuery.updateQuery.bind(obsQuery),\n startPolling: obsQuery.startPolling.bind(obsQuery),\n stopPolling: obsQuery.stopPolling.bind(obsQuery),\n subscribeToMore: obsQuery.subscribeToMore.bind(obsQuery)\n };\n }, [obsQuery]);\n var ssrAllowed = !(this.queryHookOptions.ssr === false || this.queryHookOptions.skip);\n\n if (this.renderPromises && ssrAllowed) {\n this.renderPromises.registerSSRObservable(obsQuery);\n\n if (obsQuery.getCurrentResult().loading) {\n this.renderPromises.addObservableQueryPromise(obsQuery);\n }\n }\n\n return obsQuery;\n };\n\n InternalState.prototype.setResult = function (nextResult) {\n var previousResult = this.result;\n\n if (previousResult && previousResult.data) {\n this.previousData = previousResult.data;\n }\n\n this.result = nextResult;\n this.forceUpdate();\n this.handleErrorOrCompleted(nextResult);\n };\n\n InternalState.prototype.handleErrorOrCompleted = function (result) {\n var _this = this;\n\n if (!result.loading) {\n Promise.resolve().then(function () {\n if (result.error) {\n _this.onError(result.error);\n } else if (result.data) {\n _this.onCompleted(result.data);\n }\n }).catch(function (error) {\n __DEV__ && invariant.warn(error);\n });\n }\n };\n\n InternalState.prototype.getCurrentResult = function () {\n if (!this.result) {\n this.handleErrorOrCompleted(this.result = this.observable.getCurrentResult());\n }\n\n return this.result;\n };\n\n InternalState.prototype.toQueryResult = function (result) {\n var queryResult = this.toQueryResultCache.get(result);\n if (queryResult) return queryResult;\n\n var data = result.data,\n partial = result.partial,\n resultWithoutPartial = __rest(result, [\"data\", \"partial\"]);\n\n this.toQueryResultCache.set(result, queryResult = __assign(__assign(__assign({\n data: data\n }, resultWithoutPartial), this.obsQueryFields), {\n client: this.client,\n observable: this.observable,\n variables: this.observable.variables,\n called: !this.queryHookOptions.skip,\n previousData: this.previousData\n }));\n\n if (!queryResult.error && isNonEmptyArray(result.errors)) {\n queryResult.error = new ApolloError({\n graphQLErrors: result.errors\n });\n }\n\n return queryResult;\n };\n\n InternalState.prototype.unsafeHandlePartialRefetch = function (result) {\n if (result.partial && this.queryHookOptions.partialRefetch && !result.loading && (!result.data || Object.keys(result.data).length === 0) && this.observable.options.fetchPolicy !== 'cache-only') {\n Object.assign(result, {\n loading: true,\n networkStatus: NetworkStatus.refetch\n });\n this.observable.refetch();\n }\n };\n\n return InternalState;\n}();","export function maybe(thunk) {\n try {\n return thunk();\n } catch (_a) {}\n}","export function isNonNullObject(obj) {\n return obj !== null && typeof obj === 'object';\n}","var matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;\nvar htmlEntities = {\n '&': '&',\n '&': '&',\n '<': '<',\n '<': '<',\n '>': '>',\n '>': '>',\n ''': \"'\",\n ''': \"'\",\n '"': '\"',\n '"': '\"',\n ' ': ' ',\n ' ': ' ',\n '©': '©',\n '©': '©',\n '®': '®',\n '®': '®',\n '…': '…',\n '…': '…',\n '/': '/',\n '/': '/'\n};\n\nvar unescapeHtmlEntity = function unescapeHtmlEntity(m) {\n return htmlEntities[m];\n};\n\nexport var unescape = function unescape(text) {\n return text.replace(matchHtmlEntity, unescapeHtmlEntity);\n};","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nimport { createContext } from 'react';\nimport { unescape } from './unescape';\nvar defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true,\n unescape: unescape\n};\nvar i18nInstance;\nexport var I18nContext = createContext();\nexport function setDefaults() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n defaultOptions = _objectSpread(_objectSpread({}, defaultOptions), options);\n}\nexport function getDefaults() {\n return defaultOptions;\n}\nexport var ReportNamespaces = function () {\n function ReportNamespaces() {\n _classCallCheck(this, ReportNamespaces);\n\n this.usedNamespaces = {};\n }\n\n _createClass(ReportNamespaces, [{\n key: \"addUsedNamespaces\",\n value: function addUsedNamespaces(namespaces) {\n var _this = this;\n\n namespaces.forEach(function (ns) {\n if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true;\n });\n }\n }, {\n key: \"getUsedNamespaces\",\n value: function getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n }]);\n\n return ReportNamespaces;\n}();\nexport function setI18n(instance) {\n i18nInstance = instance;\n}\nexport function getI18n() {\n return i18nInstance;\n}\nexport var initReactI18next = {\n type: '3rdParty',\n init: function init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};\nexport function composeInitialProps(ForComponent) {\n return function (ctx) {\n return new Promise(function (resolve) {\n var i18nInitialProps = getInitialProps();\n\n if (ForComponent.getInitialProps) {\n ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) {\n resolve(_objectSpread(_objectSpread({}, componentsInitialProps), i18nInitialProps));\n });\n } else {\n resolve(i18nInitialProps);\n }\n });\n };\n}\nexport function getInitialProps() {\n var i18n = getI18n();\n var namespaces = i18n.reportNamespaces ? i18n.reportNamespaces.getUsedNamespaces() : [];\n var ret = {};\n var initialI18nStore = {};\n i18n.languages.forEach(function (l) {\n initialI18nStore[l] = {};\n namespaces.forEach(function (ns) {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n}","'use strict';\n\nexports.__esModule = true;\nvar errorProps = ['description', 'fileName', 'lineNumber', 'endLineNumber', 'message', 'name', 'number', 'stack'];\n\nfunction Exception(message, node) {\n var loc = node && node.loc,\n line = undefined,\n endLineNumber = undefined,\n column = undefined,\n endColumn = undefined;\n\n if (loc) {\n line = loc.start.line;\n endLineNumber = loc.end.line;\n column = loc.start.column;\n endColumn = loc.end.column;\n message += ' - ' + line + ':' + column;\n }\n\n var tmp = Error.prototype.constructor.call(this, message); // Unfortunately errors are not enumerable in Chrome (at least), so `for prop in tmp` doesn't work.\n\n for (var idx = 0; idx < errorProps.length; idx++) {\n this[errorProps[idx]] = tmp[errorProps[idx]];\n }\n /* istanbul ignore else */\n\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, Exception);\n }\n\n try {\n if (loc) {\n this.lineNumber = line;\n this.endLineNumber = endLineNumber; // Work around issue under safari where we can't directly set the column value\n\n /* istanbul ignore next */\n\n if (Object.defineProperty) {\n Object.defineProperty(this, 'column', {\n value: column,\n enumerable: true\n });\n Object.defineProperty(this, 'endColumn', {\n value: endColumn,\n enumerable: true\n });\n } else {\n this.column = column;\n this.endColumn = endColumn;\n }\n }\n } catch (nop) {\n /* Ignore if the browser is very particular */\n }\n}\n\nException.prototype = new Error();\nexports['default'] = Exception;\nmodule.exports = exports['default'];","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addDays\n * @category Day Helpers\n * @summary Add the specified number of days to the given date.\n *\n * @description\n * Add the specified number of days to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of days to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} - the new date with the days added\n * @throws {TypeError} - 2 arguments required\n *\n * @example\n * // Add 10 days to 1 September 2014:\n * const result = addDays(new Date(2014, 8, 1), 10)\n * //=> Thu Sep 11 2014 00:00:00\n */\n\nexport default function addDays(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var amount = toInteger(dirtyAmount);\n\n if (isNaN(amount)) {\n return new Date(NaN);\n }\n\n if (!amount) {\n // If 0 days, no-op to avoid changing times in the hour before end of DST\n return date;\n }\n\n date.setDate(date.getDate() + amount);\n return date;\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}","/** @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;","var castSlice = require('./_castSlice'),\n hasUnicode = require('./_hasUnicode'),\n stringToArray = require('./_stringToArray'),\n toString = require('./toString');\n/**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\n\n\nfunction createCaseFirst(methodName) {\n return function (string) {\n string = toString(string);\n var strSymbols = hasUnicode(string) ? stringToArray(string) : undefined;\n var chr = strSymbols ? strSymbols[0] : string.charAt(0);\n var trailing = strSymbols ? castSlice(strSymbols, 1).join('') : string.slice(1);\n return chr[methodName]() + trailing;\n };\n}\n\nmodule.exports = createCaseFirst;","// extracted by mini-css-extract-plugin\nmodule.exports = {\"xs\":\"375px\",\"sm\":\"600px\",\"md\":\"834px\",\"lg\":\"1280px\",\"xl\":\"1280px\",\"hyphens\":\"Text-module__hyphens___2YM7d\",\"nomargin\":\"Text-module__nomargin___68cTX\",\"leftAlign\":\"Text-module__leftAlign___37tt2\",\"centerAlign\":\"Text-module__centerAlign___2pOVt\",\"rightAlign\":\"Text-module__rightAlign___7uh5y\",\"uppercase\":\"Text-module__uppercase___jrxoB\",\"strikeThrough\":\"Text-module__strikeThrough___MvdmR\",\"bold\":\"Text-module__bold___525Nr\",\"discount\":\"Text-module__discount___1Ypkb\",\"textMono18\":\"Text-module__textMono18___1L1SH\",\"textMono16\":\"Text-module__textMono16___22ipQ\",\"textMono14\":\"Text-module__textMono14___1F_wD\",\"textMono12\":\"Text-module__textMono12___AGE37\",\"textRegular20\":\"Text-module__textRegular20___2_gnX\",\"textRegular18\":\"Text-module__textRegular18___66jcJ\",\"textRegular16\":\"Text-module__textRegular16___-TYQ6\",\"textRegular14\":\"Text-module__textRegular14___LwPjA\",\"textRegular12\":\"Text-module__textRegular12___34DKo\",\"display45\":\"Text-module__display45___2B5ZS\",\"display36\":\"Text-module__display36___vrlu_\",\"display28\":\"Text-module__display28___2P3RX\",\"display24\":\"Text-module__display24___3MSoz\",\"display20\":\"Text-module__display20___eTErO\",\"display18\":\"Text-module__display18___39J-X\",\"display16\":\"Text-module__display16___1e7O0\",\"display14\":\"Text-module__display14___2krwX\",\"display12\":\"Text-module__display12___EEyyx\",\"scale\":\"Text-module__scale___2akVs\",\"tight\":\"Text-module__tight___1TcSa\",\"brandBlue100\":\"Text-module__brandBlue100___279nB\",\"brandBlue200\":\"Text-module__brandBlue200___3zZgN\",\"brandBlue300\":\"Text-module__brandBlue300___2N_p4\",\"brandBlue400\":\"Text-module__brandBlue400___3E2Gm\",\"brandBlue500\":\"Text-module__brandBlue500___3l8y9\",\"brandBlue600\":\"Text-module__brandBlue600___1w73C\",\"brandRed300\":\"Text-module__brandRed300___22WeU\",\"brandRed400\":\"Text-module__brandRed400___1IiuZ\",\"brandRed500\":\"Text-module__brandRed500___1sYNU\",\"brandRed600\":\"Text-module__brandRed600___1jgIZ\",\"brandYellow100\":\"Text-module__brandYellow100___AjOhz\",\"brandYellow300\":\"Text-module__brandYellow300___NEDg-\",\"brandYellow600\":\"Text-module__brandYellow600___3c1e3\",\"brandYellow700\":\"Text-module__brandYellow700___2nXF5\",\"brandPink200\":\"Text-module__brandPink200___37k4E\",\"brandPink400\":\"Text-module__brandPink400___iAJOr\",\"brandPink500\":\"Text-module__brandPink500___1PWci\",\"brandWhite\":\"Text-module__brandWhite___1wshz\",\"supportGreen300\":\"Text-module__supportGreen300___OPoaS\",\"supportGreen400\":\"Text-module__supportGreen400___2ntTd\",\"supportGreen500\":\"Text-module__supportGreen500___2dFRW\",\"supportOrange300\":\"Text-module__supportOrange300___2bvnW\",\"supportOrange400\":\"Text-module__supportOrange400___2X7Qf\",\"supportOrange500\":\"Text-module__supportOrange500___38zAq\",\"supportRed300\":\"Text-module__supportRed300___3pnQ6\",\"supportRed500\":\"Text-module__supportRed500___2PEPM\",\"supportBlue300\":\"Text-module__supportBlue300___3n-FZ\",\"supportBlue500\":\"Text-module__supportBlue500___1e9HW\",\"dangerRed300\":\"Text-module__dangerRed300___ZTt8M\",\"dangerRed500\":\"Text-module__dangerRed500___3lUJi\",\"cardboardBrown\":\"Text-module__cardboardBrown___3MVL8\",\"grey400\":\"Text-module__grey400___1c7Sz\",\"shadowBlack\":\"Text-module__shadowBlack___1zKg5\",\"squigglyUnderlineYellow\":\"Text-module__squigglyUnderlineYellow___3Teka\",\"squigglyUnderlineBlue\":\"Text-module__squigglyUnderlineBlue___3a3rQ\",\"squigglyUnderlineGreen\":\"Text-module__squigglyUnderlineGreen___2T3pF\",\"squigglyUnderlinePinkLarge\":\"Text-module__squigglyUnderlinePinkLarge___2VyOP\",\"pillDiscount\":\"Text-module__pillDiscount___1-AZC\",\"angledStrikethrough\":\"Text-module__angledStrikethrough___1ATqe\",\"discountStrikeThrough\":\"Text-module__discountStrikeThrough___3VRbo\",\"link\":\"Text-module__link___N7xa_\",\"whiteTape\":\"Text-module__whiteTape___1IFqx\",\"lightBlueTape\":\"Text-module__lightBlueTape___3aOyI\",\"whiteTapeWithBlueShadow\":\"Text-module__whiteTapeWithBlueShadow___2EN7M\",\"blueTape\":\"Text-module__blueTape___30rDs\",\"blueTapeOutlinedWhiteText\":\"Text-module__blueTapeOutlinedWhiteText___zWOuA\",\"yellowTape\":\"Text-module__yellowTape___2vnlM\",\"pinkTape\":\"Text-module__pinkTape___33A3C\",\"redTape\":\"Text-module__redTape___1e-Mc\",\"greenTape\":\"Text-module__greenTape___1saHk\",\"colorAccentDiscount\":\"Text-module__colorAccentDiscount___2ZhnB\",\"colorAccentLight\":\"Text-module__colorAccentLight___3MbOx\",\"strikeTrough\":\"Text-module__strikeTrough___1MSqF\",\"underline\":\"Text-module__underline___2-_3C\",\"redAccent\":\"Text-module__redAccent___zmn0F\",\"yellowAccent\":\"Text-module__yellowAccent___3UXJp\",\"blueTextShadow\":\"Text-module__blueTextShadow___eBbJ-\",\"grayTextShadow\":\"Text-module__grayTextShadow___EupRb\",\"redTextShadow\":\"Text-module__redTextShadow___2v0zU\",\"yellowUnderline\":\"Text-module__yellowUnderline___1ZMXU\"};","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\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 return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","export default function _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}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default 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}","var _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\nexport var isBrowser = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === \"object\" && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === 'object' && document.nodeType === 9;\nexport default isBrowser;","var isProduction = process.env.NODE_ENV === 'production';\n\nfunction warning(condition, message) {\n if (!isProduction) {\n if (condition) {\n return;\n }\n\n var text = \"Warning: \" + message;\n\n if (typeof console !== 'undefined') {\n console.warn(text);\n }\n\n try {\n throw Error(text);\n } catch (x) {}\n }\n}\n\nexport default warning;","import _extends from '@babel/runtime/helpers/esm/extends';\nimport isInBrowser from 'is-in-browser';\nimport warning from 'tiny-warning';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nvar plainObjectConstrurctor = {}.constructor;\n\nfunction cloneStyle(style) {\n if (style == null || typeof style !== 'object') return style;\n if (Array.isArray(style)) return style.map(cloneStyle);\n if (style.constructor !== plainObjectConstrurctor) return style;\n var newStyle = {};\n\n for (var name in style) {\n newStyle[name] = cloneStyle(style[name]);\n }\n\n return newStyle;\n}\n/**\n * Create a rule instance.\n */\n\n\nfunction createRule(name, decl, options) {\n if (name === void 0) {\n name = 'unnamed';\n }\n\n var jss = options.jss;\n var declCopy = cloneStyle(decl);\n var rule = jss.plugins.onCreateRule(name, declCopy, options);\n if (rule) return rule; // It is an at-rule and it has no instance.\n\n if (name[0] === '@') {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Unknown rule \" + name) : void 0;\n }\n\n return null;\n}\n\nvar join = function join(value, by) {\n var result = '';\n\n for (var i = 0; i < value.length; i++) {\n // Remove !important from the value, it will be readded later.\n if (value[i] === '!important') break;\n if (result) result += by;\n result += value[i];\n }\n\n return result;\n};\n/**\n * Converts JSS array value to a CSS string.\n *\n * `margin: [['5px', '10px']]` > `margin: 5px 10px;`\n * `border: ['1px', '2px']` > `border: 1px, 2px;`\n * `margin: [['5px', '10px'], '!important']` > `margin: 5px 10px !important;`\n * `color: ['red', !important]` > `color: red !important;`\n */\n\n\nvar toCssValue = function toCssValue(value) {\n if (!Array.isArray(value)) return value;\n var cssValue = ''; // Support space separated values via `[['5px', '10px']]`.\n\n if (Array.isArray(value[0])) {\n for (var i = 0; i < value.length; i++) {\n if (value[i] === '!important') break;\n if (cssValue) cssValue += ', ';\n cssValue += join(value[i], ' ');\n }\n } else cssValue = join(value, ', '); // Add !important, because it was ignored.\n\n\n if (value[value.length - 1] === '!important') {\n cssValue += ' !important';\n }\n\n return cssValue;\n};\n\nfunction getWhitespaceSymbols(options) {\n if (options && options.format === false) {\n return {\n linebreak: '',\n space: ''\n };\n }\n\n return {\n linebreak: '\\n',\n space: ' '\n };\n}\n/**\n * Indent a string.\n * http://jsperf.com/array-join-vs-for\n */\n\n\nfunction indentStr(str, indent) {\n var result = '';\n\n for (var index = 0; index < indent; index++) {\n result += ' ';\n }\n\n return result + str;\n}\n/**\n * Converts a Rule to CSS string.\n */\n\n\nfunction toCss(selector, style, options) {\n if (options === void 0) {\n options = {};\n }\n\n var result = '';\n if (!style) return result;\n var _options = options,\n _options$indent = _options.indent,\n indent = _options$indent === void 0 ? 0 : _options$indent;\n var fallbacks = style.fallbacks;\n\n if (options.format === false) {\n indent = -Infinity;\n }\n\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak,\n space = _getWhitespaceSymbols.space;\n\n if (selector) indent++; // Apply fallbacks first.\n\n if (fallbacks) {\n // Array syntax {fallbacks: [{prop: value}]}\n if (Array.isArray(fallbacks)) {\n for (var index = 0; index < fallbacks.length; index++) {\n var fallback = fallbacks[index];\n\n for (var prop in fallback) {\n var value = fallback[prop];\n\n if (value != null) {\n if (result) result += linebreak;\n result += indentStr(prop + \":\" + space + toCssValue(value) + \";\", indent);\n }\n }\n }\n } else {\n // Object syntax {fallbacks: {prop: value}}\n for (var _prop in fallbacks) {\n var _value = fallbacks[_prop];\n\n if (_value != null) {\n if (result) result += linebreak;\n result += indentStr(_prop + \":\" + space + toCssValue(_value) + \";\", indent);\n }\n }\n }\n }\n\n for (var _prop2 in style) {\n var _value2 = style[_prop2];\n\n if (_value2 != null && _prop2 !== 'fallbacks') {\n if (result) result += linebreak;\n result += indentStr(_prop2 + \":\" + space + toCssValue(_value2) + \";\", indent);\n }\n } // Allow empty style in this case, because properties will be added dynamically.\n\n\n if (!result && !options.allowEmpty) return result; // When rule is being stringified before selector was defined.\n\n if (!selector) return result;\n indent--;\n if (result) result = \"\" + linebreak + result + linebreak;\n return indentStr(\"\" + selector + space + \"{\" + result, indent) + indentStr('}', indent);\n}\n\nvar escapeRegex = /([[\\].#*$><+~=|^:(),\"'`\\s])/g;\nvar nativeEscape = typeof CSS !== 'undefined' && CSS.escape;\n\nvar escape = function escape(str) {\n return nativeEscape ? nativeEscape(str) : str.replace(escapeRegex, '\\\\$1');\n};\n\nvar BaseStyleRule = /*#__PURE__*/function () {\n function BaseStyleRule(key, style, options) {\n this.type = 'style';\n this.isProcessed = false;\n var sheet = options.sheet,\n Renderer = options.Renderer;\n this.key = key;\n this.options = options;\n this.style = style;\n if (sheet) this.renderer = sheet.renderer;else if (Renderer) this.renderer = new Renderer();\n }\n /**\n * Get or set a style property.\n */\n\n\n var _proto = BaseStyleRule.prototype;\n\n _proto.prop = function prop(name, value, options) {\n // It's a getter.\n if (value === undefined) return this.style[name]; // Don't do anything if the value has not changed.\n\n var force = options ? options.force : false;\n if (!force && this.style[name] === value) return this;\n var newValue = value;\n\n if (!options || options.process !== false) {\n newValue = this.options.jss.plugins.onChangeValue(value, name, this);\n }\n\n var isEmpty = newValue == null || newValue === false;\n var isDefined = (name in this.style); // Value is empty and wasn't defined before.\n\n if (isEmpty && !isDefined && !force) return this; // We are going to remove this value.\n\n var remove = isEmpty && isDefined;\n if (remove) delete this.style[name];else this.style[name] = newValue; // Renderable is defined if StyleSheet option `link` is true.\n\n if (this.renderable && this.renderer) {\n if (remove) this.renderer.removeProperty(this.renderable, name);else this.renderer.setProperty(this.renderable, name, newValue);\n return this;\n }\n\n var sheet = this.options.sheet;\n\n if (sheet && sheet.attached) {\n process.env.NODE_ENV !== \"production\" ? warning(false, '[JSS] Rule is not linked. Missing sheet option \"link: true\".') : void 0;\n }\n\n return this;\n };\n\n return BaseStyleRule;\n}();\n\nvar StyleRule = /*#__PURE__*/function (_BaseStyleRule) {\n _inheritsLoose(StyleRule, _BaseStyleRule);\n\n function StyleRule(key, style, options) {\n var _this;\n\n _this = _BaseStyleRule.call(this, key, style, options) || this;\n var selector = options.selector,\n scoped = options.scoped,\n sheet = options.sheet,\n generateId = options.generateId;\n\n if (selector) {\n _this.selectorText = selector;\n } else if (scoped !== false) {\n _this.id = generateId(_assertThisInitialized(_assertThisInitialized(_this)), sheet);\n _this.selectorText = \".\" + escape(_this.id);\n }\n\n return _this;\n }\n /**\n * Set selector string.\n * Attention: use this with caution. Most browsers didn't implement\n * selectorText setter, so this may result in rerendering of entire Style Sheet.\n */\n\n\n var _proto2 = StyleRule.prototype;\n /**\n * Apply rule to an element inline.\n */\n\n _proto2.applyTo = function applyTo(renderable) {\n var renderer = this.renderer;\n\n if (renderer) {\n var json = this.toJSON();\n\n for (var prop in json) {\n renderer.setProperty(renderable, prop, json[prop]);\n }\n }\n\n return this;\n }\n /**\n * Returns JSON representation of the rule.\n * Fallbacks are not supported.\n * Useful for inline styles.\n */\n ;\n\n _proto2.toJSON = function toJSON() {\n var json = {};\n\n for (var prop in this.style) {\n var value = this.style[prop];\n if (typeof value !== 'object') json[prop] = value;else if (Array.isArray(value)) json[prop] = toCssValue(value);\n }\n\n return json;\n }\n /**\n * Generates a CSS string.\n */\n ;\n\n _proto2.toString = function toString(options) {\n var sheet = this.options.sheet;\n var link = sheet ? sheet.options.link : false;\n var opts = link ? _extends({}, options, {\n allowEmpty: true\n }) : options;\n return toCss(this.selectorText, this.style, opts);\n };\n\n _createClass(StyleRule, [{\n key: \"selector\",\n set: function set(selector) {\n if (selector === this.selectorText) return;\n this.selectorText = selector;\n var renderer = this.renderer,\n renderable = this.renderable;\n if (!renderable || !renderer) return;\n var hasChanged = renderer.setSelector(renderable, selector); // If selector setter is not implemented, rerender the rule.\n\n if (!hasChanged) {\n renderer.replaceRule(renderable, this);\n }\n }\n /**\n * Get selector string.\n */\n ,\n get: function get() {\n return this.selectorText;\n }\n }]);\n\n return StyleRule;\n}(BaseStyleRule);\n\nvar pluginStyleRule = {\n onCreateRule: function onCreateRule(key, style, options) {\n if (key[0] === '@' || options.parent && options.parent.type === 'keyframes') {\n return null;\n }\n\n return new StyleRule(key, style, options);\n }\n};\nvar defaultToStringOptions = {\n indent: 1,\n children: true\n};\nvar atRegExp = /@([\\w-]+)/;\n/**\n * Conditional rule for @media, @supports\n */\n\nvar ConditionalRule = /*#__PURE__*/function () {\n function ConditionalRule(key, styles, options) {\n this.type = 'conditional';\n this.isProcessed = false;\n this.key = key;\n var atMatch = key.match(atRegExp);\n this.at = atMatch ? atMatch[1] : 'unknown'; // Key might contain a unique suffix in case the `name` passed by user was duplicate.\n\n this.query = options.name || \"@\" + this.at;\n this.options = options;\n this.rules = new RuleList(_extends({}, options, {\n parent: this\n }));\n\n for (var name in styles) {\n this.rules.add(name, styles[name]);\n }\n\n this.rules.process();\n }\n /**\n * Get a rule.\n */\n\n\n var _proto = ConditionalRule.prototype;\n\n _proto.getRule = function getRule(name) {\n return this.rules.get(name);\n }\n /**\n * Get index of a rule.\n */\n ;\n\n _proto.indexOf = function indexOf(rule) {\n return this.rules.indexOf(rule);\n }\n /**\n * Create and register rule, run plugins.\n */\n ;\n\n _proto.addRule = function addRule(name, style, options) {\n var rule = this.rules.add(name, style, options);\n if (!rule) return null;\n this.options.jss.plugins.onProcessRule(rule);\n return rule;\n }\n /**\n * Replace rule, run plugins.\n */\n ;\n\n _proto.replaceRule = function replaceRule(name, style, options) {\n var newRule = this.rules.replace(name, style, options);\n if (newRule) this.options.jss.plugins.onProcessRule(newRule);\n return newRule;\n }\n /**\n * Generates a CSS string.\n */\n ;\n\n _proto.toString = function toString(options) {\n if (options === void 0) {\n options = defaultToStringOptions;\n }\n\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak;\n\n if (options.indent == null) options.indent = defaultToStringOptions.indent;\n if (options.children == null) options.children = defaultToStringOptions.children;\n\n if (options.children === false) {\n return this.query + \" {}\";\n }\n\n var children = this.rules.toString(options);\n return children ? this.query + \" {\" + linebreak + children + linebreak + \"}\" : '';\n };\n\n return ConditionalRule;\n}();\n\nvar keyRegExp = /@media|@supports\\s+/;\nvar pluginConditionalRule = {\n onCreateRule: function onCreateRule(key, styles, options) {\n return keyRegExp.test(key) ? new ConditionalRule(key, styles, options) : null;\n }\n};\nvar defaultToStringOptions$1 = {\n indent: 1,\n children: true\n};\nvar nameRegExp = /@keyframes\\s+([\\w-]+)/;\n/**\n * Rule for @keyframes\n */\n\nvar KeyframesRule = /*#__PURE__*/function () {\n function KeyframesRule(key, frames, options) {\n this.type = 'keyframes';\n this.at = '@keyframes';\n this.isProcessed = false;\n var nameMatch = key.match(nameRegExp);\n\n if (nameMatch && nameMatch[1]) {\n this.name = nameMatch[1];\n } else {\n this.name = 'noname';\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Bad keyframes name \" + key) : void 0;\n }\n\n this.key = this.type + \"-\" + this.name;\n this.options = options;\n var scoped = options.scoped,\n sheet = options.sheet,\n generateId = options.generateId;\n this.id = scoped === false ? this.name : escape(generateId(this, sheet));\n this.rules = new RuleList(_extends({}, options, {\n parent: this\n }));\n\n for (var name in frames) {\n this.rules.add(name, frames[name], _extends({}, options, {\n parent: this\n }));\n }\n\n this.rules.process();\n }\n /**\n * Generates a CSS string.\n */\n\n\n var _proto = KeyframesRule.prototype;\n\n _proto.toString = function toString(options) {\n if (options === void 0) {\n options = defaultToStringOptions$1;\n }\n\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak;\n\n if (options.indent == null) options.indent = defaultToStringOptions$1.indent;\n if (options.children == null) options.children = defaultToStringOptions$1.children;\n\n if (options.children === false) {\n return this.at + \" \" + this.id + \" {}\";\n }\n\n var children = this.rules.toString(options);\n if (children) children = \"\" + linebreak + children + linebreak;\n return this.at + \" \" + this.id + \" {\" + children + \"}\";\n };\n\n return KeyframesRule;\n}();\n\nvar keyRegExp$1 = /@keyframes\\s+/;\nvar refRegExp = /\\$([\\w-]+)/g;\n\nvar findReferencedKeyframe = function findReferencedKeyframe(val, keyframes) {\n if (typeof val === 'string') {\n return val.replace(refRegExp, function (match, name) {\n if (name in keyframes) {\n return keyframes[name];\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Referenced keyframes rule \\\"\" + name + \"\\\" is not defined.\") : void 0;\n return match;\n });\n }\n\n return val;\n};\n/**\n * Replace the reference for a animation name.\n */\n\n\nvar replaceRef = function replaceRef(style, prop, keyframes) {\n var value = style[prop];\n var refKeyframe = findReferencedKeyframe(value, keyframes);\n\n if (refKeyframe !== value) {\n style[prop] = refKeyframe;\n }\n};\n\nvar pluginKeyframesRule = {\n onCreateRule: function onCreateRule(key, frames, options) {\n return typeof key === 'string' && keyRegExp$1.test(key) ? new KeyframesRule(key, frames, options) : null;\n },\n // Animation name ref replacer.\n onProcessStyle: function onProcessStyle(style, rule, sheet) {\n if (rule.type !== 'style' || !sheet) return style;\n if ('animation-name' in style) replaceRef(style, 'animation-name', sheet.keyframes);\n if ('animation' in style) replaceRef(style, 'animation', sheet.keyframes);\n return style;\n },\n onChangeValue: function onChangeValue(val, prop, rule) {\n var sheet = rule.options.sheet;\n\n if (!sheet) {\n return val;\n }\n\n switch (prop) {\n case 'animation':\n return findReferencedKeyframe(val, sheet.keyframes);\n\n case 'animation-name':\n return findReferencedKeyframe(val, sheet.keyframes);\n\n default:\n return val;\n }\n }\n};\n\nvar KeyframeRule = /*#__PURE__*/function (_BaseStyleRule) {\n _inheritsLoose(KeyframeRule, _BaseStyleRule);\n\n function KeyframeRule() {\n return _BaseStyleRule.apply(this, arguments) || this;\n }\n\n var _proto = KeyframeRule.prototype;\n /**\n * Generates a CSS string.\n */\n\n _proto.toString = function toString(options) {\n var sheet = this.options.sheet;\n var link = sheet ? sheet.options.link : false;\n var opts = link ? _extends({}, options, {\n allowEmpty: true\n }) : options;\n return toCss(this.key, this.style, opts);\n };\n\n return KeyframeRule;\n}(BaseStyleRule);\n\nvar pluginKeyframeRule = {\n onCreateRule: function onCreateRule(key, style, options) {\n if (options.parent && options.parent.type === 'keyframes') {\n return new KeyframeRule(key, style, options);\n }\n\n return null;\n }\n};\n\nvar FontFaceRule = /*#__PURE__*/function () {\n function FontFaceRule(key, style, options) {\n this.type = 'font-face';\n this.at = '@font-face';\n this.isProcessed = false;\n this.key = key;\n this.style = style;\n this.options = options;\n }\n /**\n * Generates a CSS string.\n */\n\n\n var _proto = FontFaceRule.prototype;\n\n _proto.toString = function toString(options) {\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak;\n\n if (Array.isArray(this.style)) {\n var str = '';\n\n for (var index = 0; index < this.style.length; index++) {\n str += toCss(this.at, this.style[index]);\n if (this.style[index + 1]) str += linebreak;\n }\n\n return str;\n }\n\n return toCss(this.at, this.style, options);\n };\n\n return FontFaceRule;\n}();\n\nvar keyRegExp$2 = /@font-face/;\nvar pluginFontFaceRule = {\n onCreateRule: function onCreateRule(key, style, options) {\n return keyRegExp$2.test(key) ? new FontFaceRule(key, style, options) : null;\n }\n};\n\nvar ViewportRule = /*#__PURE__*/function () {\n function ViewportRule(key, style, options) {\n this.type = 'viewport';\n this.at = '@viewport';\n this.isProcessed = false;\n this.key = key;\n this.style = style;\n this.options = options;\n }\n /**\n * Generates a CSS string.\n */\n\n\n var _proto = ViewportRule.prototype;\n\n _proto.toString = function toString(options) {\n return toCss(this.key, this.style, options);\n };\n\n return ViewportRule;\n}();\n\nvar pluginViewportRule = {\n onCreateRule: function onCreateRule(key, style, options) {\n return key === '@viewport' || key === '@-ms-viewport' ? new ViewportRule(key, style, options) : null;\n }\n};\n\nvar SimpleRule = /*#__PURE__*/function () {\n function SimpleRule(key, value, options) {\n this.type = 'simple';\n this.isProcessed = false;\n this.key = key;\n this.value = value;\n this.options = options;\n }\n /**\n * Generates a CSS string.\n */\n // eslint-disable-next-line no-unused-vars\n\n\n var _proto = SimpleRule.prototype;\n\n _proto.toString = function toString(options) {\n if (Array.isArray(this.value)) {\n var str = '';\n\n for (var index = 0; index < this.value.length; index++) {\n str += this.key + \" \" + this.value[index] + \";\";\n if (this.value[index + 1]) str += '\\n';\n }\n\n return str;\n }\n\n return this.key + \" \" + this.value + \";\";\n };\n\n return SimpleRule;\n}();\n\nvar keysMap = {\n '@charset': true,\n '@import': true,\n '@namespace': true\n};\nvar pluginSimpleRule = {\n onCreateRule: function onCreateRule(key, value, options) {\n return key in keysMap ? new SimpleRule(key, value, options) : null;\n }\n};\nvar plugins = [pluginStyleRule, pluginConditionalRule, pluginKeyframesRule, pluginKeyframeRule, pluginFontFaceRule, pluginViewportRule, pluginSimpleRule];\nvar defaultUpdateOptions = {\n process: true\n};\nvar forceUpdateOptions = {\n force: true,\n process: true\n /**\n * Contains rules objects and allows adding/removing etc.\n * Is used for e.g. by `StyleSheet` or `ConditionalRule`.\n */\n\n};\n\nvar RuleList = /*#__PURE__*/function () {\n // Rules registry for access by .get() method.\n // It contains the same rule registered by name and by selector.\n // Original styles object.\n // Used to ensure correct rules order.\n function RuleList(options) {\n this.map = {};\n this.raw = {};\n this.index = [];\n this.counter = 0;\n this.options = options;\n this.classes = options.classes;\n this.keyframes = options.keyframes;\n }\n /**\n * Create and register rule.\n *\n * Will not render after Style Sheet was rendered the first time.\n */\n\n\n var _proto = RuleList.prototype;\n\n _proto.add = function add(name, decl, ruleOptions) {\n var _this$options = this.options,\n parent = _this$options.parent,\n sheet = _this$options.sheet,\n jss = _this$options.jss,\n Renderer = _this$options.Renderer,\n generateId = _this$options.generateId,\n scoped = _this$options.scoped;\n\n var options = _extends({\n classes: this.classes,\n parent: parent,\n sheet: sheet,\n jss: jss,\n Renderer: Renderer,\n generateId: generateId,\n scoped: scoped,\n name: name,\n keyframes: this.keyframes,\n selector: undefined\n }, ruleOptions); // When user uses .createStyleSheet(), duplicate names are not possible, but\n // `sheet.addRule()` opens the door for any duplicate rule name. When this happens\n // we need to make the key unique within this RuleList instance scope.\n\n\n var key = name;\n\n if (name in this.raw) {\n key = name + \"-d\" + this.counter++;\n } // We need to save the original decl before creating the rule\n // because cache plugin needs to use it as a key to return a cached rule.\n\n\n this.raw[key] = decl;\n\n if (key in this.classes) {\n // E.g. rules inside of @media container\n options.selector = \".\" + escape(this.classes[key]);\n }\n\n var rule = createRule(key, decl, options);\n if (!rule) return null;\n this.register(rule);\n var index = options.index === undefined ? this.index.length : options.index;\n this.index.splice(index, 0, rule);\n return rule;\n }\n /**\n * Replace rule.\n * Create a new rule and remove old one instead of overwriting\n * because we want to invoke onCreateRule hook to make plugins work.\n */\n ;\n\n _proto.replace = function replace(name, decl, ruleOptions) {\n var oldRule = this.get(name);\n var oldIndex = this.index.indexOf(oldRule);\n\n if (oldRule) {\n this.remove(oldRule);\n }\n\n var options = ruleOptions;\n if (oldIndex !== -1) options = _extends({}, ruleOptions, {\n index: oldIndex\n });\n return this.add(name, decl, options);\n }\n /**\n * Get a rule by name or selector.\n */\n ;\n\n _proto.get = function get(nameOrSelector) {\n return this.map[nameOrSelector];\n }\n /**\n * Delete a rule.\n */\n ;\n\n _proto.remove = function remove(rule) {\n this.unregister(rule);\n delete this.raw[rule.key];\n this.index.splice(this.index.indexOf(rule), 1);\n }\n /**\n * Get index of a rule.\n */\n ;\n\n _proto.indexOf = function indexOf(rule) {\n return this.index.indexOf(rule);\n }\n /**\n * Run `onProcessRule()` plugins on every rule.\n */\n ;\n\n _proto.process = function process() {\n var plugins = this.options.jss.plugins; // We need to clone array because if we modify the index somewhere else during a loop\n // we end up with very hard-to-track-down side effects.\n\n this.index.slice(0).forEach(plugins.onProcessRule, plugins);\n }\n /**\n * Register a rule in `.map`, `.classes` and `.keyframes` maps.\n */\n ;\n\n _proto.register = function register(rule) {\n this.map[rule.key] = rule;\n\n if (rule instanceof StyleRule) {\n this.map[rule.selector] = rule;\n if (rule.id) this.classes[rule.key] = rule.id;\n } else if (rule instanceof KeyframesRule && this.keyframes) {\n this.keyframes[rule.name] = rule.id;\n }\n }\n /**\n * Unregister a rule.\n */\n ;\n\n _proto.unregister = function unregister(rule) {\n delete this.map[rule.key];\n\n if (rule instanceof StyleRule) {\n delete this.map[rule.selector];\n delete this.classes[rule.key];\n } else if (rule instanceof KeyframesRule) {\n delete this.keyframes[rule.name];\n }\n }\n /**\n * Update the function values with a new data.\n */\n ;\n\n _proto.update = function update() {\n var name;\n var data;\n var options;\n\n if (typeof (arguments.length <= 0 ? undefined : arguments[0]) === 'string') {\n name = arguments.length <= 0 ? undefined : arguments[0];\n data = arguments.length <= 1 ? undefined : arguments[1];\n options = arguments.length <= 2 ? undefined : arguments[2];\n } else {\n data = arguments.length <= 0 ? undefined : arguments[0];\n options = arguments.length <= 1 ? undefined : arguments[1];\n name = null;\n }\n\n if (name) {\n this.updateOne(this.get(name), data, options);\n } else {\n for (var index = 0; index < this.index.length; index++) {\n this.updateOne(this.index[index], data, options);\n }\n }\n }\n /**\n * Execute plugins, update rule props.\n */\n ;\n\n _proto.updateOne = function updateOne(rule, data, options) {\n if (options === void 0) {\n options = defaultUpdateOptions;\n }\n\n var _this$options2 = this.options,\n plugins = _this$options2.jss.plugins,\n sheet = _this$options2.sheet; // It is a rules container like for e.g. ConditionalRule.\n\n if (rule.rules instanceof RuleList) {\n rule.rules.update(data, options);\n return;\n }\n\n var style = rule.style;\n plugins.onUpdate(data, rule, sheet, options); // We rely on a new `style` ref in case it was mutated during onUpdate hook.\n\n if (options.process && style && style !== rule.style) {\n // We need to run the plugins in case new `style` relies on syntax plugins.\n plugins.onProcessStyle(rule.style, rule, sheet); // Update and add props.\n\n for (var prop in rule.style) {\n var nextValue = rule.style[prop];\n var prevValue = style[prop]; // We need to use `force: true` because `rule.style` has been updated during onUpdate hook, so `rule.prop()` will not update the CSSOM rule.\n // We do this comparison to avoid unneeded `rule.prop()` calls, since we have the old `style` object here.\n\n if (nextValue !== prevValue) {\n rule.prop(prop, nextValue, forceUpdateOptions);\n }\n } // Remove props.\n\n\n for (var _prop in style) {\n var _nextValue = rule.style[_prop];\n var _prevValue = style[_prop]; // We need to use `force: true` because `rule.style` has been updated during onUpdate hook, so `rule.prop()` will not update the CSSOM rule.\n // We do this comparison to avoid unneeded `rule.prop()` calls, since we have the old `style` object here.\n\n if (_nextValue == null && _nextValue !== _prevValue) {\n rule.prop(_prop, null, forceUpdateOptions);\n }\n }\n }\n }\n /**\n * Convert rules to a CSS string.\n */\n ;\n\n _proto.toString = function toString(options) {\n var str = '';\n var sheet = this.options.sheet;\n var link = sheet ? sheet.options.link : false;\n\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak;\n\n for (var index = 0; index < this.index.length; index++) {\n var rule = this.index[index];\n var css = rule.toString(options); // No need to render an empty rule.\n\n if (!css && !link) continue;\n if (str) str += linebreak;\n str += css;\n }\n\n return str;\n };\n\n return RuleList;\n}();\n\nvar StyleSheet = /*#__PURE__*/function () {\n function StyleSheet(styles, options) {\n this.attached = false;\n this.deployed = false;\n this.classes = {};\n this.keyframes = {};\n this.options = _extends({}, options, {\n sheet: this,\n parent: this,\n classes: this.classes,\n keyframes: this.keyframes\n });\n\n if (options.Renderer) {\n this.renderer = new options.Renderer(this);\n }\n\n this.rules = new RuleList(this.options);\n\n for (var name in styles) {\n this.rules.add(name, styles[name]);\n }\n\n this.rules.process();\n }\n /**\n * Attach renderable to the render tree.\n */\n\n\n var _proto = StyleSheet.prototype;\n\n _proto.attach = function attach() {\n if (this.attached) return this;\n if (this.renderer) this.renderer.attach();\n this.attached = true; // Order is important, because we can't use insertRule API if style element is not attached.\n\n if (!this.deployed) this.deploy();\n return this;\n }\n /**\n * Remove renderable from render tree.\n */\n ;\n\n _proto.detach = function detach() {\n if (!this.attached) return this;\n if (this.renderer) this.renderer.detach();\n this.attached = false;\n return this;\n }\n /**\n * Add a rule to the current stylesheet.\n * Will insert a rule also after the stylesheet has been rendered first time.\n */\n ;\n\n _proto.addRule = function addRule(name, decl, options) {\n var queue = this.queue; // Plugins can create rules.\n // In order to preserve the right order, we need to queue all `.addRule` calls,\n // which happen after the first `rules.add()` call.\n\n if (this.attached && !queue) this.queue = [];\n var rule = this.rules.add(name, decl, options);\n if (!rule) return null;\n this.options.jss.plugins.onProcessRule(rule);\n\n if (this.attached) {\n if (!this.deployed) return rule; // Don't insert rule directly if there is no stringified version yet.\n // It will be inserted all together when .attach is called.\n\n if (queue) queue.push(rule);else {\n this.insertRule(rule);\n\n if (this.queue) {\n this.queue.forEach(this.insertRule, this);\n this.queue = undefined;\n }\n }\n return rule;\n } // We can't add rules to a detached style node.\n // We will redeploy the sheet once user will attach it.\n\n\n this.deployed = false;\n return rule;\n }\n /**\n * Replace a rule in the current stylesheet.\n */\n ;\n\n _proto.replaceRule = function replaceRule(nameOrSelector, decl, options) {\n var oldRule = this.rules.get(nameOrSelector);\n if (!oldRule) return this.addRule(nameOrSelector, decl, options);\n var newRule = this.rules.replace(nameOrSelector, decl, options);\n\n if (newRule) {\n this.options.jss.plugins.onProcessRule(newRule);\n }\n\n if (this.attached) {\n if (!this.deployed) return newRule; // Don't replace / delete rule directly if there is no stringified version yet.\n // It will be inserted all together when .attach is called.\n\n if (this.renderer) {\n if (!newRule) {\n this.renderer.deleteRule(oldRule);\n } else if (oldRule.renderable) {\n this.renderer.replaceRule(oldRule.renderable, newRule);\n }\n }\n\n return newRule;\n } // We can't replace rules to a detached style node.\n // We will redeploy the sheet once user will attach it.\n\n\n this.deployed = false;\n return newRule;\n }\n /**\n * Insert rule into the StyleSheet\n */\n ;\n\n _proto.insertRule = function insertRule(rule) {\n if (this.renderer) {\n this.renderer.insertRule(rule);\n }\n }\n /**\n * Create and add rules.\n * Will render also after Style Sheet was rendered the first time.\n */\n ;\n\n _proto.addRules = function addRules(styles, options) {\n var added = [];\n\n for (var name in styles) {\n var rule = this.addRule(name, styles[name], options);\n if (rule) added.push(rule);\n }\n\n return added;\n }\n /**\n * Get a rule by name or selector.\n */\n ;\n\n _proto.getRule = function getRule(nameOrSelector) {\n return this.rules.get(nameOrSelector);\n }\n /**\n * Delete a rule by name.\n * Returns `true`: if rule has been deleted from the DOM.\n */\n ;\n\n _proto.deleteRule = function deleteRule(name) {\n var rule = typeof name === 'object' ? name : this.rules.get(name);\n\n if (!rule || // Style sheet was created without link: true and attached, in this case we\n // won't be able to remove the CSS rule from the DOM.\n this.attached && !rule.renderable) {\n return false;\n }\n\n this.rules.remove(rule);\n\n if (this.attached && rule.renderable && this.renderer) {\n return this.renderer.deleteRule(rule.renderable);\n }\n\n return true;\n }\n /**\n * Get index of a rule.\n */\n ;\n\n _proto.indexOf = function indexOf(rule) {\n return this.rules.indexOf(rule);\n }\n /**\n * Deploy pure CSS string to a renderable.\n */\n ;\n\n _proto.deploy = function deploy() {\n if (this.renderer) this.renderer.deploy();\n this.deployed = true;\n return this;\n }\n /**\n * Update the function values with a new data.\n */\n ;\n\n _proto.update = function update() {\n var _this$rules;\n\n (_this$rules = this.rules).update.apply(_this$rules, arguments);\n\n return this;\n }\n /**\n * Updates a single rule.\n */\n ;\n\n _proto.updateOne = function updateOne(rule, data, options) {\n this.rules.updateOne(rule, data, options);\n return this;\n }\n /**\n * Convert rules to a CSS string.\n */\n ;\n\n _proto.toString = function toString(options) {\n return this.rules.toString(options);\n };\n\n return StyleSheet;\n}();\n\nvar PluginsRegistry = /*#__PURE__*/function () {\n function PluginsRegistry() {\n this.plugins = {\n internal: [],\n external: []\n };\n this.registry = {};\n }\n\n var _proto = PluginsRegistry.prototype;\n /**\n * Call `onCreateRule` hooks and return an object if returned by a hook.\n */\n\n _proto.onCreateRule = function onCreateRule(name, decl, options) {\n for (var i = 0; i < this.registry.onCreateRule.length; i++) {\n var rule = this.registry.onCreateRule[i](name, decl, options);\n if (rule) return rule;\n }\n\n return null;\n }\n /**\n * Call `onProcessRule` hooks.\n */\n ;\n\n _proto.onProcessRule = function onProcessRule(rule) {\n if (rule.isProcessed) return;\n var sheet = rule.options.sheet;\n\n for (var i = 0; i < this.registry.onProcessRule.length; i++) {\n this.registry.onProcessRule[i](rule, sheet);\n }\n\n if (rule.style) this.onProcessStyle(rule.style, rule, sheet);\n rule.isProcessed = true;\n }\n /**\n * Call `onProcessStyle` hooks.\n */\n ;\n\n _proto.onProcessStyle = function onProcessStyle(style, rule, sheet) {\n for (var i = 0; i < this.registry.onProcessStyle.length; i++) {\n rule.style = this.registry.onProcessStyle[i](rule.style, rule, sheet);\n }\n }\n /**\n * Call `onProcessSheet` hooks.\n */\n ;\n\n _proto.onProcessSheet = function onProcessSheet(sheet) {\n for (var i = 0; i < this.registry.onProcessSheet.length; i++) {\n this.registry.onProcessSheet[i](sheet);\n }\n }\n /**\n * Call `onUpdate` hooks.\n */\n ;\n\n _proto.onUpdate = function onUpdate(data, rule, sheet, options) {\n for (var i = 0; i < this.registry.onUpdate.length; i++) {\n this.registry.onUpdate[i](data, rule, sheet, options);\n }\n }\n /**\n * Call `onChangeValue` hooks.\n */\n ;\n\n _proto.onChangeValue = function onChangeValue(value, prop, rule) {\n var processedValue = value;\n\n for (var i = 0; i < this.registry.onChangeValue.length; i++) {\n processedValue = this.registry.onChangeValue[i](processedValue, prop, rule);\n }\n\n return processedValue;\n }\n /**\n * Register a plugin.\n */\n ;\n\n _proto.use = function use(newPlugin, options) {\n if (options === void 0) {\n options = {\n queue: 'external'\n };\n }\n\n var plugins = this.plugins[options.queue]; // Avoids applying same plugin twice, at least based on ref.\n\n if (plugins.indexOf(newPlugin) !== -1) {\n return;\n }\n\n plugins.push(newPlugin);\n this.registry = [].concat(this.plugins.external, this.plugins.internal).reduce(function (registry, plugin) {\n for (var name in plugin) {\n if (name in registry) {\n registry[name].push(plugin[name]);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Unknown hook \\\"\" + name + \"\\\".\") : void 0;\n }\n }\n\n return registry;\n }, {\n onCreateRule: [],\n onProcessRule: [],\n onProcessStyle: [],\n onProcessSheet: [],\n onChangeValue: [],\n onUpdate: []\n });\n };\n\n return PluginsRegistry;\n}();\n/**\n * Sheets registry to access all instances in one place.\n */\n\n\nvar SheetsRegistry = /*#__PURE__*/function () {\n function SheetsRegistry() {\n this.registry = [];\n }\n\n var _proto = SheetsRegistry.prototype;\n /**\n * Register a Style Sheet.\n */\n\n _proto.add = function add(sheet) {\n var registry = this.registry;\n var index = sheet.options.index;\n if (registry.indexOf(sheet) !== -1) return;\n\n if (registry.length === 0 || index >= this.index) {\n registry.push(sheet);\n return;\n } // Find a position.\n\n\n for (var i = 0; i < registry.length; i++) {\n if (registry[i].options.index > index) {\n registry.splice(i, 0, sheet);\n return;\n }\n }\n }\n /**\n * Reset the registry.\n */\n ;\n\n _proto.reset = function reset() {\n this.registry = [];\n }\n /**\n * Remove a Style Sheet.\n */\n ;\n\n _proto.remove = function remove(sheet) {\n var index = this.registry.indexOf(sheet);\n this.registry.splice(index, 1);\n }\n /**\n * Convert all attached sheets to a CSS string.\n */\n ;\n\n _proto.toString = function toString(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n attached = _ref.attached,\n options = _objectWithoutPropertiesLoose(_ref, [\"attached\"]);\n\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak;\n\n var css = '';\n\n for (var i = 0; i < this.registry.length; i++) {\n var sheet = this.registry[i];\n\n if (attached != null && sheet.attached !== attached) {\n continue;\n }\n\n if (css) css += linebreak;\n css += sheet.toString(options);\n }\n\n return css;\n };\n\n _createClass(SheetsRegistry, [{\n key: \"index\",\n\n /**\n * Current highest index number.\n */\n get: function get() {\n return this.registry.length === 0 ? 0 : this.registry[this.registry.length - 1].options.index;\n }\n }]);\n\n return SheetsRegistry;\n}();\n/**\n * This is a global sheets registry. Only DomRenderer will add sheets to it.\n * On the server one should use an own SheetsRegistry instance and add the\n * sheets to it, because you need to make sure to create a new registry for\n * each request in order to not leak sheets across requests.\n */\n\n\nvar sheets = new SheetsRegistry();\n/* eslint-disable */\n\n/**\n * Now that `globalThis` is available on most platforms\n * (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/globalThis#browser_compatibility)\n * we check for `globalThis` first. `globalThis` is necessary for jss\n * to run in Agoric's secure version of JavaScript (SES). Under SES,\n * `globalThis` exists, but `window`, `self`, and `Function('return\n * this')()` are all undefined for security reasons.\n *\n * https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\n */\n\nvar globalThis$1 = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' && window.Math === Math ? window : typeof self !== 'undefined' && self.Math === Math ? self : Function('return this')();\nvar ns = '2f1acc6c3a606b082e5eef5e54414ffb';\nif (globalThis$1[ns] == null) globalThis$1[ns] = 0; // Bundle may contain multiple JSS versions at the same time. In order to identify\n// the current version with just one short number and use it for classes generation\n// we use a counter. Also it is more accurate, because user can manually reevaluate\n// the module.\n\nvar moduleId = globalThis$1[ns]++;\nvar maxRules = 1e10;\n/**\n * Returns a function which generates unique class names based on counters.\n * When new generator function is created, rule counter is reseted.\n * We need to reset the rule counter for SSR for each request.\n */\n\nvar createGenerateId = function createGenerateId(options) {\n if (options === void 0) {\n options = {};\n }\n\n var ruleCounter = 0;\n\n var generateId = function generateId(rule, sheet) {\n ruleCounter += 1;\n\n if (ruleCounter > maxRules) {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] You might have a memory leak. Rule counter is at \" + ruleCounter + \".\") : void 0;\n }\n\n var jssId = '';\n var prefix = '';\n\n if (sheet) {\n if (sheet.options.classNamePrefix) {\n prefix = sheet.options.classNamePrefix;\n }\n\n if (sheet.options.jss.id != null) {\n jssId = String(sheet.options.jss.id);\n }\n }\n\n if (options.minify) {\n // Using \"c\" because a number can't be the first char in a class name.\n return \"\" + (prefix || 'c') + moduleId + jssId + ruleCounter;\n }\n\n return prefix + rule.key + \"-\" + moduleId + (jssId ? \"-\" + jssId : '') + \"-\" + ruleCounter;\n };\n\n return generateId;\n};\n/**\n * Cache the value from the first time a function is called.\n */\n\n\nvar memoize = function memoize(fn) {\n var value;\n return function () {\n if (!value) value = fn();\n return value;\n };\n};\n/**\n * Get a style property value.\n */\n\n\nvar getPropertyValue = function getPropertyValue(cssRule, prop) {\n try {\n // Support CSSTOM.\n if (cssRule.attributeStyleMap) {\n return cssRule.attributeStyleMap.get(prop);\n }\n\n return cssRule.style.getPropertyValue(prop);\n } catch (err) {\n // IE may throw if property is unknown.\n return '';\n }\n};\n/**\n * Set a style property.\n */\n\n\nvar setProperty = function setProperty(cssRule, prop, value) {\n try {\n var cssValue = value;\n\n if (Array.isArray(value)) {\n cssValue = toCssValue(value);\n } // Support CSSTOM.\n\n\n if (cssRule.attributeStyleMap) {\n cssRule.attributeStyleMap.set(prop, cssValue);\n } else {\n var indexOfImportantFlag = cssValue ? cssValue.indexOf('!important') : -1;\n var cssValueWithoutImportantFlag = indexOfImportantFlag > -1 ? cssValue.substr(0, indexOfImportantFlag - 1) : cssValue;\n cssRule.style.setProperty(prop, cssValueWithoutImportantFlag, indexOfImportantFlag > -1 ? 'important' : '');\n }\n } catch (err) {\n // IE may throw if property is unknown.\n return false;\n }\n\n return true;\n};\n/**\n * Remove a style property.\n */\n\n\nvar removeProperty = function removeProperty(cssRule, prop) {\n try {\n // Support CSSTOM.\n if (cssRule.attributeStyleMap) {\n cssRule.attributeStyleMap.delete(prop);\n } else {\n cssRule.style.removeProperty(prop);\n }\n } catch (err) {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] DOMException \\\"\" + err.message + \"\\\" was thrown. Tried to remove property \\\"\" + prop + \"\\\".\") : void 0;\n }\n};\n/**\n * Set the selector.\n */\n\n\nvar setSelector = function setSelector(cssRule, selectorText) {\n cssRule.selectorText = selectorText; // Return false if setter was not successful.\n // Currently works in chrome only.\n\n return cssRule.selectorText === selectorText;\n};\n/**\n * Gets the `head` element upon the first call and caches it.\n * We assume it can't be null.\n */\n\n\nvar getHead = memoize(function () {\n return document.querySelector('head');\n});\n/**\n * Find attached sheet with an index higher than the passed one.\n */\n\nfunction findHigherSheet(registry, options) {\n for (var i = 0; i < registry.length; i++) {\n var sheet = registry[i];\n\n if (sheet.attached && sheet.options.index > options.index && sheet.options.insertionPoint === options.insertionPoint) {\n return sheet;\n }\n }\n\n return null;\n}\n/**\n * Find attached sheet with the highest index.\n */\n\n\nfunction findHighestSheet(registry, options) {\n for (var i = registry.length - 1; i >= 0; i--) {\n var sheet = registry[i];\n\n if (sheet.attached && sheet.options.insertionPoint === options.insertionPoint) {\n return sheet;\n }\n }\n\n return null;\n}\n/**\n * Find a comment with \"jss\" inside.\n */\n\n\nfunction findCommentNode(text) {\n var head = getHead();\n\n for (var i = 0; i < head.childNodes.length; i++) {\n var node = head.childNodes[i];\n\n if (node.nodeType === 8 && node.nodeValue.trim() === text) {\n return node;\n }\n }\n\n return null;\n}\n/**\n * Find a node before which we can insert the sheet.\n */\n\n\nfunction findPrevNode(options) {\n var registry = sheets.registry;\n\n if (registry.length > 0) {\n // Try to insert before the next higher sheet.\n var sheet = findHigherSheet(registry, options);\n\n if (sheet && sheet.renderer) {\n return {\n parent: sheet.renderer.element.parentNode,\n node: sheet.renderer.element\n };\n } // Otherwise insert after the last attached.\n\n\n sheet = findHighestSheet(registry, options);\n\n if (sheet && sheet.renderer) {\n return {\n parent: sheet.renderer.element.parentNode,\n node: sheet.renderer.element.nextSibling\n };\n }\n } // Try to find a comment placeholder if registry is empty.\n\n\n var insertionPoint = options.insertionPoint;\n\n if (insertionPoint && typeof insertionPoint === 'string') {\n var comment = findCommentNode(insertionPoint);\n\n if (comment) {\n return {\n parent: comment.parentNode,\n node: comment.nextSibling\n };\n } // If user specifies an insertion point and it can't be found in the document -\n // bad specificity issues may appear.\n\n\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Insertion point \\\"\" + insertionPoint + \"\\\" not found.\") : void 0;\n }\n\n return false;\n}\n/**\n * Insert style element into the DOM.\n */\n\n\nfunction insertStyle(style, options) {\n var insertionPoint = options.insertionPoint;\n var nextNode = findPrevNode(options);\n\n if (nextNode !== false && nextNode.parent) {\n nextNode.parent.insertBefore(style, nextNode.node);\n return;\n } // Works with iframes and any node types.\n\n\n if (insertionPoint && typeof insertionPoint.nodeType === 'number') {\n var insertionPointElement = insertionPoint;\n var parentNode = insertionPointElement.parentNode;\n if (parentNode) parentNode.insertBefore(style, insertionPointElement.nextSibling);else process.env.NODE_ENV !== \"production\" ? warning(false, '[JSS] Insertion point is not in the DOM.') : void 0;\n return;\n }\n\n getHead().appendChild(style);\n}\n/**\n * Read jss nonce setting from the page if the user has set it.\n */\n\n\nvar getNonce = memoize(function () {\n var node = document.querySelector('meta[property=\"csp-nonce\"]');\n return node ? node.getAttribute('content') : null;\n});\n\nvar _insertRule = function insertRule(container, rule, index) {\n try {\n if ('insertRule' in container) {\n container.insertRule(rule, index);\n } // Keyframes rule.\n else if ('appendRule' in container) {\n container.appendRule(rule);\n }\n } catch (err) {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] \" + err.message) : void 0;\n return false;\n }\n\n return container.cssRules[index];\n};\n\nvar getValidRuleInsertionIndex = function getValidRuleInsertionIndex(container, index) {\n var maxIndex = container.cssRules.length; // In case previous insertion fails, passed index might be wrong\n\n if (index === undefined || index > maxIndex) {\n // eslint-disable-next-line no-param-reassign\n return maxIndex;\n }\n\n return index;\n};\n\nvar createStyle = function createStyle() {\n var el = document.createElement('style'); // Without it, IE will have a broken source order specificity if we\n // insert rules after we insert the style tag.\n // It seems to kick-off the source order specificity algorithm.\n\n el.textContent = '\\n';\n return el;\n};\n\nvar DomRenderer = /*#__PURE__*/function () {\n // Will be empty if link: true option is not set, because\n // it is only for use together with insertRule API.\n function DomRenderer(sheet) {\n this.getPropertyValue = getPropertyValue;\n this.setProperty = setProperty;\n this.removeProperty = removeProperty;\n this.setSelector = setSelector;\n this.hasInsertedRules = false;\n this.cssRules = []; // There is no sheet when the renderer is used from a standalone StyleRule.\n\n if (sheet) sheets.add(sheet);\n this.sheet = sheet;\n\n var _ref = this.sheet ? this.sheet.options : {},\n media = _ref.media,\n meta = _ref.meta,\n element = _ref.element;\n\n this.element = element || createStyle();\n this.element.setAttribute('data-jss', '');\n if (media) this.element.setAttribute('media', media);\n if (meta) this.element.setAttribute('data-meta', meta);\n var nonce = getNonce();\n if (nonce) this.element.setAttribute('nonce', nonce);\n }\n /**\n * Insert style element into render tree.\n */\n\n\n var _proto = DomRenderer.prototype;\n\n _proto.attach = function attach() {\n // In the case the element node is external and it is already in the DOM.\n if (this.element.parentNode || !this.sheet) return;\n insertStyle(this.element, this.sheet.options); // When rules are inserted using `insertRule` API, after `sheet.detach().attach()`\n // most browsers create a new CSSStyleSheet, except of all IEs.\n\n var deployed = Boolean(this.sheet && this.sheet.deployed);\n\n if (this.hasInsertedRules && deployed) {\n this.hasInsertedRules = false;\n this.deploy();\n }\n }\n /**\n * Remove style element from render tree.\n */\n ;\n\n _proto.detach = function detach() {\n if (!this.sheet) return;\n var parentNode = this.element.parentNode;\n if (parentNode) parentNode.removeChild(this.element); // In the most browsers, rules inserted using insertRule() API will be lost when style element is removed.\n // Though IE will keep them and we need a consistent behavior.\n\n if (this.sheet.options.link) {\n this.cssRules = [];\n this.element.textContent = '\\n';\n }\n }\n /**\n * Inject CSS string into element.\n */\n ;\n\n _proto.deploy = function deploy() {\n var sheet = this.sheet;\n if (!sheet) return;\n\n if (sheet.options.link) {\n this.insertRules(sheet.rules);\n return;\n }\n\n this.element.textContent = \"\\n\" + sheet.toString() + \"\\n\";\n }\n /**\n * Insert RuleList into an element.\n */\n ;\n\n _proto.insertRules = function insertRules(rules, nativeParent) {\n for (var i = 0; i < rules.index.length; i++) {\n this.insertRule(rules.index[i], i, nativeParent);\n }\n }\n /**\n * Insert a rule into element.\n */\n ;\n\n _proto.insertRule = function insertRule(rule, index, nativeParent) {\n if (nativeParent === void 0) {\n nativeParent = this.element.sheet;\n }\n\n if (rule.rules) {\n var parent = rule;\n var latestNativeParent = nativeParent;\n\n if (rule.type === 'conditional' || rule.type === 'keyframes') {\n var _insertionIndex = getValidRuleInsertionIndex(nativeParent, index); // We need to render the container without children first.\n\n\n latestNativeParent = _insertRule(nativeParent, parent.toString({\n children: false\n }), _insertionIndex);\n\n if (latestNativeParent === false) {\n return false;\n }\n\n this.refCssRule(rule, _insertionIndex, latestNativeParent);\n }\n\n this.insertRules(parent.rules, latestNativeParent);\n return latestNativeParent;\n }\n\n var ruleStr = rule.toString();\n if (!ruleStr) return false;\n var insertionIndex = getValidRuleInsertionIndex(nativeParent, index);\n\n var nativeRule = _insertRule(nativeParent, ruleStr, insertionIndex);\n\n if (nativeRule === false) {\n return false;\n }\n\n this.hasInsertedRules = true;\n this.refCssRule(rule, insertionIndex, nativeRule);\n return nativeRule;\n };\n\n _proto.refCssRule = function refCssRule(rule, index, cssRule) {\n rule.renderable = cssRule; // We only want to reference the top level rules, deleteRule API doesn't support removing nested rules\n // like rules inside media queries or keyframes\n\n if (rule.options.parent instanceof StyleSheet) {\n this.cssRules.splice(index, 0, cssRule);\n }\n }\n /**\n * Delete a rule.\n */\n ;\n\n _proto.deleteRule = function deleteRule(cssRule) {\n var sheet = this.element.sheet;\n var index = this.indexOf(cssRule);\n if (index === -1) return false;\n sheet.deleteRule(index);\n this.cssRules.splice(index, 1);\n return true;\n }\n /**\n * Get index of a CSS Rule.\n */\n ;\n\n _proto.indexOf = function indexOf(cssRule) {\n return this.cssRules.indexOf(cssRule);\n }\n /**\n * Generate a new CSS rule and replace the existing one.\n */\n ;\n\n _proto.replaceRule = function replaceRule(cssRule, rule) {\n var index = this.indexOf(cssRule);\n if (index === -1) return false;\n this.element.sheet.deleteRule(index);\n this.cssRules.splice(index, 1);\n return this.insertRule(rule, index);\n }\n /**\n * Get all rules elements.\n */\n ;\n\n _proto.getRules = function getRules() {\n return this.element.sheet.cssRules;\n };\n\n return DomRenderer;\n}();\n\nvar instanceCounter = 0;\n\nvar Jss = /*#__PURE__*/function () {\n function Jss(options) {\n this.id = instanceCounter++;\n this.version = \"10.9.2\";\n this.plugins = new PluginsRegistry();\n this.options = {\n id: {\n minify: false\n },\n createGenerateId: createGenerateId,\n Renderer: isInBrowser ? DomRenderer : null,\n plugins: []\n };\n this.generateId = createGenerateId({\n minify: false\n });\n\n for (var i = 0; i < plugins.length; i++) {\n this.plugins.use(plugins[i], {\n queue: 'internal'\n });\n }\n\n this.setup(options);\n }\n /**\n * Prepares various options, applies plugins.\n * Should not be used twice on the same instance, because there is no plugins\n * deduplication logic.\n */\n\n\n var _proto = Jss.prototype;\n\n _proto.setup = function setup(options) {\n if (options === void 0) {\n options = {};\n }\n\n if (options.createGenerateId) {\n this.options.createGenerateId = options.createGenerateId;\n }\n\n if (options.id) {\n this.options.id = _extends({}, this.options.id, options.id);\n }\n\n if (options.createGenerateId || options.id) {\n this.generateId = this.options.createGenerateId(this.options.id);\n }\n\n if (options.insertionPoint != null) this.options.insertionPoint = options.insertionPoint;\n\n if ('Renderer' in options) {\n this.options.Renderer = options.Renderer;\n } // eslint-disable-next-line prefer-spread\n\n\n if (options.plugins) this.use.apply(this, options.plugins);\n return this;\n }\n /**\n * Create a Style Sheet.\n */\n ;\n\n _proto.createStyleSheet = function createStyleSheet(styles, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n index = _options.index;\n\n if (typeof index !== 'number') {\n index = sheets.index === 0 ? 0 : sheets.index + 1;\n }\n\n var sheet = new StyleSheet(styles, _extends({}, options, {\n jss: this,\n generateId: options.generateId || this.generateId,\n insertionPoint: this.options.insertionPoint,\n Renderer: this.options.Renderer,\n index: index\n }));\n this.plugins.onProcessSheet(sheet);\n return sheet;\n }\n /**\n * Detach the Style Sheet and remove it from the registry.\n */\n ;\n\n _proto.removeStyleSheet = function removeStyleSheet(sheet) {\n sheet.detach();\n sheets.remove(sheet);\n return this;\n }\n /**\n * Create a rule without a Style Sheet.\n * [Deprecated] will be removed in the next major version.\n */\n ;\n\n _proto.createRule = function createRule$1(name, style, options) {\n if (style === void 0) {\n style = {};\n }\n\n if (options === void 0) {\n options = {};\n } // Enable rule without name for inline styles.\n\n\n if (typeof name === 'object') {\n return this.createRule(undefined, name, style);\n }\n\n var ruleOptions = _extends({}, options, {\n name: name,\n jss: this,\n Renderer: this.options.Renderer\n });\n\n if (!ruleOptions.generateId) ruleOptions.generateId = this.generateId;\n if (!ruleOptions.classes) ruleOptions.classes = {};\n if (!ruleOptions.keyframes) ruleOptions.keyframes = {};\n var rule = createRule(name, style, ruleOptions);\n if (rule) this.plugins.onProcessRule(rule);\n return rule;\n }\n /**\n * Register plugin. Passed function will be invoked with a rule instance.\n */\n ;\n\n _proto.use = function use() {\n var _this = this;\n\n for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) {\n plugins[_key] = arguments[_key];\n }\n\n plugins.forEach(function (plugin) {\n _this.plugins.use(plugin);\n });\n return this;\n };\n\n return Jss;\n}();\n\nvar createJss = function createJss(options) {\n return new Jss(options);\n};\n/**\n * SheetsManager is like a WeakMap which is designed to count StyleSheet\n * instances and attach/detach automatically.\n * Used in react-jss.\n */\n\n\nvar SheetsManager = /*#__PURE__*/function () {\n function SheetsManager() {\n this.length = 0;\n this.sheets = new WeakMap();\n }\n\n var _proto = SheetsManager.prototype;\n\n _proto.get = function get(key) {\n var entry = this.sheets.get(key);\n return entry && entry.sheet;\n };\n\n _proto.add = function add(key, sheet) {\n if (this.sheets.has(key)) return;\n this.length++;\n this.sheets.set(key, {\n sheet: sheet,\n refs: 0\n });\n };\n\n _proto.manage = function manage(key) {\n var entry = this.sheets.get(key);\n\n if (entry) {\n if (entry.refs === 0) {\n entry.sheet.attach();\n }\n\n entry.refs++;\n return entry.sheet;\n }\n\n warning(false, \"[JSS] SheetsManager: can't find sheet to manage\");\n return undefined;\n };\n\n _proto.unmanage = function unmanage(key) {\n var entry = this.sheets.get(key);\n\n if (entry) {\n if (entry.refs > 0) {\n entry.refs--;\n if (entry.refs === 0) entry.sheet.detach();\n }\n } else {\n warning(false, \"SheetsManager: can't find sheet to unmanage\");\n }\n };\n\n _createClass(SheetsManager, [{\n key: \"size\",\n get: function get() {\n return this.length;\n }\n }]);\n\n return SheetsManager;\n}();\n/**\n* Export a constant indicating if this browser has CSSTOM support.\n* https://developers.google.com/web/updates/2018/03/cssom\n*/\n\n\nvar hasCSSTOMSupport = typeof CSS === 'object' && CSS != null && 'number' in CSS;\n/**\n * Extracts a styles object with only props that contain function values.\n */\n\nfunction getDynamicStyles(styles) {\n var to = null;\n\n for (var key in styles) {\n var value = styles[key];\n var type = typeof value;\n\n if (type === 'function') {\n if (!to) to = {};\n to[key] = value;\n } else if (type === 'object' && value !== null && !Array.isArray(value)) {\n var extracted = getDynamicStyles(value);\n\n if (extracted) {\n if (!to) to = {};\n to[key] = extracted;\n }\n }\n }\n\n return to;\n}\n/**\n * A better abstraction over CSS.\n *\n * @copyright Oleg Isonen (Slobodskoi) / Isonen 2014-present\n * @website https://github.com/cssinjs/jss\n * @license MIT\n */\n\n\nvar index = createJss();\nexport default index;\nexport { RuleList, SheetsManager, SheetsRegistry, createJss as create, createGenerateId, createRule, getDynamicStyles, hasCSSTOMSupport, sheets, toCssValue };","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { getDisplayName } from '@material-ui/utils';\nexport default function mergeClasses() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var baseClasses = options.baseClasses,\n newClasses = options.newClasses,\n Component = options.Component;\n\n if (!newClasses) {\n return baseClasses;\n }\n\n var nextClasses = _extends({}, baseClasses);\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof newClasses === 'string') {\n console.error([\"Material-UI: The value `\".concat(newClasses, \"` \") + \"provided to the classes prop of \".concat(getDisplayName(Component), \" is incorrect.\"), 'You might want to use the className prop instead.'].join('\\n'));\n return baseClasses;\n }\n }\n\n Object.keys(newClasses).forEach(function (key) {\n if (process.env.NODE_ENV !== 'production') {\n if (!baseClasses[key] && newClasses[key]) {\n console.error([\"Material-UI: The key `\".concat(key, \"` \") + \"provided to the classes prop is not implemented in \".concat(getDisplayName(Component), \".\"), \"You can only override one of the following: \".concat(Object.keys(baseClasses).join(','), \".\")].join('\\n'));\n }\n\n if (newClasses[key] && typeof newClasses[key] !== 'string') {\n console.error([\"Material-UI: The key `\".concat(key, \"` \") + \"provided to the classes prop is not valid for \".concat(getDisplayName(Component), \".\"), \"You need to provide a non empty string instead of: \".concat(newClasses[key], \".\")].join('\\n'));\n }\n }\n\n if (newClasses[key]) {\n nextClasses[key] = \"\".concat(baseClasses[key], \" \").concat(newClasses[key]);\n }\n });\n return nextClasses;\n}","// Used https://github.com/thinkloop/multi-key-cache as inspiration\nvar multiKeyStore = {\n set: function set(cache, key1, key2, value) {\n var subCache = cache.get(key1);\n\n if (!subCache) {\n subCache = new Map();\n cache.set(key1, subCache);\n }\n\n subCache.set(key2, value);\n },\n get: function get(cache, key1, key2) {\n var subCache = cache.get(key1);\n return subCache ? subCache.get(key2) : undefined;\n },\n delete: function _delete(cache, key1, key2) {\n var subCache = cache.get(key1);\n subCache.delete(key2);\n }\n};\nexport default multiKeyStore;","import nested from '../ThemeProvider/nested';\n/**\n * This is the list of the style rule name we use as drop in replacement for the built-in\n * pseudo classes (:checked, :disabled, :focused, etc.).\n *\n * Why do they exist in the first place?\n * These classes are used at a specificity of 2.\n * It allows them to override previously definied styles as well as\n * being untouched by simple user overrides.\n */\n\nvar pseudoClasses = ['checked', 'disabled', 'error', 'focused', 'focusVisible', 'required', 'expanded', 'selected']; // Returns a function which generates unique class names based on counters.\n// When new generator function is created, rule counter is reset.\n// We need to reset the rule counter for SSR for each request.\n//\n// It's inspired by\n// https://github.com/cssinjs/jss/blob/4e6a05dd3f7b6572fdd3ab216861d9e446c20331/src/utils/createGenerateClassName.js\n\nexport default function createGenerateClassName() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _options$disableGloba = options.disableGlobal,\n disableGlobal = _options$disableGloba === void 0 ? false : _options$disableGloba,\n _options$productionPr = options.productionPrefix,\n productionPrefix = _options$productionPr === void 0 ? 'jss' : _options$productionPr,\n _options$seed = options.seed,\n seed = _options$seed === void 0 ? '' : _options$seed;\n var seedPrefix = seed === '' ? '' : \"\".concat(seed, \"-\");\n var ruleCounter = 0;\n\n var getNextCounterId = function getNextCounterId() {\n ruleCounter += 1;\n\n if (process.env.NODE_ENV !== 'production') {\n if (ruleCounter >= 1e10) {\n console.warn(['Material-UI: You might have a memory leak.', 'The ruleCounter is not supposed to grow that much.'].join(''));\n }\n }\n\n return ruleCounter;\n };\n\n return function (rule, styleSheet) {\n var name = styleSheet.options.name; // Is a global static MUI style?\n\n if (name && name.indexOf('Mui') === 0 && !styleSheet.options.link && !disableGlobal) {\n // We can use a shorthand class name, we never use the keys to style the components.\n if (pseudoClasses.indexOf(rule.key) !== -1) {\n return \"Mui-\".concat(rule.key);\n }\n\n var prefix = \"\".concat(seedPrefix).concat(name, \"-\").concat(rule.key);\n\n if (!styleSheet.options.theme[nested] || seed !== '') {\n return prefix;\n }\n\n return \"\".concat(prefix, \"-\").concat(getNextCounterId());\n }\n\n if (process.env.NODE_ENV === 'production') {\n return \"\".concat(seedPrefix).concat(productionPrefix).concat(getNextCounterId());\n }\n\n var suffix = \"\".concat(rule.key, \"-\").concat(getNextCounterId()); // Help with debuggability.\n\n if (styleSheet.options.classNamePrefix) {\n return \"\".concat(seedPrefix).concat(styleSheet.options.classNamePrefix, \"-\").concat(suffix);\n }\n\n return \"\".concat(seedPrefix).concat(suffix);\n };\n}","import warning from 'tiny-warning';\nimport { createRule } from 'jss';\nvar now = Date.now();\nvar fnValuesNs = \"fnValues\" + now;\nvar fnRuleNs = \"fnStyle\" + ++now;\n\nvar functionPlugin = function functionPlugin() {\n return {\n onCreateRule: function onCreateRule(name, decl, options) {\n if (typeof decl !== 'function') return null;\n var rule = createRule(name, {}, options);\n rule[fnRuleNs] = decl;\n return rule;\n },\n onProcessStyle: function onProcessStyle(style, rule) {\n // We need to extract function values from the declaration, so that we can keep core unaware of them.\n // We need to do that only once.\n // We don't need to extract functions on each style update, since this can happen only once.\n // We don't support function values inside of function rules.\n if (fnValuesNs in rule || fnRuleNs in rule) return style;\n var fnValues = {};\n\n for (var prop in style) {\n var value = style[prop];\n if (typeof value !== 'function') continue;\n delete style[prop];\n fnValues[prop] = value;\n }\n\n rule[fnValuesNs] = fnValues;\n return style;\n },\n onUpdate: function onUpdate(data, rule, sheet, options) {\n var styleRule = rule;\n var fnRule = styleRule[fnRuleNs]; // If we have a style function, the entire rule is dynamic and style object\n // will be returned from that function.\n\n if (fnRule) {\n // Empty object will remove all currently defined props\n // in case function rule returns a falsy value.\n styleRule.style = fnRule(data) || {};\n\n if (process.env.NODE_ENV === 'development') {\n for (var prop in styleRule.style) {\n if (typeof styleRule.style[prop] === 'function') {\n process.env.NODE_ENV !== \"production\" ? warning(false, '[JSS] Function values inside function rules are not supported.') : void 0;\n break;\n }\n }\n }\n }\n\n var fnValues = styleRule[fnValuesNs]; // If we have a fn values map, it is a rule with function values.\n\n if (fnValues) {\n for (var _prop in fnValues) {\n styleRule.prop(_prop, fnValues[_prop](data), options);\n }\n }\n }\n };\n};\n\nexport default functionPlugin;","import _extends from '@babel/runtime/helpers/esm/extends';\nimport { RuleList } from 'jss';\nvar at = '@global';\nvar atPrefix = '@global ';\n\nvar GlobalContainerRule = /*#__PURE__*/function () {\n function GlobalContainerRule(key, styles, options) {\n this.type = 'global';\n this.at = at;\n this.isProcessed = false;\n this.key = key;\n this.options = options;\n this.rules = new RuleList(_extends({}, options, {\n parent: this\n }));\n\n for (var selector in styles) {\n this.rules.add(selector, styles[selector]);\n }\n\n this.rules.process();\n }\n /**\n * Get a rule.\n */\n\n\n var _proto = GlobalContainerRule.prototype;\n\n _proto.getRule = function getRule(name) {\n return this.rules.get(name);\n }\n /**\n * Create and register rule, run plugins.\n */\n ;\n\n _proto.addRule = function addRule(name, style, options) {\n var rule = this.rules.add(name, style, options);\n if (rule) this.options.jss.plugins.onProcessRule(rule);\n return rule;\n }\n /**\n * Replace rule, run plugins.\n */\n ;\n\n _proto.replaceRule = function replaceRule(name, style, options) {\n var newRule = this.rules.replace(name, style, options);\n if (newRule) this.options.jss.plugins.onProcessRule(newRule);\n return newRule;\n }\n /**\n * Get index of a rule.\n */\n ;\n\n _proto.indexOf = function indexOf(rule) {\n return this.rules.indexOf(rule);\n }\n /**\n * Generates a CSS string.\n */\n ;\n\n _proto.toString = function toString(options) {\n return this.rules.toString(options);\n };\n\n return GlobalContainerRule;\n}();\n\nvar GlobalPrefixedRule = /*#__PURE__*/function () {\n function GlobalPrefixedRule(key, style, options) {\n this.type = 'global';\n this.at = at;\n this.isProcessed = false;\n this.key = key;\n this.options = options;\n var selector = key.substr(atPrefix.length);\n this.rule = options.jss.createRule(selector, style, _extends({}, options, {\n parent: this\n }));\n }\n\n var _proto2 = GlobalPrefixedRule.prototype;\n\n _proto2.toString = function toString(options) {\n return this.rule ? this.rule.toString(options) : '';\n };\n\n return GlobalPrefixedRule;\n}();\n\nvar separatorRegExp = /\\s*,\\s*/g;\n\nfunction addScope(selector, scope) {\n var parts = selector.split(separatorRegExp);\n var scoped = '';\n\n for (var i = 0; i < parts.length; i++) {\n scoped += scope + \" \" + parts[i].trim();\n if (parts[i + 1]) scoped += ', ';\n }\n\n return scoped;\n}\n\nfunction handleNestedGlobalContainerRule(rule, sheet) {\n var options = rule.options,\n style = rule.style;\n var rules = style ? style[at] : null;\n if (!rules) return;\n\n for (var name in rules) {\n sheet.addRule(name, rules[name], _extends({}, options, {\n selector: addScope(name, rule.selector)\n }));\n }\n\n delete style[at];\n}\n\nfunction handlePrefixedGlobalRule(rule, sheet) {\n var options = rule.options,\n style = rule.style;\n\n for (var prop in style) {\n if (prop[0] !== '@' || prop.substr(0, at.length) !== at) continue;\n var selector = addScope(prop.substr(at.length), rule.selector);\n sheet.addRule(selector, style[prop], _extends({}, options, {\n selector: selector\n }));\n delete style[prop];\n }\n}\n/**\n * Convert nested rules to separate, remove them from original styles.\n */\n\n\nfunction jssGlobal() {\n function onCreateRule(name, styles, options) {\n if (!name) return null;\n\n if (name === at) {\n return new GlobalContainerRule(name, styles, options);\n }\n\n if (name[0] === '@' && name.substr(0, atPrefix.length) === atPrefix) {\n return new GlobalPrefixedRule(name, styles, options);\n }\n\n var parent = options.parent;\n\n if (parent) {\n if (parent.type === 'global' || parent.options.parent && parent.options.parent.type === 'global') {\n options.scoped = false;\n }\n }\n\n if (!options.selector && options.scoped === false) {\n options.selector = name;\n }\n\n return null;\n }\n\n function onProcessRule(rule, sheet) {\n if (rule.type !== 'style' || !sheet) return;\n handleNestedGlobalContainerRule(rule, sheet);\n handlePrefixedGlobalRule(rule, sheet);\n }\n\n return {\n onCreateRule: onCreateRule,\n onProcessRule: onProcessRule\n };\n}\n\nexport default jssGlobal;","import _extends from '@babel/runtime/helpers/esm/extends';\nimport warning from 'tiny-warning';\nvar separatorRegExp = /\\s*,\\s*/g;\nvar parentRegExp = /&/g;\nvar refRegExp = /\\$([\\w-]+)/g;\n/**\n * Convert nested rules to separate, remove them from original styles.\n */\n\nfunction jssNested() {\n // Get a function to be used for $ref replacement.\n function getReplaceRef(container, sheet) {\n return function (match, key) {\n var rule = container.getRule(key) || sheet && sheet.getRule(key);\n\n if (rule) {\n return rule.selector;\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Could not find the referenced rule \\\"\" + key + \"\\\" in \\\"\" + (container.options.meta || container.toString()) + \"\\\".\") : void 0;\n return key;\n };\n }\n\n function replaceParentRefs(nestedProp, parentProp) {\n var parentSelectors = parentProp.split(separatorRegExp);\n var nestedSelectors = nestedProp.split(separatorRegExp);\n var result = '';\n\n for (var i = 0; i < parentSelectors.length; i++) {\n var parent = parentSelectors[i];\n\n for (var j = 0; j < nestedSelectors.length; j++) {\n var nested = nestedSelectors[j];\n if (result) result += ', '; // Replace all & by the parent or prefix & with the parent.\n\n result += nested.indexOf('&') !== -1 ? nested.replace(parentRegExp, parent) : parent + \" \" + nested;\n }\n }\n\n return result;\n }\n\n function getOptions(rule, container, prevOptions) {\n // Options has been already created, now we only increase index.\n if (prevOptions) return _extends({}, prevOptions, {\n index: prevOptions.index + 1\n });\n var nestingLevel = rule.options.nestingLevel;\n nestingLevel = nestingLevel === undefined ? 1 : nestingLevel + 1;\n\n var options = _extends({}, rule.options, {\n nestingLevel: nestingLevel,\n index: container.indexOf(rule) + 1 // We don't need the parent name to be set options for chlid.\n\n });\n\n delete options.name;\n return options;\n }\n\n function onProcessStyle(style, rule, sheet) {\n if (rule.type !== 'style') return style;\n var styleRule = rule;\n var container = styleRule.options.parent;\n var options;\n var replaceRef;\n\n for (var prop in style) {\n var isNested = prop.indexOf('&') !== -1;\n var isNestedConditional = prop[0] === '@';\n if (!isNested && !isNestedConditional) continue;\n options = getOptions(styleRule, container, options);\n\n if (isNested) {\n var selector = replaceParentRefs(prop, styleRule.selector); // Lazily create the ref replacer function just once for\n // all nested rules within the sheet.\n\n if (!replaceRef) replaceRef = getReplaceRef(container, sheet); // Replace all $refs.\n\n selector = selector.replace(refRegExp, replaceRef);\n var name = styleRule.key + \"-\" + prop;\n\n if ('replaceRule' in container) {\n // for backward compatibility\n container.replaceRule(name, style[prop], _extends({}, options, {\n selector: selector\n }));\n } else {\n container.addRule(name, style[prop], _extends({}, options, {\n selector: selector\n }));\n }\n } else if (isNestedConditional) {\n // Place conditional right after the parent rule to ensure right ordering.\n container.addRule(prop, {}, options).addRule(styleRule.key, style[prop], {\n selector: styleRule.selector\n });\n }\n\n delete style[prop];\n }\n\n return style;\n }\n\n return {\n onProcessStyle: onProcessStyle\n };\n}\n\nexport default jssNested;","/* eslint-disable no-var, prefer-template */\nvar uppercasePattern = /[A-Z]/g;\nvar msPattern = /^ms-/;\nvar cache = {};\n\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase();\n}\n\nfunction hyphenateStyleName(name) {\n if (cache.hasOwnProperty(name)) {\n return cache[name];\n }\n\n var hName = name.replace(uppercasePattern, toHyphenLower);\n return cache[name] = msPattern.test(hName) ? '-' + hName : hName;\n}\n\nexport default hyphenateStyleName;","import hyphenate from 'hyphenate-style-name';\n/**\n * Convert camel cased property names to dash separated.\n */\n\nfunction convertCase(style) {\n var converted = {};\n\n for (var prop in style) {\n var key = prop.indexOf('--') === 0 ? prop : hyphenate(prop);\n converted[key] = style[prop];\n }\n\n if (style.fallbacks) {\n if (Array.isArray(style.fallbacks)) converted.fallbacks = style.fallbacks.map(convertCase);else converted.fallbacks = convertCase(style.fallbacks);\n }\n\n return converted;\n}\n/**\n * Allow camel cased property names by converting them back to dasherized.\n */\n\n\nfunction camelCase() {\n function onProcessStyle(style) {\n if (Array.isArray(style)) {\n // Handle rules like @font-face, which can have multiple styles in an array\n for (var index = 0; index < style.length; index++) {\n style[index] = convertCase(style[index]);\n }\n\n return style;\n }\n\n return convertCase(style);\n }\n\n function onChangeValue(value, prop, rule) {\n if (prop.indexOf('--') === 0) {\n return value;\n }\n\n var hyphenatedProp = hyphenate(prop); // There was no camel case in place\n\n if (prop === hyphenatedProp) return value;\n rule.prop(hyphenatedProp, value); // Core will ignore that property value we set the proper one above.\n\n return null;\n }\n\n return {\n onProcessStyle: onProcessStyle,\n onChangeValue: onChangeValue\n };\n}\n\nexport default camelCase;","import { hasCSSTOMSupport } from 'jss';\nvar px = hasCSSTOMSupport && CSS ? CSS.px : 'px';\nvar ms = hasCSSTOMSupport && CSS ? CSS.ms : 'ms';\nvar percent = hasCSSTOMSupport && CSS ? CSS.percent : '%';\n/**\n * Generated jss-plugin-default-unit CSS property units\n */\n\nvar defaultUnits = {\n // Animation properties\n 'animation-delay': ms,\n 'animation-duration': ms,\n // Background properties\n 'background-position': px,\n 'background-position-x': px,\n 'background-position-y': px,\n 'background-size': px,\n // Border Properties\n border: px,\n 'border-bottom': px,\n 'border-bottom-left-radius': px,\n 'border-bottom-right-radius': px,\n 'border-bottom-width': px,\n 'border-left': px,\n 'border-left-width': px,\n 'border-radius': px,\n 'border-right': px,\n 'border-right-width': px,\n 'border-top': px,\n 'border-top-left-radius': px,\n 'border-top-right-radius': px,\n 'border-top-width': px,\n 'border-width': px,\n 'border-block': px,\n 'border-block-end': px,\n 'border-block-end-width': px,\n 'border-block-start': px,\n 'border-block-start-width': px,\n 'border-block-width': px,\n 'border-inline': px,\n 'border-inline-end': px,\n 'border-inline-end-width': px,\n 'border-inline-start': px,\n 'border-inline-start-width': px,\n 'border-inline-width': px,\n 'border-start-start-radius': px,\n 'border-start-end-radius': px,\n 'border-end-start-radius': px,\n 'border-end-end-radius': px,\n // Margin properties\n margin: px,\n 'margin-bottom': px,\n 'margin-left': px,\n 'margin-right': px,\n 'margin-top': px,\n 'margin-block': px,\n 'margin-block-end': px,\n 'margin-block-start': px,\n 'margin-inline': px,\n 'margin-inline-end': px,\n 'margin-inline-start': px,\n // Padding properties\n padding: px,\n 'padding-bottom': px,\n 'padding-left': px,\n 'padding-right': px,\n 'padding-top': px,\n 'padding-block': px,\n 'padding-block-end': px,\n 'padding-block-start': px,\n 'padding-inline': px,\n 'padding-inline-end': px,\n 'padding-inline-start': px,\n // Mask properties\n 'mask-position-x': px,\n 'mask-position-y': px,\n 'mask-size': px,\n // Width and height properties\n height: px,\n width: px,\n 'min-height': px,\n 'max-height': px,\n 'min-width': px,\n 'max-width': px,\n // Position properties\n bottom: px,\n left: px,\n top: px,\n right: px,\n inset: px,\n 'inset-block': px,\n 'inset-block-end': px,\n 'inset-block-start': px,\n 'inset-inline': px,\n 'inset-inline-end': px,\n 'inset-inline-start': px,\n // Shadow properties\n 'box-shadow': px,\n 'text-shadow': px,\n // Column properties\n 'column-gap': px,\n 'column-rule': px,\n 'column-rule-width': px,\n 'column-width': px,\n // Font and text properties\n 'font-size': px,\n 'font-size-delta': px,\n 'letter-spacing': px,\n 'text-decoration-thickness': px,\n 'text-indent': px,\n 'text-stroke': px,\n 'text-stroke-width': px,\n 'word-spacing': px,\n // Motion properties\n motion: px,\n 'motion-offset': px,\n // Outline properties\n outline: px,\n 'outline-offset': px,\n 'outline-width': px,\n // Perspective properties\n perspective: px,\n 'perspective-origin-x': percent,\n 'perspective-origin-y': percent,\n // Transform properties\n 'transform-origin': percent,\n 'transform-origin-x': percent,\n 'transform-origin-y': percent,\n 'transform-origin-z': percent,\n // Transition properties\n 'transition-delay': ms,\n 'transition-duration': ms,\n // Alignment properties\n 'vertical-align': px,\n 'flex-basis': px,\n // Some random properties\n 'shape-margin': px,\n size: px,\n gap: px,\n // Grid properties\n grid: px,\n 'grid-gap': px,\n 'row-gap': px,\n 'grid-row-gap': px,\n 'grid-column-gap': px,\n 'grid-template-rows': px,\n 'grid-template-columns': px,\n 'grid-auto-rows': px,\n 'grid-auto-columns': px,\n // Not existing properties.\n // Used to avoid issues with jss-plugin-expand integration.\n 'box-shadow-x': px,\n 'box-shadow-y': px,\n 'box-shadow-blur': px,\n 'box-shadow-spread': px,\n 'font-line-height': px,\n 'text-shadow-x': px,\n 'text-shadow-y': px,\n 'text-shadow-blur': px\n};\n/**\n * Clones the object and adds a camel cased property version.\n */\n\nfunction addCamelCasedVersion(obj) {\n var regExp = /(-[a-z])/g;\n\n var replace = function replace(str) {\n return str[1].toUpperCase();\n };\n\n var newObj = {};\n\n for (var key in obj) {\n newObj[key] = obj[key];\n newObj[key.replace(regExp, replace)] = obj[key];\n }\n\n return newObj;\n}\n\nvar units = addCamelCasedVersion(defaultUnits);\n/**\n * Recursive deep style passing function\n */\n\nfunction iterate(prop, value, options) {\n if (value == null) return value;\n\n if (Array.isArray(value)) {\n for (var i = 0; i < value.length; i++) {\n value[i] = iterate(prop, value[i], options);\n }\n } else if (typeof value === 'object') {\n if (prop === 'fallbacks') {\n for (var innerProp in value) {\n value[innerProp] = iterate(innerProp, value[innerProp], options);\n }\n } else {\n for (var _innerProp in value) {\n value[_innerProp] = iterate(prop + \"-\" + _innerProp, value[_innerProp], options);\n }\n } // eslint-disable-next-line no-restricted-globals\n\n } else if (typeof value === 'number' && isNaN(value) === false) {\n var unit = options[prop] || units[prop]; // Add the unit if available, except for the special case of 0px.\n\n if (unit && !(value === 0 && unit === px)) {\n return typeof unit === 'function' ? unit(value).toString() : \"\" + value + unit;\n }\n\n return value.toString();\n }\n\n return value;\n}\n/**\n * Add unit to numeric values.\n */\n\n\nfunction defaultUnit(options) {\n if (options === void 0) {\n options = {};\n }\n\n var camelCasedOptions = addCamelCasedVersion(options);\n\n function onProcessStyle(style, rule) {\n if (rule.type !== 'style') return style;\n\n for (var prop in style) {\n style[prop] = iterate(prop, style[prop], camelCasedOptions);\n }\n\n return style;\n }\n\n function onChangeValue(value, prop) {\n return iterate(prop, value, camelCasedOptions);\n }\n\n return {\n onProcessStyle: onProcessStyle,\n onChangeValue: onChangeValue\n };\n}\n\nexport default defaultUnit;","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}","import isInBrowser from 'is-in-browser';\nimport _toConsumableArray from '@babel/runtime/helpers/esm/toConsumableArray'; // Export javascript style and css style vendor prefixes.\n\nvar js = '';\nvar css = '';\nvar vendor = '';\nvar browser = '';\nvar isTouch = isInBrowser && 'ontouchstart' in document.documentElement; // We should not do anything if required serverside.\n\nif (isInBrowser) {\n // Order matters. We need to check Webkit the last one because\n // other vendors use to add Webkit prefixes to some properties\n var jsCssMap = {\n Moz: '-moz-',\n ms: '-ms-',\n O: '-o-',\n Webkit: '-webkit-'\n };\n\n var _document$createEleme = document.createElement('p'),\n style = _document$createEleme.style;\n\n var testProp = 'Transform';\n\n for (var key in jsCssMap) {\n if (key + testProp in style) {\n js = key;\n css = jsCssMap[key];\n break;\n }\n } // Correctly detect the Edge browser.\n\n\n if (js === 'Webkit' && 'msHyphens' in style) {\n js = 'ms';\n css = jsCssMap.ms;\n browser = 'edge';\n } // Correctly detect the Safari browser.\n\n\n if (js === 'Webkit' && '-apple-trailing-word' in style) {\n vendor = 'apple';\n }\n}\n/**\n * Vendor prefix string for the current browser.\n *\n * @type {{js: String, css: String, vendor: String, browser: String}}\n * @api public\n */\n\n\nvar prefix = {\n js: js,\n css: css,\n vendor: vendor,\n browser: browser,\n isTouch: isTouch\n};\n/**\n * Test if a keyframe at-rule should be prefixed or not\n *\n * @param {String} vendor prefix string for the current browser.\n * @return {String}\n * @api public\n */\n\nfunction supportedKeyframes(key) {\n // Keyframes is already prefixed. e.g. key = '@-webkit-keyframes a'\n if (key[1] === '-') return key; // No need to prefix IE/Edge. Older browsers will ignore unsupported rules.\n // https://caniuse.com/#search=keyframes\n\n if (prefix.js === 'ms') return key;\n return \"@\" + prefix.css + \"keyframes\" + key.substr(10);\n} // https://caniuse.com/#search=appearance\n\n\nvar appearence = {\n noPrefill: ['appearance'],\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'appearance') return false;\n if (prefix.js === 'ms') return \"-webkit-\" + prop;\n return prefix.css + prop;\n }\n}; // https://caniuse.com/#search=color-adjust\n\nvar colorAdjust = {\n noPrefill: ['color-adjust'],\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'color-adjust') return false;\n if (prefix.js === 'Webkit') return prefix.css + \"print-\" + prop;\n return prop;\n }\n};\nvar regExp = /[-\\s]+(.)?/g;\n/**\n * Replaces the letter with the capital letter\n *\n * @param {String} match\n * @param {String} c\n * @return {String}\n * @api private\n */\n\nfunction toUpper(match, c) {\n return c ? c.toUpperCase() : '';\n}\n/**\n * Convert dash separated strings to camel-cased.\n *\n * @param {String} str\n * @return {String}\n * @api private\n */\n\n\nfunction camelize(str) {\n return str.replace(regExp, toUpper);\n}\n/**\n * Convert dash separated strings to pascal cased.\n *\n * @param {String} str\n * @return {String}\n * @api private\n */\n\n\nfunction pascalize(str) {\n return camelize(\"-\" + str);\n} // but we can use a longhand property instead.\n// https://caniuse.com/#search=mask\n\n\nvar mask = {\n noPrefill: ['mask'],\n supportedProperty: function supportedProperty(prop, style) {\n if (!/^mask/.test(prop)) return false;\n\n if (prefix.js === 'Webkit') {\n var longhand = 'mask-image';\n\n if (camelize(longhand) in style) {\n return prop;\n }\n\n if (prefix.js + pascalize(longhand) in style) {\n return prefix.css + prop;\n }\n }\n\n return prop;\n }\n}; // https://caniuse.com/#search=text-orientation\n\nvar textOrientation = {\n noPrefill: ['text-orientation'],\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'text-orientation') return false;\n\n if (prefix.vendor === 'apple' && !prefix.isTouch) {\n return prefix.css + prop;\n }\n\n return prop;\n }\n}; // https://caniuse.com/#search=transform\n\nvar transform = {\n noPrefill: ['transform'],\n supportedProperty: function supportedProperty(prop, style, options) {\n if (prop !== 'transform') return false;\n\n if (options.transform) {\n return prop;\n }\n\n return prefix.css + prop;\n }\n}; // https://caniuse.com/#search=transition\n\nvar transition = {\n noPrefill: ['transition'],\n supportedProperty: function supportedProperty(prop, style, options) {\n if (prop !== 'transition') return false;\n\n if (options.transition) {\n return prop;\n }\n\n return prefix.css + prop;\n }\n}; // https://caniuse.com/#search=writing-mode\n\nvar writingMode = {\n noPrefill: ['writing-mode'],\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'writing-mode') return false;\n\n if (prefix.js === 'Webkit' || prefix.js === 'ms' && prefix.browser !== 'edge') {\n return prefix.css + prop;\n }\n\n return prop;\n }\n}; // https://caniuse.com/#search=user-select\n\nvar userSelect = {\n noPrefill: ['user-select'],\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'user-select') return false;\n\n if (prefix.js === 'Moz' || prefix.js === 'ms' || prefix.vendor === 'apple') {\n return prefix.css + prop;\n }\n\n return prop;\n }\n}; // https://caniuse.com/#search=multicolumn\n// https://github.com/postcss/autoprefixer/issues/491\n// https://github.com/postcss/autoprefixer/issues/177\n\nvar breakPropsOld = {\n supportedProperty: function supportedProperty(prop, style) {\n if (!/^break-/.test(prop)) return false;\n\n if (prefix.js === 'Webkit') {\n var jsProp = \"WebkitColumn\" + pascalize(prop);\n return jsProp in style ? prefix.css + \"column-\" + prop : false;\n }\n\n if (prefix.js === 'Moz') {\n var _jsProp = \"page\" + pascalize(prop);\n\n return _jsProp in style ? \"page-\" + prop : false;\n }\n\n return false;\n }\n}; // See https://github.com/postcss/autoprefixer/issues/324.\n\nvar inlineLogicalOld = {\n supportedProperty: function supportedProperty(prop, style) {\n if (!/^(border|margin|padding)-inline/.test(prop)) return false;\n if (prefix.js === 'Moz') return prop;\n var newProp = prop.replace('-inline', '');\n return prefix.js + pascalize(newProp) in style ? prefix.css + newProp : false;\n }\n}; // Camelization is required because we can't test using.\n// CSS syntax for e.g. in FF.\n\nvar unprefixed = {\n supportedProperty: function supportedProperty(prop, style) {\n return camelize(prop) in style ? prop : false;\n }\n};\nvar prefixed = {\n supportedProperty: function supportedProperty(prop, style) {\n var pascalized = pascalize(prop); // Return custom CSS variable without prefixing.\n\n if (prop[0] === '-') return prop; // Return already prefixed value without prefixing.\n\n if (prop[0] === '-' && prop[1] === '-') return prop;\n if (prefix.js + pascalized in style) return prefix.css + prop; // Try webkit fallback.\n\n if (prefix.js !== 'Webkit' && \"Webkit\" + pascalized in style) return \"-webkit-\" + prop;\n return false;\n }\n}; // https://caniuse.com/#search=scroll-snap\n\nvar scrollSnap = {\n supportedProperty: function supportedProperty(prop) {\n if (prop.substring(0, 11) !== 'scroll-snap') return false;\n\n if (prefix.js === 'ms') {\n return \"\" + prefix.css + prop;\n }\n\n return prop;\n }\n}; // https://caniuse.com/#search=overscroll-behavior\n\nvar overscrollBehavior = {\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'overscroll-behavior') return false;\n\n if (prefix.js === 'ms') {\n return prefix.css + \"scroll-chaining\";\n }\n\n return prop;\n }\n};\nvar propMap = {\n 'flex-grow': 'flex-positive',\n 'flex-shrink': 'flex-negative',\n 'flex-basis': 'flex-preferred-size',\n 'justify-content': 'flex-pack',\n order: 'flex-order',\n 'align-items': 'flex-align',\n 'align-content': 'flex-line-pack' // 'align-self' is handled by 'align-self' plugin.\n\n}; // Support old flex spec from 2012.\n\nvar flex2012 = {\n supportedProperty: function supportedProperty(prop, style) {\n var newProp = propMap[prop];\n if (!newProp) return false;\n return prefix.js + pascalize(newProp) in style ? prefix.css + newProp : false;\n }\n};\nvar propMap$1 = {\n flex: 'box-flex',\n 'flex-grow': 'box-flex',\n 'flex-direction': ['box-orient', 'box-direction'],\n order: 'box-ordinal-group',\n 'align-items': 'box-align',\n 'flex-flow': ['box-orient', 'box-direction'],\n 'justify-content': 'box-pack'\n};\nvar propKeys = Object.keys(propMap$1);\n\nvar prefixCss = function prefixCss(p) {\n return prefix.css + p;\n}; // Support old flex spec from 2009.\n\n\nvar flex2009 = {\n supportedProperty: function supportedProperty(prop, style, _ref) {\n var multiple = _ref.multiple;\n\n if (propKeys.indexOf(prop) > -1) {\n var newProp = propMap$1[prop];\n\n if (!Array.isArray(newProp)) {\n return prefix.js + pascalize(newProp) in style ? prefix.css + newProp : false;\n }\n\n if (!multiple) return false;\n\n for (var i = 0; i < newProp.length; i++) {\n if (!(prefix.js + pascalize(newProp[0]) in style)) {\n return false;\n }\n }\n\n return newProp.map(prefixCss);\n }\n\n return false;\n }\n}; // plugins = [\n// ...plugins,\n// breakPropsOld,\n// inlineLogicalOld,\n// unprefixed,\n// prefixed,\n// scrollSnap,\n// flex2012,\n// flex2009\n// ]\n// Plugins without 'noPrefill' value, going last.\n// 'flex-*' plugins should be at the bottom.\n// 'flex2009' going after 'flex2012'.\n// 'prefixed' going after 'unprefixed'\n\nvar plugins = [appearence, colorAdjust, mask, textOrientation, transform, transition, writingMode, userSelect, breakPropsOld, inlineLogicalOld, unprefixed, prefixed, scrollSnap, overscrollBehavior, flex2012, flex2009];\nvar propertyDetectors = plugins.filter(function (p) {\n return p.supportedProperty;\n}).map(function (p) {\n return p.supportedProperty;\n});\nvar noPrefill = plugins.filter(function (p) {\n return p.noPrefill;\n}).reduce(function (a, p) {\n a.push.apply(a, _toConsumableArray(p.noPrefill));\n return a;\n}, []);\nvar el;\nvar cache = {};\n\nif (isInBrowser) {\n el = document.createElement('p'); // We test every property on vendor prefix requirement.\n // Once tested, result is cached. It gives us up to 70% perf boost.\n // http://jsperf.com/element-style-object-access-vs-plain-object\n //\n // Prefill cache with known css properties to reduce amount of\n // properties we need to feature test at runtime.\n // http://davidwalsh.name/vendor-prefix\n\n var computed = window.getComputedStyle(document.documentElement, '');\n\n for (var key$1 in computed) {\n // eslint-disable-next-line no-restricted-globals\n if (!isNaN(key$1)) cache[computed[key$1]] = computed[key$1];\n } // Properties that cannot be correctly detected using the\n // cache prefill method.\n\n\n noPrefill.forEach(function (x) {\n return delete cache[x];\n });\n}\n/**\n * Test if a property is supported, returns supported property with vendor\n * prefix if required. Returns `false` if not supported.\n *\n * @param {String} prop dash separated\n * @param {Object} [options]\n * @return {String|Boolean}\n * @api public\n */\n\n\nfunction supportedProperty(prop, options) {\n if (options === void 0) {\n options = {};\n } // For server-side rendering.\n\n\n if (!el) return prop; // Remove cache for benchmark tests or return property from the cache.\n\n if (process.env.NODE_ENV !== 'benchmark' && cache[prop] != null) {\n return cache[prop];\n } // Check if 'transition' or 'transform' natively supported in browser.\n\n\n if (prop === 'transition' || prop === 'transform') {\n options[prop] = prop in el.style;\n } // Find a plugin for current prefix property.\n\n\n for (var i = 0; i < propertyDetectors.length; i++) {\n cache[prop] = propertyDetectors[i](prop, el.style, options); // Break loop, if value found.\n\n if (cache[prop]) break;\n } // Reset styles for current property.\n // Firefox can even throw an error for invalid properties, e.g., \"0\".\n\n\n try {\n el.style[prop] = '';\n } catch (err) {\n return false;\n }\n\n return cache[prop];\n}\n\nvar cache$1 = {};\nvar transitionProperties = {\n transition: 1,\n 'transition-property': 1,\n '-webkit-transition': 1,\n '-webkit-transition-property': 1\n};\nvar transPropsRegExp = /(^\\s*[\\w-]+)|, (\\s*[\\w-]+)(?![^()]*\\))/g;\nvar el$1;\n/**\n * Returns prefixed value transition/transform if needed.\n *\n * @param {String} match\n * @param {String} p1\n * @param {String} p2\n * @return {String}\n * @api private\n */\n\nfunction prefixTransitionCallback(match, p1, p2) {\n if (p1 === 'var') return 'var';\n if (p1 === 'all') return 'all';\n if (p2 === 'all') return ', all';\n var prefixedValue = p1 ? supportedProperty(p1) : \", \" + supportedProperty(p2);\n if (!prefixedValue) return p1 || p2;\n return prefixedValue;\n}\n\nif (isInBrowser) el$1 = document.createElement('p');\n/**\n * Returns prefixed value if needed. Returns `false` if value is not supported.\n *\n * @param {String} property\n * @param {String} value\n * @return {String|Boolean}\n * @api public\n */\n\nfunction supportedValue(property, value) {\n // For server-side rendering.\n var prefixedValue = value;\n if (!el$1 || property === 'content') return value; // It is a string or a number as a string like '1'.\n // We want only prefixable values here.\n // eslint-disable-next-line no-restricted-globals\n\n if (typeof prefixedValue !== 'string' || !isNaN(parseInt(prefixedValue, 10))) {\n return prefixedValue;\n } // Create cache key for current value.\n\n\n var cacheKey = property + prefixedValue; // Remove cache for benchmark tests or return value from cache.\n\n if (process.env.NODE_ENV !== 'benchmark' && cache$1[cacheKey] != null) {\n return cache$1[cacheKey];\n } // IE can even throw an error in some cases, for e.g. style.content = 'bar'.\n\n\n try {\n // Test value as it is.\n el$1.style[property] = prefixedValue;\n } catch (err) {\n // Return false if value not supported.\n cache$1[cacheKey] = false;\n return false;\n } // If 'transition' or 'transition-property' property.\n\n\n if (transitionProperties[property]) {\n prefixedValue = prefixedValue.replace(transPropsRegExp, prefixTransitionCallback);\n } else if (el$1.style[property] === '') {\n // Value with a vendor prefix.\n prefixedValue = prefix.css + prefixedValue; // Hardcode test to convert \"flex\" to \"-ms-flexbox\" for IE10.\n\n if (prefixedValue === '-ms-flex') el$1.style[property] = '-ms-flexbox'; // Test prefixed value.\n\n el$1.style[property] = prefixedValue; // Return false if value not supported.\n\n if (el$1.style[property] === '') {\n cache$1[cacheKey] = false;\n return false;\n }\n } // Reset styles for current property.\n\n\n el$1.style[property] = ''; // Write current value to cache.\n\n cache$1[cacheKey] = prefixedValue;\n return cache$1[cacheKey];\n}\n\nexport { prefix, supportedKeyframes, supportedProperty, supportedValue };","import { supportedKeyframes, supportedValue, supportedProperty } from 'css-vendor';\nimport { toCssValue } from 'jss';\n/**\n * Add vendor prefix to a property name when needed.\n */\n\nfunction jssVendorPrefixer() {\n function onProcessRule(rule) {\n if (rule.type === 'keyframes') {\n var atRule = rule;\n atRule.at = supportedKeyframes(atRule.at);\n }\n }\n\n function prefixStyle(style) {\n for (var prop in style) {\n var value = style[prop];\n\n if (prop === 'fallbacks' && Array.isArray(value)) {\n style[prop] = value.map(prefixStyle);\n continue;\n }\n\n var changeProp = false;\n var supportedProp = supportedProperty(prop);\n if (supportedProp && supportedProp !== prop) changeProp = true;\n var changeValue = false;\n var supportedValue$1 = supportedValue(supportedProp, toCssValue(value));\n if (supportedValue$1 && supportedValue$1 !== value) changeValue = true;\n\n if (changeProp || changeValue) {\n if (changeProp) delete style[prop];\n style[supportedProp || prop] = supportedValue$1 || value;\n }\n }\n\n return style;\n }\n\n function onProcessStyle(style, rule) {\n if (rule.type !== 'style') return style;\n return prefixStyle(style);\n }\n\n function onChangeValue(value, prop) {\n return supportedValue(prop, toCssValue(value)) || value;\n }\n\n return {\n onProcessRule: onProcessRule,\n onProcessStyle: onProcessStyle,\n onChangeValue: onChangeValue\n };\n}\n\nexport default jssVendorPrefixer;","/**\n * Sort props by length.\n */\nfunction jssPropsSort() {\n var sort = function sort(prop0, prop1) {\n if (prop0.length === prop1.length) {\n return prop0 > prop1 ? 1 : -1;\n }\n\n return prop0.length - prop1.length;\n };\n\n return {\n onProcessStyle: function onProcessStyle(style, rule) {\n if (rule.type !== 'style') return style;\n var newStyle = {};\n var props = Object.keys(style).sort(sort);\n\n for (var i = 0; i < props.length; i++) {\n newStyle[props[i]] = style[props[i]];\n }\n\n return newStyle;\n }\n };\n}\n\nexport default jssPropsSort;","import functions from 'jss-plugin-rule-value-function';\nimport global from 'jss-plugin-global';\nimport nested from 'jss-plugin-nested';\nimport camelCase from 'jss-plugin-camel-case';\nimport defaultUnit from 'jss-plugin-default-unit';\nimport vendorPrefixer from 'jss-plugin-vendor-prefixer';\nimport propsSort from 'jss-plugin-props-sort'; // Subset of jss-preset-default with only the plugins the Material-UI components are using.\n\nexport default function jssPreset() {\n return {\n plugins: [functions(), global(), nested(), camelCase(), defaultUnit(), // Disable the vendor prefixer server-side, it does nothing.\n // This way, we can get a performance boost.\n // In the documentation, we are using `autoprefixer` to solve this problem.\n typeof window === 'undefined' ? null : vendorPrefixer(), propsSort()]\n };\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { exactProp } from '@material-ui/utils';\nimport createGenerateClassName from '../createGenerateClassName';\nimport { create } from 'jss';\nimport jssPreset from '../jssPreset'; // Default JSS instance.\n\nvar jss = create(jssPreset()); // Use a singleton or the provided one by the context.\n//\n// The counter-based approach doesn't tolerate any mistake.\n// It's much safer to use the same counter everywhere.\n\nvar generateClassName = createGenerateClassName(); // Exported for test purposes\n\nexport var sheetsManager = new Map();\nvar defaultOptions = {\n disableGeneration: false,\n generateClassName: generateClassName,\n jss: jss,\n sheetsCache: null,\n sheetsManager: sheetsManager,\n sheetsRegistry: null\n};\nexport var StylesContext = React.createContext(defaultOptions);\n\nif (process.env.NODE_ENV !== 'production') {\n StylesContext.displayName = 'StylesContext';\n}\n\nvar injectFirstNode;\nexport default function StylesProvider(props) {\n var children = props.children,\n _props$injectFirst = props.injectFirst,\n injectFirst = _props$injectFirst === void 0 ? false : _props$injectFirst,\n _props$disableGenerat = props.disableGeneration,\n disableGeneration = _props$disableGenerat === void 0 ? false : _props$disableGenerat,\n localOptions = _objectWithoutProperties(props, [\"children\", \"injectFirst\", \"disableGeneration\"]);\n\n var outerOptions = React.useContext(StylesContext);\n\n var context = _extends({}, outerOptions, {\n disableGeneration: disableGeneration\n }, localOptions);\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof window === 'undefined' && !context.sheetsManager) {\n console.error('Material-UI: You need to use the ServerStyleSheets API when rendering on the server.');\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (context.jss.options.insertionPoint && injectFirst) {\n console.error('Material-UI: You cannot use a custom insertionPoint and <StylesContext injectFirst> at the same time.');\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (injectFirst && localOptions.jss) {\n console.error('Material-UI: You cannot use the jss and injectFirst props at the same time.');\n }\n }\n\n if (!context.jss.options.insertionPoint && injectFirst && typeof window !== 'undefined') {\n if (!injectFirstNode) {\n var head = document.head;\n injectFirstNode = document.createComment('mui-inject-first');\n head.insertBefore(injectFirstNode, head.firstChild);\n }\n\n context.jss = create({\n plugins: jssPreset().plugins,\n insertionPoint: injectFirstNode\n });\n }\n\n return /*#__PURE__*/React.createElement(StylesContext.Provider, {\n value: context\n }, children);\n}\nprocess.env.NODE_ENV !== \"production\" ? StylesProvider.propTypes = {\n /**\n * Your component tree.\n */\n children: PropTypes.node.isRequired,\n\n /**\n * You can disable the generation of the styles with this option.\n * It can be useful when traversing the React tree outside of the HTML\n * rendering step on the server.\n * Let's say you are using react-apollo to extract all\n * the queries made by the interface server-side - you can significantly speed up the traversal with this prop.\n */\n disableGeneration: PropTypes.bool,\n\n /**\n * JSS's class name generator.\n */\n generateClassName: PropTypes.func,\n\n /**\n * By default, the styles are injected last in the <head> element of the page.\n * As a result, they gain more specificity than any other style sheet.\n * If you want to override Material-UI's styles, set this prop.\n */\n injectFirst: PropTypes.bool,\n\n /**\n * JSS's instance.\n */\n jss: PropTypes.object,\n\n /**\n * @ignore\n */\n serverGenerateClassName: PropTypes.func,\n\n /**\n * @ignore\n *\n * Beta feature.\n *\n * Cache for the sheets.\n */\n sheetsCache: PropTypes.object,\n\n /**\n * @ignore\n *\n * The sheetsManager is used to deduplicate style sheet injection in the page.\n * It's deduplicating using the (theme, styles) couple.\n * On the server, you should provide a new instance for each request.\n */\n sheetsManager: PropTypes.object,\n\n /**\n * @ignore\n *\n * Collect the sheets.\n */\n sheetsRegistry: PropTypes.object\n} : void 0;\n\nif (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? StylesProvider.propTypes = exactProp(StylesProvider.propTypes) : void 0;\n}","/* eslint-disable import/prefer-default-export */\n// Global index counter to preserve source order.\n// We create the style sheet during the creation of the component,\n// children are handled after the parents, so the order of style elements would be parent->child.\n// It is a problem though when a parent passes a className\n// which needs to override any child's styles.\n// StyleSheet of the child has a higher specificity, because of the source order.\n// So our solution is to render sheets them in the reverse order child->sheet, so\n// that parent has a higher specificity.\nvar indexCounter = -1e9;\nexport function increment() {\n indexCounter += 1;\n\n if (process.env.NODE_ENV !== 'production') {\n if (indexCounter >= 0) {\n console.warn(['Material-UI: You might have a memory leak.', 'The indexCounter is not supposed to grow that much.'].join('\\n'));\n }\n }\n\n return indexCounter;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { deepmerge } from '@material-ui/utils';\nimport noopTheme from './noopTheme';\nexport default function getStylesCreator(stylesOrCreator) {\n var themingEnabled = typeof stylesOrCreator === 'function';\n\n if (process.env.NODE_ENV !== 'production') {\n if (_typeof(stylesOrCreator) !== 'object' && !themingEnabled) {\n console.error(['Material-UI: The `styles` argument provided is invalid.', 'You need to provide a function generating the styles or a styles object.'].join('\\n'));\n }\n }\n\n return {\n create: function create(theme, name) {\n var styles;\n\n try {\n styles = themingEnabled ? stylesOrCreator(theme) : stylesOrCreator;\n } catch (err) {\n if (process.env.NODE_ENV !== 'production') {\n if (themingEnabled === true && theme === noopTheme) {\n // TODO: prepend error message/name instead\n console.error(['Material-UI: The `styles` argument provided is invalid.', 'You are providing a function without a theme in the context.', 'One of the parent elements needs to use a ThemeProvider.'].join('\\n'));\n }\n }\n\n throw err;\n }\n\n if (!name || !theme.overrides || !theme.overrides[name]) {\n return styles;\n }\n\n var overrides = theme.overrides[name];\n\n var stylesWithOverrides = _extends({}, styles);\n\n Object.keys(overrides).forEach(function (key) {\n if (process.env.NODE_ENV !== 'production') {\n if (!stylesWithOverrides[key]) {\n console.warn(['Material-UI: You are trying to override a style that does not exist.', \"Fix the `\".concat(key, \"` key of `theme.overrides.\").concat(name, \"`.\")].join('\\n'));\n }\n }\n\n stylesWithOverrides[key] = deepmerge(stylesWithOverrides[key], overrides[key]);\n });\n return stylesWithOverrides;\n },\n options: {}\n };\n}","// We use the same empty object to ref count the styles that don't need a theme object.\nvar noopTheme = {};\nexport default noopTheme;","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport React from 'react';\nimport { getDynamicStyles } from 'jss';\nimport mergeClasses from '../mergeClasses';\nimport multiKeyStore from './multiKeyStore';\nimport useTheme from '../useTheme';\nimport { StylesContext } from '../StylesProvider';\nimport { increment } from './indexCounter';\nimport getStylesCreator from '../getStylesCreator';\nimport noopTheme from '../getStylesCreator/noopTheme';\n\nfunction getClasses(_ref, classes, Component) {\n var state = _ref.state,\n stylesOptions = _ref.stylesOptions;\n\n if (stylesOptions.disableGeneration) {\n return classes || {};\n }\n\n if (!state.cacheClasses) {\n state.cacheClasses = {\n // Cache for the finalized classes value.\n value: null,\n // Cache for the last used classes prop pointer.\n lastProp: null,\n // Cache for the last used rendered classes pointer.\n lastJSS: {}\n };\n } // Tracks if either the rendered classes or classes prop has changed,\n // requiring the generation of a new finalized classes object.\n\n\n var generate = false;\n\n if (state.classes !== state.cacheClasses.lastJSS) {\n state.cacheClasses.lastJSS = state.classes;\n generate = true;\n }\n\n if (classes !== state.cacheClasses.lastProp) {\n state.cacheClasses.lastProp = classes;\n generate = true;\n }\n\n if (generate) {\n state.cacheClasses.value = mergeClasses({\n baseClasses: state.cacheClasses.lastJSS,\n newClasses: classes,\n Component: Component\n });\n }\n\n return state.cacheClasses.value;\n}\n\nfunction attach(_ref2, props) {\n var state = _ref2.state,\n theme = _ref2.theme,\n stylesOptions = _ref2.stylesOptions,\n stylesCreator = _ref2.stylesCreator,\n name = _ref2.name;\n\n if (stylesOptions.disableGeneration) {\n return;\n }\n\n var sheetManager = multiKeyStore.get(stylesOptions.sheetsManager, stylesCreator, theme);\n\n if (!sheetManager) {\n sheetManager = {\n refs: 0,\n staticSheet: null,\n dynamicStyles: null\n };\n multiKeyStore.set(stylesOptions.sheetsManager, stylesCreator, theme, sheetManager);\n }\n\n var options = _extends({}, stylesCreator.options, stylesOptions, {\n theme: theme,\n flip: typeof stylesOptions.flip === 'boolean' ? stylesOptions.flip : theme.direction === 'rtl'\n });\n\n options.generateId = options.serverGenerateClassName || options.generateClassName;\n var sheetsRegistry = stylesOptions.sheetsRegistry;\n\n if (sheetManager.refs === 0) {\n var staticSheet;\n\n if (stylesOptions.sheetsCache) {\n staticSheet = multiKeyStore.get(stylesOptions.sheetsCache, stylesCreator, theme);\n }\n\n var styles = stylesCreator.create(theme, name);\n\n if (!staticSheet) {\n staticSheet = stylesOptions.jss.createStyleSheet(styles, _extends({\n link: false\n }, options));\n staticSheet.attach();\n\n if (stylesOptions.sheetsCache) {\n multiKeyStore.set(stylesOptions.sheetsCache, stylesCreator, theme, staticSheet);\n }\n }\n\n if (sheetsRegistry) {\n sheetsRegistry.add(staticSheet);\n }\n\n sheetManager.staticSheet = staticSheet;\n sheetManager.dynamicStyles = getDynamicStyles(styles);\n }\n\n if (sheetManager.dynamicStyles) {\n var dynamicSheet = stylesOptions.jss.createStyleSheet(sheetManager.dynamicStyles, _extends({\n link: true\n }, options));\n dynamicSheet.update(props);\n dynamicSheet.attach();\n state.dynamicSheet = dynamicSheet;\n state.classes = mergeClasses({\n baseClasses: sheetManager.staticSheet.classes,\n newClasses: dynamicSheet.classes\n });\n\n if (sheetsRegistry) {\n sheetsRegistry.add(dynamicSheet);\n }\n } else {\n state.classes = sheetManager.staticSheet.classes;\n }\n\n sheetManager.refs += 1;\n}\n\nfunction update(_ref3, props) {\n var state = _ref3.state;\n\n if (state.dynamicSheet) {\n state.dynamicSheet.update(props);\n }\n}\n\nfunction detach(_ref4) {\n var state = _ref4.state,\n theme = _ref4.theme,\n stylesOptions = _ref4.stylesOptions,\n stylesCreator = _ref4.stylesCreator;\n\n if (stylesOptions.disableGeneration) {\n return;\n }\n\n var sheetManager = multiKeyStore.get(stylesOptions.sheetsManager, stylesCreator, theme);\n sheetManager.refs -= 1;\n var sheetsRegistry = stylesOptions.sheetsRegistry;\n\n if (sheetManager.refs === 0) {\n multiKeyStore.delete(stylesOptions.sheetsManager, stylesCreator, theme);\n stylesOptions.jss.removeStyleSheet(sheetManager.staticSheet);\n\n if (sheetsRegistry) {\n sheetsRegistry.remove(sheetManager.staticSheet);\n }\n }\n\n if (state.dynamicSheet) {\n stylesOptions.jss.removeStyleSheet(state.dynamicSheet);\n\n if (sheetsRegistry) {\n sheetsRegistry.remove(state.dynamicSheet);\n }\n }\n}\n\nfunction useSynchronousEffect(func, values) {\n var key = React.useRef([]);\n var output; // Store \"generation\" key. Just returns a new object every time\n\n var currentKey = React.useMemo(function () {\n return {};\n }, values); // eslint-disable-line react-hooks/exhaustive-deps\n // \"the first render\", or \"memo dropped the value\"\n\n if (key.current !== currentKey) {\n key.current = currentKey;\n output = func();\n }\n\n React.useEffect(function () {\n return function () {\n if (output) {\n output();\n }\n };\n }, [currentKey] // eslint-disable-line react-hooks/exhaustive-deps\n );\n}\n\nexport default function makeStyles(stylesOrCreator) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var name = options.name,\n classNamePrefixOption = options.classNamePrefix,\n Component = options.Component,\n _options$defaultTheme = options.defaultTheme,\n defaultTheme = _options$defaultTheme === void 0 ? noopTheme : _options$defaultTheme,\n stylesOptions2 = _objectWithoutProperties(options, [\"name\", \"classNamePrefix\", \"Component\", \"defaultTheme\"]);\n\n var stylesCreator = getStylesCreator(stylesOrCreator);\n var classNamePrefix = name || classNamePrefixOption || 'makeStyles';\n stylesCreator.options = {\n index: increment(),\n name: name,\n meta: classNamePrefix,\n classNamePrefix: classNamePrefix\n };\n\n var useStyles = function useStyles() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var theme = useTheme() || defaultTheme;\n\n var stylesOptions = _extends({}, React.useContext(StylesContext), stylesOptions2);\n\n var instance = React.useRef();\n var shouldUpdate = React.useRef();\n useSynchronousEffect(function () {\n var current = {\n name: name,\n state: {},\n stylesCreator: stylesCreator,\n stylesOptions: stylesOptions,\n theme: theme\n };\n attach(current, props);\n shouldUpdate.current = false;\n instance.current = current;\n return function () {\n detach(current);\n };\n }, [theme, stylesCreator]);\n React.useEffect(function () {\n if (shouldUpdate.current) {\n update(instance.current, props);\n }\n\n shouldUpdate.current = true;\n });\n var classes = getClasses(instance.current, props.classes, Component);\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue(classes);\n }\n\n return classes;\n };\n\n return useStyles;\n}","/* eslint-disable no-restricted-syntax */\nexport default function getThemeProps(params) {\n var theme = params.theme,\n name = params.name,\n props = params.props;\n\n if (!theme || !theme.props || !theme.props[name]) {\n return props;\n } // Resolve default props, code borrow from React source.\n // https://github.com/facebook/react/blob/15a8f031838a553e41c0b66eb1bcf1da8448104d/packages/react/src/ReactElement.js#L221\n\n\n var defaultProps = theme.props[name];\n var propName;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n\n return props;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\nimport { chainPropTypes, getDisplayName } from '@material-ui/utils';\nimport makeStyles from '../makeStyles';\nimport getThemeProps from '../getThemeProps';\nimport useTheme from '../useTheme'; // Link a style sheet with a component.\n// It does not modify the component passed to it;\n// instead, it returns a new component, with a `classes` property.\n\nvar withStyles = function withStyles(stylesOrCreator) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return function (Component) {\n var defaultTheme = options.defaultTheme,\n _options$withTheme = options.withTheme,\n withTheme = _options$withTheme === void 0 ? false : _options$withTheme,\n name = options.name,\n stylesOptions = _objectWithoutProperties(options, [\"defaultTheme\", \"withTheme\", \"name\"]);\n\n if (process.env.NODE_ENV !== 'production') {\n if (Component === undefined) {\n throw new Error(['You are calling withStyles(styles)(Component) with an undefined component.', 'You may have forgotten to import it.'].join('\\n'));\n }\n }\n\n var classNamePrefix = name;\n\n if (process.env.NODE_ENV !== 'production') {\n if (!name) {\n // Provide a better DX outside production.\n var displayName = getDisplayName(Component);\n\n if (displayName !== undefined) {\n classNamePrefix = displayName;\n }\n }\n }\n\n var useStyles = makeStyles(stylesOrCreator, _extends({\n defaultTheme: defaultTheme,\n Component: Component,\n name: name || Component.displayName,\n classNamePrefix: classNamePrefix\n }, stylesOptions));\n var WithStyles = /*#__PURE__*/React.forwardRef(function WithStyles(props, ref) {\n var classesProp = props.classes,\n innerRef = props.innerRef,\n other = _objectWithoutProperties(props, [\"classes\", \"innerRef\"]); // The wrapper receives only user supplied props, which could be a subset of\n // the actual props Component might receive due to merging with defaultProps.\n // So copying it here would give us the same result in the wrapper as well.\n\n\n var classes = useStyles(_extends({}, Component.defaultProps, props));\n var theme;\n var more = other;\n\n if (typeof name === 'string' || withTheme) {\n // name and withTheme are invariant in the outer scope\n // eslint-disable-next-line react-hooks/rules-of-hooks\n theme = useTheme() || defaultTheme;\n\n if (name) {\n more = getThemeProps({\n theme: theme,\n name: name,\n props: other\n });\n } // Provide the theme to the wrapped component.\n // So we don't have to use the `withTheme()` Higher-order Component.\n\n\n if (withTheme && !more.theme) {\n more.theme = theme;\n }\n }\n\n return /*#__PURE__*/React.createElement(Component, _extends({\n ref: innerRef || ref,\n classes: classes\n }, more));\n });\n process.env.NODE_ENV !== \"production\" ? WithStyles.propTypes = {\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * Use that prop to pass a ref to the decorated component.\n * @deprecated\n */\n innerRef: chainPropTypes(PropTypes.oneOfType([PropTypes.func, PropTypes.object]), function (props) {\n if (props.innerRef == null) {\n return null;\n }\n\n return null; // return new Error(\n // 'Material-UI: The `innerRef` prop is deprecated and will be removed in v5. ' +\n // 'Refs are now automatically forwarded to the inner component.',\n // );\n })\n } : void 0;\n\n if (process.env.NODE_ENV !== 'production') {\n WithStyles.displayName = \"WithStyles(\".concat(getDisplayName(Component), \")\");\n }\n\n hoistNonReactStatics(WithStyles, Component);\n\n if (process.env.NODE_ENV !== 'production') {\n // Exposed for test purposes.\n WithStyles.Naked = Component;\n WithStyles.options = options;\n WithStyles.useStyles = useStyles;\n }\n\n return WithStyles;\n };\n};\n\nexport default withStyles;","import createTheme from './createTheme';\nvar defaultTheme = createTheme();\nexport default defaultTheme;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { withStyles as withStylesWithoutDefault } from '@material-ui/styles';\nimport defaultTheme from './defaultTheme';\n\nfunction withStyles(stylesOrCreator, options) {\n return withStylesWithoutDefault(stylesOrCreator, _extends({\n defaultTheme: defaultTheme\n }, options));\n}\n\nexport default withStyles;","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isBefore\n * @category Common Helpers\n * @summary Is the first date before the second one?\n *\n * @description\n * Is the first date before the second one?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date that should be before the other one to return true\n * @param {Date|Number} dateToCompare - the date to compare with\n * @returns {Boolean} the first date is before the second date\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Is 10 July 1989 before 11 February 1987?\n * var result = isBefore(new Date(1989, 6, 10), new Date(1987, 1, 11))\n * //=> false\n */\n\nexport default function isBefore(dirtyDate, dirtyDateToCompare) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var dateToCompare = toDate(dirtyDateToCompare);\n return date.getTime() < dateToCompare.getTime();\n}","import \"../globals/index.js\";\nimport { isNonNullObject } from \"./objects.js\";\n\nfunction deepFreeze(value) {\n var workSet = new Set([value]);\n workSet.forEach(function (obj) {\n if (isNonNullObject(obj) && shallowFreeze(obj) === obj) {\n Object.getOwnPropertyNames(obj).forEach(function (name) {\n if (isNonNullObject(obj[name])) workSet.add(obj[name]);\n });\n }\n });\n return value;\n}\n\nfunction shallowFreeze(obj) {\n if (__DEV__ && !Object.isFrozen(obj)) {\n try {\n Object.freeze(obj);\n } catch (e) {\n if (e instanceof TypeError) return null;\n throw e;\n }\n }\n\n return obj;\n}\n\nexport function maybeDeepFreeze(obj) {\n if (__DEV__) {\n deepFreeze(obj);\n }\n\n return obj;\n}","// @noflow\nimport { useQuery } from '@apollo/client'\nimport * as Sentry from '@sentry/browser'\nimport { isAfter, isBefore } from 'date-fns'\nimport type { i18n } from 'i18next'\nimport isNil from 'lodash/isNil'\nimport isNull from 'lodash/isNull'\nimport isUndefined from 'lodash/isUndefined'\nimport React, { useMemo } from 'react'\n\nimport withApollo from '@/components/apollo/withApollo'\nimport TopBanner, {\n Props as BannerProps,\n Variants,\n generateBannerLocalStorageKey,\n showBanner\n} from '@/components/elements/atoms/TopBanner/TopBanner'\nimport {\n Banners,\n Banners_banners\n} from '@/components/elements/molecules/BannerManager/__generated__/Banners'\nimport { BANNER_QUERY } from '@/components/elements/molecules/BannerManager/queries'\n\nimport STYLES from './BannerManager.module.sass'\n\ntype ManagedBanner = BannerProps & { order: number }\ntype AdminBanner = ManagedBanner & {\n order: number\n liveDate: Date\n endDate?: Date\n}\ntype Props = {\n banners?: ManagedBanner[]\n}\ntype BannerManagerWithQueryProps = Props & {\n i18n: i18n\n}\n\nconst MAX_BANNERS = 1\n\nconst getDismissedBanners = (\n banners: ManagedBanner[]\n): { [key: string]: number } => {\n const dismissedBanners: { [key: string]: number } = {}\n\n banners.forEach((banner: ManagedBanner) => {\n const bannerLastDismissed: string | null = localStorage.getItem(\n generateBannerLocalStorageKey(banner.id)\n )\n if (!isNull(bannerLastDismissed))\n dismissedBanners[banner.id] = parseInt(bannerLastDismissed)\n })\n\n return dismissedBanners\n}\n\nconst filterDismissedBanners = (\n banners: ManagedBanner[],\n dismissedBanners: { [key: string]: number }\n): ManagedBanner[] =>\n banners.filter((banner: ManagedBanner) => {\n const bannerLastDismissed: number | null =\n banner.id in dismissedBanners ? dismissedBanners[banner.id] : null\n if (isNull(bannerLastDismissed)) return true\n return showBanner(bannerLastDismissed, banner.showEveryXDays)\n })\n\nconst filterBannersOutsideOfDateRange = (\n adminBanners: AdminBanner[],\n today: Date\n): AdminBanner[] =>\n adminBanners.filter(\n (banner: AdminBanner) =>\n isBefore(new Date(banner.liveDate), today) &&\n (isNil(banner.endDate) || isAfter(new Date(banner.endDate), today))\n )\n\nconst limitNumberOfBanners = (\n banners: ManagedBanner[],\n max: number\n): ManagedBanner[] => banners.slice(0, max)\n\nconst orderBanners = (banners: ManagedBanner[]): ManagedBanner[] =>\n banners.sort(\n (bannerA: ManagedBanner, bannerB: ManagedBanner) =>\n bannerA.order - bannerB.order\n )\n\n/**\n * Managers when and how TopBanner components are displayed at the top of the page\n * @param banners an array of banner props\n */\nconst BannerManager = ({ banners = [] }: Props): JSX.Element => {\n return (\n <section className={STYLES.container}>\n {limitNumberOfBanners(\n orderBanners(\n filterDismissedBanners(banners, getDismissedBanners(banners))\n ),\n MAX_BANNERS\n ).map((banner: BannerProps) => (\n <TopBanner\n id={banner.id}\n key={`${banner.id}-banner-key`}\n text={banner.text}\n variant={banner.variant}\n link={banner.link}\n showEveryXDays={banner.showEveryXDays}\n dismissible={banner.dismissible}\n />\n ))}\n </section>\n )\n}\n\n/**\n * converts the interface of banners received from admin to be consumed by the banner manager\n */\nconst transformAdminBanners = (\n adminBanners: Banners_banners[]\n): AdminBanner[] =>\n adminBanners.map((adminBanner: Banners_banners) => {\n const {\n link,\n text,\n slug,\n template,\n order,\n liveDate,\n endDate,\n showAgainAfterXDays\n } = adminBanner\n\n return {\n id: slug,\n link: link || undefined,\n variant: template as Variants,\n text: {\n text: text,\n translate: false\n },\n order,\n template,\n liveDate,\n endDate,\n showAgainAfterXDays\n }\n })\n\n/**\n * Fetches banners from the backend and merges them with any banners generated on the frontend\n * @param banners an array of frontend banner props\n * Note: i18n is passed manually to BannerManager so it can be used in bundles outside of our main bundle.\n * Referencing i18n means our translation files will be included in the final bundle bloating its size.\n */\nconst BannerManagerWithQuery = ({\n banners = [],\n i18n\n}: BannerManagerWithQueryProps): JSX.Element | null => {\n const { data, loading, error } = useQuery<Banners>(BANNER_QUERY)\n\n const bannersToDisplay = useMemo(() => {\n return banners.concat(\n filterBannersOutsideOfDateRange(\n transformAdminBanners(data?.banners ?? []),\n new Date()\n )\n )\n }, [banners, data?.banners])\n\n if (error) {\n Sentry.captureException(`Error when BANNER_QUERY executes`, {\n extra: {\n error\n }\n })\n }\n\n if (loading || error || isUndefined(data) || isUndefined(i18n)) return null\n\n return <BannerManager banners={bannersToDisplay} />\n}\n\nexport {\n AdminBanner,\n ManagedBanner,\n filterDismissedBanners,\n limitNumberOfBanners,\n orderBanners,\n filterBannersOutsideOfDateRange\n}\nexport default withApollo(BannerManagerWithQuery)\n","// @noflow\n\n/* eslint-disable i18next/no-literal-string */\nimport Container from '@material-ui/core/Container'\nimport classnames from 'classnames'\nimport { addDays, isBefore } from 'date-fns'\nimport isNil from 'lodash/isNil'\nimport isUndefined from 'lodash/isUndefined'\nimport kebabCase from 'lodash/kebabCase'\nimport startCase from 'lodash/startCase'\nimport React, { useCallback } from 'react'\n\nimport { isDevelopment } from '@/utils/isDevelopment'\n\nimport useLocalStorage from '@/hooks/useLocalStorage'\n\nimport segmentTrack from '@/components/analytics/Analytics'\nimport Text from '@/components/elements/atoms/Text/Text'\nimport type { Props as TextProps } from '@/components/elements/atoms/Text/Text'\nimport IconButton from '@/components/elements/molecules/IconButton/IconButton'\n\nimport STYLES from './TopBanner.module.sass'\n\ntype Variants = 'error' | 'success' | 'info' | 'mourning'\n\ntype Props = {\n id: string\n variant?: Variants\n text: TextProps\n link?: string\n showEveryXDays?: number\n dismissible?: boolean\n}\n\nconst generateBannerLocalStorageKey = (id: string): string =>\n `${kebabCase(id)}-banner-dismissed`\n\nconst showBanner = (\n bannerLastDismissed: number | undefined | null,\n showEveryXDays?: number\n): boolean =>\n isNil(bannerLastDismissed) ||\n (!isUndefined(showEveryXDays) &&\n isBefore(addDays(bannerLastDismissed, showEveryXDays), Date.now()))\n\nconst getDismissedTime = (): number => new Date().getTime()\n\nconst isInternalRoute = (link: string): boolean =>\n link.includes('www.butternutbox') || (link.length > 0 && link[0] === '/')\n\nconst stripDomainIfDevelopment = (link: string) =>\n isDevelopment() ? link.replace(/^.*\\/\\/[^/]+/, '') : link\n\nconst TopBanner = ({\n id,\n variant = 'info',\n text,\n link,\n showEveryXDays,\n dismissible = true\n}: Props): JSX.Element | null => {\n const [dismissed, setDismissed] = useLocalStorage<string, number | undefined>(\n generateBannerLocalStorageKey(id),\n undefined\n )\n\n const onCloseBanner = useCallback(\n (event): void => {\n event.stopPropagation()\n segmentTrack(`${startCase(id)} banner dismissed`)\n setDismissed(getDismissedTime())\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [setDismissed]\n )\n\n const onClickLink = useCallback((): void => {\n if (!isUndefined(link)) {\n segmentTrack(`${startCase(id)} banner clicked`)\n if (dismissible) setDismissed(getDismissedTime())\n\n // if is internal route\n if (isInternalRoute(link))\n window.location.href = stripDomainIfDevelopment(link)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [setDismissed])\n\n const BannerElement = !isUndefined(link)\n ? 'a'\n : ('div' as keyof JSX.IntrinsicElements)\n const isExternalLink: boolean = !isUndefined(link) && !isInternalRoute(link)\n\n const className = classnames(STYLES.container, STYLES[variant], {\n [STYLES.link]: link\n })\n\n return showBanner(dismissed, showEveryXDays) ? (\n <BannerElement\n className={className}\n onClick={onClickLink}\n data-testid={`${kebabCase(id)}-banner`}\n href={isExternalLink ? link : undefined}\n target={isExternalLink ? '_blank' : undefined}\n >\n <Container maxWidth=\"lg\">\n <div className={STYLES.inner}>\n <div className={STYLES.copy}>\n <Text\n text={text.text}\n margin={false}\n variant=\"textRegular16\"\n namespace={text.namespace}\n translate={text.translate || false}\n variables={text.variables}\n element=\"div\"\n />\n </div>\n {dismissible && (\n /* eslint-disable-next-line jsx-a11y/label-has-associated-control, jsx-a11y/label-has-for */\n <label className={STYLES.close}>\n <IconButton size={24} icon=\"close\" onClick={onCloseBanner} />\n </label>\n )}\n </div>\n </Container>\n </BannerElement>\n ) : null\n}\n\nexport { Props, Variants, generateBannerLocalStorageKey, showBanner }\nexport default TopBanner\n"],"sourceRoot":""}